无论你是后端程序员还是前端程序员,都防止不了和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 [参数]

罕用参数

参数阐明
-a显示所有连线中的Socket
-p显示正在应用Socket的程序识别码和程序名称
-u显示UDP传输协定的连线情况
-i显示网络界面信息表单
-n间接应用IP地址,不通过域名服务器

参考实例

  • 显示具体的网络情况:
[root@wayne:~]# netstat -a
  • 显示以后用户UDP连贯情况:
[root@wayne:~]# netstat -nu
  • 显示网卡列表:
[root@wayne:~]# netstat -i 
  • 显示组播组的关系:
[root@wayne:~]# netstat -g 
  • 显示网络统计信息:
[root@wayne:~]# netstat -s 
  • 显示监听的套接口:
[root@wayne:~]# netstat -l 

18.ping 命令

用来测试主机之间网络的连通性

语法格局 : ping [参数] [指标主机]

罕用参数

参数阐明
-d应用Socket的SO_DEBUG性能
-c指定发送报文的次数
-i指定收发信息的间隔时间
-I应用指定的网络接口送出数据包
-l设置在送出要求信息之前,后行收回的数据包
-n只输入数值
-p设置填满数据包的范本款式
-q不显示指令执行过程
-R记录路由过程
-s设置数据包的大小
-t设置存活数值TTL的大小
-v具体显示指令的执行过程

参考实例

  • 检测与百度网站的连通性:
[root@wayne:~]# ping www.baidu.com
  • 间断ping4次 192.168.1.100:
[root@wayne:~]# ping -c 4 192.168.1.100
  • 间断ping4次 192.168.1.100,工夫距离为3秒:
[root@wayne:~]# ping -c 4 -i 3 192.168.1.100

19.ifconfig

用来配置和显示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    // 敞开网卡
  • 配置和删除网卡的IPv6地址
[root@wayne:~]# ifconfig eth0 add 33ffe:3239:800:1002::2/ 64 //为网卡设置IPv6地址[root@wayne:~]# ifconfig eth0 del 33ffe:3239:800:1002::2/ 64 //为网卡删除IPv6地址
  • 批改MAC地址
[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地址,加上子掩码,加上播送地址
  • 启用和敞开ARP协定
[root@wayne:~]# ifconfig eth0 arp  //开启[root@wayne:~]# ifconfig eth0 -arp  //敞开
  • 设置最大传输单元
[root@wayne:~]# ifconfig eth0 mtu 2500 //设置能通过的最大数据包大小为 2500 bytes

20.date命令

用来显示或设定零碎的日期与工夫

语法格局 : date [选项] [+输入模式]

罕用参数

参数阐明
-s [datestr]将零碎工夫设为 datestr 中所设定的工夫
-u显示目前的格林威治工夫

参考实例

  • 显示以后工夫:
[root@wayne:~]# dateWed 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"     // 设置全副工夫

以上,如果感觉对你有帮忙,点个赞再走吧,这样@知微之见也有更新上来的能源!

也欢送私信我,一起交换!