一、echo #打印你所要输出的内容 打印变量的值 创建新文件 修改文件 输出加上颜色 脚本中使用的多
选项:
-n #不自动换行
-e #支持一些特殊字符的使用
#换行符
#tab键
#所见即所得
[root@sh-jindada ~]# echo hello
hello
[root@sh-jindada ~]# echo hello world
hello world
[root@sh-jindada ~]# echo 'hello world'
hello world
[root@sh-jindada ~]# echo hello
hello
[root@sh-jindada ~]# echo -n hello #输出的时候不自动换行
hello[root@sh-jindada ~]#
[root@sh-jindada ~]# echo -e 'hello
world' #-e 支持一些特殊字符
换行符
hello
world
[root@sh-jindada ~]# echo -e 'hello world' # tab键
hello world
[root@sh-jindada ~]# name=jindada
[root@sh-jindada ~]# echo $name #打印变量
jindada
[root@sh-jindada ~]# echo "hello world" > test.txt #创建一个非空文件
[root@sh-jindada ~]# ll
total 8
-rw-------. 1 root root 1497 Jun 9 20:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 12 Jun 16 10:11 test.txt
[root@sh-jindada ~]# cat test.txt
hello world
[root@sh-jindada ~]#
#字体颜色
echo -e " 33[30m 黑色字 33[0m"
echo -e " 33[31m 红色字 33[0m"
echo -e " 33[32m 绿色字 33[0m"
echo -e " 33[33m 黄色字 33[0m"
echo -e " 33[34m 蓝色字 33[0m"
echo -e " 33[35m 紫色字 33[0m"
echo -e " 33[36m 天蓝字 33[0m"
echo -e " 33[37m 白色字 33[0m"
#字背景颜色
echo -e " 33[40;37m 黑底白字 33[0m"
echo -e " 33[41;37m 红底白字 33[0m"
echo -e " 33[42;37m 绿底白字 33[0m"
echo -e " 33[43;37m 黄底白字 33[0m"
echo -e " 33[44;37m 蓝底白字 33[0m"
echo -e " 33[45;37m 紫底白字 33[0m"
echo -e " 33[46;37m 天蓝底白字 33[0m"
echo -e " 33[47;30m 白底黑字 33[0m"
#最后的控制选项
33[0m 关闭所有属性
33[1m 设置高亮度
33[4m 下划线
33[5m 闪烁
33[7m 反显
33[8m 消隐
33[30m — 33[37m 设置前景色
33[40m — 33[47m 设置背景色
33[nA 光标上移n行
33[nB 光标下移n行
33[nC 光标右移n行
33[nD 光标左移n行
33[y;xH设置光标位置
33[2J 清屏
33[K 清除从光标到行尾的内容
33[s 保存光标位置
33[u 恢复光标位置
33[?25l 隐藏光标
33[?25h 显示光标
[root@sh-jindada ~]# echo -e " 33[31mHello world 33[0m"
Hello world
[root@sh-jindada ~]# echo -e " 33[43;32m 红底白字 33[0m"
红底白字
二、cat #显示文件内容 把文件内容全部显示出来 创建新文件 修改文件 合并文件
选项:
-n #显示文件时,显示文件的行号
-A #给显示的文件内容的每行结尾加上一个标识符
[root@sh-jindada ~]# cat test.txt #显示文件的所有内容
hello world
[root@sh-jindada ~]# cat -n test.txt #显示文件内容时,并显示行号
1 hello world
[root@sh-jindada ~]# cat -A test.txt #给文件每一行的结尾加上标识符 主要是查看每行的最后面是否存在空格或者tab键
hello world$
[root@sh-jindada ~]# cat test.txt > test.log #创建一个非空文件 根据一个文件内容进行创建一个新文件
[root@sh-jindada ~]# ll
total 12
-rw-------. 1 root root 1497 Jun 9 20:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 12 Jun 16 10:34 test.log
-rw-r--r--. 1 root root 12 Jun 16 10:11 test.txt
[root@sh-jindada ~]# cat test.log
hello world
#同时查看多个文件
[root@sh-jindada ~]# cat hosts test.txt
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
hello world
[root@sh-jindada ~]# cat hosts test.txt > 123.txt #将两个文件合并成一个文件
[root@sh-jindada ~]# cat 123.txt
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
hello world
> #先清空文件内容
>> #追加
[root@sh-jindada ~]# cat >jindada.txt<<EOF #从命令行读取输入,直到一个与EOF相同的行结束。标识符限定输入重定向
> hello world
> EOF
[root@sh-jindada ~]# ll
total 24
-rw-r--r--. 1 root root 170 Jun 16 10:36 123.txt
-rw-------. 1 root root 1497 Jun 9 20:00 anaconda-ks.cfg
-rw-r--r--. 1 root root 158 Jun 16 10:35 hosts
-rw-r--r--. 1 root root 12 Jun 16 10:38 jindada.txt
-rw-r--r--. 1 root root 12 Jun 16 10:34 test.log
-rw-r--r--. 1 root root 12 Jun 16 10:11 test.txt
[root@sh-jindada ~]# cat jindada.txt
hello world
三、more #分页显示文件内容 文件显示完成之后,退出
[root@sh-jindada ~]# more services
选项:
-num #num是数字 指定一页显示多少行
+num #num是数字 指定从第几行开始显示文件内容
空格或者f键 #向下翻页
b键 #向上翻页
回车 #向下一行
h #帮助信息
q #退出
/xxx #搜索你要搜索的内容 搜索出来的内容不会高亮显示
n #向下查找 不能向上查找
= #显示当前光标所在的行号
[root@sh-jindada ~]# more -5 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
--More--(0%)
[root@sh-jindada ~]# more +5 services #从第几行开始显示
四、 less #分页显示文件内容 退出之后会把显示的内容收回 文件显示完成之后,不会自动退出,要手动
选项:
-N #显示文件内容的时候,加上行号
-i #在搜索的时候,忽略大小写
空格或者f键 #向下翻页
b键 #向上翻页
回车 #向下一行
q #退出
h #显示帮助
/xxxx #搜索指定的内容 会把搜索出来的内容高亮显示
n #向下查找
N #向上查找
= #显示当前页是第几行到第几行 总行数 总字节 显示已经显示多少字节 显示已经查看文件内容的比例
[root@sh-jindada ~]# less -i services #忽略大小写 搜索的时候
[root@sh-jindada ~]# less -N services #显示文件内容的时候,显示行号
五、head #显示文件的头部信息,默认显示文件的前十行内容
选项:
-n #取消默认输出
-c #显示文件的最前面的字符
[root@jindada ~]# head 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
[root@jindada ~]# head -n 2 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
===
[root@jindada ~]# head -2 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@jindada ~]# head -20 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
[root@jindada ~]# head -c5 passwd
root:[root@jindada ~]#
六、tail #显示文件的尾部信息,默认显示文件最后10行
选项:
-n #取消默认输出
-c #显示最后几个字符
-f #实时显示文件的尾部变化信息
-F #实时更新文件的内容,当文件不存在,不会退出,会一直尝试读取这个文件,直到文件存在
[root@jindada ~]# tail passwd
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@jindada ~]# tail -n 1 passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
===
[root@jindada ~]# tail -1 passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
[root@jindada ~]# tail -c5 passwd #显示最后5个字符,只能看见4个,另外一个是换行符
ogin
[root@jindada ~]#
[root@jindada ~]# tail -f passwd
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@jindada ~]# echo 'hello' >> passwd
[root@jindada ~]# tail -f test.log
tail: cannot open ‘test.log’ for reading: No such file or directory
tail: no files remaining
[root@jindada ~]# tail -F test.log
tail: cannot open ‘test.log’ for reading: No such file or directory
tail: ‘test.log’ has appeared; following end of new file
test
七、tailf #实时更新文件的内容
tailf ==== tail -f
当文件内容没有发生变化时,tailf不会去读取磁盘中的信息,减少磁盘的读写 ,tail -f 当文件内容没有发生变化时,会一直向磁盘进行读取
选项:
-n #取消默认输出