Linux/UNIX Shell命令进阶详解

用cat进行拼接

    1 cat命令是一个日常会使用到的简单命令,cat本身表示concatenate(拼接)

    2 用cat读取文件的一般格式是

       cat file1 file2 file3....  // 这个命令将命令行参数的文件内容拼接在一起输出

    3 cat命令不仅可以读取文件并拼接数据,它还能够从标准输入中进行读取。要从标准输入中读取,就要使用管道

       stand_ouput | cat

    4 cat命令可以用来压缩多个空行,使得被压缩成为单个

       cat -s file

    5 tr命令也可以把多个的'\n'字符压缩成为单个'\n'

    6 cat命令的-n选项会在输出的每一行内容之前加上行号,但是这个并不会修改文件的内容

 

录制与回放终端会话

    1 script和scriptreplay命令在绝大多数GNU/Linux发行版本上面都可以找到

    2 scritp命令同样可以用于建立多个用户之间的进行广播的视频会话

       第一步:打开两个终端T1和T2

       第二步:在T1中输入mkfifo scriptfifo

       第三步:在T2中输入以下命令cat scriptfifo

       第四步:在T1中输入以下命令script -f scriptfifo

       第五步:在T1中输入的commands都可以在T2中看到

 

文件查找与文件列表

    1 find是UNIX/Linux命令行工具箱中最棒的工具之一

    2 find命令的工作方式如下:沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作

    3 要列出当前目录及子目录下的所有文件以及文件夹:find base_bash

    4 find命令的两个重要的参数

       -print 指明打印匹配文件的文件名,当使用-print的时候,'\n'做为分割文件的定界符

       -print0 指明使用'\0'作为定界符来打印每一个匹配的文件名

    5 根据文件名或正则表达式匹配搜索,-name的参数指定了文件名所匹配的字符串。

       比如 find . -name "*.txt" -print   // 命令查找当前目录下的所有txt文件并打印出来

    6 find命令有一个选项-iname,该选项的作用和-name类似,但是匹配的时候会忽略大小写

    7 find命令也可以用!来否定参数意思

       find . ! -name "*.txt" -print // 命令的作用是找出当前目录下的所有非txt文件

    8 find命令在使用时候会遍历所有的子目录,我们可以采用深度参数来限制find命令的遍历深度。

       -maxdepth和-mindepth指定最大的递归深度以及最少的递归深度(从哪一层开始向下搜索)

    9 -maxdepth和-mindepth应该做为find的第三个参数出现,这样就可以第一时间限制搜索的条件,效率会提高的很多

    10 类UNIX系统将所有的一切都视为文件,文件具有不同的类型,例如普通文件,目录,字符设备,块设备,符号链接,硬链接,套接字以及FIFO等

    11 find命令的-type选项可以对文件搜索进行过滤

    12 type参数来匹配所需要的文件类型

                        文件类型                          类型参数

                        普通文件                                 f 

Linux/UNIX Shell命令进阶详解