下面这些指令是比较常用的,参考了一些文献整理出来的。
1、chattr&lsattr
1.1、chattr:改变文件属性
说明:
chattr命令的作用很大,和chmod相比,chmod知识改变文件的读写、执行权限,更底层的属性控制由chattr来改变的。通过chattr命令修改属性能够提高系统的安全性,但是他并不适合所有的目录。chattr不能保护:/、/dev、/tmp、/var目录。
命令:chattr [-RV] [-v version] [mode] file…
常用参数 :chattr的[mode]用来改变文件的属性,[mode]由”+-=”和”ASacDdIijsTtu”组成。
+:表示赋予权限
-:表示移除权限
=:更新为指定权限
A:文件或目录的atime不可被修改
S:硬盘同步,类似于sync
a:也就是append,设定后只能向文件中添加数据,不能删除。只能由root设定。
c:即compress,设定文件是否经过压缩后再存储,读取时需要经过自动解压。
d:即dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,也不能写入或新增内容。
s:保密性的删除文件或目录,即硬盘空间全部被回收。
u:与s相反,当设定为u时,数据其实还在硬盘空间内。
1.2、lsattr:显示文件的属性
命令:lsattr [-RVadv] [files…]
功能:显示文件的属性
2、dirname&basename
2.1、dirname:命令的作用是处理路径,以及获取路径的父目录,而且dirname不会检查路径是否合法。
命令:dirname [path | options]
功能:输出已经去出了尾部的”/”字符部分的名称,如果名称中不包含”/”,则显示”.”表示当前目录。
例:
2.2、basename:返回一个字符串的参数的基本文件名称。
命令:basename String [Suffix (后缀)]
功能:basename命令删除以”/”结尾的前缀以及任何指定的Suffix参数,并将剩余的基本文件名称写到标准输出。
例:
3、nl命令
n1:这个命令是在Linux系统中计算文件中行号。n1可以将输出的文件内容自动加上行号,n1可以将行号做比较多的显示设计。
命令:nl [选项]… [文件]…
常用参数:
-b a:表示不论是否是空行,都要显示列号。
-b t:表示如果有空行,则空行不输出列号。
-n ln:行号在屏幕的最左方显示。
-n rn:行号在最右方显示,不加0。
-n rz:行号在最右方显示,加0。
-w:行号所占用的位数。
-p:在逻辑定界符处不重新开始显示行号。
例:
4、od指令
od能够格式化的输出文件中的数据。我们常见的数据是文本文件和二进制文件,od命令主要是用来查看二进制文件中的值。
命令:od [参数] 文件
-A:指定地址基数,od命令的最左侧一列为偏移量。默认的偏移量使用8进制,可以用-A进行修改。格式:-Ad(十进制显示),-Ao(八进制显示),-Ax(十六进制显示),-An(不显示偏移量)。
-t:选择输出格式。格式:-t[acdfoux][size]
a:ASCII码对应的字符。
b:八进制表示对应的ASCII码值。
dsize:有符号数值,以size个字节为一组显示。
fsize :浮点数,以size个字节为一组 显示。
osize :八进制,以size个字节为一组 显示。
usize :无符号数,以size个字节为一组 显示。–ws
xsize :十六进制数,以size个字节为一组 显示。
-w:-w(size) 表示每行输出的宽度是size个字节
-j:-jnb表示跳过开头的n字节。-jnk表示跳过前n*1024个字节。
-N:用于限制输出字节数量,格式:-N n。
-v:不用*表示重复的输出
例:命令:od -Ax -td4 -w4 test
标示最左边地址以十六进制显示,内容以有符号数显示4字节为一组,每行4个字节。
5、file指令
file:识别文件的类型。
命令:file [-beLvz] [-f <文件名称>] [-m <魔法数字文件>] [文件或目录]
常用参数 :
-b:列出辨识结果,不显示文件名称。
-c:详细显示指令执行过程。
-f<名称文件>:指定名称文件,其内容有一个或多个文件名称,让file依序辨识这些文件,格式为每列一个文件名称。
-L:直接显示符号链接所指向的文件的类型。
-m<魔法数字文件>:指定魔法数字文件。
注:魔法数字,一般是指写到代码里面的整数常量,数值是编写者自己制定的,其他人不知道数值有什么具体意义。在file指令中,它能够根据文件中的魔数来判断文件类型,这比根据后缀来判断文件类型要靠谱一点。
-z:尝试去解读压缩文件的内容。
例:
6、bc指令
命令:bc
功能:进入计算器
7、sync指令
命令:sync
功能:sync命令用于强制被改写的内容like写入磁盘,更新超块信息。在linux中,在文件或数据处理过程中一般先放到内存缓冲区中,等到何时的时候再写入缓冲区中,以此来提高系统的运行效率,sync命令则可以用来强制将内存缓冲区中的数据立即写入磁盘。如果不去手动的输入sync命令来真正的去写磁盘,linux也会周期性的去sync数据。
8、uname指令
命令:uname [选项]
功能:
用来获取电脑和操作系统的相关信息。uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用参数 :
-a(或-all):详细输出所有信息,依次为内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型、操作系统名称。
-m(或-machine):显示主机的硬件(cpu)名。
-r(或release):显示linux操作系统内核版本号。
-s(或-sysname):显示linux内核名称。
例:
9、pwd指令
命令:pwd [选项]
功能:用来查看当前工作目录的完整路径。
常用参数:一般情况下是不带参数的,如果目录是连接时:pwd -P显示出实际路径,而非使用连接(link)路径。
例:
10、sort指令
命令:sort [-bcdfimMnr][-o 输出文件] [-t 分隔符] [+起始栏位 -结束栏位] [–help][–verison][文件]
功能:对文本内容进行排序。它可以针对文本内容,以行为单位来排序。
常用参数 :
-b:忽略每行开始处空格字符。
-c:检查文件时候已经按照顺序排序
-d:排序时只处理英文字母,数字及空格字符,忽略其他字符。
-f:排序时将小写字母看做大写字母。
-m:将几个排序好的文件进行合并。
-n:按照数值大小排序。
-r:以相反的顺序排序。
-o<输出文件>:将排序后的结果存入指定文件。
-t<分隔字符>:指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
例:
11、uniq指令
命令:uniq [选项] 文件
功能:去重。意思如果文件中有多个连续的重复的行,会去除第二个以及以后更多个重复行。
注意:去重之前要先对文件进行sort。
常用参数:
-c:显示输出中,在每行的行首加上本行在文件中出现的次数
-d:只显示重复的行。
-u:只显示不重复的各行。
例:
12、grep指令
grep(全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它使用正则表达式搜索文本,并把匹配的行打印出来。
命令:grep [-acinv] [–color=auto] ‘搜索字符串’ filename
参数:
-a:将
-c:计算找到’搜索字符串’的次数。
-i:忽略大小写不同
-n:同时输出行号
-v:显示没有’搜索字符串’内容的那一行
–color=auto:给找到的字符串加上颜色
例:
13、who命令
命令:who [-Himqsw] [–help] [–version] [ami] [记录文件]
功能:
显示目前登录系统的用户信息。执行这条命令可得知目前有哪些用户登入系统,单独执行who指令会列出登入账号,使用的终端机,登入时间以及从何处登入后正在使用哪个X显示器。
常用参数 :
-H(或–heading):显示各栏位的标题信息
-i(或-u或–idle):显示先知时间,若用户在前一分钟内有进行任何动作,则标识成”.”,如果用户已经24小时没有进行任何动作,则标示出”old”字符串。
-m:who -m相当于whoami,显示当前用户。
-q(或–count):只显示登入系统的账号和总人数。
例:
14、kill指令
命令:kill [参数] [进程号]
功能:
kill指令是用来终止指定的进程。通常终止一个前台进程可以使用Ctrl+c建,但是对于一个后台进程就必须用kill命令来终止,我们需要先用ps/pidof/pstree/top等工具获取进程的PID,然后使用kill命令来杀死该进程。kill指令是通过向进程发送指定的信号来结束相应进程。再默认情况下,采用编号为15的TERM信号,TERM信号将终止搜索不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行结束该进程。
发送指定的信号到相应进程:不指定型号将发送SIGTERM(15)终止进程。如果无法终止该进程可用”-KILL”参数,其发送的信号为SIGTERM(9),将强制结束进程。使用ps命令或jobs命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
15、diff指令
说明:
diff是linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到文件改动的地方。diff在命令行中打印每一行的改动,最新版本的diff还支持二进制文件。diff程序的输出被称为补丁(patch),因为linux系统中还有一个patch程序,可以根据diff的输出将a.c文件内容更新到b.c。diff是svn、cvs、Git等版本控制工具不可或缺的一部分。
命令:diff [参数] [文件1或目录1] [文件2或目录2]
功能:
diff命令能比较单个文件或者目录内容,如果指定比较的是文件,则只有当输入为文本文件是才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的时候,diff命令会比较两个目录下名字相同的文本文件,列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
常用参数:
-a(或–text):逐行比较文本
-b:不检查空格字符串
-B:不检查空白行
-c:显示全部内容,标出不同之处
-i(或–ignore-case):不区分大小写
例:
16、ps指令
命令:ps [options]
常用参数:
-A:列出所有的进程
-w:显示加宽可以显示较多的资讯
-au:显示较详细的资讯
-aux:显示所有包含其他使用者的进程