无论你是后端程序员还是前端程序员,都避免不了和Linux打交道。上篇介绍了Linux常用的20个命令其中的10个,本文继续介绍剩下的10个命令。
manual的缩写,即使用手册的意思,是Linux下最核心的命令之一,用来列出一份完整的说明
语法格式 : man [参数]
常用参数:
参数 | 说明 |
---|---|
-a | 在所有的man帮助手册中搜索 |
-f | 显示给定关键字的简短描述信息 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜索的路径 |
-w | 显示文件所在位置 |
快捷键:
参数 | 说明 |
---|---|
q | 退出 |
Enter | 按行下翻 |
Space | 按页下翻 |
b | 上翻一页 |
/字符串 | 在手册页中查找字符串 |
参考实例:
[root@wayne:~]# man printf
[root@wayne:~]# man cp
[root@wayne:~]# man /etc/passwd
[root@wayne:~]# man -w passwd /usr/share/man/man1/passwd.1.gz
用来查找文件里符合条件的字符串或正则表达式,并将其打印出来
语法格式 : grep [参数]
常用参数:
参数 | 说明 |
---|---|
-i | 忽略大小写进行匹配 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-r | 递归查找子目录中的文件 |
-v | 只打印不匹配的行 |
参考实例:
[root@wayne:~]# grep World test.txt
[root@wayne:~]# grep World *.txt
[root@wayne:~]# grep -r -n pattern dir/
[root@wayne:~]# grep -r test /usr/local
用来在指定目录下查找文件
语法格式 : find [参数] [路径] [查找和搜索范围]
常用参数:
参数 | 说明 |
---|---|
-name | 按名称查找 |
-size | 按大小查找 |
-user | 按属性查找 |
-type | 按类型查找 |
-iname | 忽略大小写 |
参考实例:
[root@wayne:~]# find /etc -name "*.conf
[root@wayne:~]# find /etc -size +1M
[root@wayne:~]# find /home -name "*.txt"
[root@wayne:~]# find /home ! -name "*.txt"
[root@wayne:~]# find /var/log -iname "*.log"
[root@wayne:~]# find . -ctime 20
[root@wayne:~]# find . -type f -amin +10
用来改变文件或目录的权限
语法格式 : chmod [参数] [文件]
常用参数:
参数 | 说明 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
参考实例:
[root@wayne:~]# chmod a+r file.txt
[root@wayne:~]# chmod -R a+r *
[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。
process status的缩写,用来显示当前系统的进程状态
语法格式 : ps [参数]
常用参数:
参数 | 说明 |
---|---|
-A | 列出所有的进程 |
-a | 不与terminal有关的所有进程 |
-x | 一般与a参数一起使用,可列出较完整的信息 |
-w | 显示加宽可以显示较多的资讯 |
-u | 有效用户的相关进程 |
-l | 较详细地将PID的信息列出 |
-aux | 查看系统所有的进程数据 |
参考实例:
[root@wayne:~]# ps -A
[root@wayne:~]# ps -aux
[root@wayne:~]# ps -u root
[root@wayne:~]# ps -aux | sort -nk 3
[root@wayne:~]# ps aux | sort -rnk 4
用来删除执行中的程序或工作
语法格式 : kill [参数] [进程号]
常用参数:
参数 | 说明 |
---|---|
-l | 列出系统支持的信号 |
-s | 指定向进程发送的信号 |
-a | 处理当前进程时不限制命令名和进程号的对应关系 |
-p | 指定kill命令只打印相关进程的进程号,而不发送任何信号 |
参考实例:
[root@wayne:~]# kill -l
[root@wayne:~]# kill -9 9523
[root@wayne:~]# kill -SIGHUP 1953
用来显示各种网络相关信息
语法格式 : netstat [参数]
常用参数:
参数 | 说明 |
---|---|
-a | 显示所有连线中的Socket |
-p | 显示正在使用Socket的程序识别码和程序名称 |
-u | 显示UDP传输协议的连线状况 |
-i | 显示网络界面信息表单 |
-n | 直接使用IP地址,不通过域名服务器 |
参考实例:
[root@wayne:~]# netstat -a
[root@wayne:~]# netstat -nu
[root@wayne:~]# netstat -i
[root@wayne:~]# netstat -g
[root@wayne:~]# netstat -s
[root@wayne:~]# netstat -l
用来测试主机之间网络的连通性
语法格式 : ping [参数] [目标主机]
常用参数:
参数 | 说明 |
---|---|
-d | 使用Socket的SO_DEBUG功能 |
-c | 指定发送报文的次数 |
-i | 指定收发信息的间隔时间 |
-I | 使用指定的网络接口送出数据包 |
-l | 设置在送出要求信息之前,先行发出的数据包 |
-n | 只输出数值 |
-p | 设置填满数据包的范本样式 |
-q | 不显示指令执行过程 |
-R | 记录路由过程 |
-s | 设置数据包的大小 |
-t | 设置存活数值TTL的大小 |
-v | 详细显示指令的执行过程 |
参考实例:
[root@wayne:~]# ping www.baidu.com
[root@wayne:~]# ping -c 4 192.168.1.100
[root@wayne:~]# ping -c 4 -i 3 192.168.1.100
用来配置和显示Linux内核中网络接口的网络参数
语法格式 : ifconfig [参数]]
常用参数:
参数 | 说明 |
---|---|
add <地址> | 设置网络设备IPv6的IP地址 |
del <地址> | 删除网络设备IPv6的IP地址 |
down | 关闭指定的网络设备 |
up | 启动指定的网络设备 |
IP地址 | 指定网络设备的IP地址 |
参考实例:
[root@wayne:~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:c9:94:8e inet addr:192.168.142.174 Bcast:192.168.142.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec9:948e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15571 errors:0 dropped:0 overruns:0 frame:0 TX packets:937 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1039722 (1.0 MB) TX bytes:164525 (164.5 KB) Interrupt:19 Base address:0x2000 eth1 Link encap:Ethernet HWaddr 00:0c:29:c9:94:a2 inet addr:192.168.4.200 Bcast:192.168.4.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fec9:94a2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:133 errors:0 dropped:0 overruns:0 frame:0 TX packets:710 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20861 (20.8 KB) TX bytes:157963 (157.9 KB) Interrupt:18 Base address:0x2080
[root@wayne:~]# ifconfig eth0 up // 启动网卡 [root@wayne:~]# ifconfig eth0 down // 关闭网卡
[root@wayne:~]# ifconfig eth0 add 33ffe:3239:800:1002::2/ 64 //为网卡设置IPv6地址 [root@wayne:~]# ifconfig eth0 del 33ffe:3239:800:1002::2/ 64 //为网卡删除IPv6地址
[root@wayne:~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
配置IP地址
[root@wayne:~]# ifconfig eth1 192.168.4.200 //给eth1网卡配置IP地址 [root@wayne:~]# ifconfig eth1 192.168.4.200 netmask 255.255.255.0 // 给eth1网卡配置IP地址,并加上子掩码 [root@wayne:~]# ifconfig eth1 192.168.4.200 netmask 255.255.255.0 broadcast 192.168.4.255 // 给eth1网卡配置IP地址,加上子掩码,加上广播地址
[root@wayne:~]# ifconfig eth0 arp //开启 [root@wayne:~]# ifconfig eth0 -arp //关闭
[root@wayne:~]# ifconfig eth0 mtu 2500 //设置能通过的最大数据包大小为 2500 bytes
用来显示或设定系统的日期与时间
语法格式 : date [选项] [+输出形式]
常用参数:
参数 | 说明 |
---|---|
-s [datestr] | 将系统时间设为 datestr 中所设定的时间 |
-u | 显示目前的格林威治时间 |
参考实例:
[root@wayne:~]# date Wed Mar 8 12:29:33 CST 2023
[root@wayne:~]# date +"%Y-%m-%d" 2023-03-08
[root@wayne:~]# date -s 20230308 // 设置日期为20230308,这样会把具体时间设置成00:00:00 [root@wayne:~]# date -s 12:34:56 // 设置具体时间,不会对日期做更改 [root@wayne:~]# date -s "20230308 12:34:56" // 设置全部时间
以上,如果觉得对你有帮助,点个赞再走吧,这样@知微之见也有更新下去的动力!
也欢迎私信我,一起交流!