tr cat more less head tail 等常用命令

大憨熊 提交于 2019-11-26 20:16:56

 #cat命令:创建文件显示内容一个不存在的文件或者字符不能输入使用<的输出重定向

 cat   filename 一次显示整个文件

cat  >  filename  从键盘创建一个文件

cat   file1   file2  > file    将几个文件合并为一个文件

cat -n linuxfile1 > linuxfile2 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里

cat -b linuxfile1 linuxfile2 >> linuxfile3 linuxfile1 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。

linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -n linuxfile1 > linuxfile2

linuxfile1 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。
cat -b linuxfile1 linuxfile2 >> linuxfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容

cat <<boy >test.sh  内容 boy (直到输入到boy 停止)

 cat << girl >> test.sh  内容  girl

在vim中:

每行的行首都添加一个字符串:%s/^/要插入的字符串

 

每行的行尾都添加一个字符串:%s/$/要插入的字符串

 

解释:

 

% 代表针对被编辑文件的每一行进行后续操作

$ 代表一行的结尾处

^ 代表一行的开头处

more 查看文件内容:看完内容会自动退出。

       f 一页一页的往下查看内容 空格      b 一页一页的往上查看内容

[root@xuexi ~]# more -5 -d /etc/passwd 指定一屏显示5,并且显示操作帮助

[root@xuexi ~]# more -5 -dc /etc/passwd  不想滚屏时,就需要使用-c选项

[root@xuexi ~]# more -5 +4 /etc/passwd  4开始显示

[root@xuexi ~]# more -5 +/shutdown /etc/passwd  查找指定字符串,可以看到从找到第字符串前两行开始显示

less 一页一页的查看文件内容 重要 常用(如果看完了不会自动退出)

   -N 显示行号

       f 一页一页的往下查看内容 空格

       b 一页一页的往上查看内容

       / 搜索文件内容

              n 查找下一个内容

              N 查找上一个内容

       和vim移动快捷键类似

       g 首行

       G  尾行

       q  退出

      

head       显示文件的内容 默认前10行  重点

       -n   显示多少行内容 简写 head -4 显示前4行

       -c   截取文本的前几个字符  head -c5 前5个字符

tail   显示文件的内容 默认后10行 重点

       -n  显示多少行内容 简写 tail -5  显示最后5行

       -f  --follow 查看文本的实时更新的内容  简写 tailf  file

       -F    --follow --retry  实时输出文件的内容 如果当前文件不存在会重试 直到文件存在

grep  过滤出我们需要查找的文件内容   三剑客老三

       -v  取反

       grep '内容'  file

       cat file|grep '内容'

tr   替换文件内容

       -d 删除   tr -d [a-z] < oldboy.txt           删除a-z的所有字母

   -s 删除所有重复出现字符序列,只保留第一个

   cat file | tr -s [a-zA-Z] > new_file

# echo $PATH | tr -s ":" "\n"   把路径变量中的冒号":"替换成换行符"\n"

       tr ":" " " < /etc/passwd

       \n 回车

        cat file | tr "abc" "xyz" > new_file   file中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y"字母,"c"字母替换为"z"字母。而不是将字符串"abc"替换为字符串"xyz"

 cat file | tr [a-z] [A-Z] > new_file  (小写 --> 大写)

cat file | tr [0-9] [a-j] > new_file   把文件中的数字0-9替换为a-j

vim 进阶替换

 

       :s#root#oldboy#   替换光标所在行的第一个root  

       :s#root#oldboy#g  替换光标所在行的所有root为oldboy

       :%s#root#oldboy#g 替换文档中所有出现的root为oldboy

       ?字符串—— 从下至上搜索该字符串

     / 字符串——从上至下搜索该字符串

       #可换成不同符号

^    开头

特殊符号

>       输出重定向 先清空在写入

>>     追加重定向 内容追加到文件尾部

<       输入重定向 tr < file  cat

1>     标准正确输出 简写>

2>     标准错误输出

1>>

2>>

在三阶段 Shell编程中使用

正确和错误的结果 可分别重定向到不同的文件中        

ls oldboy.txt > ok.txt  正确的结果输出到文件

ls oldboy.txt 2>ok.txt    错误的结果输出到文件

lss >>ok.txt 2>>ok.txt  正确和错误的输出到文件

ls /tmp/ >>ok.txt 2>>ok.txt   正确和错误的输出到文件

lss &>ok.txt                  正确和错误的输出到文件

 

常用的书写方式

2>&1   &>file

对于重定向中的标准输出模式,可以省略文件描述符1不写,而错误输出模式的文件描述符2是必须要写的,0代表标准输入重定向。

一个存在的文件,标准输出即可将原本要输出到屏幕的信息写入到文件中,而错误的输出重定向则依然把信息输出到屏幕上。

一个错误的命令信息,可通过错误的输出重定向,将信息显示到文件中

[root@oldboyedu tmp]# ls - xxxxx

ls: cannot access -: No such file or directory

ls: cannot access xxxxx: No such file or directory

[root@oldboyedu tmp]# ls -l xxxx > tete.txt

ls: cannot access xxxx: No such file or directory

[root@oldboyedu tmp]# ls -l xxxx 2> tete.txt

[root@oldboyedu tmp]# echo tete.txt

tete.txt

[root@oldboyedu tmp]# cat tete.txt

ls: cannot access xxxx: No such file or directory

 

命令的分隔符 不管前面命令是否执行失败 继续执行;后面的命令

使用一行命令 创建一个oldboy目录 在oldboy目录下 创建 一个 alex.txt 文本 在cat /etc/hosts

 

这条路是通的 && 我就走这条路 || 我就换条路

 

&&  前面的命令执行成功才会执行 && 后面的命令

||      前面的命令执行不成功 则执行|| 后面的命令

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!