第六章 命令集结
命令集结
1.echo 所见即所得,输出内容到屏幕上面。
单引号和双引号及不加引号的区别?
单引号:所见即所得。单引号里面的内容,会被看做一个整体,不会解析变量和特殊字符。
双引号:所见即所得,会解析变量。
不加引号:所见即所得,会解析变量。支持通配符。
反引号:先执行反引号里面的命令,将输出结果交给外面的命令。(反引号执行的是命令)
[root@qiudao ~/shell]# mkdir date +%F
[root@qiudao ~/shell]# ll
total 12
drwxr-xr-x 2 root root 6 Jun 25 19:30 2019-06-25
[root@oldboyedu opt]# echo 123 >file.txt
[root@oldboyedu opt]# echo 123 >>file.txt
标准输出重定向
标准输出追加重定向
[root@oldboyedu opt]# echo -e “oldboy\noldgirl”
oldboy
oldgirl
2.whoami 显示当前用户
[root@oldboyedu opt]# whoami
root
3.pwd 显示当前所在的位置,路径
[root@oldboyedu opt]# pwd
/opt
[root@oldboyedu opt]# cd
[root@oldboyedu ~]# pwd
/root
4.history 显示历史执行命令
-c 清空历史记录
-d id 删除指定的命令记录
-w 保存历史记录到文件当中
[root@oldboyedu ~]# history
[root@oldboyedu ~]# history -d 850
[root@oldboyedu ~]# history | grep echo
5.alias 设置别名
6.unalias 取消别名
[root@oldboyedu ~]# alias tong=\’ping baidu.com\’
[root@oldboyedu ~]# tong
PING baidu.com (123.125.114.144) 56(84) bytes of data.
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=128 time=25.4 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=128 time=23.7 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=3 ttl=128 time=23.9 ms
^C
— baidu.com ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 23.736/24.364/25.449/0.790 ms
[root@oldboyedu ~]# unalias tong
[root@oldboyedu ~]# tong
-bash: tong: command not found
7.source 让配置文件生效
[root@oldboy250 ~]# alias bd=”ping www.baidu.com”
[root@oldboy250 ~]# source /etc/bashrc
[root@oldboy250 ~]# bd
8.man 命令帮助信息
[root@oldboyedu ~]# man cd
9.help 查看系统内置命令帮助信息。
[root@oldboy250 ~]# ls –help
Usage: ls [OPTION]… [FILE]…
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor –sort is specified.
10.info 详细显示命令信息
11.shutdown 关机重启命令 ****
-h 0(时间信息,默认按分钟) 关机
-r 0(时间信息,默认按分钟) 重启
-c 取消你所设置关机或重启
12.reboot 重启 ****
13.halt 关机命令,只会关闭系统,不会关掉电源,需要手动关闭电源。
14.poweroff 关机命令 ****
15.ls 显示文件详细信息
-l 以长格的形式显示属性信息
-a 显示所有文件
-h 以人类的可读形式显示
-i 显示inode号
-d 只显示目录信息
-t 按照时间排序
-r 倒叙排序
-1 列表形式显示。
16.cd 切换目录
. 当前目录
.. 当前目录的上一级目录
– 返回上一次所在的位置
~ 返回到当前用户的家目录
cd 返回到当前用户的家目录
/ 进入/目录,顶点目录。
17.mkdir 创建目录
-p 递归创建
-v 显示创建过程
{}
[root@oldboyedu ~]# mkdir oldboy{01..05}
[root@oldboyedu ~]# mkdir old{boy,girl,dog} -p
[root@oldboyedu ~]# mkdir oldboy{a..z}
18.touch 创建文件
{}
19.tree 以树状型显示目录结构。
-d 只显示目录
-L 显示目录层级
-f 只显示文件信息
-a 显示所有文件信息
20.cp 复制或者拷贝文件
-r 递归复制
-p 保持属性
-a =-pdr
-i 提示文件存在时是否覆盖(系统默认别名有)
-v 显示复制的过程
-t 把源路径和目标位置进行调换。
[root@oldboyedu ~]# cp passwd passwd.bak
[root@oldboyedu ~]# cp passwd{,.org}
[root@oldboyedu ~]# cp -r oldboy oldboy_bak
[root@oldboyedu ~]# cp -a oldboy oldboy_org
21.mv 移动和重命名
-i 提示文件存在时是否覆盖(系统默认别名有)
-t 把源路径和目标位置进行调换。
22.rm 删除命令
-i 提示文件存在时是否覆盖(系统默认别名有)
-f 强制删除,不提示
-r 递归删除,删除目录
企业当中会给rm命令设置别名,给危险的命令加上一个保险。
rm -rf /*
rm -rf ./*
rm -rf . /*
文件查看命令
23.cat 查看文件的内容,会将文件的所有内容显示出来。
-n 显示行号
-A 给文件内容的每行结尾加个标识符。
24.tac 倒叙查看文件的内容,把行进行倒叙
25.more 分页显示文件的内容
空格/f 向下翻页
b 向上翻页
q 退出
/ 搜索关键字,不会高亮显示
= 显示当前光标所在行
-N(数字) 指定分页显示内容的行数
+N(数字) 指定从第几行显示文件内容
文件显示完成会自动退出。
26.less 分页显示文件的内容
空格/f 向下翻页
b 向上翻页
q 退出
/ 搜索关键字,会高亮显示
-N 显示行号
文件显示完成不会自动退出。
27.head 显示文件头部信息,默认显示前十行。
-n 取消默认输出,指定你要输出的行数
-N(数字)
-cN(数字) 显示文件内容的前多少个字符
28.tail 显示文件尾部信息,默认显示最后十行。
-n 取消默认输出,指定你要输出的行数
-N(数字)
-cN(数字) 显示文件内容的最后多少个字符
[root@oldboyedu ~]# tail -c5 passwd
dboy #有一个换行符
-f 实时查看文件内容的更新
-F 实时查看文件内容的更新,当文件不存在时,会一直尝试。
29.tailf 实时查看文件内容的更新
30.grep 文件字符过滤命令,将过滤出来的内容显示颜色
-n 给过滤出来的内容加上内容所在行的行号。
-o 只显示过滤出来的内容。
-c 统计过滤出来的内容总共多少行。
-i 忽略大小写
-v 排除,取反。
-r 递归过滤
-E 配合正则表达式使用
-w 只过滤匹配的字符串。
-AN(数字) 过滤出内容的后几行
-BN(数字) 过滤出内容的前几行
-CN(数字) 过滤出内容的前后几行
^ 以什么开头的行
$ 以什么结尾的行
[root@oldboyedu ~]# ip a s eth0 |grep -wA1 inet
inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
[root@oldboyedu ~]# ip a s eth0 |grep -wB1 inet
link/ether 00:0c:29:71:30:98 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@oldboyedu ~]# ip a s eth0 |grep -wC1 inet
link/ether 00:0c:29:71:30:98 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
[root@oldboyedu ~]#
[root@oldboyedu ~]#
[root@oldboyedu ~]#
[root@oldboyedu ~]# cp passwd /opt/
[root@oldboyedu ~]#
[root@oldboyedu ~]# cd /opt/
[root@oldboyedu opt]# ll
total 8
-rw-r–r–. 1 root root 4 Jun 25 16:50 file.txt
-rw-r–r–. 1 root root 965 Jun 25 18:34 passwd
[root@oldboyedu opt]# grep “root” passwd
fbgroot❌0:0:root:/root:/bin/bash
operator❌11:0:operator:/root:/sbin/nologin
rootoldboy
[root@oldboyedu opt]# grep -n “root” passwd
1:fbgroot❌0:0:root:/root:/bin/bash
10:operator❌11:0:operator:/root:/sbin/nologin
23:rootoldboy
[root@oldboyedu opt]# grep -i “root” passwd
fbgroot❌0:0:root:/root:/bin/bash
operator❌11:0:operator:/root:/sbin/nologin
ROOT
rootoldboy
[root@oldboyedu opt]# grep -o “root” passwd
root
root
root
root
root
[root@oldboyedu opt]# grep -v “root” passwd
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
games❌12