Linux常用的20个命令(下)

无论你是后端程序员还是前端程序员,都避免不了和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:~]# 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"     // 设置全部时间

以上,如果觉得对你有帮助,点个赞再走吧,这样@知微之见也有更新下去的动力!

也欢迎私信我,一起交流!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容