更多 CentOS Linux 常用命令整理请点击这里。
yum 工具:
( 1 )下载并安装一个 rpm 包:
[root@host ~]# yum -y install [package]
( 2 )安装一个 rpm 包,使用你自己的软件仓库解决所有依赖关系:
[root@host ~]# yum localinstall [package.rpm]
( 3 )更新当前系统中安装的所有 rpm 包:
[root@host ~]# yum -y update
( 4 )更新一个 rpm 包:
[root@host ~]# yum update [package]
( 5 )删除一个 rpm 包:
[root@host ~]# yum remove [package]
( 6 )列出当前系统中安装的所有包:
[root@host ~]# yum list
( 7 )在 rpm 仓库中搜寻软件包:
[root@host ~]# yum search [package]
( 8 )清除缓存目录(/var/cache/yum)下的软件包:
[root@host ~]# yum clean [package]
( 9 )删除所有头文件:
[root@host ~]# yum clean headers
( 10 )删除所有缓存的包和头文件:
[root@host ~]# yum clean all
网络:
( 1 )显示网卡的 IP 地址:
[root@host ~]# ip add (或 # ip address,或 # ip address show )
示例:
[root@host ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:xx:58:00:yy brd ff:ff:ff:ff:ff:ff
inet 124.xxx.yyy.zzz/24 brd 124.xxx.yyy.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:xx:6f:d3:yy brd ff:ff:ff:ff:ff:ff
inet 172.16.xxx.yyy/16 brd 172.16.255.255 scope global eth1
( 2 )显示一个以太网卡的配置:
[root@host ~]# ifconfig eth0
示例:
[root@host ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:16:xx:58:00:yy
inet addr:124.xxx.yyy.zzz Bcast:124.xxx.yyy.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12460525288 errors:0 dropped:0 overruns:0 frame:0
TX packets:144344143 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:762899561520 (710.5 GiB) TX bytes:157684164540 (146.8 GiB)
( 3 )查看当前网卡速率:
[root@host ~]# iptraf-ng -d eth0 (按 q 退出)
iptraf 命令安装步骤:
[root@host ~]# yum -y install gcc glibc ncurses
[root@host ~]# yum -y update gcc glibc ncurses
[root@host ~]# yum -y install iptraf
[root@host ~]# yum -y update iptraf
示例:

( 4 )持续监控网卡信息:
[root@host ~]# watch ifconfig (按 Ctrl + C 退出)
示例:
[root@host ~]# watch ifconfig
Every 2.0s: ifconfig Thu Nov 9 11:41:52 2017
eth0 Link encap:Ethernet HWaddr 00:16:xx:58:00:yy
inet addr:124.xxx.yyy.zzz Bcast:124.xxx.yyy.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12460573960 errors:0 dropped:0 overruns:0 frame:0
TX packets:144344822 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:762902544430 (710.5 GiB) TX bytes:157684821501 (146.8 GiB)
eth1 Link encap:Ethernet HWaddr 00:16:xx:6F:D3:yy
inet addr:172.16.xxx.yyy Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:216305174560 errors:0 dropped:0 overruns:0 frame:0
TX packets:131812567017 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:137815408326838 (125.3 TiB) TX bytes:101346089293722 (92.1 TiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:118475949545 errors:0 dropped:0 overruns:0 frame:0
TX packets:118475949545 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:254495749822484 (231.4 TiB) TX bytes:254495749822484 (231.4 TiB)
( 5 )配置网卡的 IP 地址:
[root@host ~]# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
( 6 )禁用 ‘ eth0 ‘ 网络设备:
[root@host ~]# ifdown eth0
( 7 )启用 ‘ eth0 ‘ 网络设备:
[root@host ~]# ifup eth0
( 8 )显示一个无线网卡的配置:
[root@host ~]# iwconfig eth1
( 9 )显示无线网络:
[root@host ~]# iwlist scan
硬盘 I / O :
( 1 )查看整块硬盘的 I / O 使用情况:
[root@host ~]# iostat -x 1 10
参数解释:
- -c 参数:可以用来输出部分 CPU 状态信息;
- -k 参数:某些使用 block 为单位的列强制使用 Kilobytes 为单位;
- -d 参数:显示设备(磁盘)使用状态;
- -x 参数:输出更多详细信息;
- 1 :表示采样的间隔,单位是秒;
- 10 :表示采样的次数。
示例:
[root@host ~]# iostat -x 1 2 Linux 3.10.0-862.11.6.el7.x86_64 (localhost.localdomain) 08/21/2018 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.19 0.00 0.36 0.01 0.00 99.43 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.05 1.14 0.28 47.23 10.23 81.07 0.00 0.61 0.58 0.72 0.34 0.05 sdb 0.00 0.00 0.02 0.00 0.37 0.00 38.86 0.00 0.14 0.14 0.00 0.08 0.00 sdc 0.00 0.00 0.02 0.00 0.37 0.00 38.86 0.00 0.18 0.18 0.00 0.13 0.00 dm-0 0.00 0.00 0.89 0.32 42.19 9.87 85.53 0.00 0.72 0.70 0.79 0.37 0.04 dm-1 0.00 0.00 0.02 0.00 0.38 0.00 47.40 0.00 0.19 0.19 0.00 0.10 0.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 0.00 0.00 100.00 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 [root@host ~]#
输出解释:
- rrqm/s :每秒这个设备相关的读取请求有多少被 Merge 了(当系统调用需要读取数据的时候,VFS 将请求发到各个 FS ,如果 FS 发现不同的读取请求读取的是相同 Block 的数据,FS 会将这个请求合并 Merge );
- wrqm/s :每秒这个设备相关的写入请求有多少被 Merge 了;
- rsec/s :每秒读取的扇区数;
- wsec/s :每秒写入的扇区数;
- r/s :The number of read requests that were issued to the device per second ;
- w/s :The number of write requests that were issued to the device per second ;
- await :每一个 IO 请求的处理的平均时间(单位是毫秒),这里可以理解为 IO 的响应时间,一般系统 IO 响应时间应该低于 5 ms ,如果大于 10 ms 就比较大了;
- %util :在统计时间内所有处理 IO 时间,除以总共统计时间;例如,如果统计间隔 1 秒,该设备有 0.8 秒在处理 IO ,而 0.2 秒闲置,那么该设备的 %util = 0.8 / 1 = 80 % ,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是 100 % 表示设备已经接近满负荷运行了(当然如果是多磁盘,即使 %util 是 100 % ,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
iostat 命令安装步骤:
[root@host ~]# yum install -y sysstat
( 2 )查看当前各个进程的 I / O 使用情况:
[root@host ~]# iotop (按 q 退出) 示例: [root@host ~]# iotop Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 2045 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % [kworker/0:2] 1024 be/4 polkitd 0.00 B/s 0.00 B/s 0.00 % 0.00 % polkitd --no-debug 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H] 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched] 10 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [lru-add-drain] 11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0] 13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs] 14 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns] 15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd] 16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback] 17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd] 18 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset] 19 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset] 20 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset] iotop 命令安装步骤: [root@host ~]# yum install -y iotop
其他:
( 1 )切换到 root 权限(与 su 有区别):
[root@host ~]# su -
( 2 )关机:
[root@host ~]# shutdown -h now 或者 [root@host ~]# init 0
( 3 )重启:
[root@host ~]# shutdown -r now 或者 [root@host ~]# reboot 或者 [root@host ~]# init 6
( 4 )罗列使用 CPU 资源最多的 Linux 任务:
[root@host ~]# top (按 q 退出)
示例:
[root@host ~]# top
top - 11:49:29 up 1449 days, 13:52, 1 user, load average: 3.22, 2.76, 2.77
Tasks: 144 total, 1 running, 139 sleeping, 0 stopped, 4 zombie
Cpu(s): 19.5%us, 4.2%sy, 0.0%ni, 65.6%id, 0.2%wa, 4.7%hi, 6.0%si, 0.0%st
Mem: 4044100k total, 4006724k used, 37376k free, 26124k buffers
Swap: 2096440k total, 646544k used, 1449896k free, 730348k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8560 root 24 0 2836m 2.5g 10m S 38.2 63.9 1324:18 java
2505 nobody 15 0 50232 22m 1552 S 6.0 0.6 909:30.01 nginx
2503 nobody 15 0 51476 23m 1552 S 5.3 0.6 913:59.80 nginx
2506 nobody 15 0 50732 22m 1544 S 4.3 0.6 909:17.16 nginx
2509 nobody 15 0 50792 22m 1544 S 3.7 0.6 907:10.55 nginx
2507 nobody 15 0 51008 22m 1544 S 2.0 0.6 912:27.41 nginx
12818 root 15 0 10860 1056 768 R 0.7 0.0 0:00.04 top
8112 root 22 0 191m 7816 1832 S 0.3 0.2 24:53.32 python
( 5 )查看进程 XXX 是否存在:
[root@host ~]# ps -ef | grep XXX 示例: [root@host ~]# ps -ef | grep nginx root 4672 17804 0 23:49 pts/0 00:00:00 grep nginx root 25456 1 0 20:40 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf nobody 25457 25456 0 20:40 ? 00:00:25 nginx: worker process nobody 25458 25456 0 20:40 ? 00:00:25 nginx: worker process nobody 25459 25456 0 20:40 ? 00:00:31 nginx: worker process nobody 25461 25456 0 20:40 ? 00:00:26 nginx: worker process [root@host ~]#
ps -ef 命令是可以查看进程上次启动的时间的(如上所示,进程上次启动的时间是今天的 20 点 40 分),但下面这条命令显示得会更直观一点。
( 6 )查看某个进程上次启动的时间:
[root@host ~]# ps -p 进程号 -o lstart
示例:
[root@host ~]# ps -p 25456 -o lstart # 25456 是进程号,具体如上例所示
STARTED
Tue Sep 18 20:40:56 2018
[root@host ~]#
( 7 )以树状图显示程序:
[root@host ~]# pstree
示例:
[root@host ~]# pstree
init─┬─acpid
├─atd
├─auditd─┬─audispd───{audispd}
│ └─{auditd}
├─automount───4*[{automount}]
├─avahi-daemon───avahi-daemon
├─crond
├─dbus-daemon
├─events/0
├─events/1
├─funcd───funcd
├─gpm
├─hald───hald-runner─┬─hald-addon-acpi
│ ├─hald-addon-keyb
│ └─hald-addon-stor
......
( 8 )查看参考手册(例如 ping 命令):
[root@host ~]# man ping
( 9 )修改密码:
[root@host ~]# passwd
( 10 )显示磁盘的使用情况:
[root@host ~]# df -h
示例:
[root@host ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 9.7G 5.5G 3.8G 60% /
/dev/hda3 47G 22G 23G 50% /www
/dev/hda1 190M 18M 163M 10% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
( 11 )显示磁盘的 inode 使用情况:
[root@host ~]# df -i
示例:
[root@host ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda2 2621440 106496 2514944 5% /
/dev/hda3 12537888 2640 12535248 1% /www
/dev/hda1 50200 41 50159 1% /boot
tmpfs 505512 1 505511 1% /dev/shm
注释:
一、inode 是什么? 理解 inode,要从文件储存说起:文件储存在硬盘上,硬盘的最小存储单位叫做 ” 扇区 “( Sector )。每个扇区储存 512 字节(相当于 0.5 KB )。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个 ” 块 “( block )。这种由多个扇区组成的 ” 块 “,是文件存取的最小单位。” 块 ” 的大小,最常见的是 4 KB ,即连续八个 sector 组成一个 block 。 文件数据都储存在 ” 块 ” 中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做 inode ,中文译名为 ” 索引节点 ” 。 二、inode 的内容: inode 包含文件的元信息,具体来说有以下内容:
|
( 12 )显示前一个月,当前月以及下一个月的月历:
[root@host ~]# cal -3
示例:
[root@host ~]# cal -3
October 2017 November 2017 December 2017
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7 1 2 3 4 1 2
8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9
15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16
22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23
29 30 31 26 27 28 29 30 24 25 26 27 28 29 30
31
( 13 )显示指定月,年的月历:
[root@host ~]# cal 10 1988
示例:
[root@host ~]# cal 10 1988
October 1988
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
( 14 )把一相对于 1970-01-01 00:00 的秒数转换成时间:
[root@host ~]# date --date '1970-01-01 UTC 1427888888 seconds'
示例:
[root@host ~]# date --date '1970-01-01 UTC 1427888888 seconds'
Wed Apr 1 19:48:08 CST 2015
发表评论?