Linux磁盘管理命令大全

1.cd命令

Linux cd命令用于切换当前工作目录至 dirName(目录参数)。

其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。

另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

语法

cd [dirName]
  • dirName:要切换的目标目录。

实例

跳到 /usr/bin/ :

cd /usr/bin

跳到自己的 home 目录 :

cd ~

跳到目前目录的上上两层 :

cd ../..

2.df命令

Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

扫描二维码关注公众号,回复: 1991362 查看本文章

语法

df [选项]... [FILE]...
  • 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
  • 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
  • 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
  • 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
  • 文件-k, --kilobytes 就像是 --block-size=1024
  • 文件-l, --local 限制列出的文件结构
  • 文件-m, --megabytes 就像 --block-size=1048576
  • 文件--no-sync 取得资讯前不 sync (预设值)
  • 文件-P, --portability 使用 POSIX 输出格式
  • 文件--sync 在取得资讯前 sync
  • 文件-t, --type=TYPE 限制列出文件系统的 TYPE
  • 文件-T, --print-type 显示文件系统的形式
  • 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
  • 文件-v (忽略)
  • 文件--help 显示这个帮手并且离开
  • 文件--version 输出版本资讯并且离开

实例

显示文件系统的磁盘使用情况统计:

# df 
Filesystem     1K-blocks    Used     Available Use% Mounted on 
/dev/sda6       29640780 4320704     23814388  16%     / 
udev             1536756       4     1536752    1%     /dev 
tmpfs             617620     888     616732     1%     /run 
none                5120       0     5120       0%     /run/lock 
none             1544044     156     1543888    1%     /run/shm 

第一列指定文件系统的名称,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。用和可用列正在使用中,分别指定的内存量。

使用列指定使用的内存的百分比,而最后一栏"安装在"指定的文件系统的挂载点。

df也可以显示磁盘使用的文件系统信息:

# df test 
Filesystem     1K-blocks    Used      Available Use% Mounted on 
/dev/sda6       29640780    4320600   23814492  16%       / 

用一个-i选项的df命令的输出显示inode信息而非块使用量。

df -i 
Filesystem      Inodes    IUsed    IFree     IUse% Mounted on 
/dev/sda6      1884160    261964   1622196   14%        / 
udev           212748     560      212188    1%         /dev 
tmpfs          216392     477      215915    1%         /run 
none           216392     3        216389    1%         /run/lock 
none           216392     8        216384    1%         /run/shm 

显示所有的信息:

# df --total 
Filesystem     1K-blocks    Used    Available Use% Mounted on 
/dev/sda6       29640780 4320720    23814372  16%     / 
udev             1536756       4    1536752   1%      /dev 
tmpfs             617620     892    616728    1%      /run 
none                5120       0    5120      0%      /run/lock 
none             1544044     156    1543888   1%      /run/shm 
total           33344320 4321772    27516860  14% 

我们看到输出的末尾,包含一个额外的行,显示总的每一列。

-h选项,通过它可以产生可读的格式df命令的输出:

# df -h 
Filesystem      Size  Used   Avail Use% Mounted on 
/dev/sda6       29G   4.2G   23G   16%     / 
udev            1.5G  4.0K   1.5G   1%     /dev 
tmpfs           604M  892K   603M   1%     /run 
none            5.0M     0   5.0M   0%     /run/lock 
none            1.5G  156K   1.5G   1%     /run/shm 

我们可以看到输出显示的数字形式的'G'(千兆字节),"M"(兆字节)和"K"(千字节)。

这使输出容易阅读和理解,从而使显示可读的。请注意,第二列的名称也发生了变化,为了使显示可读的"大小"。 

3.dirs命令

Linux dirs命令用于显示目录记录。

显示目录堆叠中的记录。

语法

dirs [+/-n -l]

参数

  • +n 显示从左边算起第n笔的目录。
  • -n 显示从右边算起第n笔的目录。
  • -l 显示目录完整的记录。

实例

列出"/home/cc/Ruijie"里所有内容的详细信息。可用如下命令。

dir -l /home/cc/Ruijie

下面是显示的内容:

$ dir -l /home/cc/Ruijie

总计2168

-rwxr-xr-x 1 cc cc  112876 2008-06-26 libpcap.so.0.6.2 -rwxr-xr-x 1 cc cc  737192 2008-06-26 libstdc++.so.5 -rwxr-xr-x 1 cc cc1938 2004-04-23 readme.txt

-rwxr-xr-x 1 cc cc 1350772 2005-08-31 xrgsu

4.du命令

Linux du命令用于显示目录或文件的大小。

du会显示指定的目录或文件所占用的磁盘空间。

语法

du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

参数说明

  • -a或-all 显示目录中个别文件的大小。
  • -b或-bytes 显示目录或文件大小时,以byte为单位。
  • -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -D或--dereference-args 显示指定符号连接的源文件大小。
  • -h或--human-readable 以K,M,G为单位,提高信息的可读性。
  • -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
  • -k或--kilobytes 以1024 bytes为单位。
  • -l或--count-links 重复计算硬件连接的文件。
  • -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
  • -m或--megabytes 以1MB为单位。
  • -s或--summarize 仅显示总计。
  • -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
  • -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  • -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
  • --exclude=<目录或文件> 略过指定的目录或文件。
  • --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
  • --help 显示帮助。
  • --version 显示版本信息。

实例

显示目录或者文件所占空间:

# 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    .

只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的1288为当前目录的总大小

显示指定文件所占空间

# du log2012.log 
300     log2012.log

方便阅读的格式显示test目录所占空间情况:

# 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

5.edquota命令

Linux edquota命令用于编辑用户或群组的磁盘配额。

edquota预设会使用vi来编辑使用者或群组的磁盘配额设置。

语法

edquota [-p <源用户名称>][-ug][用户或群组名称...]

edquota [-ug] -t

参数

  • -u 设置用户的磁盘配额,这是预设的参数。
  • -g 设置群组的磁盘配额。
  • -p<源用户名称> 将源用户的磁盘配额设置套用至其他用户或群组。
  • -t 设置宽限期限。

6.eject命令

Linux eject命令用于退出抽取式设备。

若设备已挂入,则eject会先将该设备卸除再退出。

语法

eject [-dfhnqrstv][-a <开关>][-c <光驱编号>][设备]

参数说明

  • [设备] 设备可以是驱动程序名称,也可以是挂入点。
  • -a<开关>或--auto<开关> 控制设备的自动退出功能。
  • -c<光驱编号>或--changerslut<光驱编号> 选择光驱柜中的光驱。
  • -d或--default 显示预设的设备,而不是实际执行动作。
  • -f或--floppy 退出抽取式磁盘。
  • -h或--help 显示帮助。
  • -n或--noop 显示指定的设备。
  • -q或--tape 退出磁带。
  • -r或--cdrom 退出光盘。
  • -s或--scsi 以SCSI指令来退出设备。
  • -t或--trayclose 关闭光盘的托盘。
  • -v或--verbose 执行时,显示详细的说明。

实例

# eject //不加参数默认弹出
# eject -r /dev/cdrom //指定设备

7.mcd命令

Linux mcd为mtools工具指令,可在MS-DOS文件系统中切换工作目录。若不加任何参数,则显示目前所在的磁盘与工作目录。

语法

mcd [msdosdirectory]

实例

变更目前工作目录到 a: emp 中。

mcd a: emp

传回目前工作目录。

mcd

8.mdeltree命令

Linux mdeltree命令可用来删除 MSDOS 格式档案及目录。

mdeltree 会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在,则会传回错误讯息。

语法

mdeltree [-v] msdosdirectory [msdosdirectories...]

参数说明

  • -v 显示更多的信息。

实例

将 A 磁盘根目录中的 msdosdir 目录以下的档案与目录都删除掉。

mcopy a:msdosdir

9.mdu命令

Linux mdu命令用于显示MS-DOS目录所占用的磁盘空间。

mdu为mstools工具指令,可显示MS-DOS文件系统中目录所占用的磁盘空间。

语法

mdu [-as][目录]

参数说明

  • -a 显示每个文件及整个目录所占用的空间。
  • -s 仅显示整个目录所占用的空间。

10.mkdir命令

Linux mkdir命令用于建立名称为 dirName 之子目录。

语法

mkdir [-p] dirName

参数说明

  • -p 确保目录名称存在,不存在的就建一个。

实例

在工作目录下,建立一个名为 AAA 的子目录 :

mkdir AAA

在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)

mkdir -p BBB/Test

11.mlabel命令

Linux mlabel命令用于设定磁盘的标签 (Label)。

如果磁盘上设定过标签,mlabel 会将他显示给使用者。如果没有指定新标签并且没有指定 c 或 s 选项,mlabel 会提示使用者输入新的标签。如果直接按下 Enter ,就会将原本的标签删除。

语法

mlabel [-vcs] drive:[new_label]

参数说明

  • -v 更多的讯息。
  • -c 清除原有的标签,不出现提示讯息。
  • -s 显示目前的标签,不出现提示讯息。

实例

将 A 盘的标签更改为 newlabel。

mlabel a:newlabel

12.mmd命令

Linux mmd命令用于在MS-DOS文件系统中建立目录。

mmd为mtools工具指令,模拟MS-DOS的md指令,可在MS-DOS的文件系统中建立目录。

语法

mmd [目录...]

13.mrd命令

Linux mrd命令用于删除MS-DOS文件系统中的目录。

mrd为mtools工具指令,模拟MS-DOS的rd指令,可删除MS-DOS的目录。

语法

mrd [目录...]

14.mzip命令

Linux mzip命令是Zip/Jaz磁盘驱动器控制指令。

mzip为mtools工具指令,可设置Zip或Jaz磁盘驱动区的保护模式以及执行退出磁盘的动作。

语法

mzip [-efpqruwx]

参数

  • -e 退出磁盘。
  • -f 与-e参数一并使用,不管是否已经挂入磁盘中的文件系统,一律强制退出磁盘。
  • -p 设置磁盘的写入密码。
  • -q 显示目前的状态。
  • -r 将磁盘设为防写状态。
  • -u 退出磁盘以前,暂时解除磁盘的保护状态。
  • -w 将磁盘设为可写入状态。
  • -x 设置磁盘的密码。

15.pwd命令

Linux pwd命令用于显示工作目录。

执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

语法

pwd [--help][--version]

参数说明:

  • --help 在线帮助。
  • --version 显示版本信息。

实例

查看当前所在目录:

# pwd
/root/test           #输出结果

16.quota命令

Linux quota命令用于显示磁盘已使用的空间与限制。

执行quota指令,可查询磁盘空间的限制,并得知已使用多少空间。

语法

quota [-quvV][用户名称...]  quota [-gqvV][群组名称...]

参数说明

  • -g 列出群组的磁盘空间限制。
  • -q 简明列表,只列出超过限制的部分。
  • -u 列出用户的磁盘空间限制。
  • -v 显示该用户或群组,在所有挂入系统的存储设备的空间限制。
  • -V 显示版本信息。

实例

# quota -guvs    <==显示目前执行者(就是 root )的 quota 值 
# quota -uvs test <==显示 test 这个使用者的 quota 值

17.mount命令

Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。

语法

mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir

参数说明:

  • -V:显示程序版本
  • -h:显示辅助讯息
  • -v:显示较讯息,通常和 -f 用来除错。
  • -a:将 /etc/fstab 中定义的所有档案系统挂上。
  • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
  • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
  • -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
  • -s-r:等于 -o ro
  • -w:等于 -o rw
  • -L:将含有特定标签的硬盘分割挂上。
  • -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
  • -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
  • -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
  • -o sync:在同步模式下执行。
  • -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
  • -o auto、-o noauto:打开/关闭自动挂上模式。
  • -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
  • -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
  • -o suid、-o nosuid:
  • 允许执行档在 root 权限下执行。
  • -o user、-o nouser:使用者可以执行 mount/umount 的动作。
  • -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
  • -o ro:用唯读模式挂上。
  • -o rw:用可读写模式挂上。
  • -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

实例

将 /dev/hda1 挂在 /mnt 之下。

#mount /dev/hda1 /mnt

将 /dev/hda1 用唯读模式挂在 /mnt 之下。

#mount -o ro /dev/hda1 /mnt

将 /tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom之下。用这种方法可以将一般网络上可以找到的 Linux 光 碟 ISO 档在不烧录成光碟的情况下检视其内容。

#mount -o loop /tmp/image.iso /mnt/cdrom

18.mmount命令

Linux mmount命令用于挂入MS-DOS文件系统。

mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内容挂入到Linux目录中。

语法

mmount [驱动器代号][mount参数]

参数

19.rmdir命令

Linux rmdir命令删除空的目录。

语法

rmdir [-p] dirName

参数

  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

实例

将工作目录下,名为 AAA 的子目录删除 :

rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

rmdir -p BBB/Test

20.rmt命令

Linux rmt命令通过进程间通信远程控制磁带机。

通过rmt指令,用户可通过IPC连线,远端操控磁带机的倾倒和还原操作。

语法

rmt

21.stat命令

Linux stat命令用于显示inode内容。

stat以文字的格式来显示inode的内容。

语法

stat [文件或目录]

实例

查看 testfile 文件的inode内容内容,可以用以下命令:

# stat testfile

执行以上命令输出结果:

# stat testfile                #输入命令
  File: `testfile'
  Size: 102             Blocks: 8          IO Block: 4096   regular file
Device: 807h/2055d      Inode: 1265161     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-08-13 14:07:20.000000000 +0800
Modify: 2014-08-13 14:07:07.000000000 +0800
Change: 2014-08-13 14:07:07.000000000 +080022

22.tree命令

Linux stat命令用于显示inode内容。

stat以文字的格式来显示inode的内容。

语法

stat [文件或目录]

实例

查看 testfile 文件的inode内容内容,可以用以下命令:

# stat testfile

执行以上命令输出结果:

# stat testfile                #输入命令
  File: `testfile'
  Size: 102             Blocks: 8          IO Block: 4096   regular file
Device: 807h/2055d      Inode: 1265161     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-08-13 14:07:20.000000000 +0800
Modify: 2014-08-13 14:07:07.000000000 +0800
Change: 2014-08-13 14:07:07.000000000 +0800

23.umount命令

Linux umount命令用于卸除文件系统。

umount可卸除目前挂在Linux目录中的文件系统。

语法

umount [-ahnrvV][-t <文件系统类型>][文件系统]

参数

  • -a 卸除/etc/mtab中记录的所有文件系统。
  • -h 显示帮助。
  • -n 卸除时不要将信息存入/etc/mtab文件中。
  • -r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
  • -t<文件系统类型> 仅卸除选项中所指定的文件系统。
  • -v 执行时显示详细的信息。
  • -V 显示版本信息。
  • [文件系统] 除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统。

实例

下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:

# umount -v /dev/sda1          通过设备名卸载  
/dev/sda1 umounted  
# umount -v /mnt/mymount/      通过挂载点卸载  
/tmp/diskboot.img umounted 

如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录:

# umount -v /mnt/mymount/  
umount: /mnt/mymount: device is busy  
umount: /mnt/mymount: device is busy 

24.ls命令

Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

语法

 ls [-alrtAFR] [name...]

参数 :

  • -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • -R 若目录下有文件,则以下之文件亦皆依序列出

实例

列出根目录(\)下的所有目录:

# ls /
bin               dev   lib         media  net   root     srv  upload  www
boot              etc   lib64       misc   opt   sbin     sys  usr
home  lost+found  mnt    proc  selinux  tmp  var

列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

ls -ltr s*

将 /bin 目录以下所有目录及文件详细资料列出 :

ls -lR /bin

列出目前工作目录下所有文件及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :

ls -AF

25.quotacheck命令

Linux quotacheck命令用于检查磁盘的使用空间与限制。

执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。

语法

quotacheck [-adgRuv][文件系统...]

参数

  • -a 扫描在/etc/fstab文件里,有加入quota设置的分区。
  • -d 详细显示指令执行过程,便于排错或了解程序执行的情形。
  • -g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
  • -R 排除根目录所在的分区。
  • -u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。
  • -v 显示指令执行过程。

26.quotaoff命令

Linux quotaoff命令关闭磁盘空间限制。

执行quotaoff指令可关闭用户和群组的磁盘空间限制。

语法

quotaoff [-aguv][文件系统...]

参数说明

  • -a 关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制。
  • -g 关闭群组的磁盘空间限制。
  • -u 关闭用户的磁盘空间限制。
  • -v 显示指令执行过程。

实例

关闭配额限制:

# quotaoff -a

27.lndir命令

Linux lndir命令用于连接目录内容。

执行lndir指令,可一口气把源目录底下的文件和子目录统统建立起相互对应的符号连接。

语法

lndir [-ignorelinks][-silent][源目录][目的目录]

参数

  • -ignorelinks 直接建立符号连接的符号连接。
  • -silent 不显示指令执行过程。

实例

给目录下所有的文件或者子文件目录建立链接:

lndir /home/uptech abc

28.repquota命令

Linux repquota命令用于检查磁盘空间限制的状态。

执行repquota指令,可报告磁盘空间限制的状况,清楚得知每位用户或每个群组已使用多少空间。

语法

repquota [-aguv][文件系统...]

参数说明

  • -a 列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组。
  • -g 列出所有群组的磁盘空间限制。
  • -u 列出所有用户的磁盘空间限制。
  • -v 显示该用户或群组的所有空间限制。

29.quotaon命令

Linux quotaon命令用于开启磁盘空间限制。

执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。

语法

quotaon [-aguv][文件系统...]

参数说明

  • -a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。
  • -g 开启群组的磁盘空间限制。
  • -u 开启用户的磁盘空间限制。
  • -v 显示指令指令执行过程。

猜你喜欢

转载自blog.csdn.net/buoujiang/article/details/80942874