linux常用命令

dd、cpio、mount、ps、df、du

一、dd
dd可以读取磁盘设备的内容(几乎是直接读取扇区),然后将整个设备备份成一个文件。

dd if="input file" of="output file" bs="block size" count="number" skip="number"
参数解析:
if :就是输入源(文件或者设备)
of :就是输出(文件或者设备)
bs :规划一个block的大小,若未指定,则默认是512bytes(一个扇区的大小)
count :多少个bs的意思,表示要读取多少个bs
skip :要跳过多少个bs,然后再开始读

binwalk -------- 可以用来查看一个文件的组成结构,有很多文件是由不同的文件类型的文件组合而来,我们可以通过这个命令查看组成本文件的文件类型
file ------- 查看一个文件的文件类型

二、cpio
cpio 可以从 cpio 或 tar 格式的归档包中存入和读取文件, 归档包是一种包含其他文件和有关信息的文件。 有关信息包括:文件名, 属主, 时标(timestamp), 和访问权限。 归档包可以是磁盘上的 其他文件, 也可以是磁带或管道。

cpio 有三种操作模式:

在copy-out模式中, cpio 把文件复制到归档包中。它从标准输入获得文件名列表 (一行一个)。默认 把归档包写到标准输出,因此 一般 重定向到 一个文件中。生成文件名列表的典型方法是使用find 命令; 你可能要在 find 后面用上 -depth选项, 减少因为进入没有访问权限的目录而引起的麻烦。
在copy-in模式中, cpio 从归档包里读取文件, 或者列出归档包里的内容。它从标准输入读入归档包。缺省情况下,cpio从标准输入读取输入数据,向标准输出写入输出数据。 
在copy-pass模式中, cpio把文件从一棵目录树复制到另一棵, 它结合了 copy-in 和 copy-out 的操作, 但不使用归档包。 cpio从标准输入读取欲复制的文件名列表; 目标目录作为非选项的命令行参数给出。

cpio支持下列的归档格式: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, 和 POSIX.1 tar。

cpio 的某些选项只能用在对应的操作模式上; 参见总览小节, 里面列出了什么选项可以用在什么模式上。

选项 (OPTIONS) 
-0, –null 在copy-out 和 copy-pass 模式中, 认为输入的文件名以 null字符结尾,而不是换行符, 这样即使文件名中包含换行符, 也不影响归档。 GNU find 是生成 null 结尾文件名列表的方法之一。 
-a, –reset-access-time 读取完文件后重置文件的访问时间, 这样看上去就象没被访问过一样。 
-A, –append 追加到已经存在的归档包中。仅用于 copy-out模式。该归档包必须是用 -O 或 -F (–file) 选项指定的磁盘文件。 
-b, –swap 在 copy-in 模式中, 颠倒数据中字中的半字和半字中的字节顺序。 相当于 -sS 使用这个选项,可以在大端数和小端数机器之间转换 32 位整数。 
-B 把 I/O 块大小设置成 5120 字节,最初的块大小是 512 字节。 
–block-size=BLOCK-SIZE 设置 I/O 块 大小 为 BLOCK-SIZE * 512 字节。 
-c 使用老式的跨平台 (ASCII) 归档格式。 
-C IO-SIZE, –io-size=IO-SIZE 设置 I/O 块大小为 IO-SIZE 字节。 
-d, –make-directories 在需要的地方创建开始目录。 
-E FILE, –pattern-file=FILE 在 copy-in 模式中, 从 FILE 中读取用于匹配文件名的模式串, FILE 中的内容就象 cpio 的非选项参数一样看待。 
-f, –nonmatching 只复制那些不匹配任何给定的模式串的文件。 
-F, –file=archive 使用归档文件名, 而不是标准输入或输出,此参数后边需要紧跟归档文件名。 
–force-local 和 -F, -I, 或 -O, 一起用, 即使文件名中含有一个冒号,也把归档文件看作本地文件, 一般说来冒号指出一个远程主机名字。 
-H FORMAT, –format=FORMAT使用归档格式 FORMAT。有效的格式在下面列出, 大小写均可. “copy-in” 模式的缺省动作是自动检测归档格式, “copy-out” 的缺省格式是 “bin”。 
   bin 老式的 binary 格式。 
   odc 老式的 (POSIX.1) 跨平台格式。 
   newc 新型 (SVR4) 跨平台格式, 支持大于 65536 i节点的文件系统,一般 制作 ramdisk 就用 这个 格式。 
   crc 新型 (SVR4) 跨平台格式, 并且计算校验和。 
   tar 老式的 tar 格式。 
   ustar POSIX.1 tar 格式, 也能识别 GNU tar 归档文件, 它们相似但不全相同。 
   hpbin HP UNIX 上的 cpio 使用的老式的 binary 格式。(用独特的方法储存设备文件) 
   hpodc HP UNIX 上的 cpio 使用的跨平台格式。 (用独特的方法储存设备文件)
-i, –extract 进入 copy-in 模式,也就是 解压。 
-I archive 使用归档文件名, 而不是标准输入。 如果把其他机器上的磁带机作成归档文件, 文件名要用 “HOSTNAME:” 开始。主机名前面可以加上用户名和一个 ‘@’, 作为 访问远程 磁带机的用户 (如果你有这样的权限, 一般在用户的 ~/.rhosts 文件中会有这么一项)。 
-k 无效操作; 只是用来兼容其他版本的 cpio。 
-l, –link 如果有可能, 连接文件, 而不是复制。 
-L, –dereference 解除符号连接的关联 (复制符号连接指向的 文件, 而不是连接本身)。 
-m, –preserve-modification-time 当创建文件时, 保留以前的文件修改时间。 
-M MESSAGE, –message=MESSAGE当备份介质(例如 磁带或软盘) 到达卷尾时, 显示一条消息, 提醒用户插入下一卷。如果 MESSAGE 包含字符串 “%d”, 它被替换成当前卷号 (从 1 开始)。 
-n, –numeric-uid-gid 以详细方式 (verbose) 显示内容时, 用数字显示 UID 和 GID, 而不是翻译成名称。 
–no-absolute-filenames 在copy-in模式中, 即使它们在归档包中有绝对路径名。也在当前目录中创建所有相关文件, 
–no-preserve-owner 在 copy-in 和 copy-pass 模式中, 不改变文件的属主关系 (译注: 疑为不保留); 使它们属于展开它们的用户。这是普通用户的缺省行为, 因此 System V 的用户不致于无意中把文件泄露(give away)。 
-o, –create 进入 copy-out 模式。 
-O archive 使用归档文件名, 而不是标准输出。 
–only-verify-crc 当在 copy-in 模式读入 CRC 格式的归档包时, 不展开里面的文件, 而只是测试文件的 CRC 码。 
-p, –pass-through 进入 copy-pass 模式。 
–quiet 不显示复制的块数。 
-r, –rename 交互式文件改名。 
-R [user][:.][group], –owner [user][:.][group] 在 copy-out 和 copy-pass 模式中, 把所有文件的属主设置为指定的用户和/或用户组。 无论用户还是用户组都必须存在。 如果省略用户组, 但是给出了分隔符 “:” 或 “。’, 则使用给定用户登录时的用户组。 只有超级用户能够改变文件的属主。 
–sparse 在 copy-out 和 copy-pass 模式中, 把大块数据 0 的文件写成稀疏文件 (sparse file)。 
-s, –swap-bytes 在 copy-in 模式中, 交换文件中每一个半字(字节对) 中的字节。 
-S, –swap-halfwords 在 copy-in 模式中, 交换文件中每一个字(4字节) 中的半字。 
-t, –list 显示输入归档包的内容,默认 把 内容 显示 到 屏幕。 
-u, –unconditional 替换所有文件, 不再提问是否用旧文件替换已经存在的新文件。 
-v, –verbose 列出处理的文件, 加上 -t 选项可以列出一个 ‘ls -l’ 风格的列表。在一个归档包内容的详细列表 (verbose) 中, 如果本地系统不存在归档文件的用户和用户组名称, 它们将被替换成其数字 UID和GID 对应于本地系统的用户和用户组名称。 
-V –dot 每处理一个文件, 显示一个 “.”。 
–version 显示 cpio 程序的版本号, 然后退出。

cpio -ovcB > [file|device]    <==备份
cpio -ivcdu < [file|device]    <==还原
cpio -ivct < [file|device]    <==查看

备份会使用到的参数:
-o :将数据copy输出到文件或设备上
-B :让默认的blocks可以增加至5120bytes,默认是512bytes。(这样的好处是可以让大文件的存储速度加快)

还原用到的参数:
-i :将数据自文件或者设备复制到系统中。
-d :自动新建目录。使用cpio所备份的数据内容不一定回在同一层目录,如果有新目录,-d可以自动创建
-u :自动将较新的文件覆盖较旧的文件
-t :需要配合-i参数,可用在查看以cpio新建的文件或设备的内容

一些可共享的参数:
-v :让存储的过程中文件名可以在屏幕上显示
-c :一种较新的portbale format 方式存储

实例:
备份boot分区。
find /boot | cpio -ocvB > /tmp/boot.cpio

file 文件名:
文件名:ASCII cpio archive (SVR4 with no CRC)  
这个就代表是cpio文件,可以用cpio进行解压。

三、mount
命令格式:mount [-t vfstype] [-o options] device dir 
其中: 
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 
光盘或光盘镜像:iso9660 
DOS fat16文件系统:msdos 
Windows 9x fat32文件系统:vfat 
Windows NT ntfs文件系统:ntfs 
Mount Windows文件网络共享:smbfs 
UNIX(LINUX) 文件网络共享:nfs 

2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有: 
loop:用来把一个文件当成硬盘分区挂接上系统 
ro:采用只读方式挂接设备 
rw:采用读写方式挂接设备 
iocharset:指定访问文件系统所用字符集 

3.device 要挂接(mount)的设备。 

4.dir设备在系统上的挂接点(mount point)。

5.可以用umount dir 命令来卸载文件系统。

四、ps
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
kill 命令用于杀死进程。
linux上进程有5种状态: 
1. 运行(正在运行或在运行队列中等待) 
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 
ps工具标识进程的5种状态码: 
D 不可中断 uninterruptible sleep (usually IO) 
R 运行 runnable (on run queue) 
S 中断 sleeping 
T 停止 traced or stopped 
Z 僵死 a defunct (”zombie”) process 
1.命令格式:
ps[参数]
2.命令功能:
用来显示当前进程的状态
3.命令参数:
a  显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c  显示进程的真实名称
-N 反向选择
-e 等于“-A”
e  显示环境变量
f  显示程序间的关系
-H 显示树状结构
r  显示当前终端的进程
T  显示当前终端的所有程序
u  指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程 
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示

实例5:将目前属于您自己这次登入的 PID 与相关信息列示出来
命令:ps -l
输出:
[root@localhost test6]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0 17398 17394  0  75   0 - 16543 wait   pts/0    00:00:00 bash
4 R     0 17469 17398  0  77   0 - 15877 -      pts/0    00:00:00 ps

说明:
各相关信息的意义:
F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
UID 程序被该 UID 所拥有
PID 就是这个程序的 ID !
PPID 则是其上级父程序的ID
C CPU 使用的资源百分比
PRI 这个是 Priority (优先执行序) 的缩写,详细后面介绍
NI 这个是 Nice 值,在下一小节我们会持续介绍
ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 所下达的指令为何
在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID 而已,所以, 当我使用 ps -l 的时候,只有三个 PID。

实例6:列出目前所有的正在内存当中的程序
命令:ps aux
输出:
[root@localhost test6]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  10368   676 ?        Ss   Nov02   0:00 init [3]                  
root         2  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   Nov02   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/1]
root         5  0.0  0.0      0     0 ?        SN   Nov02   0:00 [ksoftirqd/1]
root         6  0.0  0.0      0     0 ?        S<   Nov02  29:57 [events/0]
root         7  0.0  0.0      0     0 ?        S<   Nov02   0:00 [events/1]
root         8  0.0  0.0      0     0 ?        S<   Nov02   0:00 [khelper]
root        49  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kthread]
root        54  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kblockd/0]
root        55  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kblockd/1]
root        56  0.0  0.0      0     0 ?        S<   Nov02   0:00 [kacpid]
……省略部分结果

说明:
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令

五、df命令
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
1.命令格式:df [选项] [文件]
2.命令功能:
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示
3.命令参数:
必要参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型

选择参数:
--block-size=<区块大小> 指定区块大小
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
--help 显示帮助信息
--version 显示版本信息

4.使用实例:
实例1:显示磁盘使用情况
命令:df
输出:
[root@CT1190 log]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156 112797500  80413912  59% /opt
/dev/sda8              4956284    570080   4130372  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot
tmpfs                 16473212         0  16473212   0% /dev/shm

说明:
linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的挂载点。

实例2:以inode模式来显示磁盘使用情况
命令:df -i
输出:
[root@CT1190 log]# df -i
文件系统               Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/sda7            5124480    5560 5118920    1% /
/dev/sda9            52592640   50519 52542121    1% /opt
/dev/sda8            1280000    8799 1271201    1% /var
/dev/sda6            5124480   80163 5044317    2% /usr
/dev/sda3             255232      34  255198    1% /boot
tmpfs                4118303       1 4118302    1% /dev/shm


实例3:显示指定类型磁盘
命令:df -t ext3
输出:
[root@CT1190 log]# df -t ext3
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156  93089700 100121712  49% /opt
/dev/sda8              4956284    570104   4130348  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot

实例4:列出各文件系统的i节点使用情况
命令:df -ia
输出:
[root@CT1190 log]# df -ia
文件系统               Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/sda7            5124480    5560 5118920    1% 
/proc                       0       0       0    -  /proc
sysfs                      0       0       0    -  /sys
devpts                     0       0       0    -  /dev/pts
/dev/sda9            52592640   50519 52542121    1% /opt
/dev/sda8            1280000    8799 1271201    1% /var
/dev/sda6            5124480   80163 5044317    2% /usr
/dev/sda3             255232      34  255198    1% /boot
tmpfs                4118303       1 4118302    1% /dev/shm
none                       0       0       0    -  /proc/sys/fs/binfmt_misc

实例5:列出文件系统的类型
命令:df -T
输出:
root@CT1190 log]# df -T
文件系统      类型     1K-块        已用     可用 已用% 挂载点
/dev/sda7     ext3    19840892    890896  17925856   5% /
/dev/sda9     ext3   203727156  93175692 100035720  49% /opt
/dev/sda8     ext3     4956284    570104   4130348  13% /var
/dev/sda6     ext3    19840892   1977568  16839184  11% /usr
/dev/sda3     ext3      988116     23880    913232   3% /boot
tmpfs        tmpfs    16473212         0  16473212   0% /dev/shm

实例6:以更易读的方式显示目前磁盘空间和使用情况 
命令:df -h
输出:
[root@CT1190 log]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda7              19G  871M   18G   5% /
/dev/sda9             195G   89G   96G  49% /opt
/dev/sda8             4.8G  557M  4.0G  13% /var
/dev/sda6              19G  1.9G   17G  11% /usr
/dev/sda3             965M   24M  892M   3% /boot
tmpfs                  16G     0   16G   0% /dev/shm

[root@CT1190 log]# df -H
文件系统               容量   已用  可用 已用% 挂载点
/dev/sda7               21G   913M    19G   5% /
/dev/sda9              209G    96G   103G  49% /opt
/dev/sda8              5.1G   584M   4.3G  13% /var
/dev/sda6               21G   2.1G    18G  11% /usr
/dev/sda3              1.1G    25M   936M   3% /boot
tmpfs                   17G      0    17G   0% /dev/shm

[root@CT1190 log]# df -lh
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda7              19G  871M   18G   5% /
/dev/sda9             195G   89G   96G  49% /opt
/dev/sda8             4.8G  557M  4.0G  13% /var
/dev/sda6              19G  1.9G   17G  11% /usr
/dev/sda3             965M   24M  892M   3% /boot
tmpfs                  16G     0   16G   0% /dev/shm

[root@CT1190 log]# df -k
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156  93292572  99918840  49% /opt
/dev/sda8              4956284    570188   4130264  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot
tmpfs                 16473212         0  16473212   0% /dev/shm

说明:
-h更具目前磁盘空间和使用情况 以更易读的方式显示
-H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换
-k以单位显示磁盘的使用情况
-l显示本地的分区的磁盘空间使用率,如果服务器nfs了远程服务器的磁盘,那么在df上加上-l后系统显示的是过滤nsf驱动器后的结果
-i显示inode的使用情况。linux采用了类似指针的方式管理磁盘空间影射.这也是一个比较关键应用

六、du
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.
1.命令格式:du [选项][文件]
2.命令功能:显示每个文件和目录的磁盘使用空间。
3.命令参数:
-a或-all  显示目录中个别文件的大小。   
-b或-bytes  显示目录或文件大小时,以byte为单位。   
-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 
-k或--kilobytes  以KB(1024bytes)为单位输出。
-m或--megabytes  以MB为单位输出。   
-s或--summarize  仅显示总计,只列出最后加总的值。
-h或--human-readable  以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem  以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。   
-S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。 
-X<文件>或--exclude-from=<文件>  在<文件>指定目录或文件。   
--exclude=<目录或文件>         略过指定的目录或文件。    
-D或--dereference-args   显示指定符号链接的源文件大小。   
-H或--si  与-h参数相同,但是K,M,G是以1000为换算单位。   
-l或--count-links   重复计算硬件链接的文件。  

4.使用实例:
实例1:显示目录或者文件所占空间 
命令:du
输出:
[root@localhost test]# du
608     ./test6
308     ./test4
4       ./scf/lib
4       ./scf/service/deploy/product
4       ./scf/service/deploy/info
12      ./scf/service/deploy
16      ./scf/service
4       ./scf/doc
4       ./scf/bin
32      ./scf
8       ./test3
1288    .

[root@localhost test]#
说明:只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小
实例2:显示指定文件所占空间
命令:du log2012.log
输出:
[root@localhost test]# du log2012.log 
300     log2012.log

实例3:查看指定目录的所占空间
命令:du scf
输出:
[root@localhost test]# du scf
4       scf/lib
4       scf/service/deploy/product
4       scf/service/deploy/info
12      scf/service/deploy
16      scf/service
4       scf/doc
4       scf/bin
32      scf

实例4:显示多个文件所占空间
命令:du log30.tar.gz log31.tar.gz
输出:
[root@localhost test]# du log30.tar.gz log31.tar.gz 
4       log30.tar.gz
4       log31.tar.gz

实例5:只显示总和的大小
命令:du -s
输出:
[root@localhost test]# du -s
1288    .

[root@localhost test]# du -s scf
32      scf

[root@localhost soft]# du -s test
1288    test

实例6:方便阅读的格式显示
命令:du -h test
输出:
[root@localhost soft]# du -h test
608K    test/test6
308K    test/test4
4.0K    test/scf/lib
4.0K    test/scf/service/deploy/product
4.0K    test/scf/service/deploy/info
12K     test/scf/service/deploy
16K     test/scf/service
4.0K    test/scf/doc
4.0K    test/scf/bin
32K     test/scf
8.0K    test/test3
1.3M    test

实例7:文件和目录都显示
命令:du -ah test
输出:
[root@localhost soft]# du -ah test
4.0K    test/log31.tar.gz
4.0K    test/test13.tar.gz
0       test/linklog.log
0       test/test6/log2014.log
300K    test/test6/linklog.log
0       test/test6/log2015.log
4.0K    test/test6/log2013.log
300K    test/test6/log2012.log
0       test/test6/log2017.log
0       test/test6/log2016.log
608K    test/test6
0       test/log2015.log
0       test/test4/log2014.log
4.0K    test/test4/log2013.log
300K    test/test4/log2012.log
308K    test/test4
4.0K    test/scf/lib
4.0K    test/scf/service/deploy/product
4.0K    test/scf/service/deploy/info
12K     test/scf/service/deploy
16K     test/scf/service
4.0K    test/scf/doc
4.0K    test/scf/bin
32K     test/scf
4.0K    test/log2013.log
300K    test/log2012.log
0       test/log2017.log
0       test/log2016.log
4.0K    test/log30.tar.gz
4.0K    test/log.tar.bz2
4.0K    test/log.tar.gz
0       test/test3/log2014.log
4.0K    test/test3/log2013.log
8.0K    test/test3
4.0K    test/scf.tar.gz
1.3M    test

实例8:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
命令:du -c log30.tar.gz log31.tar.gz
输出:
[root@localhost test]# du -c log30.tar.gz log31.tar.gz 
4       log30.tar.gz
4       log31.tar.gz
8       总计

加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。

实例9:按照空间大小排序
命令:du|sort -nr|more
输出:
[root@localhost test]# du|sort -nr|more
1288    .
608     ./test6
308     ./test4
32      ./scf
16      ./scf/service
12      ./scf/service/deploy
8       ./test3
4       ./scf/service/deploy/product
4       ./scf/service/deploy/info
4       ./scf/lib
4       ./scf/doc
4       ./scf/bin

实例10:输出当前目录下各个子目录所使用的空间
命令:du -h  --max-depth=1
输出:
[root@localhost test]# du -h  --max-depth=1
608K    ./test6
308K    ./test4
32K     ./scf
8.0K    ./test3
1.3M    .

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页