无论你是后端程序员还是前端程序员,都避免不了和Linux打交道。上篇介绍了Linux常用的20个命令其中的10个,本文继续介绍剩下的10个命令。
11.man 命令
manual的缩写,即使用手册的意思,是Linux下最核心的命令之一,用来列出一份完整的说明
语法格式 : man [参数]
常用参数:
参数 | 说明 |
---|---|
-a | 在所有的man帮助手册中搜索 |
-f | 显示给定关键字的简短描述信息 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜索的路径 |
-w | 显示文件所在位置 |
快捷键:
参数 | 说明 |
---|---|
q | 退出 |
Enter | 按行下翻 |
Space | 按页下翻 |
b | 上翻一页 |
/字符串 | 在手册页中查找字符串 |
参考实例:
- 查看printf函数的使用信息:
[root@wayne:~]# man printf
- 查看cp命令的帮助信息:
[root@wayne:~]# man cp
- 查看/etc/passwd文件的信息:
[root@wayne:~]# man /etc/passwd
- 查看passwd命令所在位置:
[root@wayne:~]# man -w passwd /usr/share/man/man1/passwd.1.gz
12.grep 命令
用来查找文件里符合条件的字符串或正则表达式,并将其打印出来
语法格式 : grep [参数]
常用参数:
参数 | 说明 |
---|---|
-i | 忽略大小写进行匹配 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-r | 递归查找子目录中的文件 |
-v | 只打印不匹配的行 |
参考实例:
- 在文件 test.txt 中查找字符串 "World",并打印匹配的行:
[root@wayne:~]# grep World test.txt
- 在当前目录中,查找后缀为 .txt 的文件中,包含World字符串的文件,并打印出该字符串的行
[root@wayne:~]# grep World *.txt
- 在文件夹 dir 中递归查找所有文件中匹配正则表达式 "pattern" 的行,并打印匹配行所在的文件名和行号
[root@wayne:~]# grep -r -n pattern dir/
- 以递归的方式查找目录 /usr/local 及其子目录下所有文件中包含字符串"test"的文件
[root@wayne:~]# grep -r test /usr/local
13.find 命令
用来在指定目录下查找文件
语法格式 : find [参数] [路径] [查找和搜索范围]
常用参数:
参数 | 说明 |
---|---|
-name | 按名称查找 |
-size | 按大小查找 |
-user | 按属性查找 |
-type | 按类型查找 |
-iname | 忽略大小写 |
参考实例:
- 使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
[root@wayne:~]# find /etc -name "*.conf
- 使用-size参数查看/etc目录下面大于1M的文件:
[root@wayne:~]# find /etc -size +1M
- 在/home目录下查找以.txt结尾的文件名:
[root@wayne:~]# find /home -name "*.txt"
- 找出/home下不是以.txt结尾的文件:
[root@wayne:~]# find /home ! -name "*.txt"
- 在/var/log目录下忽略大小写查找以.log结尾的文件名:
[root@wayne:~]# find /var/log -iname "*.log"
- 将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
[root@wayne:~]# find . -ctime 20
- 搜索当前目录中访问时间超过10分钟的所有文件:
[root@wayne:~]# find . -type f -amin +10
14.chmod 命令
用来改变文件或目录的权限
语法格式 : chmod [参数] [文件]
常用参数:
参数 | 说明 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
参考实例:
- 将file.txt 设为所有人都可读取:
[root@wayne:~]# chmod a+r file.txt
- 将目前目录下的所有文件与子目录皆设为任何人可读取 :
[root@wayne:~]# chmod -R a+r *
- 将 file设定为只有该文件拥有者可以执行:
[root@wayne:~]# chmod u+x file
- 用数字更改文件权限:
[root@wayne:~]# chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限(rwx)。
-
r=4,w=2,x=1
-
若要 rwx 属性则 4+2+1=7;
-
若要 rw- 属性则 4+2=6;
-
若要 r-x 属性则 4+1=5。
15.ps 命令
process status的缩写,用来显示当前系统的进程状态
语法格式 : ps [参数]
常用参数:
参数 | 说明 |
---|---|
-A | 列出所有的进程 |
-a | 不与terminal有关的所有进程 |
-x | 一般与a参数一起使用,可列出较完整的信息 |
-w | 显示加宽可以显示较多的资讯 |
-u | 有效用户的相关进程 |
-l | 较详细地将PID的信息列出 |
-aux | 查看系统所有的进程数据 |
参考实例:
- 显示所有进程信息:
[root@wayne:~]# ps -A
- 查看系统所有的进程数据:
[root@wayne:~]# ps -aux
- 查看root用户的进程信息:
[root@wayne:~]# ps -u root
- 按 CPU 资源的使用量对进程进行排序
[root@wayne:~]# ps -aux | sort -nk 3
- 按内存资源的使用量对进程进行排序
[root@wayne:~]# ps aux | sort -rnk 4
16.kill 命令
用来删除执行中的程序或工作
语法格式 : kill [参数] [进程号]
常用参数:
参数 | 说明 |
---|---|
-l | 列出系统支持的信号 |
-s | 指定向进程发送的信号 |
-a | 处理当前进程时不限制命令名和进程号的对应关系 |
-p | 指定kill命令只打印相关进程的进程号,而不发送任何信号 |
参考实例:
- 显示信号:
[root@wayne:~]# kill -l
- 杀死一个进程ID为9523的进程:
[root@wayne:~]# kill -9 9523
- 重新加载进程ID为1935的进程:
[root@wayne:~]# kill -SIGHUP 1953
17.netstat 命令
用来显示各种网络相关信息
语法格式 : netstat