paste命令用于将多个文件按照列队列进行合并。
语法
paste(选项)(参数)
选项
-d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符; -s或——serial串列进行而非平行处理。
参数
文件列表:指定需要合并的文件列表。
paste命令用于将多个文件按照列队列进行合并。
paste(选项)(参数)
-d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符; -s或——serial串列进行而非平行处理。
文件列表:指定需要合并的文件列表。
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。
存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。
tee(选项)(参数)
-a:向文件中重定向时使用追加模式; -i:忽略中断(interrupt)信号。
文件:指定输出重定向的文件。
在终端打印stdout同时重定向到文件中:
ls | tee out.txt
1.sh
1.txt
2.txt
eee.tst
EEE.tst
one
out.txt
string2
www.pdf
WWW.pdf
WWW.pef
[root@localhost text]# ls | tee out.txt | cat -n
1 1.sh
2 1.txt
3 2.txt
4 eee.tst
5 EEE.tst
6 one
7 out.txt
8 string2
9 www.pdf
10 WWW.pdf
11 WWW.pef
uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
uniq(选项)(参数)
-c或——count:在每列旁边显示该行重复出现的次数;
-d或--repeated:仅显示重复出现的行列;
-f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位;
-s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符;
-u或——unique:仅显示出一次的行列;
-w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。
删除重复行:
uniq file.txt
sort file.txt | uniq
sort -u file.txt
只显示单一行:
uniq -u file.txt sort file.txt | uniq -u
统计各行在文件中出现的次数:
sort file.txt | uniq -c
在文件中找出重复的行:
sort file.txt | uniq -d
ispell命令用于检查文件中出现的拼写错误。
ispell(参数)
文件:指定要进行拼写检查的文件。
umask命令用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。
umask(选项)(参数)
-p:输出的权限掩码可直接作为指令来执行; -S:以符号方式输出权限掩码。
权限掩码:指定权限掩码。
利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如,可以使用下面的命令创建掩码,使得组用户的写权限,其他用户的读、写和执行权限都被取消:
umask u=, g=w, o=rwx
执行该命令以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。
应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限。
不能直接利用umask命令创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令umask u=, g=w, o=rwx
,虽然在命令行中,没有删去文件主和组用户的执行权限,但默认的文件权限还是640(即 rw-r—–),而不是750(rwxr-x—)。但是,如果创建的是目录或者通过编译程序创建的一个可执行文件,将不受此限制。在这种情况 下,会设置文件的执行权限。
也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文件中删除的,所以,如果该文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755:如果该文件原来的初始化权限是666,那么该文件的权限将变为644。
可以使用下面的命令检查新创建文件的默认权限:
umask -s
选项-s表示以字符形式显示当前的掩码。如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022。
diffstat命令用来显示diff命令输出信息的柱状图,用以显示diff命令比较两个文件的不同统计信息。用户也可以直接使用|
将diff命令所输出的结果直接送给diffstat命令进行统计结果的显示。使用该命令时,若所比较的文件或者子目录不在当前目录下,则应该使用其完整路径。
diffstat(选项)(参数)
-n<文件名长度>:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包括了文件的路径;
-w:指定要输出时栏位的宽度;
-v:显示版本信息。
文件:指定保存有diff命令的输出信息文件。
将目录"test1"和"test2"下的同名文件"testf.txt"使用diff命令进行比较。然后使用diffstat命令对结果进行统计显示,输入如下命令:
diff test1 test2 | diffstat #进行比较结果的统计显示
注意:使用这条命令可以非常方便地实现统计显示的功能。
对于查看文件中的内容,用户可以通过cat命令进行查看即可,具体操作如下:
cat test1/testf.txt #查看test1/testf的内容 abc def ghi jkl mno pqr stu vws cat test2/testf.txt #查看test2/testf的内容 abc def ghi jkl mno
从上面的文件内容显示,可以看到两个文件内容的差别。现在来运行刚才的命令,对文件比较的结果进行统计显示,结果如下:
testfile | 2 +- #统计信息输出显示 1 file changed, 1 insertion(+), 1 deletion(-)
rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推。
rev(参数)
文件:指定要反序显示内容的文件。
[root@localhost ~]# cat iptables.bak # Generated by iptables-save v1.3.5 on Thu Dec 26 21:25:15 2013 *filter :INPUT DROP [48113:2690676] :FORWARD accept [0:0] :OUTPUT ACCEPT [3381959:1818595115] -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A OUTPUT -o lo -j ACCEPT COMMIT # Completed on Thu Dec 26 21:25:15 2013 [root@localhost ~]# rev iptables.bak 3102 51:52:12 62 ceD uhT no 5.3.1v evas-selbatpi yb detareneG # retlif* ]6760962:31184[ PORD TUPNI: ]0:0[ TPECCA DRAWROF: ]5115958181:9591833[ TPECCA TUPTUO: TPECCA j- ol i- TUPNI A- TPECCA j- 22 tropd-- pct m- pct p- TUPNI A- TPECCA j- 08 tropd-- pct m- pct p- TUPNI A- TPECCA j- DEHSILBATSE,DETALER etats-- etats m- TUPNI A- TPECCA j- pmci p- TUPNI A- TPECCA j- ol o- TUPTUO A- TIMMOC 3102 51:52:12 62 ceD uhT no detelpmoC #
fmt命令读取文件的内容,根据选项的设置对文件格式进行简单的优化处理,并将结果送到标准输出设备。
fmt(选项)(参数)
-c或--crown-margin:每段前两列缩排; -p<列起始字符串>或-prefix=<列起始字符串>:仅合并含有指定字符串的列,通常运用在程序语言的注解方面; -s或--split-only:只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列; -t或--tagged-paragraph:每列前两列缩排,但第1列和第2列的缩排格式不同; -u或--uniform-spacing:每列字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔; -w<每列字符数>或--width=<每列字符数>或-<每列字符数>:设置每列的最大字符数。
指定要优化格式的文件。
dirs命令显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)。dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录。
dirs(选项)(参数)
-c:删除目录栈中的所有记录 -l:以完整格式显示 -p:一个目录一行的方式显示 -v:每行一个目录来显示目录栈的内容,每个目录前加上的编号 +N:显示从左到右的第n个目录,数字从0开始 -N:显示从右到左的第n个日录,数字从0开始
目录:显示目录堆叠中的记录。
[root@localhost etc]# dirs /etc
wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
wc(选项)(参数)
-c或--bytes或——chars:只显示Bytes数;
-l或——lines:只显示列数;
-w或——words:只显示字数。
文件:需要统计的文件列表。