网卡配置详细文件
[root@zy ~]# cat/etc/sysconfig/network-scripts/ifcfg-etho
命令
1.alias
#设置别名,查看系统中的所有别名
[root@NYX /tmp]# alias shangwang='ping baidu.com'
[root@NYX /tmp]# unalias shangwang
2.history
#查看历史命令记录
history 作用 -d #删除指定id号的命令记录 -c #清空历史命令记录 -w #将历史命令记录写入到文件
[root@NYX /tmp]# history -d 63
[root@NYX /tmp]# history
3.关机和重启的命令
关机 重启 注销 shutdown -h 0 shutdown -r 0 ctrl+d poweroff reboot exit init 0 init 6 logout halt -p
4.ip
#显示ip地址
ip address / ip a 显示所有网卡信息
ip address show eth0 / ip a s eth0 #显示某个网卡的ip地址
ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
5.ifconfig
#显示所有的网卡信息
ifconfig eth0 #显示某个网卡的ip地址
[root@NYX /tmp]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.100 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::5e90:3dc3:e6f7:1f47 prefixlen 64 scopeid 0x20<link>
6.hostname
#显示系统主机名
hostname 作用 -i #显示ip地址和Mac地址 -I #只显示ip地址
[root@zy ~]# hostname
zy
[root@zy ~]# hostname -i
fe80::bc4a:d594:ee49:ccc7%eth0 10.0.0.100
[root@zy ~]# hostname -l
hostname: invalid option -- 'l'
Usage: hostname [-b] {hostname|-F file} set host name (from file)
hostname [-a|-A|-d|-f|-i|-I|-s|-y] display formatted name
hostname display host name
7.echo
所及即所得,会解析变量。
| #重定向,覆盖
| #追加重定向,追加
$和反引号|都可以打印变量
[root@NYX /tmp]# echo -e "`hostname`n\nhello">>01
[root@NYX /tmp]# cat 01
NYXn
hello
[root@qls ~]# echo $USER
root
[root@qls ~]# echo $HOME
/root
8.pwd
#显示当前所在绝对路径
[root@zy ~]# pwd
/root
[root@zy ~]# cd /
[root@zy /]# pwd
/
9.cd
. | 当前目录
.. | 当前目录的上一级目录
- | 返回到上一次所在的目录
[root@NYX /tmp]# man ls
[root@NYX /tmp]# ls --help
[root@qls /etc]# cd #直接回到当前用户的家目录
[root@qls ~]#
[root@qls ~]#
[root@qls ~]# cd - #返回到上一次所在的目录
/etc
[root@qls /etc]# cd . #保持在当前目录
[root@qls /etc]# cd .. #进入到当前目录的上一级目录
[root@qls /]# cd ~ #进入到家目录
[root@qls ~]# cd /root
[root@qls ~]# cd / #进入到/目录
10.帮助信息
帮助 含义 man 详细查看命令的帮助信息 help 查看系统内置命令帮助信息 info 显示命令帮助信息 type 查看命令是否为内置命令
[root@NYX /tmp]# type ls
ls is aliased to `ls --color=auto'
[root@NYX /tmp]# ls --help
11.ls
显示目录的列表
-l | #以长格式显示目录列表的详细信息
-a | #显示所有文件,包括隐藏文件
-d | #显示目录的本身的信息
-h | #以人类可读的形式显示文件大小
-t | #以时间信息进行排序,时间越早,,排序越后
-S| #以文件大小进行排序
-r | #倒叙排序
-1| #(数字1),以列表的形式显示文件名
-i | #显示文件的inode号,索引节点
-p | #给目录加上一个/,表示目录的意思 -F | #给不同类型的文件加上一个标识符(/ 目录= 表示套接字 socket文件 | 管道文件 * 可执行文件 @ 符号文件(已经不显示))
[root@qls ~]# ls
123.txt 456.txt anaconda-ks.cfg for.sh hosts random.sh student.txt
[root@qls ~]# ls /root
123.txt 456.txt anaconda-ks.cfg for.sh hosts random.sh student.txt
[root@qls ~]# ls -l
total 24
-rw-r--r--. 1 root root 0 Oct 28 10:10 123.txt
-rw-r--r--. 1 root root 10 Oct 28 10:08 456.txt
-rw-------. 1 root root 1271 Oct 23 12:20 anaconda-ks.cfg
-rw-r--r--. 1 root root 310 Oct 25 08:38 for.sh
-rw-r--r--. 1 root root 158 Oct 25 10:10 hosts
-rw-r--r--. 1 root root 319 Oct 25 08:38 random.sh
-rw-r--r--. 1 root root 613 Oct 25 08:34 student.txt
[root@qls ~]# ls -la
total 52
dr-xr-x---. 2 root root 242 Oct 28 10:07 .
dr-xr-xr-x. 17 root root 224 Oct 23 12:19 ..
-rw-r--r--. 1 root root 0 Oct 28 10:10 123.txt
-rw-------. 1 root root 4096 Oct 25 10:00 .1.swp
-rw-r--r--. 1 root root 10 Oct 28 10:08 456.txt
-rw-------. 1 root root 1271 Oct 23 12:20 anaconda-ks.cfg
-rw-------. 1 root root 1100 Oct 28 10:03 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r--. 1 root root 310 Oct 25 08:38 for.sh
-rw-r--r--. 1 root root 158 Oct 25 10:10 hosts
-rw-r--r--. 1 root root 319 Oct 25 08:38 random.sh
-rw-r--r--. 1 root root 613 Oct 25 08:34 student.txt
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
12.tree
以树形结构显示目录结构列表
-F | #给不同文件类型加上不同的标识符,跟ls -F 类似
-a | #显示隐藏文件
-d | #只显示目录
-L | #显示目录结构的阶级层次
13mkdir
创建目录
-p | 创建多级目录,递归创建
-v | 显示创建过程
-m | 创建目录时,修改目录权限
{} | 批量创建
[root@qls ~]# mkdir oldboy
[root@qls ~]# ll
total 680
drwxr-xr-x. 2 root root 6 Oct 28 11:46 oldboy
[root@qls ~]# mkdir oldboy
mkdir: cannot create directory ‘oldboy’: File exists
[root@qls ~]# mkdir /root/data/oldboy
mkdir: cannot create directory ‘/root/data/oldboy’: No such file or directory
[root@qls ~]# mkdir -p /root/data/oldboy
[root@qls ~]# mkdir -pv oldgirl
mkdir: created directory ‘oldgirl’
[root@qls ~]# mkdir -m 777 oldqls
[root@qls ~]# ll
total 680
drwxr-xr-x. 2 root root 6 Oct 28 11:46 oldboy
drwxr-xr-x. 2 root root 6 Oct 28 11:50 oldgirl
drwxrwxrwx. 2 root root 6 Oct 28 11:53 oldqls
#根据通配符进行批量创建目录
[root@qls ~]# mkdir -p old{01..10}
[root@qls ~]# ll
total 680
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old01
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old02
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old03
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old04
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old05
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old06
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old07
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old08
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old09
drwxr-xr-x. 2 root root 6 Oct 28 11:55 old10
[root@qls ~]# mkdir -p old{a..z}
drwxr-xr-x. 2 root root 6 Oct 28 11:56 olda
drwxr-xr-x. 2 root root 6 Oct 28 11:56 oldb
#创建无序的
[root@qls ~]# mkdir -p a{bc,cb,cd,dd}
[root@qls ~]# ll
total 680
drwxr-xr-x. 2 root root 6 Oct 28 11:58 abc
drwxr-xr-x. 2 root root 6 Oct 28 11:58 acb
drwxr-xr-x. 2 root root 6 Oct 28 11:58 acd
drwxr-xr-x. 2 root root 6 Oct 28 11:58 add
[root@qls ~]# mkdir old/{a..z}/{01..10}/{a..z} -p
#linux系统中是区分大小写的,而windows是不支持的
[root@qls ~]# mkdir a
[root@qls ~]# mkdir A
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:03 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
#linux中不支持同路径下同名的文件
[root@qls ~]# mkdir 'a '
[root@qls ~]#
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:03 a
drwxr-xr-x. 2 root root 6 Oct 28 12:04 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
[root@qls ~]# ll -F
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:03 a/
drwxr-xr-x. 2 root root 6 Oct 28 12:04 a /
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A/
[root@qls ~]# mkdir a
mkdir: cannot create directory ‘a’: File exists
14.touch
创建空文件,文件已经存在时,不会报错,只会修改属性的时间 {} 批量创建
[root@qls ~]# touch oldboy
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:08 a
drwxr-xr-x. 2 root root 6 Oct 28 12:04 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
-rw-r--r--. 1 root root 0 Oct 28 12:09 oldboy
[root@qls ~]# touch oldboy
#批量创建文件
[root@qls ~]# touch oldboy{01..5}.txt
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:08 a
drwxr-xr-x. 2 root root 6 Oct 28 12:04 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
-rw-r--r--. 1 root root 0 Oct 28 12:09 oldboy
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldboy01.txt
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldboy02.txt
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldboy03.txt
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldboy04.txt
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldboy05.txt
[root@qls ~]# touch oldboy.{txt,log,sh,py,conf}
[root@qls ~]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 28 12:13 oldboy.conf
-rw-r--r--. 1 root root 0 Oct 28 12:13 oldboy.log
-rw-r--r--. 1 root root 0 Oct 28 12:13 oldboy.py
-rw-r--r--. 1 root root 0 Oct 28 12:13 oldboy.sh
-rw-r--r--. 1 root root 0 Oct 28 12:13 oldboy.txt
+
15.cp
复制
-p | 保持属性
-d | 保持软连接
-r | 递归复制
-a | ==-pdr
-i | 进行交互式的询问
-t | 把源文件与目标路径进行调换位置
[root@qls ~]# cp oldboy.txt /mnt
[root@qls ~]# ll /mnt
total 0
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.txt
[root@qls ~]# cp oldboy.sh /mnt/oldboy.mp3
[root@qls ~]# ll /mnt/
total 0
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.mp3
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.txt
[root@qls ~]# cp a /mnt/
cp: omitting directory ‘a’
[root@qls ~]# cp -r a /mnt/
[root@qls ~]# ll /mnt/
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:17 a
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.mp3
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.txt
[root@qls ~]# cp -rp A /mnt/
[root@qls ~]# ll /mnt/
total 0
drwxr-xr-x. 2 root root 6 Oct 28 12:17 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.mp3
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.txt
[root@qls ~]# cp -a /etc/ /mnt
面交互的方式
#临时取消别名
[root@qls ~]# \cp oldboy.txt /mnt #\ 转义 撬棍 ,取消特殊符号的含义
[root@qls ~]# ll /mnt/
total 12
drwxr-xr-x. 2 root root 6 Oct 28 12:17 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
drwxr-xr-x. 74 root root 8192 Oct 25 11:31 etc
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.mp3
-rw-r--r--. 1 root root 0 Oct 28 12:24 oldboy.txt
#使用绝对路径执行
[root@qls ~]# /bin/cp oldboy.txt /mnt
[root@qls ~]# cp -t /tmp oldboy.txt
[root@qls ~]# ll /tmp/
total 4
-rw-r--r--. 1 root root 0 Oct 28 12:29 oldboy.txt
16.mv
移动或重命令文件
-f | 强制覆盖
-i | 进行交互式的询问
-t | 把源文件与目标路径进行调换位置
[root@qls ~]# mv -f shanghai/ /mnt
[root@qls ~]# ll /mnt
total 12
drwxr-xr-x. 2 root root 6 Oct 28 12:17 a
drwxr-xr-x. 2 root root 6 Oct 28 12:03 A
drwxr-xr-x. 74 root root 8192 Oct 25 11:31 etc
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldboy01.txt
-rw-r--r--. 1 root root 0 Oct 28 12:16 oldboy.mp3
-rw-r--r--. 1 root root 0 Oct 28 12:25 oldboy.txt
drwxr-xr-x. 2 root root 6 Oct 28 12:33 shanghai
17.rename
重命名 rename 旧字符 新字符 针对修改的文件
[root@qls ~]# rename oldboy oldgirl oldboy02.txt
[root@qls ~]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 28 12:13 oldboy.txt
-rw-r--r--. 1 root root 0 Oct 28 12:12 oldgirl02.txt
18.rm 删除
-f | 强制删除
-r | 递归删除
-i | 交互式的询问
[root@qls ~]# rm oldboy
rm: remove regular empty file ‘oldboy’? n
[root@qls ~]# \rm oldboy
[root@qls ~]# /bin/rm oldboy03.txt
[root@qls ~]# rm -f oldboy04.txt
[root@qls ~]# rm -f abc
rm: cannot remove ‘abc’: Is a directory
[root@qls ~]# rm -rf abc
#删除目录下所有的内容
[root@qls ~]# rm -rf ./*
[root@qls ~]# ll
total 0
#禁止
[root@qls ~]# rm -rf . /*
19.cat
查看文件内容,创建新文件,修改文件,合并多个文件
[root@NYX /opt]# cat >123.txt<< EOF
> hello man
> it is my dog
> yin yin
> EOF
-n | 显示行号
-A | 给显示出来的内容的每行结尾加上一个标识符
[root@NYX /etc]# cat -nA host.conf
1 multi on$
[root@qls ~]# cat -b passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15 dbus:x:81:81:System message bus:/:/sbin/nologin
16 polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
[root@qls ~]# cat -n passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15 dbus:x:81:81:System message bus:/:/sbin/nologin
16 polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
18 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
19
[root@qls ~]# cat -A passwd
root:x:0:0:root:/root:/bin/bash$
bin:x:1:1:bin:/bin:/sbin/nologin$
daemon:x:2:2:daemon:/sbin:/sbin/nologin$
adm:x:3:4:adm:/var/adm:/sbin/nologin$
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
sync:x:5:0:sync:/sbin:/bin/sync$
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
halt:x:7:0:halt:/sbin:/sbin/halt$
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin$
operator:x:11:0:operator:/root:/sbin/nologin$
games:x:12:100:games:/usr/games:/sbin/nologin$
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin$
nobody:x:99:99:Nobody:/:/sbin/nologin$
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin$
dbus:x:81:81:System message bus:/:/sbin/nologin$
polkitd:x:999:998:User for polkitd:/:/sbin/nologin$
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin$
postfix:x:89:89::/var/spool/postfix:/sbin/nologin$
$
$
^I$
20.tac
倒序显示文件内容,按行进行显示
21.more
分页显示文件内容,文件显示完成,会自动退出
空格或者f | 向下翻页
b | 向上翻页
回车 | 向下显示一行
h | 帮助信息
= | 显示当前光标所在行数
/xxx | 搜索内容,不会高亮显示
n | 向下搜索
N | 向上搜索
q | 退出
+num(数字) | 从第几行开始显示
22.less
分页显示文件内容,文件显示完成,不会自动退出
空格或者f | 向下翻页
b | 向上翻页
回车 | 向下显示一行
h | 帮助信息
= | 显示当前所在页是第几行到多少行,总共多少行 总共显示多少了字节,总共多少字节。 /xxx | 搜索内容,会高亮显示 n | 向下搜索 N | 向上搜索 q | 退出
-N | 显示的时候加上行号
-i | 忽略大小写
23.head
显示文件的头部信息,默认显示前十行
选项 作用 -n num(数字) 取消默认输出,显示指定的行数
-c num(数字) | 显示文件最前面的字符
[root@qls ~]# head services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
[root@qls ~]# head -1 services
# /etc/services:
[root@qls ~]# head -n1 services
# /etc/services:
[root@qls ~]# head -c 5 services
# /et[root@qls ~]#
24.tail
显示文件的尾部信息,默认显示最后十行
-n | 取消默认输出
-c | 显示最后几个字符
-f | 实时显示文件内容,实时查看文件内容的更新<br>文件不存在时,会报错退出
-F | 实时显示文件内容,实时查看文件内容的更新<br>文件不存在时,会不停尝试读取改文件,直到文件存在
[root@qls ~]# tail services
3gpp-cbsp 48049/tcp # 3GPP Cell Broadcast Service Protocol
isnetserv 48128/tcp # Image Systems Network Services
isnetserv 48128/udp # Image Systems Network Services
blp5 48129/tcp # Bloomberg locator
blp5 48129/udp # Bloomberg locator
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker
[root@qls ~]# tail -n1 services
matahari 49000/tcp # Matahari Broker
[root@qls ~]# tail -1 services
matahari 49000/tcp # Matahari Broker
[root@qls ~]# tail -c 5 services
oker #后面有个换行符
[root@qls ~]# tail -20f /var/log/messages
Oct 29 08:42:07 qls systemd: Started Postfix Mail Transport Agent.
Oct 29 08:42:08 qls systemd: Started Dynamic System Tuning Daemon.
Oct 29 08:42:08 qls systemd: Reached target Multi-User System.
Oct 29 08:42:08 qls systemd: Starting Update UTMP about System Runlevel Changes...
Oct 29 08:42:08 qls systemd: Started Update UTMP about System Runlevel Changes.
Oct 29 08:42:08 qls systemd: Startup finished in 789ms (kernel) + 4.345s
25.tailf
实时显示文件内容,实时查看文件内容的更新, 如果文件内容不更新时,不会去读取磁盘信息,减少磁盘的读写,减少压力
-n 取消默认输出
[root@qls ~]# tailf -20 /var/log/messages
Oct 29 08:42:07 qls systemd: Started Postfix Mail Transport Agent.
Oct 29 08:42:08 qls systemd: Started Dynamic System Tuning Daemon.
Oct 29 08:42:08 qls systemd: Reached target Multi-User System.
Oct 29 08:42:08 qls systemd: Starting Update UTMP about System Runlevel Changes...
Oct 29 08:42:08 qls systemd: Started Update UTMP about System Runlevel Changes.
Oct 29 08:42:08 qls systemd: Startup finished in 789ms (kernel) + 4.345s (initrd) + 18.368s (userspace) = 23.502s.
Oct 29 08:42:39 qls systemd: Created slice User Slice of root.
26.grep
三剑客之一,老三 过滤 ,给过滤出来的内容显示颜色,支持正则使用
-c | 统计过滤的出来的内容的行数
-n | 显示过滤出来的内容所在文件的行数
-o | 只显示过滤出来的内容
-i | 忽略大小写
-v | 排除
-w | 精确匹配
-A num(数字)| 显示过滤出来的内容向下几行
-B num(数字)| 显示过滤出来的内容向上几行
-C num(数字)| 显示过滤出来的内容向上向下各几行
-E | 支持扩展正则
[root@qls ~]# grep 'root' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@qls ~]# grep -c 'root' passwd
2
[root@qls ~]# grep -n 'root' passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@qls ~]# grep -o 'root' passwd
root
root
root
root
[root@qls ~]# grep -i 'root' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ROOT
[root@qls ~]# grep -v '/sbin/nologin' passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
ROOT
[root@qls ~]# grep -w 'root' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@qls ~]# grep -A 2 'root' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
--
roott
[root@qls ~]# grep -B 2 'root' passwd
root:x:0:0:root:/root:/bin/bash
--
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
--
ROOT
roott
[root@qls ~]# grep -C 2 'root' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
--
ROOT
roott
27.which
查找命令的绝对路径 查看命令及其相关内容
[root@qls ~]# which sh
/usr/bin/sh
[root@qls ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@qls ~]# which ping
/usr/bin/ping
28.whereis
根据文件的类型进行查找,二进制、说明文件 源代码文件
[root@qls ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz
[root@qls ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
[root@qls ~]# whereis sh
sh: /usr/bin/sh /usr/share/man/man1/sh.1.gz
[root@qls ~]# whereis tree
tree:[root@qls ~]#
[root@qls ~]# whereis hostnamectl
hostnamectl: /usr/bin/hostnamectl /usr/share/man/man1/hostnamectl.1.gz
[root@qls ~]# whereis hostname
hostname: /usr/bin/hostname /etc/hostname /usr/share/man/man1/hostname.1.gz /usr/share/man/man5/hostname.5.gz
[root@qls ~]# touch hostnamee.txt
[root@qls ~]# whereis hostname
hostname: /usr/bin/hostname /etc/hostname /usr/share/man/man1/hostname.1.gz /usr/share/man/man5/hostname.5.gz
[root@qls ~]# whereis -b ping
ping: /usr/bin/ping
[root@qls ~]# whereis -m ping
ping: /usr/share/man/man8/ping.8.gz
[root@qls ~]# $(whereis -b ping) baidu.com
-bash: ping:: command not found
[root@qls ~]# $(which ping) baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=32.8 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=71.7 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 32.848/52.286/71.725/19.439 ms
29.locate
根据系统数据库进行查找文件
updatedb #更新数据库 -i 忽略大小写 -r 支持正则 $
[root@qls ~]# yum install -y mlocate
[root@qls ~]# updatedb
[root@qls ~]# locate hostname
/etc/hostname
/etc/dbus-1/system.d/org.freedesktop.hostname1.conf
/etc/selinux/targeted/active/modules/100/hostname
/etc/selinux/targeted/active/modules/100/hostname/cil
/etc/selinux/targeted/active/modules/100/hostname/hll
[root@qls ~]# locate -i hostname
/etc/hostname
/etc/dbus-1/system.d/org.freedesktop.hostname1.conf
/etc/selinux/targeted/active/modules/100/hostname
/etc/selinux/targeted/active/modules/100/hostname/cil
/etc/selinux/targeted/active/modules/100/hostname/hll
/etc/selinux/targeted/active/modules/100/hostname/lang_ext
/root/HOSTNAME
[root@qls ~]# locate -r hostname$
/etc/hostname
/etc/selinux/targeted/active/modules/100/hostname
/usr/bin/hostname
/usr/bin/nmtui-hostname
/usr/lib64/gettext/hostname
30.type
查找命令是否是内置命令
-a 显示内置命令绝对路径 -p 只显示外部命令的绝对路径
[root@qls ~]# type cd
cd is a shell builtin
[root@qls ~]# type -a cd
cd is a shell builtin
cd is /usr/bin/cd
[root@qls ~]# type -a ping
ping is /usr/bin/ping
[root@qls ~]# type ping
ping is /usr/bin/ping
[root@qls ~]# type -p ping
/usr/bin/ping
[root@qls ~]# type -p cd
31.find
查找文件
-type 类型 f 文件 d 目录 c 字符设备 s socket文件套接字 p 管道文件 -maxdepth 目录的层级 -name 根据名称查找 -iname 忽略大小写 -mtime 根据时间 -size 根据文件大小 -user 根据用户 -group 根据用户组 -nouser 没有用户 -nogroup 没有用户组 -ls 详细信息
模式动作
-print 默认,显示出查找出来的文件 -ls 显示查找出来的文件的详细信息 -delete 删除文件或空目录 -ok 不推荐,跟-exec作用一样,只是会询问 -exec 将find找出来的文件进行传递给后方的{} ,后面调用
[root@qls ~]# find / -type f -name "hostname"
/proc/sys/kernel/hostname
/etc/hostname
/usr/bin/hostname
/usr/lib64/gettext/hostname
[root@qls ~]# find / -maxdepth 2 -type f -name "hostname"
/etc/hostname
[root@qls ~]# find / -maxdepth 2 -type d -iname "hostname"
/root/HOSTNAME
[root@qls ~]# find / -maxdepth 2 -iname "hostname"
/etc/hostname
/root/HOSTNAME
32.wget
下载命令
[root@qls ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
--2019-10-30 10:57:37-- http://nginx.org/download/nginx-1.16.1.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1032630 (1008K) [application/octet-stream]
Saving to: ‘nginx-1.16.1.tar.gz’
100%[====================================================================>] 1,032,630 173KB/s in 5.8s
2019-10-30 10:57:45 (173 KB/s) - ‘nginx-1.16.1.tar.gz’ saved [1032630/1032630]
[root@qls ~]# wget -O nginx.tar.gz http://nginx.org/download/nginx-1.16.1.tar.gz
--2019-10-30 10:59:02-- http://nginx.org/download/nginx-1.16.1.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1032630 (1008K) [application/octet-stream]
Saving to: ‘nginx.tar.gz’
100%[====================================================================>] 1,032,630 67.0KB/s in 9.1s
2019-10-30 10:59:12 (111 KB/s) - ‘nginx.tar.gz’ saved [1032630/1032630]
[root@qls ~]# wget -q -O nginx-1.tar.gz http://nginx.org/download/nginx-1.16.1.tar.gz
[root@qls ~]# wget www.baidu.com
[root@qls ~]# wget www.baidu.com
--2019-10-30 11:09:06-- http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 112.80.248.76, 112.80.248.75
Connecting to www.baidu.com (www.baidu.com)|112.80.248.76|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html.2’
100%[===============================================================================>] 2,381 --.-K/s in 0s
2019-10-30 11:09:06 (27.3 MB/s) - ‘index.html’ saved [2381/2381]
33.curl
根据url规则进行下载,主要访问网站
[root@qls ~]# curl www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
[root@qls ~]# curl -o baidu.html www.baidu.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2381 100 2381 0 0 43190 0 --:--:-- --:--:-- --:--:-- 43290
[root@qls ~]# curl -s -o baid.html www.baidu.com
[root@qls ~]# curl -o nginx-2.tar.gz http://nginx.org/download/nginx-1.14.2.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 991k 100 991k 0 0 13228 0 0:01:16 0:01:16 --:--:-- 50846
[root@qls ~]# ll
[root@qls ~]# cd /etc/yum.repos.d/
[root@qls yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Nov 23 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Nov 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23 2018 CentOS-Vault.repo
[root@qls yum.repos.d]# rm -rf ./*
[root@qls yum.repos.d]#
[root@qls yum.repos.d]# ll
total 0
#更新基础源 base
[root@qls yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2019-10-30 11:50:59-- http://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 61.162.48.180, 119.167.220.242, 119.167.168.231, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|61.162.48.180|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2523 (2.5K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’
100%[===============================================================================>] 2,523 --.-K/s in 0s
2019-10-30 11:51:04 (165 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2523/2523]
[root@qls yum.repos.d]# ll
total 4
-rw-r--r--. 1 root root 2523 Jun 16 2018 CentOS-Base.repo
34.rz
上传,默认不支持4G以上的文件
-E 如果上传的路径存在该文件,则进行重命令,以数字为结尾0…N
[root@qls ~]# rz
[root@qls ~]# ll
total 20
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent
[root@qls ~]# rz
[root@qls ~]# ll
total 20
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent
[root@qls ~]# rz -E
[root@qls ~]# ll
total 40
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent.0
[root@qls ~]# rz -E
[root@qls ~]# ll
total 60
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent.0
-rw-r--r--. 1 root root 20302 Oct 29 12:34 day07.torrent.1
35.sz 下载
后面跟要下载的文件
[root@qls ~]# sz nginx-1.16.1.tar.gz
[root@qls ~]#
36.sort 排序
-t 指定分隔符,默认以空白字符为分隔符 -r 倒序排序 -n 以数值大小进行排序 -k n 根据第几列进行排序
[root@qls ~]# cat file1.txt
b:3
c:2
a:4
e:5
d:1
f:11
[root@qls ~]# sort -t ':' file1.txt
a:4
b:3
c:2
d:1
e:5
f:11
[root@qls ~]# sort -t ':' -k2 file1.txt
d:1
f:11
c:2
b:3
a:4
e:5
[root@qls ~]# sort -t ':' -nk2 file1.txt
d:1
c:2
b:3
a:4
e:5
f:11
[root@qls ~]# sort -t ':' -rnk2 file1.txt
f:11
e:5
a:4
b:3
c:2
d:1
[root@qls ~]# sort -t ':' -rnk3 passwd
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
[root@qls ~]# cat file2.txt
3 a
5 g
1 h
2 k
11 f
33 l
01 e
[root@qls ~]# sort file2.txt
01 e
11 f
1 h
2 k
33 l
3 a
5 g
[root@qls ~]# sort -n file2.txt
01 e
1 h
2 k
3 a
5 g
11 f
33 l
[root@qls ~]# sort -rn file2.txt
33 l
11 f
5 g
3 a
2 k
1 h
01 e
[root@qls ~]# sort -k2 file2.txt
3 a
01 e
11 f
5 g
1 h
2 k
33 l
[root@qls ~]# cat file1.txt
b:3
c:2
a:4
e:5
d:1
f:11
[root@qls ~]# sort -t ':' file1.txt
a:4
b:3
c:2
d:1
e:5
f:11
[root@qls ~]# sort -t ':' -k2 file1.txt
d:1
f:11
c:2
b:3
a:4
e:5
[root@qls ~]# sort -t ':' -nk2 file1.txt
d:1
c:2
b:3
a:4
e:5
f:11
[root@qls ~]# sort -t ':' -rnk2 file1.txt
f:11
e:5
a:4
b:3
c:2
d:1
[root@qls ~]# sort -t ':' -rnk3 passwd
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
[root@qls ~]# cat file2.txt
3 a
5 g
1 h
2 k
11 f
33 l
01 e
[root@qls ~]# sort file2.txt
01 e
11 f
1 h
2 k
33 l
3 a
5 g
[root@qls ~]# sort -n file2.txt
01 e
1 h
2 k
3 a
5 g
11 f
33 l
[root@qls ~]# sort -rn file2.txt
33 l
11 f
5 g
3 a
2 k
1 h
01 e
[root@qls ~]# sort -k2 file2.txt
3 a
01 e
11 f
5 g
1 h
2 k
33 l
37.uniq 去重,统计
[root@qls ~]# sort file.txt
oldboy
oldboy
oldboy
oldcheng
olddog
oldgirl
oldgirl
[root@qls ~]# sort file.txt | uniq
oldboy
oldcheng
olddog
oldgirl
[root@qls ~]# sort file.txt | uniq -c
3 oldboy
1 oldcheng
1 olddog
2 oldgirl
[root@qls ~]# sort file.txt | uniq -c |sort -rn
3 oldboy
2 oldgirl
1 olddog
1 oldcheng
38.cut 截取字段
-d 指定分隔符,默认以tab键为分隔符 -f 取出指定的列,多列用逗号分隔
[root@qls ~]# cut -d ':' -f7 passwd
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
[root@qls ~]# cut -d ':' -f7 passwd | sort
/bin/bash
/bin/sync
/sbin/halt
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/shutdown
[root@qls ~]# cut -d ':' -f7 passwd | sort |uniq
/bin/bash
/bin/sync
/sbin/halt
/sbin/nologin
/sbin/shutdown
[root@qls ~]# cut -d ':' -f7 passwd | sort |uniq -c
1 /bin/bash
1 /bin/sync
1 /sbin/halt
14 /sbin/nologin
1 /sbin/shutdown
[root@qls ~]# cut -d ':' -f7 passwd | sort |uniq -c |sort -rn
14 /sbin/nologin
1 /sbin/shutdown
1 /sbin/halt
1 /bin/sync
1 /bin/bash
[root@qls ~]# cut -d ':' -f3 passwd
0
1
2
3
4
5
6
7
8
11
12
14
99
192
81
999
74
89
[root@qls ~]# cut -d ':' -f3 passwd |sort -n
0
1
2
3
4
5
6
7
8
11
12
14
74
81
89
99
192
999
[root@qls ~]# cut -d ':' -f3 passwd |sort -rn
999
192
99
89
81
74
14
12
11
8
7
6
5
4
3
2
1
0
cat > file.txt <<EOF
abc
123
abc
123
def
EOF
[root@qls ~]# cat file.txt
abc
123
abc
123
def
[root@qls ~]#
[root@qls ~]#
[root@qls ~]# sort file.txt
123
123
abc
abc
def
[root@qls ~]# sort file.txt |uniq -c
2 123
2 abc
1 def
[root@qls ~]# echo "Im qiuzengjia , is QQ 1176494252" >file.txt
[root@qls ~]# cat file.txt
Im qiuzengjia , is QQ 1176494252
[root@qls ~]# cut -d ' ' -f2,6 file.txt
qiuzengjia 1176494252
tr 替换 sed 的小弟 只能单对单的替换
-d 删除字符
[root@qls ~]# echo "Im qiuzengjia, is QQ 1176494252" >file.txt
[root@qls ~]# cat file.txt
Im qiuzengjia, is QQ 1176494252
[root@qls ~]# cut -d ' ' -f2,5 file.txt | tr -d ','
qiuzengjia 1176494252
[root@qls ~]# cut -d ' ' -f2,5 file.txt | tr ',' ' '
qiuzengjia 1176494252
[root@qls ~]# tr 'QQ' 'qq' < file.txt
Im qiuzengjia, is qq 1176494252
[root@qls ~]# tr 'qiuzengjia' 'qls' < file.txt
Im qsssssssss, ss QQ 1176494252
39.tr 替换,单对单的替换
-d |删除字符
tr ‘old’ ‘new’ < filename
[root@qls ~]# echo "Im qiuzengjia, is QQ 1176494252" >file.txt
[root@qls ~]# cat file.txt
Im qiuzengjia, is QQ 1176494252
[root@qls ~]# cut -d ' ' -f2,5 file.txt | tr -d ','
qiuzengjia 1176494252
[root@qls ~]# cut -d ' ' -f2,5 file.txt | tr ',' ' '
qiuzengjia 1176494252
[root@qls ~]# tr 'QQ' 'qq' < file.txt
Im qiuzengjia, is qq 1176494252
[root@qls ~]# tr 'qiuzengjia' 'qls' < file.txt
Im qsssssssss, ss QQ 1176494252
40.wc 统计行数等,默认显示所有,行数,列数,字节数
-l 统计行数 -c 统计字节数 -w 统计列数 -L 统计字符的数量,默认不针对文件操作
[root@qls ~]# wc -l /etc/services
11176 /etc/services
[root@qls ~]# ll /etc/services
-rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services
[root@qls ~]# wc -c /etc/services
670293 /etc/services
[root@qls ~]# wc -w /etc/services
61033 /etc/services
[root@qls ~]# wc /etc/services
11176 61033 670293 /etc/services
[root@qls ~]# echo 'hello' | wc -L
5
[root@qls ~]# echo 'hello ' | wc -L
6
[root@qls ~]# grep 'root' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@qls ~]# grep -c 'root' passwd
2
[root@qls ~]# grep -o 'root' passwd
root
root
root
root
[root@qls ~]# grep -oc 'root' passwd
2
[root@qls ~]# grep -o 'root' passwd |grep -c '.'
4
[root@qls ~]# grep -o 'root' passwd | wc -l
4
41.sed 替换,增删改查
选项:
-n - 取消默认输出,跟p命令配合使用 -e 允许多项编辑 -i 替换 -r 支持扩展正则
内部命令
p 打印 $ 结尾 = 会在每行的上面显示当前内容所在行号 ; 多条命令的分隔符 d 删除 a 追加 i 插入 s 替换 g 全局 ^ 表示以谁开头
#取出第一行
[root@qls ~]# sed -n '1p' passwd
root:x:0:0:root:/root:/bin/bash
#取出最后一行
[root@qls ~]# sed -n '$p' passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#取出连续的多行,第二行到第五行
[root@qls ~]# sed -n '2,5p' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#取出不连续的多行,第二行和第五行
[root@qls ~]# sed -n '2p;5p' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#显示行号
[root@qls ~]# sed = passwd
1
root:x:0:0:root:/root:/bin/bash
2
bin:x:1:1:bin:/bin:/sbin/nologin
3
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#打印包含root的字符串
[root@qls ~]# sed -n '/root/p' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#取出daemon的行到sync的行
[root@qls ~]# sed -n '/daemon/,/sync/p' passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
#取出daemon的行和sync的行
[root@qls ~]# sed -n '/daemon/p;/sync/p' passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
删
#删除第一行
[root@qls ~]# sed '1d' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#删除连续的多行,第一行到第十行
[root@qls ~]# sed '1,10d' passwd
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#删除不连续的多行,删除第一行和第十行
[root@qls ~]# sed '1d;10d' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#删除包含root的行
[root@qls ~]# sed '/root/d' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#删除连续多行
[root@qls ~]# sed '/\/var\/adm/,/FTP/d' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#删除不连续的多行
[root@qls ~]# sed '/\/var\/adm/d;/FTP/d' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
增
a 追加
#在第一行的后面追加一行内容
[root@qls ~]# sed '1aoldboy' passwd
root:x:0:0:root:/root:/bin/bash
oldboy
bin:x:1:1:bin:/bin:/sbin/nologin
#在文件的结尾追加内容
[root@qls ~]# sed '$aoldboy' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
oldboy
#追加多行内容
[root@qls ~]# sed '1aoldboy\nolddog' passwd
root:x:0:0:root:/root:/bin/bash
oldboy
olddog
i 插入
#在第一行的前面插入内容
[root@qls ~]# sed '1ioldboy' passwd
oldboy
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#在最后一行前面插入内容
[root@qls ~]# sed '$ioldboy' passwd
root:x:0:0:root:/root:/bin/bash
oldboy
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
#插入多行内容
[root@qls ~]# sed '1iolboy\noldgirl' passwd
olboy
oldgirl
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#插入不同的行 -e 允许多项编辑
[root@qls ~]# sed -e '1ioldboy' -e '3ioldboy' passwd
oldboy
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
oldboy
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
[root@qls ~]# sed '1ioldboy' passwd | sed '4ioldboy'
oldboy
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
oldboy
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
替换
s 替换
g 全局
-i 替换
sed -i 's#旧的#新的#g' filename
#表示全局替换
[root@qls ~]# sed 's#root#oldboy#g' passwd
oldboy:x:0:0:oldboy:/oldboy:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/oldboy:/sbin/nologin
#替换每一行的第一个匹配
[root@qls ~]# sed 's#root#oldboy#' passwd
oldboy:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/oldboy:/sbin/nologin
#只替换第十行的root
[root@qls ~]# sed '10s#root#oldboy#g' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/oldboy:/sbin/nologin
#只替换第一行到第十行的内容
[root@qls ~]# sed '1,10s#root#oldboy#g' passwd
oldboy:x:0:0:oldboy:/oldboy:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/oldboy:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
root
#替换以root开头的行
[root@qls ~]# sed '/^root/s#root#oldboy#g' passwd
oldboy:x:0:0:oldboy:/oldboy:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
oldboy
42.awk 三剑客大当家的 取列,计算,统计,数组,判断,循环
选项:
内部命令及变量
NR 表示行号 == >= > <= < && 并且 ! 取反 NF 每一行的总共有多少列 $NF 表示最后一列 $0 文件所有内容
1..
1..
1.. N表示字段,列
|| 或者
#取单行
[root@qls ~]# awk 'NR==1' passwd
root:x:0:0:root:/root:/bin/bash
#取连续的多行
[root@qls ~]# awk 'NR==1,NR==3' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#取不连续的多行
[root@qls ~]# awk 'NR==1;NR==3' passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#取不连续的多行
[root@qls ~]# awk 'NR==1 || NR==3' passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#取出连续的多行 && 并且
[root@qls ~]# awk 'NR>=1 && NR<4' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
#取出满足条件的 || 或者
[root@qls ~]# awk 'NR<2 || NR>15' passwd
root:x:0:0:root:/root:/bin/bash
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
root
#过滤包含root的行
[root@qls ~]# awk '/root/' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
root
#过滤包含daemon的行到lp的行
[root@qls ~]# awk '/daemon/ , /lp/' passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#过滤包含daemon的行或lp的行
[root@qls ~]# awk '/daemon/ ; /lp/' passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#过滤包含daemon的行或lp的行
[root@qls ~]# awk '/daemon/ || /lp/' passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#过滤包含daemon和lp的行
[root@qls ~]# echo daemon lp >> passwd
[root@qls ~]# awk '/daemon/ && /lp/' passwd
daemon lp
#取反 ! 非
[root@qls ~]# awk '!/root/' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
#不等于
[root@qls ~]# awk 'NR!=1' passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
root
daemon lp
#以:为分隔符,取出第一列 pint 打印
[root@qls ~]# awk -F: '{print $1}' passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
root
daemon lp
[root@qls ~]# awk -F ':' '{print $1}' passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
root
daemon lp
[root@qls ~]# awk -F '[:]' '{print $1}' passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
root
daemon lp
#打印最后一列
[root@qls ~]# awk -F '[:]' '{print $NF}' passwd
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
root
daemon lp
[root@qls ~]# awk -F '[:]' '{print $7}' passwd
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
#以:为分隔符,取出第一列和第二列
[root@qls ~]# awk -F '[:]' '{print $1,$2}' passwd
root x
bin x
daemon x
adm x
lp x
sync x
shutdown x
halt x
mail x
operator x
games x
ftp x
nobody x
systemd-network x
dbus x
polkitd x
sshd x
postfix x
root
daemon lp
[root@qls ~]# awk -F '[:]' '{print $1,$2}' passwd |column -t
root x
bin x
daemon x
adm x
lp x
sync x
shutdown x
halt x
mail x
operator x
games x
ftp x
nobody x
systemd-network x
dbus x
polkitd x
sshd x
postfix x
root
daemon lp
43.column 排列
主要是把文件整理的更好看点
44.ln 创建链接文件,默认创建硬链接文件
-s 建软链接文件
45.hash 查看命令的缓存表
hash缓存表
[root@qls ~]# hash
hash: hash table empty
[root@qls ~]# ls
anaconda-ks.cfg
[root@qls ~]# hash
hits command
1 /usr/bin/ls
[root@qls ~]# hash -d ls
[root@qls ~]# hash
hash: hash table empty
[root@qls ~]# hash -r
55.stat 查看文件的详细属性信息
56.vi/vim 文本编辑器
内部命令:
命令模式
编辑模式
底行模式
视图模式
选项:
-r #恢复非正常退出的文件 -o #垂直显示多个文件 -O #水平显示多个文件 +n #快速的到达指定的行数
57.diff 文件比对命令,不常用
58.vimdiff 文件比对命令,会将不同之处高亮显示。
59.du 显示文件或者目录的数据大小
60.useradd 创建用户,默认创建的是普通用户
-u 指定uid -g 指定基本组gid,gid(组)必须存在,指定gid号或者组名称 -G 附加组,多个用逗号分隔 -c 注释信息 -M 不创建家目录 -r 创建系统用户,不创建家目录 -s 指定bash,命令解释器 -d 指定家目录,不存在的目录
61.usermod 修改用户的信息
-u 修改uid -g 修改用户基本组 -a 添加附加组,跟-G 配合使用 -G 添加附加组,默认是覆盖,-aG 追加 -G 覆盖 -d 修改用户的家目录 -m 迁移家目录, -md 配合使用 -c 修改注释信息 -s 修改命令解释器 bash -l 修改用户的名称 -L 锁定用户 -U 解锁用户
#修改uid信息
[root@qls ~]# id test
uid=1000(test) gid=1000(test) groups=1000(test)
[root@qls ~]# usermod -u 666 test
[root@qls ~]# id test
uid=666(test) gid=1000(test) groups=1000(test)
#迁移家目录
[root@qls ~]# usermod -md /opt/test test
[root@qls ~]# ll /opt/
total 8
-rw-r--r--. 1 root root 317 Oct 22 19:28 random.txt
drwx------. 2 test test 6 Nov 7 11:27 test
-rwxrwxrwx. 1 root root 1127 Nov 6 10:32 test.txt
drwx------. 2 667 user04 62 Nov 7 10:20 user04
[root@qls ~]# ll /home/
total 0
#修改注释信息
[root@qls ~]# usermod -c '旧的用户' test
[root@qls ~]# tail /etc/passwd
test:x:666:1000:旧的用户:/opt/test:/bin/bash
user:x:1001:1001::/home/user:/bin/bash
#修改命令解释器
[root@qls ~]# usermod -s /sbin/nologin test
[root@qls ~]# grep 'test' /etc/passwd
test:x:666:1000:旧的用户:/opt/test:/sbin/nologin
#修改用户的名称 新的 旧的
[root@qls ~]# usermod -l test01 test
[root@qls ~]# grep 'test' /etc/passwd
test01:x:666:1000:旧的用户:/opt/test:/sbin/nologin
#锁定用户
[root@qls ~]# usermod -L test01
#解锁用户
[root@qls ~]# usermod -U test01
62.userdel 删除用户,默认不删除家目录及email
[root@qls ~]# useradd test02
[root@qls ~]#
[root@qls ~]#
[root@qls ~]# ll /home/
total 0
drwx------. 2 test02 test02 62 Nov 7 11:51 test02
drwx------. 2 user01 user01 62 Nov 7 11:51 user01
[root@qls ~]# userdel test02
[root@qls ~]# ll /home/
total 0
drwx------. 2 1003 1025 62 Nov 7 11:51 test02
drwx------. 2 user01 user01 62 Nov 7 11:51 user01
[root@qls ~]# useradd test03
[root@qls ~]# ll /home/
total 0
drwx------. 2 test03 test03 62 Nov 7 11:51 test02
drwx------. 2 test03 test03 62 Nov 7 11:52 test03
drwx------. 2 user01 user01 62 Nov 7 11:51 user01
[root@qls ~]# userdel -r test03
[root@qls ~]# ll /home/
total 0
drwx------. 2 1003 1025 62 Nov 7 11:51 test02
drwx------. 2 user01 user01 62 Nov 7 11:51 user01
63.id 显示用户信息,uid,gid等
[root@qls ~]# id user
uid=1001(user) gid=1001(user) groups=1001(user)
[root@qls ~]# yum install finger -y
finger 显示用户基本信息
[root@qls ~]# finger test01
Login: test01 Name: 旧的用户
Directory: /opt/test Shell: /bin/bash
Last login Thu Nov 7 11:39 (CST) on pts/2 from 10.0.0.1
No mail.
No Plan.
64.passwd 设置密码
65.whoami 显示当前登录的用户
whoami 显示当前登录的用户
[root@qls ~]# whoami
root
66.who 显示当前系统所有登录的用户的信息
[root@qls ~]# who
root pts/0 2019-11-06 10:35 (10.0.0.1)
root pts/1 2019-11-07 08:35 (10.0.0.1)
[root@qls ~]# who
root pts/0 2019-11-06 10:35 (10.0.0.1)
root pts/1 2019-11-07 08:35 (10.0.0.1)
root pts/2 2019-11-07 12:03 (10.0.0.1)
[root@qls ~]# who
root pts/0 2019-11-06 10:35 (10.0.0.1)
root pts/1 2019-11-07 08:35 (10.0.0.1)
root pts/2 2019-11-07 12:03 (10.0.0.1)
test01 pts/3 2019-11-07 12:03 (10.0.0.1)
[root@qls ~]# who
root pts/0 2019-11-06 10:35 (10.0.0.1)
root pts/1 2019-11-07 08:35 (10.0.0.1)
root pts/2 2019-11-07 12:03 (10.0.0.1)
test01 pts/3 2019-11-07 12:03 (10.0.0.1)
[root@qls ~]# who |awk '{print $1}'
root
root
root
test01
[root@qls ~]# who |awk '{print $1}' |sort
root
root
root
test01
[root@qls ~]# who |awk '{print $1}' |sort |uniq -c
3 root
1 test01
67.w 显示当前系统所有登录的用户的信息,系统的负载,登录干什么
[root@qls ~]# w
12:08:39 up 3 days, 48 min, 4 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 Wed10 7.00s 0.31s 0.00s w
root pts/1 10.0.0.1 08:35 2:26m 0.02s 0.02s -bash
root pts/2 10.0.0.1 12:03 4:55 0.01s 0.01s -bash
test01 pts/3 10.0.0.1 12:03 7.00s 0.00s 0.00s top
w命令报错 ,窗口尺寸太小
[root@qls ~]# w
w: 46 column window is too narrow
[root@qls ~]# w | awk 'NR>2{print $1}' |sort |uniq -c
3 root
1 test01
[root@qls ~]# w -h
root pts/0 10.0.0.1 Wed10 6.00s 0.33s 0.00s w -h
root pts/1 10.0.0.1 08:35 2:40m 0.02s 0.02s -bash
root pts/2 10.0.0.1 12:03 18:46 0.01s 0.01s -bash
test01 pts/3 10.0.0.1 12:03 13:58 0.63s 0.63s top
68.finger 显示用户的基本信息
[root@qls ~]# finger test01
Login: test01 Name: 旧的用户
Directory: /opt/test Shell: /bin/bash
Last login Thu Nov 7 11:39 (CST) on pts/2 from 10.0.0.1
No mail.
No Plan.
69.seq 生成数字序列
[root@qls ~]# seq 10
1
2
3
4
5
6
7
8
9
10
[root@qls ~]# seq 10 | awk '{print $1}'
1
2
3
4
5
6
7
8
9
10
70.xargs 分组,让一些不支持|符号的命令支持|
71.groupadd 创建组
72.groupmod 修改组信息
73.groupdel 删除组
74.su 切换用户
- 切换用户时,加载环境变量 -c 不进行切换,直接执行命令
75.sudo 提权
76.visudo 设置提权规则
77.md5sum 给文件设置一个指纹信息
78.mkpasswd 设置随机数
-l 设置多少位 -d 指定数字多少位 -c 指定小写字母多少位 -C 指定大写字母多少位 -s 指定特殊字符多少位
78.tee 重定向,将文件内容重定向到文件中并显示到屏幕上方
79.chmod 修改权限
[root@qls ~]# chmod 755 /opt/test
[root@qls ~]# ll /opt/test
total 0
-rw-r--r--. 1 test02 wheel 0 Nov 11 11:45 oldboy.py
-rw-r--r--. 1 root root 0 Nov 11 11:24 oldboy.sh
[root@qls ~]# ll -d /opt/test
drwxr-xr-x. 2 root root 40 Nov 11 11:45 /opt/test
[root@qls ~]# chmod -R 755 /opt/test
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 root root 0 Nov 11 11:24 oldboy.sh
添加权限修改权限
#添加权限
[root@qls ~]# touch test.txt
[root@qls ~]# ll test.txt
-rw-r--r--. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod u+x test.txt #给属主位置加执行权限
[root@qls ~]# ll test.txt
-rwxr--r--. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod g+w test.txt #给属组位置加写入权限
[root@qls ~]# ll test.txt
-rwxrw-r--. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod o+rw test.txt #给其他用户加读写权限
[root@qls ~]# ll test.txt
-rwxrw-rw-. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod a+x test.txt #给所有位置加执行权限
[root@qls ~]# ll test.txt
-rwxrwxrwx. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod u=r test.txt #将属主位置只有读权限,=会覆盖以前的权限
[root@qls ~]# ll test.txt
-r--rwxrwx. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod u=rw,g=r,o=r test.txt #设置多个时,使用逗号分隔
[root@qls ~]# ll test.txt
-rw-r--r--. 1 root root 0 Nov 11 10:17 test.txt
#减权限
[root@qls ~]# chmod a-r test.txt #所有位置减去读的权限
[root@qls ~]# ll test.txt
--w-------. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod a=r test.txt #所有位置的权限改为只有读的权限
[root@qls ~]# ll test.txt
-r--r--r--. 1 root root 0 Nov 11 10:17 test.txt
方法二:数字
[root@qls ~]# ll test.txt
-r--r--r--. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod 644 test.txt
[root@qls ~]# ll test.txt
-rw-r--r--. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod 777 test.txt
[root@qls ~]# ll test.txt
-rwxrwxrwx. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod 644 test.txt
[root@qls ~]# ll test.txt
-rw-r--r--. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod a+x test.txt #给所有位置加上执行权限
[root@qls ~]# ll test.txt
-rwxr-xr-x. 1 root root 0 Nov 11 10:17 test.txt
[root@qls ~]# chmod -x test.txt #给所有位置减掉执行权限
[root@qls ~]# ll test.txt
-rw-r--r--. 1 root root 0 Nov 11 10:17 test.txt
权限对文件或者目录有什么操作影响
80.chown 设置属主属组
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 root root 0 Nov 11 11:24 oldboy.sh
[root@qls ~]# chown root /opt/test/oldboy.py #设置属主为root
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 root wheel 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 root root 0 Nov 11 11:24 oldboy.sh
[root@qls ~]# chown .root /opt/test/oldboy.py #设置属组
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 root root 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 root root 0 Nov 11 11:24 oldboy.sh
[root@qls ~]# chown test02.wheel /opt/test/oldboy.py #设置属主属组
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 root root 0 Nov 11 11:24 oldboy.sh
[root@qls ~]# chown -R test02.wheel /opt/test
#递归设置,设置目录及子目录所有的属主属组
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:24 oldboy.sh
[root@qls ~]# ll -d /opt/test
drwxr-xr-x. 2 test02 wheel 40 Nov 11 11:45 /opt/test
[root@qls ~]# chgrp root /opt/test/oldboy.py #只设置属组
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 test02 root 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:24 oldboy.sh
81.umask 权限控制
umask是个权限控制,默认是022,目录的系统最大权限是777,由目录的最大权限减去默认权限022,得出新创建目录的权限755
文件的系统最大权限是666,减去默认的权限,得到新创建文件的权限644,如果文件的权限遇到奇数位,会在奇数位加1来表示权限。
82.chgrp 设置属组
[root@qls ~]# chgrp root /opt/test/oldboy.py #只设置属组
[root@qls ~]# ll /opt/test
total 0
-rwxr-xr-x. 1 test02 root 0 Nov 11 11:45 oldboy.py
-rwxr-xr-x. 1 test02 wheel 0 Nov 11 11:24 oldboy.sh
83.lsattr 显示特殊属性
#查看文件是否存在特殊的属性
[root@qls ~]# lsattr
---------------- ./anaconda-ks.cfg
---------------- ./random.txt
---------------- ./for.sh
---------------- ./student.txt
84.chattr 设置特殊属性
#测试a属性
[root@qls ~]# cat pass.txt
895923ee120
[root@qls ~]# chattr +a pass.txt
[root@qls ~]# lsattr pass.txt
-----a---------- pass.txt
[root@qls ~]# rm -f pass.txt
rm: cannot remove ‘pass.txt’: Operation not permitted
[root@qls ~]# echo 123 > pass.txt
-bash: pass.txt: Operation not permitted
[root@qls ~]# cat pass.txt
895923ee120
[root@qls ~]# cp pass.txt pass.txt.bak
[root@qls ~]# mv pass.txt /tmp
mv: cannot move ‘pass.txt’ to ‘/tmp/pass.txt’: Operation not permitted
[root@qls ~]# echo 123 >> pass.txt
[root@qls ~]# cat pass.txt
895923ee120
123
#测试i属性
[root@qls ~]# lsattr pass.txt
---------------- pass.txt
[root@qls ~]# chattr +i pass.txt
[root@qls ~]# lsattr pass.txt
----i----------- pass.txt
[root@qls ~]# echo 123 >> pass.txt
-bash: pass.txt: Permission denied
[root@qls ~]# rm -f pass.txt
rm: cannot remove ‘pass.txt’: Operation not permitted
[root@qls ~]# mv pass.txt /tmp
mv: cannot move ‘pass.txt’ to ‘/tmp/pass.txt’: Operation not permitted
[root@qls ~]# echo 123 > pass.txt
-bash: pass.txt: Permission denied
[root@qls ~]# cat pass.txt
895923ee120
123
#删除目录测试
[root@qls ~]# mv for.sh /opt/
[root@qls ~]# chattr +i /opt/for.sh
[root@qls ~]# rm -rf /opt
rm: cannot remove ‘/opt/for.sh’: Operation not permitted
[root@qls ~]# ll /opt
total 4
-rw-r--r--. 1 root root 287 Nov 8 08:45 for.sh
#将一些重要的命令进行重名命
[root@qls ~]# mv /usr/bin/chattr /usr/share/oldboy
[root@qls ~]#
[root@qls ~]#
[root@qls ~]# chattr -i /opt/for.sh
-bash: /usr/bin/chattr: No such file or directory
[root@qls ~]# /usr/share/oldboy -i /opt/for.sh
85.dd 生成一个文件,压测内存
if= 输入的文件
of= 输出的文件
bs= 一次输出多少
count= 输出多少次
86.zip 压缩
-r 递归压缩
-q 静默输出
-T 检查压缩包
#压缩文件
命令 压缩包 源文件
[root@qls ~]# zip oldboy.zip oldboy.log
adding: oldboy.log (stored 0%)
[root@qls ~]# ll
-rw-r--r--. 1 root root 7 Nov 13 09:35 oldboy.log
-rw-r--r--. 1 root root 177 Nov 14 09:45 oldboy.zip
[root@qls ~]# zip services.zip services
adding: services (deflated 80%)
[root@qls ~]# ll
-rw-r--r--. 1 root root 670293 Nov 14 09:45 services
-rw-r--r--. 1 root root 136227 Nov 14 09:46 services.zip
#查看压缩文件里面的内容
[root@qls ~]# zcat oldboy.zip
oldboy
[root@qls ~]# zcat services.zip |head
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
#压缩目录
[root@qls ~]# zip -qr etc.zip /etc
[root@qls ~]# ll
total 12860
-rw-r--r--. 1 root root 12334824 Nov 14 09:49 etc.zip
#解压
[root@qls ~]# unzip oldboy.zip
#解压到指定的目录中
[root@qls ~]# unzip -q etc.zip -d /opt
#检查压缩包列表
[root@qls ~]# unzip -l etc.zip
#查看压缩包里面的文件的完整性
[root@qls ~]# unzip -t etc.zip
#查看压缩包的是否完整
[root@qls ~]# zip -T etc.zip
test of etc.zip OK
87.zcat 查看zip. gz格式的压缩文件
88.unzip 解压zip格式
-d 解压到指定目录
-q 静默输出
-l 显示压缩包列表
-t 显示压缩中文件完整性
89.gzip 压缩,会删除源文件
-d 解压
-r 压缩目录下的所有文件
90.bzip2 压缩,会删除源文件
-d 解压
91.bzcat 查看bz2格式的文件
92.tar 归档打包
z 使用gzip格式压缩
c 创建压缩包
f 指定压缩包名
v 显示打包过程
t 查看压缩包
x 自动识别压缩类型解压
j 使用bz2格式压缩
J 使用xz格式压缩
czf 使用gzip格式打包压缩
cjf 使用bz2格式压缩打包
cJf 使用xz格式压缩
tf 查看压缩包内容
xf 解压压缩包
P 使用绝对路径打包,但是没有删根的操作
h 打包软链接
-C 解压到指定的目录
--exclude= 排除指定的文件
--exclude-from= 排除文件列表
X 排除文件列表
93.date 显示时间
%F 显示日期
%T 显示时间
-d 显示指定的时间
-s 修改时间
94.ntpdate 同步系统时间
ntp.aliyun.com
95rpm 安装软件
-i 安装 install -v 显示安装过程 -h 显示安装进度条 -ivh 安装显示安装过程进度条 -U 升级,前提系统存在旧的版本 -e 卸载软件 -q 查询指定的软件包是否安装 -qa 显示所有已经安装的软件包 -ql 查看软件包列表信息 -qc 显示软件包主要配置文件 -qi 显示软件包的本身详细信息 -qf 查找命令属于哪一个软件包,前提命令存在于该系统,必须要使用绝对路径查找
96.yum 软件包管理工具
install 安装 reinstall 重新安装 remove 卸载 erase 卸载 info 显示软件包的详细信息 list 显示所有可安装的软件包 1 updates 显示所有可升级的包 2 installed 显示所有已安装的包 provides 查询命令属于哪一个软件包 search 搜索 0 repolist 显示所有可用的仓库 1 enabled 显示所有可用的yum仓库 all 显示所有的yum仓库 2 disabled 显示关闭的yum仓库 3 all 所有 check-update 检查可更新的包 update 更新指定的包,不加包名,更新所有 0 history yum命令的;历史记录 1 info id 显示具体的操作信息 2 undo id 回滚id对应的操作 groups 针对组操作 install 安装 remove 卸载 clean 清空缓存 packages 清空包缓存 –downloadonly 只下载不安装 –downloaddir= 指定下载路径 localinstall 指定本地的包进行安装 makecache 生成本地缓存
97.yum-config-manager yum仓库管理
–enable 开启指定的仓库 –disable 关闭指定的仓库
99.mount 挂载
100.umount 卸载
101.getenforce 查看selinux的状态
102.setenforce 修改selinux的状态
103.createrepo 生成yum仓库
#第四步,创建仓库
[root@qls ~]# mkdir /var/ftp/centos7
#第五步,将rpm包复制到仓库地址
[root@qls ~]# cp -rp /mnt/Packages/* /var/ftp/centos7
#第六步,让这个目录成为yum仓库
[root@qls ~]# yum install -y createrepo
[root@qls ~]# createrepo /var/ftp/centos7/
Spawning worker 0 with 4021 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
104.systemctl 系统管理的命令
start #启动
status #查看状态
stop #停止
restart #重启
reload #重载,平滑重启
mask #禁用服务
unmask #解除禁用
enable #开机自启动
disable #开机不启动
105.fdisk 分区命令 MBR分区表
106.gdisk 分区命令 GPT分区表
107.lsblk 显示所有磁盘的分区信息
108.mkfs 格式化及创建文件系统的命令
-t |指定文件系统
109.blkid 显示所有磁盘分区的UUID信息
110.free 显示内存的使用情况
-m |以MB的格式显示
111.mkswap让一个分区成为swap
-f |指定一个文件为swap分区
112.swapon 添加一个分区到swap
-a 添加所有swap,启用swap -s 显示所有swap的分区
113.swapoff禁用一个swap分区
-a |禁用swap
114.df查看磁盘空间使用情况
115.crontab 编写定时任务
-e 编辑定时任务
-l 查看定时任务
-r 删除定时任务文件
-u 指定用户的定时任务
116.mail 邮件命
-s 指定邮件主题
17.ps 显示进程的状态信息
a 显示所有进程
u 显示有效用户或uid
x 显示没有终端的进程
118.top 动态的显示系统状态信息
-d 指定更新时间
-p 显示指定的进程id信息
-u 显示指定的用户的进程状态信息
119.htop top的升级版
120.iotop 显示系统io线程的状态信息
121.iftop 显示系统网卡的网络状态信息
122.glances 动态的显示系统状态信息
123.uptime 显示系统的负载情况
124.netstat 显示服务端口的情况
-lntp
125.ss 显示服务端口的情况
-lntp
126.kill 终止进程,根据进程id号终止
-9 强制终止
127.killall 终止进程,根据进程名称终止
128.pkill 终止进程,根据进程名称终止,模糊,包含进程名都会终止
129.jobs 显示当前窗口的后台的进程
130.bg 让一个后台的进程运行
%id
131.fg 让一个后台的程序放到前台运行
%id
132.nohup 让一个程序放到后台运行,跟& 配合
133.screen 重新打开一个新的会话窗口执行指令
-S 在创建的时候并制定窗口的会话名称
-list 显示screen会话列表
-r 进入到这个会话