下面这些指令是比较经常使用的,参考了1些文献整理出来的。
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:返回1个字符串的参数的基本文件名称。
命令: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能够格式化的输出文件中的数据。我们常见的数据是文本文件和2进制文件,od命令主要是用来查看2进制文件中的值。
命令:od [参数] 文件
-A:指定地址基数,od命令的最左边1列为偏移量。默许的偏移量使用8进制,可以用-A进行修改。格式:-Ad(10进制显示),-Ao(8进制显示),-Ax(106进制显示),-An(不显示偏移量)。
-t:选择输出格式。格式:-t[acdfoux][size]
a:ASCII码对应的字符。
b:8进制表示对应的ASCII码值。
dsize:有符号数值,以size个字节为1组显示。
fsize :浮点数,以size个字节为1组 显示。
osize :8进制,以size个字节为1组 显示。
usize :无符号数,以size个字节为1组 显示。–ws
xsize :106进制数,以size个字节为1组 显示。
-w:-w(size) 表示每行输出的宽度是size个字节
-j:-jnb表示跳过开头的n字节。-jnk表示跳过前n*1024个字节。
-N:用于限制输出字节数量,格式:-N n。
-v:不用*表示重复的输出
例:命令:od -Ax -td4 -w4 test
标示最左侧地址以106进制显示,内容以有符号数显示4字节为1组,每行4个字节。
5、file指令
file:辨认文件的类型。
命令:file [-beLvz] [-f <文件名称>] [-m <魔法数字文件>] [文件或目录]
经常使用参数 :
-b:列出辨识结果,不显示文件名称。
-c:详细显示指令履行进程。
-f<名称文件>:指定名称文件,其内容有1个或多个文件名称,让file依序辨识这些文件,格式为每列1个文件名称。
-L:直接显示符号链接所指向的文件的类型。
-m<魔法数字文件>:指定魔法数字文件。
注:魔法数字,1般是指写到代码里面的整数常量,数值是编写者自己制定的,其他人不知道数值有甚么具体意义。在file指令中,它能够根据文件中的魔数来判断文件类型,这比根据后缀来判断文件类型要靠谱1点。
-z:尝试去解读紧缩文件的内容。
例:
6、bc指令
命令:bc
功能:进入计算器
7、sync指令
命令:sync
功能:sync命令用于强迫被改写的内容like写入磁盘,更新超块信息。在linux中,在文件或数据处理进程中1般先放到内存缓冲区中,等到什么时候的时候再写入缓冲区中,以此来提高系统的运行效力,sync命令则可以用来强迫将内存缓冲区中的数据立即写入磁盘。如果不去手动的输入sync命令来真实的去写磁盘,linux也会周期性的去sync数据。
8、uname指令
命令:uname [选项]
功能:
用来获得电脑和操作系统的相干信息。uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
经常使用参数 :
-a(或-all):详细输出所有信息,顺次为内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型、操作系统名称。
-m(或-machine):显示主机的硬件(cpu)名。
-r(或release):显示linux操作系统内核版本号。
-s(或-sysname):显示linux内核名称。
例:
9、pwd指令
命令:pwd [选项]
功能:用来查看当前工作目录的完全路径。
经常使用参数:1般情况下是不带参数的,如果目录是连接时:pwd -P显示出实际路径,而非使用连接(link)路径。
例:
10、sort指令
命令:sort [-bcdfimMnr][-o 输出文件] [-t 分隔符] [+起始栏位 -结束栏位] [–help][–verison][文件]
功能:对文本内容进行排序。它可以针对文本内容,以行动单位来排序。
经常使用参数 :
-b:疏忽每行开始处空格字符。
-c:检查文件时候已依照顺序排序
-d:排序时只处理英文字母,数字及空格字符,疏忽其他字符。
-f:排序时将小写字母看作大写字母。
-m:将几个排序好的文件进行合并。
-n:依照数值大小排序。
-r:以相反的顺序排序。
-o<输出文件>:将排序后的结果存入指定文件。
-t<分隔字符>:指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前1栏位。
例:
11、uniq指令
命令:uniq [选项] 文件
功能:去重。意思如果文件中有多个连续的重复的行,会去除第2个和以后更多个重复行。
注意:去重之前要先对文件进行sort。
经常使用参数:
-c:显示输出中,在每行的行首加上本行在文件中出现的次数
-d:只显示重复的行。
-u:只显示不重复的各行。
例:
12、grep指令
grep(全面搜索正则表达式并把行打印出来)是1种强大的文本搜索工具,它使用正则表达式搜索文本,并把匹配的行打印出来。
命令:grep [-acinv] [–color=auto] ‘搜索字符串’ filename
参数:
-a:将
-c:计算找到’搜索字符串’的次数。
-i:疏忽大小写不同
-n:同时输出行号
-v:显示没有’搜索字符串’内容的那1行
–color=auto:给找到的字符串加上色彩
例:
13、who命令
命令:who [-Himqsw] [–help] [–version] [ami] [记录文件]
功能:
显示目前登录系统的用户信息。履行这条命令可得知目前有哪些用户登入系统,单独履行who指令会列出登入账号,使用的终端机,登入时间和从何处登入后正在使用哪一个X显示器。
经常使用参数 :
-H(或–heading):显示各栏位的标题信息
-i(或-u或–idle):显示先知时间,若用户在前1分钟内有进行任何动作,则标识成”.”,如果用户已24小时没有进行任何动作,则标示出”old”字符串。
-m:who -m相当于whoami,显示当前用户。
-q(或–count):只显示登入系统的账号和总人数。
例:
14、kill指令
命令:kill [参数] [进程号]
功能:
kill指令是用来终止指定的进程。通常终止1个前台进程可使用Ctrl+c建,但是对1个后台进程就必须用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还支持2进制文件。diff程序的输出被称为补钉(patch),由于linux系统中还有1个patch程序,可以根据diff的输出将a.c文件内容更新到b.c。diff是svn、cvs、git等版本控制工具不可或缺的1部份。
命令:diff [参数] [文件1或目录1] [文件2或目录2]
功能:
diff命令能比较单个文件或目录内容,如果指定比较的是文件,则只有当输入为文本文件是才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的时候,diff命令会比较两个目录下名字相同的文本文件,列出不同的2进制文件、公共子目录和只在1个目录出现的文件。
经常使用参数:
-a(或–text):逐行比较文本
-b:不检查空格字符串
-B:不检查空白行
-c:显示全部内容,标出不同的地方
-i(或–ignore-case):不辨别大小写
例:
16、ps指令
命令:ps [options]
经常使用参数:
-A:列出所有的进程
-w:显示加宽可以显示较多的资讯
-au:显示较详细的资讯
-aux:显示所有包括其他使用者的进程