tr cat more less head tail 等常用命令

目录

 

cp 

cat

more

less

head      

tail  

grep 

tr  


cp 

默认情况下命令格式为cp 源文件 目标文件,使用-t 可以颠倒顺序 格式为 cp –t 目标文件 源文件

shutdown -r  重启

shutdown -c  中断关机:当执行"shutdown -h 12:00"指令时,只要按+键就可以中断关机的指令

 

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行

      tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

      tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

      tailf        等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

grep 

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

       -v  取反

       grep '内容'  file

       cat file|grep '内容'

tr  

替换文件内容

tr [options] [SET1] [SET2]

-c:使用SET1的补集,
-d:删除字符
-s:压缩字符
-t:截断SET1,使得SET1的长度和SET2的长度相同

       -c    [root@xuexi tmp]# echo "abcdefo"| tr -c "ao\n" "y"

                                                      ayyyyyo

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

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

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

        -t:截断SET1,使得SET1的长度和SET2的长度相同

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

默认情况下,当指定的SET1比SET2字符长时,从最后一个对应的位置开始,SET1的剩余字符都和SET2的最后一个字符对应

[root@centos7 ~]# echo "12345" | tr "0-9" "456"
56666

 

       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

 

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

 

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

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值