linux 常用命令大全

文章目录

网卡配置详细文件

[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 0shutdown -r 0ctrl+d
poweroffrebootexit
init 0init 6logout
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

所及即所得,会解析变量。

echo作用
-e#转义
  |	#重定向,覆盖
	|	#追加重定向,追加

$和反引号|都可以打印变量

[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
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

显示目录的列表

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

以树形结构显示目录结构列表

tree作用
-F |  #给不同文件类型加上不同的标识符,跟ls -F 类似
-a |  #显示隐藏文件
-d |  #只显示目录
-L	| #显示目录结构的阶级层次	
13mkdir

创建目录

mkdir作用
-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

复制

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

移动或重命令文件

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 删除
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
cat作用
-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(数字)指定显示多少行为一页
	+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

根据文件的类型进行查找,二进制、说明文件 源代码文件

-b查找二进制文件命令
-m查找说明文件
[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字符设备
ssocket文件套接字
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

下载命令

-O指定下载路径
-q静默输出
[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规则进行下载,主要访问网站

-o从网上访问的内容写入到指定的路径
-s静默输出
[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&amp;tpl=mn&amp;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>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <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 去重,统计
-c把相邻相同的行进行去重,统计次数
[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 三剑客大当家的 取列,计算,统计,数组,判断,循环

选项:

-F指定分隔符 ,默认以空白字符为分隔符

内部命令及变量

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 排列
-t以tab键的格式进行排列

主要是把文件整理的更好看点

44.ln 创建链接文件,默认创建硬链接文件

-s 建软链接文件

45.hash 查看命令的缓存表
-d删除指定命令的缓存
-r清空缓存表
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 显示文件或者目录的数据大小
-s#统计大小
-h#以人类可读的形式显示文件大小
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

-r删除用户时删除家目录及email
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






-h只显示用户的登录信息
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 分组,让一些不支持|符号的命令支持|
-n 数字指定分成几组
71.groupadd 创建组
-g设置组id
-r设置系统组
72.groupmod 修改组信息
-g修改组id
-n修改组名称
73.groupdel 删除组
74.su 切换用户
-切换用户时,加载环境变量
-c不进行切换,直接执行命令
75.sudo 提权
-l检查所拥有的权限
76.visudo 设置提权规则
-c检查语法
77.md5sum 给文件设置一个指纹信息
-c检查指纹信息
78.mkpasswd 设置随机数
-l设置多少位
-d指定数字多少位
-c指定小写字母多少位
-C指定大写字母多少位
-s指定特殊字符多少位
78.tee 重定向,将文件内容重定向到文件中并显示到屏幕上方
-a追加
79.chmod 修改权限
ugo属主、属组、其他
a所有,all
-R递归设置
[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



-R递归设置
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只能追加
i什么都不能做
#测试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 historyyum命令的;历史记录
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分区表
-l显示所有磁盘的分区信息
106.gdisk 分区命令 GPT分区表
-l显示指定磁盘的分区信息
107.lsblk 显示所有磁盘的分区信息
108.mkfs 格式化及创建文件系统的命令

-t |指定文件系统

mkfs.xfs指定文件系统为xfs
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查看磁盘空间使用情况
-h以人类可读的形式显示磁盘大小
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 		进入到这个会话
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值