【Linux】Linux基本命令(二)

【Linux】Linux基本命令(二)

1、文件管理

1.1 file

file命令用于辨识文件类型,通过file指令,我们得以辨识该文件的类型

语法:

file [-bcLvz][-f <名称文件>]

参数:

  • -b  列出辨识结果时,不显示文件名称
  • -c  详细显示指令执行过程,便于排错或分析程序执行的情形
  • -f <名称文件> 指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称
  • -L  直接显示符号连接所指向的文件的类别
  • -v  显示版本信息
  • -z  尝试去解读压缩文件的内容

实例:

file install.log//显示文件名
install.log: UTF-8 Unicode text
file -b install.log//不显示文件名
UTF-8 Unicode text

1.2 which

which命令用于查找文件

which指令会在环境变量$PATH设置的目录里查找符合条件的文件

语法:

which [文件...]

参数:

  • -n <文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
  • -p <文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
  • -w  指定输出时栏位的宽度。
  • -V  显示版本信息。

实例:

//使用指令which查看指令bash的路径
which bash

1.3 whereis

whereis命令用于查找文件。

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令

语法:

whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

参数:

  • -b  只查找二进制文件。
  • -B 只在设置的目录下查找二进制文件。
  • -f   不显示文件名前的路径名称。
  • -m 只查找说明文件。
  • -M 只在设置的目录下查找说明文件。
  • -s  只查找原始代码文件。
  • -S 只在设置的目录下查找原始代码文件。
  • -u  查找不包含指定类型的文件。

实例:

//使用指令whereis查看指令bash的位置
whereis bash
//显示bash 命令的二进制程序
whereis -b bash                
bash: /bin/bash /etc/bash.bashrc /usr/share/bash   //bash命令的二进制程序的地址  
//显示bash 命令的帮助文件
whereis -m bash                 
bash: /usr/share/man/man1/bash.1.gz  //bash命令的帮助文件地址  

1.4 cp

cp(英文全拼:copy file)命令主要用于复制文件或目录

语法:

cp [options] source dest

参数:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

实例:

//使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下
cp –r test/ newtest
//注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R

2、文档编辑

2.1 grep

grep 命令用于查找文件里符合条件的字符串

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出

来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据

语法:

grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

参数:

  • -a 或 --text : 不要忽略二进制的数据。
  • **-A<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -b : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
  • -B<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • **-c : 计算符合样式的列数。
  • -C<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -d <动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -e<范本样式> : 指定字符串做为查找文件内容的样式。
  • -E : 将样式为延伸的正则表达式来使用。
  • -f<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
  • -F : 将样式视为固定字符串的列表。
  • **-G : 将样式视为普通的表示法来使用。
  • -h : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
  • **-H : 在显示符合样式的那一行之前,表示该行所属的文件名称。
  • -i : 忽略字符大小写的差别。
  • **-l : 列出文件内容符合指定的样式的文件名称。
  • -L : 列出文件内容不符合指定的样式的文件名称。
  • -n : 在显示符合样式的那一行之前,标示出该行的列数编号。
  • **-o : 只显示匹配PATTERN 部分。
  • -q : 不显示任何信息。
  • **-r : 此参数的效果和指定"-d recurse"参数相同。
  • -s : 不显示错误信息。
  • **-v : 显示不包含匹配文本的所有行。
  • -V : 显示版本信息。
  • **-w : 只显示全字符合的列。
  • **-x : 只显示全列符合的列。
  • -y : 此参数的效果和指定"-i"参数相同。

2.2 sort

sort 命令用于将文本文件内容加以排序

sort 可针对文本文件的内容,以行为单位来排序

语法:

sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]

参数:

  • -b 忽略每行前面开始出的空格字符。
  • -c 检查文件是否已经按照顺序排序。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  • -m 将几个排序好的文件进行合并。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -u 意味着是唯一的(unique),输出的结果是去完重了的。
  • -o<输出文件> 将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t<分隔字符> 指定排序时所用的栏位分隔字符。
  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  • –help 显示帮助。
  • –version 显示版本信息。
  • [-k field1[,field2]] 按指定的列进行排序。

实例:

//使用 sort 命令以默认的式对文件的行进行排序
sort testfile 
//sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。使用 cat 命令显示 testfile 文件可知其原有的排序如下:
cat testfile      //打印testfile文件原有排序  
test 30  
Hello 95  
Linux 85 
sort testfile  //打印重排结果  
Hello 95  
Linux 85  
test 30 
//使用 -k 参数设置对第二列的值进行重排
sort testfile -k 2
test 30  
Linux 85 
Hello 95  

2.3 wc

wc命令用于计算字数。

利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据

语法:

wc [-clw][--help][--version][文件...]

参数:

  • -c或–bytes或–chars 只显示Bytes数。
  • -l或–lines 显示行数。
  • -w或–words 只显示字数。
  • –help 在线帮助。
  • –version 显示版本信息。

实例:

//在默认的情况下,wc将计算指定文件的行数、字数,以及字节数
wc testfile          
3 92 598 testfile     //testfile文件的行数为3、单词数92、字节数598 
//如果想同时统计多个文件的信息,例如同时统计testfile、testfile_1、testfile_2
wc testfile testfile_1 testfile_2\
//输出如下:
3 92 598 testfile                    //第一个文件行数为3、单词数92、字节数598  
9 18 78 testfile_1                   //第二个文件的行数为9、单词数18、字节数78  
3 6 32 testfile_2                    //第三个文件的行数为3、单词数6、字节数32  
15 116 708 总用量                     //三个文件总共的行数为15、单词数116、字节数708 

3、系统管理

3.1 date

date 命令可以用来显示或设定系统的日期与时间

语法:

date [OPTION]... [+FORMAT]

参数:

  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)
  • %F : 相当于 %Y-%m-%d

在显示方面,使用者可以设定欲显示的格式 ,格式设定为一个加号后接数个标记,其中可用的标记列表如下:

%%   输出字符 %
%a   星期几的缩写 (Sun..Sat)
%A   星期的完整名称(Sunday..Saturday)。 
%b   缩写的月份名称(例如,Jan)
%B   完整的月份名称(例如,January)
%c   本地日期和时间(例如,Thu Mar  3 23:05:25 2005)
%C   世纪,和%Y类似,但是省略后两位(例如,20)
%d   日 (01..31)
%D   日期,等价于%m/%d/%y
%e   一月中的一天,格式使用空格填充,等价于%_d
%F   完整的日期;等价于 %Y-%m-%d
%g   ISO 标准计数周的年份的最后两位数字
%G   ISO 标准计数周的年份,通常只对%V有用
%h   等价于 %b
%H   小时 (00..23)
%I   小时 (01..12)
%j   一年中的第几天 (001..366)
%k   小时,使用空格填充 ( 0..23); 等价于 %_H
%l   小时, 使用空格填充 ( 1..12); 等价于 %_I
%m   月份 (01..12)
%M   分钟 (00..59)
%n   新的一行,换行符
%N   纳秒 (000000000..999999999)
%p   用于表示当地的AM或PM,如果未知则为空白
%P   类似 %p, 但是是小写的
%r   本地的 12 小时制时间(例如 11:11:04 PM)
%R   24 小时制 的小时与分钟; 等价于 %H:%M
%s   自 1970-01-01 00:00:00 UTC 到现在的秒数
%S   秒 (00..60)
%t   插入水平制表符 tab
%T   时间; 等价于 %H:%M:%S
%u   一周中的一天 (1..7); 1 表示星期一
%U   一年中的第几周,周日作为一周的起始 (00..53)
%V   ISO 标准计数周,该方法将周一作为一周的起始 (01..53)
%w   一周中的一天(0..6),0代表星期天
%W   一年中的第几周,周一作为一周的起始(00..53)
%x   本地的日期格式(例如,12/31/99)
%X   本地的日期格式(例如,23:13:48)
%y   年份后两位数字 (00..99)
%Y   年
%z   +hhmm 格式的数值化时区格式(例如,-0400)
%:z  +hh:mm 格式的数值化时区格式(例如,-04:00)
%::z  +hh:mm:ss格式的数值化时区格式(例如,-04:00:00)
%:::z  数值化时区格式,相比上一个格式增加':'以显示必要的精度(例如,-04,+05:30)
%Z  时区缩写 (如 EDT)

3.2 top

top命令用于实时显示 process 的动态

使用权限:所有使用者

语法:

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数:

  • d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
  • q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  • c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
  • S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
  • s : 安全模式,将交谈式指令取消, 避免潜在的危机
  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
  • n : 更新的次数,完成后将会退出 top
  • b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内

实例:

//显示进程信息
top
//显示完整命令
top -c
//显示指定的进程信息
top -p 139    	//显示进程号为139的进程信息,CPU、内存占用率等

3.3 uname

uname(英文全拼:unix name)命令用于显示系统信息

uname 可显示电脑以及操作系统的相关信息

语法:

uname [-amnrsv][--help][--version]

参数:

  • -a或–all  显示全部的信息。
  • -m或–machine  显示电脑类型。
  • -n或–nodename  显示在网络上的主机名称。
  • -r或–release  显示操作系统的发行编号。
  • -s或–sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • –help  显示帮助。
  • –version  显示版本信息。

实例:

//显示系统信息
uname -a
Linux iZbp19byk2t6khuqj437q6Z 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
//显示计算机类型
uname -m
x86_64

4、系统设置

4.1 alias

alias命令用于设置指令的别名。

用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别

名,可在.profile或.cshrc中设定指令的别名

语法:

alias[别名]=[指令名称]

实例:

//给命令设置别名
alias lx = ls

4.2 passwd

passwd命令用来更改使用者的密码

语法:

passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

参数:

  • -d 删除密码
  • -f 强迫用户下次登录时必须修改口令
  • -w 口令要到期提前警告的天数
  • -k 更新只能发送在过期之后
  • -l 停止账号使用
  • -S 显示密码信息
  • -u 启用已被停止的账户
  • -x 指定口令最长存活期
  • -g 修改群组密码
  • 指定口令最短存活期
  • -i 口令过期后多少天停用账户

实例:

//设置dy用户的密码
passwd dy  
Enter new UNIX password:  //输入新密码,输入的密码无回显
Retype new UNIX password:  //确认密码
passwd: password updated successfully
//显示账号密码信息
passwd -S dy
dy P 05/13/2010 0 99999 7 -1
//删除用户密码
passwd -d dy 
passwd: password expiry information changed.

5、备份压缩

5.1 tar

tar(英文全拼:tape archive )命令用于备份文件。

tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件

语法:

tar [OPTION][FILE]

参数:

  • -x :从压缩的文件中提取文件

  • -z:支持gzip解压文件

  • -v:显示操作过程

  • -t:显示压缩文件的内容

  • -A:追加tar文件至归档

  • -B :设置区块大小

  • -c :建立新的归档

  • -d :记录文件的差别

  • -r :追加文件至归档结尾

  • -u :添加改变了和现有的文件到已经存在的压缩文件

  • -j: 支持bzip2解压文件

  • -Z:支持compress解压文件

  • -l:文件系统边界设置

  • -k:保留原有文件不覆盖

  • -m:保留文件不被覆盖

  • -W:确认压缩文件的正确性

可选参数:

  • -C:切换到指定目录

  • -f:指定压缩文件

  • -b:设置区块数目

  • –help 显示帮助信息

实例:

//压缩文件 非打包
touch a.c       
tar -czvf test.tar.gz a.c   //压缩 a.c文件为test.tar.gz
//列出压缩文件内容
tar -tzvf test.tar.gz 
-rw-r--r-- root/root     0 2010-05-24 16:51:59 a.c
//解压文件
tar -xzvf test.tar.gz 

5.2 zip

zip 命令用于压缩文件。

zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip

语法:

zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]

参数:

  • -A 调整可执行的自动解压缩文件。
  • -b<工作目录> 指定暂时存放文件的目录。
  • -c 替每个被压缩的文件加上注释。
  • -d 从压缩文件内删除指定的文件。
  • -D 压缩文件内不建立目录名称。
  • -f 更新现有的文件。
  • -F 尝试修复已损坏的压缩文件。
  • -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
  • -h 在线帮助。
  • -i<范本样式> 只压缩符合条件的文件。
  • -j 只保存文件名称及其内容,而不存放任何目录名称。
  • -J 删除压缩文件前面不必要的数据。
  • -k 使用MS-DOS兼容格式的文件名称。
  • -l 压缩文件时,把LF字符置换成LF+CR字符。
  • -ll 压缩文件时,把LF+CR字符置换成LF字符。
  • -L 显示版权信息。
  • -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
  • -n<字尾字符串> 不压缩具有特定字尾字符串的文件。
  • -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
  • -q 不显示指令执行过程。
  • -r 递归处理,将指定目录下的所有文件和子目录一并处理。
  • -S 包含系统和隐藏文件。
  • -t<日期时间> 把压缩文件的日期设成指定的日期。
  • -T 检查备份文件内的每个文件是否正确无误。
  • -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 显示指令执行过程或显示版本信息。
  • -V 保存VMS操作系统的文件属性。
  • -w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
  • -x<范本样式> 压缩时排除符合条件的文件。
  • -X 不保存额外的文件属性。
  • -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
  • -z 替压缩文件加上注释。
  • -$ 保存第一个被压缩文件所在磁盘的卷册名称。
  • -<压缩效率> 压缩效率是一个介于1-9的数值。

实例:

//将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
zip -q -r html.zip /home/html
//从压缩文件 cp.zip 中删除文件 a.c
zip -d cp.zip a.c

5.3 unzip

unzip命令用于解压缩zip文件

unzip为.zip压缩文件的解压缩程序

语法:

unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]

参数:

  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  • -f 更新现有的文件。
  • -l 显示压缩文件内所包含的文件。
  • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
  • -t 检查压缩文件是否正确。
  • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 执行时显示详细的信息。
  • -z 仅显示压缩文件的备注文字。
  • -a 对文本文件进行必要的字符转换。
  • -b 不要对文本文件进行字符转换。
  • -C 压缩文件中的文件名称区分大小写。
  • -j 不处理压缩文件中原有的目录路径。
  • -L 将压缩文件中的全部文件名改为小写。
  • -M 将输出结果送到more程序处理。
  • -n 解压缩时不要覆盖原有的文件。
  • -o 不必先询问用户,unzip执行后覆盖原有文件。
  • -P<密码> 使用zip的密码选项。
  • -q 执行时不显示任何信息。
  • -s 将文件名中的空白字符转换为底线字符。
  • -V 保留VMS的文件版本信息。
  • -X 解压缩时同时回存文件原来的UID/GID。
  • [.zip文件] 指定.zip压缩文件。
  • [文件] 指定要处理.zip压缩文件中的哪些文件。
  • -d<目录> 指定文件解压缩后所要存储的目录。
  • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
  • -Z unzip -Z等于执行zipinfo指令。

实例:

//查看压缩文件中包含的文件
unzip -l abc.zip 
Archive: abc.zip
 Length   Date  Time  Name
--------  ----  ----  ----
  94618 05-21-10 20:44  a11.jpg
  202001 05-21-10 20:44  a22.jpg
    16 05-22-10 15:01  11.txt
  46468 05-23-10 10:30  w456.JPG
  140085 03-14-10 21:49  my.asp
--------          -------
  483188          5 files
//-v 参数用于查看压缩文件目录信息,但是不解压该文件
unzip -v abc.zip 
Archive: abc.zip
Length  Method  Size Ratio  Date  Time  CRC-32  Name
-------- ------ ------- -----  ----  ----  ------  ----
  94618 Defl:N  93353  1% 05-21-10 20:44 9e661437 a11.jpg
 202001 Defl:N  201833  0% 05-21-10 20:44 1da462eb a22.jpg
   16 Stored    16  0% 05-22-10 15:01 ae8a9910 ? +-|+-? (11).txt
  46468 Defl:N  39997 14% 05-23-10 10:30 962861f2 w456.JPG
 140085 Defl:N  36765 74% 03-14-10 21:49 836fcc3f my.asp
--------     ------- ---              -------
 483188      371964 23%              5 files

6、其他

6.1 man

man 指令可以查阅 Linux 的联机手册

使用前说明,man指令需要提前安装使用

root下安装 man 指令:

yum intall -y man-pages
1

通过 sudo 来为普通用户安装(普通用户使用sudo):

sudo yum intall -y man-pages

语法:

man [查找手册] 命令

查找手册:

序号英文中文
1Executable programs or shell commands普通命令
2System calls (functions provided by the kernel)系统调用
3Library calls (functions within program libraries)(C语言)库函数
4Special files (usually found in /dev)特殊文件
5File formats and conventions, e.g. /etc/passwd文件格式
6Games游戏
7Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)附件和变量
8System administration commands (usually only for root)系统管理命令(通常为root使用)
9Kernel routines [Non standard]内核例程(非标准)

注:man 默认从1号手册开始查找 man 后的内容,按照手册顺序依次向后查找,找到就显示

实例:

//查找 printf 指令
man printf
//使用 man 在 3号手册(C语言库函数) 查找 printf
man 3 printf

6.2 echo

echo "字符串":可以把字符串打印到屏幕上

语法:

echo "字符串"——可以把字符串打印到屏幕上

echo "字符串" > 文件名——将字符串写入文件中,若文件不存在会创建文件,为输出重定向

注:每次重定向后,文件中的内容为最后一次重定向的结果。覆盖式写入(准备写入之前,先清空文件)

echo "字符串" >> 文件名——将字符串内容追加到文件中,为追加重定向

注:追加自带换行,不断向目标文件中新增内容

实例:

//输出 hello world
echo "hello world"
//重定向到text.txt中
echo "hello world" > text.txt
//追加重定向
echo "ME" >> text.txt
echo "MYSELF" >> text.txt
echo "AND I" >> text.txt

6.3 head & tail

6.3.1head

head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容

语法:

head [参数] [文件]

参数:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数。
  • -n<行数> 显示的行数。

实例:

//要显示 notes.log 文件的开头 10 行,请输入以下命令
head notes.log
//以上命令等价于 
head -n 10 notes.log
6.3.2 tail

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容

语法:

tail [参数] [文件]

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

实例:

//要显示 notes.log 文件的最后 10 行
tail notes.log
//跟踪名为 notes.log 的文件的增长情况
tail -f notes.log	//此命令显示文件的最后 10 行。当将某些行添加至文件时,tail 命令会继续显示这些行。 显示继续,直到按下(Ctrl-C)组合键停止

6.4 col

col命令用于过滤控制字符

语法:

col [-bfx][-l<缓冲区列数>]

参数:

  • -b 过滤掉所有的控制字符,包括RLF和HRLF
  • -f 滤除RLF字符,但允许将HRLF字符呈现出来
  • -x 以多个空格字符来表示跳格字符
  • -l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小

实例:

//下面以 man 命令帮助文档为例,讲解col 命令的使用。将man 命令的帮助文档保存为man_help,使用-b 参数过滤所有控制字符
man man | col-b > man_help
注:其中"|"用于建立管道,把man命令的输出结果转为col命令的输入数据

6.5 bc

bc 命令是任意精度计算器语言,通常在linux下当计算器用。

它类似基本的计算器, 使用这个计算器可以做基本的数学运算

语法:

bc(参数)(指定包含计算任务的文件)

选项:

  • -i:强制进入交互式模式;
  • -l:定义使用的标准数学库
  • -w:对POSIX bc的扩展给出警告信息;
  • -q:不打印正常的GNU bc环境信息;
  • -v:显示指令版本信息;
  • -h:显示指令的帮助信息。

bc的使用方法有两种:

  1. 直接输入bc,阻塞后就可直接计算,相当于计算器
  2. 使用管道连接输入与bc

实例:

//echo 将 1+2+3+4 输送到管道中,bc 直接取管道中的值进行计算
echo "1 + 2 + 3 + 4" | bc

6.6 history

用于显示历史记录和执行过的指令命令

当登录shell或者是退出的时候会自动进行读取和存储

语法:

history (选项)(参数)

参数:

n显示最近的n条记录
-a将历史命令缓冲区中命令写入历史命令文件中
-c将目前的shell中的所有 history 内容全部消除实际为假删除
-r将历史命令文件中的命令读入当前历史命令缓冲区
-w将当前历史命令缓冲区命令写入历史命令文件中
-d删除历史记录中指定的行

实例:

//获取历史记录的最新两条
history 2
//删除358行历史记录(这样可以有针对性的保留历史记录)
history -d 358
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值