一、文件处理命令
1、file
作用:file通过探测文件内容判断文件类型,使用权限是所有用户
格式:file[options]文件名
[options]主要参数
-v:在标准输出后显示版本信息,并且退出
-z:探测压缩过的文件类型
-L:允许符合连接
-f name:从文件namefile中读取要分析的文件名列表
简单说明
使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件,还是Shell Script文件,或者是其他的什么格式。
file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件
应用实例
如果我们看到一个没有后缀的文件grap,可以使用下面命令:
$file grap
grap: English text
此时系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多美文件类型
2、diff
作用
diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户
格式
diff[options] 源文件 目标文件
[options]主要参数
-a: 将所有文件当作文本文件来处理
-b: 忽略空格造成的不同
-B: 忽略空行造成的不同
-c: 使用刚要输出格式
-H: 利用试探法加速对大文件的搜索
-I: 忽略大小写的变化
-n--res: 输出RCS格式
3、cmp
作用
cmp命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户
格式
cmp[options]文件名
[options]主要参数
- l: 将字节以十进制的方式输出,并方便讲两个文件中不同的以八进制的方式输出
4、cat
作用
cat命令用于连接并显示指定的一个和多个文件有关的信息,它的使用权限是所有用户
格式
cat[options]文件1 文件2........
[options]主要参数
-n: 由第一行开始对所有输出的行数编号
-b: 和-n相似,只不过对于空白行不编号
-s: 当遇到有连续两行以上的空白行是,就代换为一行的空白行
应用举例
cat命令一个最简单的用处是显示文本文件的内容。例如,我们想再命令行看一下README文件的内容,可以使用命令
$cat README
有事需要将几个文件处理成一个文件,并将这种处理的结果保存到另一个单独的输出文件。cat命令在其输入上接受一个
或多个文件,并将它们作为一个单独的文件打印到它的输出。例如,吧README和INSTALL的文件内容加上行号(空白
行不加)之后,将内容附加到一个新文本文件Fike1中:$cat README INSTAKK File1
cat还有一个重要的功能就是可以对行进行编号,例如,使用cat命令/etc/naed.conf文件进行编号。对行进编号功能有-b
(只能对非空白进行编号)和-n(可以对所有行进行编号)两个参数:$cat -b/etc/named.conf
5、mv
作用
mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户,该命令如同DOS命令中的ren和move的组合
格式
mv[options]源文件或目录目标文件或目录
[options]主要参数
-i: 交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这
样可以避免错误覆盖文件
-f: 进制交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用
应用实例
将/usr/cbu中的所有文件移到当前目录(用“”表示)中:
$mv/usr/cbu/*
将文件cjh.txt重命名为wjz.txt:
$mv cjh.txt wjz.txt
二、系统管理类
1、df
作用
df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户
格式
df[options]
主要参数
-s: 对每个Names参数只给出占用的数据块总数
-a: 递归地显示指定目录中各文件及子目录中各文件占用的数据模块,若既不指定-s。也不指定-a,则只显示Names中
的每一个目录及其各子目录所占的磁盘块数
-k: 以1024字节为单位列出磁盘空间使用情况
-x: 跳过在不同文件系统上的目录不予统计
-l: 计算所有的文件大小,对硬链接文件则计算多次
-i: 显示inode信息而非块使用量
-h: 以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB
-P: 使用POSIX输出格式
-T: 显示文件系统类型
说明
df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间
、目前的安装点等
应用实例
Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df-
T命令查看磁盘空间时还可以得到文件系统的信息
#df-T
2、top
作用
top命令用来显示执行中的程序进程,使用权限是所有用户
格式
top[-][d delay][q][c][S][s][i][n]
主要参数
d: 指定更新的间隔,以秒计算
q: 没有任何延迟的更新,如果使用者有超级用户,则top命令将会以最高的优先序执行。
c: 显示进程完整的路径与名称
S: 累计模式,会将已完成或消失的子行程的CPU实践累积起来
s: 安全模式
i: 不显示任何闲置(Idle)或无用(Zombie)的行程
n: 显示更新的次数,完成后将会退出top
3、quota
作用
quota命令用来显示键盘使用情况和限制情况,使用权限超级用户
格式
quota [-g][-u][-v][-p]用户名 组名
参数
-g: 显示用户所在组的磁盘使用限制
-u: 显示用户的磁盘使用限制
-v: 显示没有分配空间的文件系统的分配情况
-p: 显示简化信息
应用实例
要查询自己的磁盘配额可以使用表面命令(下例中用户账户时caojh)
#quota caojh
4、at
作用
at命令用来在指定时刻执行指定的命令序列
格式
at[-V][-qx][-f file][-m]time
主要参数
-V: 显示标准错误输出
-q: 许多队列输出
-f: 从文件中读取作业
-m: 执行完作业后发送电子邮件到用户
time: 设定作业执行的实践。time格式有严格的要求,由消失、分钟、日期和实践的便宜想组成,其中日期的格式为MM.
DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为时间+偏移量,单位是minutes、hour和days
应用实例
#at -f data 15:30+2 days
上面命令表示让系统在两天后的17:30执行文件data中指明的作业
5、crontab
作用
使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户
格式
crontab[ -u user] 文件
crontab[ -u user ]{-1|-r|-e}
主要参数
-e: 执行文字编辑器来设定时程表,内定的文字编辑器是vi
-r: 删除目前的时程表
-l: 列出米钱的时程表
crontab 文件的格式为“M H D m d cmd"。其中,M代表分钟(0-59),H代表小时(0-23),D代表天(1-31),m代表月
(1-12),d代表一星期内的天(0-6,0为星期天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、
HOME、SHELL三个环境变量
应用实例
设置一个定时、定期的系统提示:
[cao@www.cao]#crontab -c
这是系统会打开一个vi编辑器
如果输入以下内容:35 17**5wall"Tomorrow is Saturday I will go CS",然后存盘退出,这时在/var/spool/cron目录
下会生产一个cao的文件,这样每个星期五17:35系统就会弹出一个红缎,提醒星期六可以打开CS了!
三、系统安全类
1、umask
作用
umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。
它告诉系统在创建文件时不给谁生存期许可,使用权限是所有用户
格式
umask[-p][-S][mode]
参数
-S: 确定当前的umask设置
-p: 修改umask设置
[mode]: 修改数值
应用实例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问
该文件。这显然是一种非常安全的设置
2、chgrp
作用
chgrp表示修改一个或多个文件或目录所属的组,使用权限是超级用户
格式
chgrp[选项]...组 文件... 或 chgrp[选项]... -reference=参考文件 文件...将每个<文件>的所属组设定为<组>
参数
-c,-changes: 像 -verbose,但只在有更改是才显示结果
-dereference: 会影响符号链接所指示的对象,而非符号链接本身
-h,-no-dereference: 会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此
选项才有效)
-f,-silent,-quiet: 去除大部分的错误信息
-reference=参考文件:使用<参考文件>的所属值,而非指定的<组>
-R,-recursive: 递归处理所有的文件及子目录
-v,-verbose: 处理任何文件都会显示信息
应用实例
改变/opt/local/book及其子目录下的所有文件的属组为book,命令如下:
$chgrp-R book/opt/local/book
3、chown
作用
更改一个或多个文件或目录的属主和属组,使用权限是超级用户
格式
chown[选项]用户或组文件
主要参数
-dereference: 受影响的是符号链接所指示的对象,而非符号链接本身
-h,-no-dereference: 会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此
选项才有效)
-from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组,其中一个可以省略,
这已省略的属性就不需要符合原有的属性
-f,-silent,-quiet:去除大部分的错误信息
-R, -recursive: 递归处理所有的文件及子目录
-v,-verbose: 处理任何文件都会显示信息
应用实例
把文件shiyan.c的所有者改为wan
$chown wan shiyan.c
把目录/hi及其下的所有文件和子目录的属主改为wan,属组改为users
$chown -R wan users/hi
4、sudo
作用
sudo 是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令,权限是所有
用户
格式
sudo[-bhHpV][-s][-u<用户>][指令]
sudo[-klv]
主要参数
-b: 在后台执行命令
-h: 显示帮助
-H: 将HOME华宁变量设为新身份的HOME环境变量
-k: 结束密码的有效期,即下次将需要输入密码
-l: 列出当前用户可以使用的命令
-p: 改变询问密码的提示符号
-s: 执行指定的Shell
-u<用户>: 以指定的用户为新身份,不使用时默认为root
-v: 延长密码有效期5分钟
5、chattr
作用
修改ext2和ext3文件系统属性(attribute),使用权限超级用户
格式
chattr[-RV][-+=AacDdijsSu][-v version]文件或目录
主要参数
-R: 递归处理所有的文件及子目录
-V: 详细显示修改内容,并打印输出
-: 失效属性
+: 激活属性
=: 指定属性
应用实例
恢复/root目录,即子目录的所有文件
#chattr -R +u/root
用chattr命令放置系统红某个关键文件被修改
# chattr +i/etc/