最常用linux命令——血泪总结

最常用linux命令——血泪总结,第1张

最常用linux命令——血泪总结

作者大学是非计算机专业的,之前未接触过linux,最近因工作开始接触到一点linux。本人比较菜,目前从事的工作也比较初级,本文的这些linux命令都是比较初级的,不过却刚好可以覆盖本人当前阶段的使用。
至于一些比较比较高级的命令,例如网络、进程、文件管理的,本人也仍在学习。本文会随着本人学习linux的深入,持续更新。
本文主要参考文献来自于平时的百度或谷歌检索,以及《鸟哥的Linux私房菜》一书。
学习Linux系统,必须有一台安装了Linux的电脑可供使用。可以在自己的电脑上安装虚拟机,例如VMware的。本人使用的学生版腾讯云服务器,贵在便宜省事。
本文仍在持续创作中,内容或排版仍有很大不足,本人会及时更新

一 Linux简介

命令
命令行模式下用户可以直接输入命令控制计算机的运行,这些程序也被称为shell,由bash运行。命令格式如下
command [-options] parameter1 parameter2 …
command是命令的名字
[ ] 中表示可选的参数,选项前带 - 号,例如 ls -a。如果用选项全名,带–
parameter这些是参数,例如 cd home
命令、选项、参数之间空格隔开,几个空格Linux都会当成一个
回车键会立即执行命令
命令太长使用 转义回车键
command --help 显示命令的帮助信息
uname -a 查看Linux的发行版本
hostname 主机名 修改主机名

基础命令
基础命令提供一些所有计算机都具备的基础功能
clear 清理cli界面
date 查看系统日期
date +%Y%m%d 格式化输出日期
date -s 14:20:50 设置时间
date -s “2016-12-07 12:00:00” 修改日期
date +%Y%m%d -s “20191120”
clock c查看硬件时间

cal 显示日历
cal [month] [year] 某年某月的日历,可选参数可选0,1,2个

bc 进入计算器
quit 退出计算器,当然也可以 ctrl+c退出

shutdown 关机(这俩命令一般不要用)
reboot 重启机器
last reboot 查看rebbot命令的历史执行记录
history 列出历史执行的命令
history 10 列出10行历史命令
echo “hello world” 输出信息到命令行界面

常用快捷键
tab 命令后双击按tab,可补全命令。比如fi 之后双击tab,提示所有以fi开头的命令
tab 单击,可补齐文件名
ctrl+c 终止当前程序
ctrl+d 退出cli(命令行模式)
Q 终端出现end无法退出时按q

二 linux常用命令

目录切换
cd direc 进入direc目录
cd … 回到上一级目录
cd / 回到根目录
cd ~ 回到用户目录
pwd 显示当前全目录

文件更改
rm -rf direc 直接删除目录及其文件
rm file 删除file文件,会询问,确认输y;不能删文件夹
rm -f * 删除当前目录下所有文件
rm -rf *.tmp 删除指定后缀名的文件
mv ma.txt dandan 移动文件到dandan下
mv ma.txt cece 没有cece目录的话,就是把文件重命名为cece
mv ma.txt /home/cece 移动到绝对路径下
mv ma.txt /home/dandan/dan.txt 移动过去并改名
mv dandan ma 重命名目录或文件
cp dan.txt ma.txt 拷贝文件
mkdir lichong 新建文件夹
rmdir dandan 只能删除空文件夹
rmdir -p test1/test2/test3 删除层级目录需要加-p (parents)

文件压缩
tar -zcvf dandan.tar.gz dandan 压缩dandan目录为tar.gz格式
tar -zcvf dan.tar.gz /dandan 也行,不建议加斜杠的,推荐上面的
tar zxvf dandan.tar.gz 解压文件
zip -q -r dandan.zip dandan 压缩成zip格式
unzip dandan.zip 解压zip文件

查看文件
cat 由第一行开始显示文件所有内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行,默认5行
head -n 20 log.file
tail 只看尾巴几行

查看日志
tail -f mysql.log 实时查看日志文件内容
tail -n 100 mysql.log 查看最后100行
cat mysql.log 从头显示
tac mysql.log 从尾显示
nl mysql.log带行号显示

vim基本 *** 作
vi my.cnf 打开Mysql配置文件
上下键 可移动光标
a 进入编辑模式,光标处编辑
esc 进入命令模式
ctrl+: 进入底线模式
exit 退出vim

磁盘管理
df -h 显示系统的整体磁盘使用量(在任何目录看一样),加-h以M或G
du 显示当前目录下每个子文件或子目录的磁盘使用情况。递归显示每个
du -ah 以M显示所有的子文件或子目录磁盘情况(根目录不建议用,输出太多)
du -h --max-depth=1 只显示当前目录下第1层的文件和目录
du -sh user 只显示user的大小
fdisk -l 磁盘分区信息

三 linux目录结构

/bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问
文件的方式是相同的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账
号命名的。
/lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
shutdown –h 20:25 # 系统会在今天20:25关机 shutdown –h +10 # 十分钟后关机 shutdown –r now # 系统立马重启 shutdown –r +10 # 系统十分钟后重启 reboot # 就是重启,等同于 shutdown –r now halt # 关闭系统,等同于shutdown –h now 和 poweroff 8910111213141516171819 ls / 1
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备
挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,
然后进入该目录就可以查看光驱里的内容了。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个
目录下。默认是空的。
/proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获
取系统信息。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统
sysfs 。
/tmp:这个目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows
下的program files目录。
/usr/bin: 系统用户使用的应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src: 内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录
下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

四 linux权限命令

用户信息
cat /etc/passwd 查看所有用户名
输出如下
root❌0:0:Superuser:/:
daemon❌1:1:System daemons:/etc:
bin❌2:2:Owner of system commands:/bin:
sys❌3:3:Owner of system files:/usr/sys:
adm❌4:4:System accounting:/usr/adm:
uucp❌5:5:UUCP administrator:/usr/lib/uucp:
auth❌7:21:Authentication administrator:/tcb/files/auth:
cron❌9:16:Cron daemon:/usr/spool/cron:
listen❌37:4:Network daemon:/usr/net/nls:
lp❌71:18:Printer administrator:/usr/spool/lp:
sam❌200:50:Sam san:/home/sam:/bin/sh
上面用户属性对应的信息
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

cat /etc/shadow 查看所有密码
可以用网上的解密工具获取真实密码

用户管理
useradd -m name
创建用户,-m自动创建用户使用的目录,一般在root用户下创建新用户
userdel 选项 name 删除用户
usermod -s /bin/ksh -d /home/z –g developer sam 修改账号
su name 切换到名为name的用户
exit 退回root用户
passwd dandan 修改账号dandan的密码
注意Linux输密码不显示,可以同时登多个账户
passwd -l dandan 锁定丹丹的账户,锁定之后不能用了

五Linux文件属性

ls -l 查看文件属性

从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
可以用数字表示rwx这三种权限对应的分数,r w x分别是4,2,1。给定一个分数时完全可以确定一组权限。例如有-rwxrwx—,对应权限
owner = rwx=4+2+1=7
grout = rwx=4+2+1=7
others = — = 0+0+0=0
则改文件的权限可以表示为 770。同理给定数字 435,文件的权限只可能为 r—wxr-x。因此可以用三个数字 xyz 指定文件的读写属性
chmod [-R] xyz 目录名
chmod u=rwx,g=rx,o=r filename 也可以这样指定文件的属性, u, g, o 来代表三种身份的权限,此外a代表所有人

chgrp [-R] 属组名 文件名 更改文件属组,-R会更改目录下所有文件
chown [–R] 属主名 文件名 更改文件属主

六 linux 进程环境命令

进程信息查看
ps –选项
-a:显示当前终端的进程信息
-u:以用户的形式显示进程信息
-x:显示后台进程运行的参数
-A 所有进程
命令格式:命令A|命令B,即命令A的正确输出作为命令B的 *** 作对象
grep 命令用于查找文件里符合条件的字符串
我 ps -x并不会显示所有进程,mysql没有显示

通常直接这样使用
ps -aux|grep xxx ,查看某个服务的进程 如,ps -aux|grep mysql
Ps -ef 查看父进程
pstree 选项 进程树,可以更加直观的来看进程信息
-p :显示进程的PID
-u :显示进程的所属用户
kill -9 PID 杀进程

export
该命令可以显示或设置环境变量
语法:export [-fnp] [变量名称]=[变量设置值]
-f 代表[变量名称]中为函数名称。
 -n 删除指定变量export。变量实际上未删除,只是不输出到后续指令的执行环境中。
  -p 列出所有的shell赋予程序的环境变量。
export -p 显示所有环境变量
export test=”value” 设置环境变量
export test 导出环境变量,这样后续的子shell就能使用该环境变量了
export -n test 删除变量的export,此时export就看不到test环境变量了

export -f name 导出name函数供后续的子shell使用。一个shell脚本的函数想在其他shell中使用,是否需要加export?我觉得需要,待验证

七 linux 网络命令

注意下面这些命令是centOs的,我不确定其它linux发行版是否支持。
curl
curl 用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的命令行参数多达几十种,如果熟练的话,可以做到postman请求后台的功能。
curl https://google.com 请求谷歌
curl -b ‘foo=bar’ https://google.com -b参数用来向服务器发送 cookie

防火墙
systemctl status firewalld 查看firewall的详细状态
systemctl start firewalld 这也可以开启防火墙
firewall-cmd --state 查看firewall的运行状态
service firewalld start 开启防火墙
service firewalld stop 关闭防火墙
service firewalld restart 重启防火墙

防火墙使用
firewall-cmd --list-all 查看防火墙规则
firewall-cmd --query-port=8080/tcp 查询端口是否开放
firewall-cmd --permanent --add-port=8080/tcp 永久开放8080端口
firewall-cmd --permanent --remove-port=8080/tcp 开放8080端口
firewall-cmd --reload 修改配置后要更新防火墙规则,更新后,设置的端口就能开放了
参数解释
1、firwall-cmd:是linux提供的 *** 作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;

检查网络
ping
在linux系统中,当能ping通一个主机时,此时ping命令会一直执行,要想终止,可采用ctrl+c或ctrl+z方式退出。也可以设置选项方式,使得ping命令执行若干次包就终止。ping 192.168.34.44 -c 4,此时ping命令将执行4次。

测试端口的连通性
方式1 telnet
yum install telnet –y 安装telnet
telnet 175.24.68.139 3306 测试服务器端口
方式2 ssh
ssh -v -p port username@ip ssh命令来测试端口的连通性
ssh -v -p 8080 root@175.24.68.139

八 搜索查询命令

find / -iname *mysql 搜索根目录下以mysql结尾的目录
find / -iname ysq 模糊查询名字包含ysq的目录或文件

九 Linux下载软件

待补充

十 shell脚本

待补充

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5618911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存