(图片来源网络,侵删)
---cat:Linux 系统中的一个用于查看文件内容的命令。它可以将一个或多个文件的内容输出到终端,也可以用于文件的合并操作.参数:-n:显示行号。-b:显示非空行号。-s:合并空白行。-E:在每行结尾添加 $ 符号。-T:将制表符显示为 ^I。-v:显示不可打印字符。例子:cat -nsv data_test.c ##查看单个文件的内容,打印行号;cat file1.txt file2.txt ##查看多个文件cat file1.txt file2.txt > file3.txt ##将多个文件的内容合并到一个文件中注:cat 命令不支持搜索、滚动、翻页等操作,如果需要进行这些操作,可以使用 less 命令。---tac: 反序输出文件内容.从最后一行开始显示,可以看出 tac 是 cat 的反向显示。参数:-b:把间隔字符放在前面-r:视间隔字符为普通字符-s: 以字符串作为行分隔符例子:cat test.txt; ##正常顺序显示;tac test.txt; ##反向顺序显示;tac a.txt b.txt > c.txt; ##文件合并;---less: 是一个用于查看文本文件内容的实用工具。它以交互方式显示文件内容,允许用户在文件中上下滚动,搜索文本,以及执行其他操作。参数:-N:显示行号。-i:忽略搜索时的大小写。-F:在只有一个文件时,不进行分页。-S:禁止换行显示长行。-R:显示彩色输出。-q:禁止显示提示信息。+<行号>:从指定的行号开始查看文件。常用的按键包括:--空格键:向下翻一页。--Enter键:向下翻一行。--b键:向上翻一页。--q键:退出less命令。--/键:进行搜索操作。例子:less file.txt ##打开名为file.txt的文件,并使用less命令进行查看。less -N file.txt ##以行号的形式显示文件内容,并打开名为file.txt的文件less -i file.txt ##在搜索时忽略大小写,并打开名为file.txt的文件less -F file1.txt file2.txt ##命令将同时打开名为file1.txt和file2.txt,并在只有一个文件时不进行分页less -S file.txt ##禁止换行显示长行,并打开名为file.txt的文件less -R file.txt ##该命令将以彩色输出的形式显示文件内容,并打开名为file.txt的文件less +10 file.txt ##打开名为file.txt的文件,并跳转到第10行的位置开始显示less -NR +30 nm_test.c---more: 一页一页的显示文件内容,方便使用者逐页阅读参数:+n:从笫n行开始显示-n: 定义一页(一次)大小为n行+/pattern: 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示-c: 从顶部清屏,然后显示-d: 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能-l: 忽略Ctrl+l(换页)字符-p: 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似-s: 把连续的多个空行显示为一行-u: 把文件内容中的下画线去掉例子:more +10 file.txt ##从file.txt的第10行开始显示;more -10 file.txt ##显示file.txt文件,每屏显示10行;more +/hello file.txt ##从第一次出现hello单词的位置显示;ls -l | more -5 ##分屏显示ls 结果,每屏限制为5行;---vim:文本查看和编辑工具,功能十分强大。具体用法见另一篇文章介绍。---echo:以用于向标准输出或文件写入一行或多行文本。.应用比较广泛,功能如下:1)打印文本,只需要在字符串的引号内写上要输出的文本即可;2)变量的输出,只需要在引号内使用$符号加上变量名即可;3)转义字符,可以使用转义字符来输出特殊字符;4)输出到文件,可以将输出内容重定向到文件中;5)输出格式控制,用于控制输出的格式。.参数:-n:不自动换行,输出字符串后不跟随回车符。-e:允许输出字符串中的转义字符,如“\n”表示换行符、“\t”表示制表符等.例子:echo "Hello world" ##输出一般字符串name="Linux" ##输出变量值echo "The operating system is $name"echo "This is a test" > test.txt ##向文件写入文本echo -e "line1\nline2\nline3" ##输出多行文本---head: Linux 系统中的一个用于显示文件开头部分的命令。它可以显示文件的前几行,默认显示前 10 行,也可以根据需求指定显示的行数。参数:-n: 指定要显示的行数。例如,-n 20表示显示前20行。-c: 指定要显示的字节数。例如,-c 100表示显示前100个字节。-q: 不显示文件名头部信息。-v : 总是显示文件名头部信息例子:head file.txt ##显示文件的前 10 行head -n 50 file.txt ##显示文件的前 50 行head -c 100 file.txt ##显示文件的前100个字节head file1.txt file2.txt ##显示多个文件的开头部分cat file.txt | head ##显示前10行内容head -q file.txt ##静默模式,只显示文件内容而不显示文件名head -v file.txt ##显示file.txt文件名的头部信息---tail: 用于查看文件的末尾内容,默认情况下显示文件的后10行。参数:-n: 指定要显示的行数。例如,-n 20表示显示后20行。-c: 指定要显示的字节数。例如,-c 100表示显示最后100个字节。-q: 不显示文件名尾部信息。-v: 总是显示文件名尾部信息。-f: 该选项用于监视文件变化,在文件内容增长时自动显示新增的内容,常用于查看日志文件。-F: 类似于-f选项,但在文件被切换或重命名时,tail会尝试重新打开文件例子:tail file.txt ##显示文件的后10行tail -n 20 file.txt ##显示文件的后20行tail -c 100 file.txt ##显示文件的最后100个字节tail file1.txt file2.txt ##显示多个文件的尾部内容cat file.txt | tail ##通过管道传递数据并显示尾部内容tail -f -n 20 file.txt | grep "ERROR" ##监视文件中出错的内容,实时更新后面20行内容;---history:主要功能是用于显示与管理历史记录。linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们。参数:-c:清空当前历史命令;-a:将历史命令缓冲区中命令写入历史命令文件【/root/.bash_history】;-r:将历史命令文件中的命令读入当前历史命令缓冲区;-w:将当前历史命令缓冲区命令写入历史命令文件中【/root/.bash_history】;n:打印最近的n条历史命令!+字母:调出最近使用一次以此字母开头的命令!!: 表示最近使用的一次操作的命令!+数字:表示调出历史记录的几条命令!-数字:调出最近的几条命令说明:因为history默认只能保留1000条历史记录的数量,所以若要增加数量到2000,可以通过修改变量$HISTSIZE [root@localhost ~]# echo $HISTSIZE1000[root@localhost ~]# export HISTSIZE=2000[root@localhost ~]# echo $HISTSIZE2000例子:history ##查看最近所有的操作命令;history 10 ##查看最近10条命令!! ##使用最近一次使用的命令!cp ##使用最近一次cp的命令操作;history -c ##清空历史记录中保存的命令;---wc:命令常用于计算文件的行数、字数和字节数,日常操作以及脚本编程中经常使用到参数:-l: 显示行数;-w: 显示字数;-m: 显示字符数;-c: 显示字节数;-L: 显示最长行的长度;-r:可以递归地统计目录中的所有文件例子:wc filename.txt ##统计文件中的行数、字数和字节数wc file1 file2 file3 ##统计多个文件的总行数、字数和字节数wc -l filename ##统计文件中的行数wc -w filename ##统计文件中的字数wc -c filename ##统计文件中的字节数wc -l -r dir ##递归统计目录中的文件中所有的行数;---cut: 用于从文件或标准输入中提取字段并输出到标准输出参数:-b:仅显示行中指定直接范围的内容;-c:仅显示行中指定范围的字符;-d:指定字段的分隔符,默认的字段分隔符为“TAB”;-f:显示指定字段的内容;-n:与“-b”选项连用,不分割多字节字符;--complement:补足被选择的字节、字符或字段;--out-delimiter= 字段分隔符:指定输出内容是的字段分割符;--help:显示指令的帮助信息;--version:显示指令的版本信息。例子:cut -d ":" -f 1 /etc/passwd ##提取passwd文件中的用户名字段;cut -d ":" -f 1,2 /etc/passwd ##取passwd文件中的第1,2字段cut -c1-2 /etc/passwd ##取passwd文件中的第1,2个字节##使用cut提取本地网卡地址ifconfig eth0 |grep -w inet |cut -d ' ' -f 10###查看系统本地的用户有多少个cut -d ":" -f 1 /etc/passwd |wc -l---sort: sort 命令用于将文本文件内容加以排序。sort 可针对文本文件的内容,以行为单位来排序参数:-b: 忽略每行前面开始出的空格字符。-c: 检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1-C: 检查文件是否已排好序,如果乱序,不输出内容,仅返回1-d: 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。-f: 排序时,将小写字母视为大写字母。-i: 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。-m: 将几个排序好的文件进行合并。-M: 将前面3个字母依照月份的缩写进行排序。-n: 依照数值的大小排序。-u: 意味着是唯一的(unique),输出的结果是去完重了的。-o: <输出文件> 将排序后的结果存入指定的文件。-r: 以相反的顺序来排序。-t: <分隔字符> 指定排序时所用的栏位分隔字符。例子:sort -u seq.txt ##输出行中去除重复行sort -n number.txt ##将数字按字符来排序,1-2-10-11-20sort -n -r number.txt >number1.txt ##r表示降序,n表示按数字进行排序,20-11-10-2-1sort -n -r number.txt -o number.txt ##-o表示输出到一个指定文件中;sort -t ' ' -k1.2 testsort.txt ##从公司英文名称的第二个字母开始进行排序sort -n -k2 -k3 -u testsort.txt ###这里设置了两层排序优先级的情况下,使用-u就没有删除任何行---uniq: 删除文件中的重复行。uniq 命令读取由 InFile 参数指定的标准输入或文件。该命令首先比较相邻的行,然后除去第二行和该行的后续副本。参数:-c:在每列旁边显示该行重复出现的次数。-d:仅显示重复出现的行列。-D:打印所有重复行-f:忽略比较指定的栏位。-i:比较时忽略大小写差异-s<字符位置>或=<字符位置>: 忽略比较指定的字符。-u:仅显示出一次的行列。-z:以0字节结束行,而不是换行-w<字符位置>或=<字符位置>: 指定要比较的字符。例子:uniq file1 file2 ##要删除文件file1中 的重复行并将其保存到一个名为 file2 的文件中cat t.log|cut -d '/' -f 3|sort|uniq -c|sort -nr ##经常与sort结合在一起使用,进行排序去掉重复行;---split:可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。命令格式: split [操作大文件的参数] [大文件] [输出文件的可选参数] [输出文件名]参数:-b:值为每一输出档案的大小,单位为 byte。-C:每一输出档中,单行的最大 byte 数。-d:使用数字作为后缀。-l:值为每一输出档的行数大小。-a:指定后缀长度(默认为2)例子:split -b 10k data.txt ##分割成大小为10KB的小文件split -b 10k data.txt -d -a 3 ##使用数字作为后缀,分割文件名为3个字节长度x001;split -l 100 data.txt ##每100行切割成一个小文件split -l 100 date.file -d -a 3 temp ##按行来分割,分割文件名为temp开始的3位数字编号,如:temp001---seq: 一个序列的缩写,主要用来输出序列化的东西。用法:--用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数以指定增量从首数开始打印数字到尾数参数:-f: 使用printf 样式的浮点格式-s: 使用指定字符串分隔数字(默认使用:\n)-w: 在列前添加0 使得宽度相同【自动补位】--help 显示此帮助信息并退出--version 显示版本信息并退出例子:seq -s '#' 5 ##指定分隔符为#,横着输出,默认换行输出;==》1#2#3#4#5seq -s ' ' 1 2 10 ##以空格作为分格,且输出单数。 【起始】【增量】【结尾】==》1 3 5 7 9seq -w 1 10 ##默认补位操作,在列前添加0,使宽度相同;seq -w -s " " 90 110 ##等宽输出 90 到 110 之间的连续整数---stat: 命令用于显示指定文件或文件系统的文件状态信息,包括文件的类型、权限、大小、所属用户和组、访问时间、修改时间、创建时间等详细信息。它可以用于检查文件的状态以及了解文件的属性参数:-c:指定输出格式;-f:显示文件系统状态而非文件状态;-t:使用简短格式输出说明:Linux下的三个时间:--Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间。--Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。--Change Time:简写为ctime,表示文件的属性状态时间,当文件的属性状态被修改时,更新这个时间。例子:stat -c %y filename:显示指定文件的最后访问时间stat -c %z filename:显示指定文件的最后一次修改时间stat -c %A filename:显示指定文件的权限stat -c %n filename:显示指定文件的文件名stat -c %U filename:显示指定文件的所有者stat -c %G filename:显示指定文件的所有者组名stat -c %s filename:显示指定文件的大小stat -c %t filename:显示指定文件的类型stat -f /etc/hosts ##显示指定文件所在文件系统的详细信息,包括文件系统的名称、挂载点、文件系统类型、文件系统大小、可用空间等。stat /etc/hosts##显示指定文件的三种时间信息;---man: 用于显示 Linux 操作系统中的手册页(manual page)。它提供了对 Linux 操作系统中各种命令、函数、库等的详细说明参数:-f:显示命令或函数的简短描述。-k:使用关键字搜索所有与该关键字相关的手册页。-S:指定手册页的搜索路径。-a:显示所有与命令或函数相关的手册页。-w:显示命令或函数的手册页文件路径。-C:指定手册页的格式。-l:显示所有手册页的列表。-p:显示函数的原型。-s:显示指定节的手册页。-u:显示未压缩的手册页。-h:显示帮助信息-M:指定手册页的源路径。例子:man stat ##查看命令的使用说明man -k keyword ##在所有手册页中搜索关键字man -a command ##显示所有与命令或函数相关的手册页man -w command ##显示命令或函数的手册页文件路径man -p function ##显示函数的原型man 2 open ##显示指定节的手册页man -u command ##显示未压缩的手册页man -M /usr/share/man command ##指定手册页的源路径---paste: 可用于合并文件的行和列;参数:-d: 自定义间隔符,默认为tab-s:串行处理,非并行例子:paste test1.conf test2.conf > test.conf ##将两个文件,按照行合并,并输出到新文件;##将两个文件按照行合并,同时指定间隔符paste -d= test1.conf test2.conf > test.conf#将两个文件串行合并paste -s test1.conf test2.conf > test.conf---重定向 > 和 >>--- 管道 |另外还有其它几种编辑器,这里就不一一详细说明了。---nano: 字符终端文本编辑器, 有点像DOS下的editor程序。它比vi/vim要简单得多.---gedit: linux图形化的文本编辑器。(更新待续)
0 评论