翼度科技»论坛 云主机 LINUX 查看内容

Linux常用的20个命令(下)

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
无论你是后端程序员还是前端程序员,都避免不了和Linux打交道。上篇介绍了Linux常用的20个命令其中的10个,本文继续介绍剩下的10个命令。
11.man 命令

manual的缩写,即使用手册的意思,是Linux下最核心的命令之一,用来列出一份完整的说明
语法格式 : man [参数]
常用参数
参数说明-a在所有的man帮助手册中搜索-f显示给定关键字的简短描述信息-p指定内容时使用分页程序-M指定man手册搜索的路径-w显示文件所在位置快捷键:
参数说明q退出Enter按行下翻Space按页下翻b上翻一页/字符串在手册页中查找字符串参考实例

  • 查看printf函数的使用信息:
  1. [root@wayne:~]# man printf
复制代码

  • 查看cp命令的帮助信息:
  1. [root@wayne:~]# man cp
复制代码

  • 查看/etc/passwd文件的信息:
  1. [root@wayne:~]# man /etc/passwd
复制代码

  • 查看passwd命令所在位置:
  1. [root@wayne:~]# man -w passwd /usr/share/man/man1/passwd.1.gz
复制代码
12.grep 命令

用来查找文件里符合条件的字符串或正则表达式,并将其打印出来
语法格式 : grep [参数]
常用参数
参数说明-i忽略大小写进行匹配-c只输出匹配行的数量-l只列出符合匹配的文件名,不列出具体的匹配行-n列出所有的匹配行,显示行号-r递归查找子目录中的文件-v只打印不匹配的行参考实例

  • 在文件 test.txt 中查找字符串 "World",并打印匹配的行:
  1. [root@wayne:~]# grep World test.txt
复制代码

  • 在当前目录中,查找后缀为 .txt 的文件中,包含World字符串的文件,并打印出该字符串的行
  1. [root@wayne:~]# grep World *.txt
复制代码

  • 在文件夹 dir 中递归查找所有文件中匹配正则表达式 "pattern" 的行,并打印匹配行所在的文件名和行号
  1. [root@wayne:~]# grep -r -n pattern dir/
复制代码

  • 以递归的方式查找目录 /usr/local 及其子目录下所有文件中包含字符串"test"的文件
  1. [root@wayne:~]# grep -r test /usr/local
复制代码
13.find 命令

用来在指定目录下查找文件
语法格式 : find [参数] [路径] [查找和搜索范围]
常用参数
参数说明-name按名称查找-size按大小查找-user按属性查找-type按类型查找-iname忽略大小写参考实例

  • 使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
  1. [root@wayne:~]# find /etc -name "*.conf
复制代码

  • 使用-size参数查看/etc目录下面大于1M的文件:
  1. [root@wayne:~]# find /etc -size +1M
复制代码

  • 在/home目录下查找以.txt结尾的文件名:
  1. [root@wayne:~]# find /home -name "*.txt"
复制代码

  • 找出/home下不是以.txt结尾的文件:
  1. [root@wayne:~]# find /home ! -name "*.txt"
复制代码

  • 在/var/log目录下忽略大小写查找以.log结尾的文件名:
  1. [root@wayne:~]# find /var/log -iname "*.log"
复制代码

  • 将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
  1. [root@wayne:~]# find . -ctime  20
复制代码

  • 搜索当前目录中访问时间超过10分钟的所有文件:
  1. [root@wayne:~]# find . -type f -amin +10
复制代码
14.chmod 命令

用来改变文件或目录的权限
语法格式 : chmod [参数] [文件]
常用参数
参数说明-c若该文件权限确实已经更改,才显示其更改动作-f若该文件权限无法被更改也不显示错误讯息-v显示权限变更的详细资料-R对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)参考实例

  • 将file.txt 设为所有人都可读取:
  1. [root@wayne:~]# chmod a+r file.txt  
复制代码

  • 将目前目录下的所有文件与子目录皆设为任何人可读取 :
  1. [root@wayne:~]# chmod -R a+r *   
复制代码

  • 将 file设定为只有该文件拥有者可以执行:
  1. [root@wayne:~]# chmod u+x file
复制代码

  • 用数字更改文件权限:
  1. [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查看系统所有的进程数据参考实例

  • 显示所有进程信息:
  1. [root@wayne:~]# ps -A
复制代码

  • 查看系统所有的进程数据:
  1. [root@wayne:~]# ps -aux
复制代码

  • 查看root用户的进程信息:
  1. [root@wayne:~]# ps -u root
复制代码

  • 按 CPU 资源的使用量对进程进行排序
  1. [root@wayne:~]# ps -aux | sort -nk 3
复制代码

  • 按内存资源的使用量对进程进行排序
  1. [root@wayne:~]# ps aux | sort -rnk 4
复制代码
16.kill 命令

用来删除执行中的程序或工作
语法格式 : kill [参数] [进程号]
常用参数
参数说明-l列出系统支持的信号-s指定向进程发送的信号-a处理当前进程时不限制命令名和进程号的对应关系-p指定kill命令只打印相关进程的进程号,而不发送任何信号参考实例

  • 显示信号:
  1. [root@wayne:~]# kill -l
复制代码

  • 杀死一个进程ID为9523的进程:
  1. [root@wayne:~]# kill -9 9523
复制代码

  • 重新加载进程ID为1935的进程:
  1. [root@wayne:~]# kill -SIGHUP 1953
复制代码
17.netstat 命令

用来显示各种网络相关信息
语法格式 : netstat [参数]
常用参数
参数说明-a显示所有连线中的Socket-p显示正在使用Socket的程序识别码和程序名称-u显示UDP传输协议的连线状况-i显示网络界面信息表单-n直接使用IP地址,不通过域名服务器参考实例

  • 显示详细的网络状况:
  1. [root@wayne:~]# netstat -a
复制代码

  • 显示当前用户UDP连接状况:
  1. [root@wayne:~]# netstat -nu
复制代码

  • 显示网卡列表:
  1. [root@wayne:~]# netstat -i
复制代码

  • 显示组播组的关系:
  1. [root@wayne:~]# netstat -g
复制代码

  • 显示网络统计信息:
  1. [root@wayne:~]# netstat -s
复制代码

  • 显示监听的套接口:
  1. [root@wayne:~]# netstat -l
复制代码
18.ping 命令

用来测试主机之间网络的连通性
语法格式 : ping [参数] [目标主机]
常用参数
参数说明-d使用Socket的SO_DEBUG功能-c指定发送报文的次数-i指定收发信息的间隔时间-I使用指定的网络接口送出数据包-l设置在送出要求信息之前,先行发出的数据包-n只输出数值-p设置填满数据包的范本样式-q不显示指令执行过程-R记录路由过程-s设置数据包的大小-t设置存活数值TTL的大小-v详细显示指令的执行过程参考实例

  • 检测与百度网站的连通性:
  1. [root@wayne:~]# ping www.baidu.com
复制代码

  • 连续ping4次 192.168.1.100:
  1. [root@wayne:~]# ping -c 4 192.168.1.100
复制代码

  • 连续ping4次 192.168.1.100,时间间隔为3秒:
  1. [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地址参考实例

  • 显示网络设备信息
  1. [root@wayne:~]# ifconfig        
  2. eth0      Link encap:Ethernet  HWaddr 00:0c:29:c9:94:8e  
  3.           inet addr:192.168.142.174  Bcast:192.168.142.255  Mask:255.255.255.0
  4.           inet6 addr: fe80::20c:29ff:fec9:948e/64 Scope:Link
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  6.           RX packets:15571 errors:0 dropped:0 overruns:0 frame:0
  7.           TX packets:937 errors:0 dropped:0 overruns:0 carrier:0
  8.           collisions:0 txqueuelen:1000
  9.           RX bytes:1039722 (1.0 MB)  TX bytes:164525 (164.5 KB)
  10.           Interrupt:19 Base address:0x2000
  11. eth1      Link encap:Ethernet  HWaddr 00:0c:29:c9:94:a2  
  12.           inet addr:192.168.4.200  Bcast:192.168.4.255  Mask:255.255.255.0
  13.           inet6 addr: fe80::20c:29ff:fec9:94a2/64 Scope:Link
  14.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  15.           RX packets:133 errors:0 dropped:0 overruns:0 frame:0
  16.           TX packets:710 errors:0 dropped:0 overruns:0 carrier:0
  17.           collisions:0 txqueuelen:1000
  18.           RX bytes:20861 (20.8 KB)  TX bytes:157963 (157.9 KB)
  19.           Interrupt:18 Base address:0x2080
复制代码

  • 启动关闭指定网卡
  1. [root@wayne:~]# ifconfig eth0 up        // 启动网卡
  2. [root@wayne:~]# ifconfig eth0 down        // 关闭网卡
复制代码

  • 配置和删除网卡的IPv6地址
  1. [root@wayne:~]# ifconfig eth0 add 33ffe:3239:800:1002::2/ 64 //为网卡设置IPv6地址
  2. [root@wayne:~]# ifconfig eth0 del 33ffe:3239:800:1002::2/ 64 //为网卡删除IPv6地址
复制代码

  • 修改MAC地址
  1. [root@wayne:~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
复制代码
配置IP地址
  1. [root@wayne:~]# ifconfig eth1 192.168.4.200
  2. //给eth1网卡配置IP地址
  3. [root@wayne:~]# ifconfig eth1 192.168.4.200 netmask 255.255.255.0
  4. // 给eth1网卡配置IP地址,并加上子掩码
  5. [root@wayne:~]# ifconfig eth1 192.168.4.200 netmask 255.255.255.0 broadcast 192.168.4.255
  6. // 给eth1网卡配置IP地址,加上子掩码,加上广播地址
复制代码

  • 启用和关闭ARP协议
  1. [root@wayne:~]# ifconfig eth0 arp  //开启
  2. [root@wayne:~]# ifconfig eth0 -arp  //关闭
复制代码

  • 设置最大传输单元
  1. [root@wayne:~]# ifconfig eth0 mtu 2500
  2. //设置能通过的最大数据包大小为 2500 bytes
复制代码
20.date命令

用来显示或设定系统的日期与时间
语法格式 : date [选项] [+输出形式]
常用参数
参数说明-s [datestr]将系统时间设为 datestr 中所设定的时间-u显示目前的格林威治时间参考实例

  • 显示当前时间:
  1. [root@wayne:~]# date
  2. Wed Mar  8 12:29:33 CST 2023
复制代码

  • 按格式输出时间:
  1. [root@wayne:~]# date +"%Y-%m-%d"
  2. 2023-03-08
复制代码

  • 设定时间:
  1. [root@wayne:~]# date -s 20230308                // 设置日期为20230308,这样会把具体时间设置成00:00:00
  2. [root@wayne:~]# date -s 12:34:56                // 设置具体时间,不会对日期做更改
  3. [root@wayne:~]# date -s "20230308 12:34:56"     // 设置全部时间
复制代码
以上,如果觉得对你有帮助,点个赞再走吧,这样@知微之见也有更新下去的动力!
也欢迎私信我,一起交流!

来源:https://www.cnblogs.com/Wayne123/p/17192316.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具