天天看点

linux命令之 df file fsck fuser

有很多人说,网上很多知识点都有了,为什么你还要在自己的博客中重复这些东西呢?

我想说的是,别人写的东西是别人理解的东西,同时也是别人学习过程的总结,对于自己来说,自己写自己的博客最主要的目的就是为了记录下自己的学习历程,同时对自己学的东西进行下总结,当过了一段时间后可以回头看看,自己曾经经历的,这也是一种学习,也是一种人生态度。

下面言归正传:继续介绍下linux的几个命令

df 磁盘管理命令

功能:检查文件系统的磁盘空间占用情况。获取磁盘空间的剩余空间和已使用空间。

语法:df [选项]

df命令可以显示所有文件系统对i节点和磁盘块的使用情况。

参数:

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统

-k 以k字节为单位显示

-i 显示i节点的信息,而不是磁盘块的

-t 显示各指定类型的文件系统的磁盘空间使用情况

-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)

-T 显示文件系统类型

df命令的输出清单:

Filesystem:代表文件系统对应的设备文件路径(即磁盘分区)

K -blocks:分区包含的数据块(1024字节)的数目

used:已使用数据块

available:未使用数据块

use%:普通用户空间使用百分比

Mounted on :所挂载的目录

说明:第三、四列的块数之和不等于第二列的总块数,这是因为缺省的每个分区都留了少量空间供系统管理员使用,即使普通用户空间已满,管理员仍能登录和留有解决问题所需的工作空间。

eg:列出文件系统i节点的使用情况

file 命令

功能: 辨识文件类型

语法: file [-beLvz] [-f <文件名称>] [-m <魔法数字文件>...] [文件或目录]

-b 列出辨识结果时,不显示文件名称

-c 详细显示指令执行过程,便于排错或者分析程序执行的情形

-f <名称文件> 指定名称文件,其内容有一个或多个文件名称,让file依序辨识这些文件,格式为每列一个文件名称

-L 直接显示符号连接所执行的文件的类型

-m <魔法数字文件> 指定魔法数字文件

-v 显示版本信息

-z 尝试去解读压缩文件的内容

fsck命令

功能:被用于检查并且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复。

语法:fsck [-aANPrRsTV][-t ][文件系统...]

-a 自动修复文件系统,不询问任何问题

-A 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。

-N 不执行指令,仅列出实际执行会进行的动作。

-P 匹配“-A”参数时使用,会同时检查所有的文件系统。

-r 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。

-R 当搭配"-A"参数使用时,会略过/目录的文件系统不予检查

-s 依序执行检查作业,而非同时执行。

-t 指定要检查的文件系统类型

-T 执行fsck指令时,不显示标题信息

-V 显示指令执行过程

eg:检查msdos档案系统的/dev/hda5是否正常,如果有异常便自动修复

运行fsck命令后产生的文件有什么用?

当执行fsck命令时,fsck命令如果发现存在孤立的文件或目录,这些孤立的文件或目录对于系统管理员或用户来说,无法访问到它,因为它与它的上级目录失去了关联,如果用户允许fsck重新把它们找回来的话,fsck命令就会把这些孤立的文件或目录放在文件系统的/lost+found目录下,并用各自的i-node号来命名,以便用户查找自己需要的文件。Lost+found目录通过它的英文含义我们都可以知道,它是一个失物认领处。因此当某个用户发现自己丢失了某个文件,可以在执行fsck之后到/lost+found目录下去查找,这时通过文件名已无法辨认出文件的作用,只能用file之类的命令来确定文件的类型,如果是数据文件,可以用more或vi命令来查看,如果是二进制文件,可以用dbx命令来调试或者试着执行它(注意它可能是一个具有破坏性的程序),知道文件或目录的作用之后,可以对其进行改名。

fuser命令

功能:识别出正在对某个文件或端口访问的进程。同时lsof也能够找出正在对指定文件访问的进程。区别在于fuser可以一次杀死那些正在访问指定文件的进程。

fuser命令列出了本地进程的进程号,哪些本地进程使用了file参数指定的文件或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。

列出的每个进程号后面都跟随一个字母,该字母指示进程如何使用文件

eg:

>c 指示进程的工作目录

>e 指示该文件为进程的可执行文件(即进程由该文件拉起)

>f 指示该文件被进程打开,默认情况下f字符不显示

>F 指示该文件被进程打开进行写入,默认情况下F字符不显示

>r 指示该文件为进程的根目录

>m 指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存

语法:fuser[-c|-d|-f][-k][-u][-x][-V]文件

参数:

-l 列出所有已知信号名

-a 显示命令行中指定的所有文件

-k 杀死访问指定文件的所有进程

-i 杀死进程前需要用户进行确认

-m 指定一个被加载的文件系统或一个被加载的块设备

-n 选择不同的名称空间

-u 在每个进程后显示所属的用户名

-V运行时显示详细处理信息

-c 显示包含file的文件系统中关于任何打开的文件

-d 暗示使用了-c和-x标志,显示任何与文件系统(自父目录删除的)无链接的打开的文件,当与-v一起使用时,也会报告被删除文件的节点号和大小。

-x 与-c和-f连用,显示除标准fuser输出以外的可执行的和可载入的对象

-f 仅显示对文件的打开实例

eg:

挂载usb设备并显示所属的用户

列出所有已知信号

杀死所有和root目录相关的进程

继续阅读