Linux 命令学习(1)-磁盘相关命令

[TOC]

记录我对于Linux的学习,从磁盘相关的命令开始:

ps:“~” 表示为 home 目录,“.” 则是表示目前所在的目录,“…” 则表示当前目录的上一层目录
-h 用人类可读的格式展示(G(千兆字节),M(兆字节),K(千字节)),大部分命令有这个参数

cd命令

cd 这个命令大家应该是经常用的,比如

1
2
3
4
#跳到自己的home目录
cd ~
#跳到当前目录的上一层
cd ..

当使用cd命令时,可以通过使用Tab键来查看当前目录下的文件

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

1
2
3
4
5
6
7
8
9
10
11
12
13
df
文件系统 1K-块 已用 可用 已用% 挂载点
udev 8111132 0 8111132 0% /dev
tmpfs 1632932 2264 1630668 1% /run
/dev/mapper/root_swap-lvroot 80589296 114424 76338120 1% /
#第一列指定文件系统的名称,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。已用、可用、挂载点顾名思义。

df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 2.3M 1.6G 1% /run
/dev/mapper/root_swap-lvroot 77G 112M 73G 1% /
# -h 用人类可读的格式展示(G(千兆字节),M(兆字节),K(千字节)),大部分命令有这个参数

dir与ls

dir 命令用于显示指定工作目录下之内容

ls 用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
常用的参数有:

  1. -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  2. -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)

dirs(不是dir)显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
dir  -al
total 104
dr-xr-xr-x. 22 root root 4096 Nov 25 2019 .
dr-xr-xr-x. 22 root root 4096 Nov 25 2019 ..
dr-xr-xr-x. 2 root root 4096 Sep 17 2019 bin
dr-xr-xr-x. 4 root root 4096 Apr 21 2016 boot
....
###
ls -al
total 104
dr-xr-xr-x. 22 root root 4096 Nov 25 2019 .
dr-xr-xr-x. 22 root root 4096 Nov 25 2019 ..
dr-xr-xr-x. 2 root root 4096 Sep 17 2019 bin
dr-xr-xr-x. 4 root root 4096 Apr 21 2016 boot
...

### 显示当前目录栈中的记录
dirs
/tmp

ps:关于ls与dir命令之间的关系,可以看这篇文章‘dir’和’ls’终端命令之间的区别?

mkdir与rmdir

mkdir 命令用于子目录,常用参数有:

  1. -p 确保目录名称存在,不存在的就建一个
  2. -v 打印每个创建的目录,最好与-p一起使用

rmdir 删除空的目录,常用的参数有:

  1. -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除副目录
  2. -v 打印每个删除的目录,最好与-p一起使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 没有-p参数,且父目录不存在,会报错
mkdir a/b
mkdir: 无法创建目录 “a/b”: 没有那个文件或目录

mkdir -pv a/b
mkdir: 已创建目录 'a'
mkdir: 已创建目录 'a/b'

# 不能删除非空目录
rmdir a
rmdir: 删除 'a' 失败: 目录非空
rmdir -pv a/b
rmdir: 正在删除目录 'a/b'
rmdir: 正在删除目录 'a'

du命令

du用于显示指定的目录或文件所占用的磁盘空间。
常用参数:

  • -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为单位。
  • -s或–summarize 仅显示总计。
  • –exclude=<目录或文件> 略过指定的目录或文件。
  • –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
du -h
16K ./build/redhat
24K ./build/android/bochs
32K ./build/android
1.3M ./build/macos
12K ./build/linux
392K ./build/win32/nsis
552K ./build/win32
404K ./build/macosx
2.3M ./build
...
91M .

## 显示所有目录或文件的总和
du -hc
16K ./build/redhat
24K ./build/android/bochs
32K ./build/android
1.3M ./build/macos
12K ./build/linux
392K ./build/win32/nsis
552K ./build/win32
404K ./build/macosx
2.3M ./build
...
91M .
91M 总用量

## 如果我们只想知道所有目录或文件的总和,使用如下命令
du -hs
91M .

mount与umount

mount 用于挂载Linux系统外的文件。
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
-a 安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
-r 讲文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t 指定设备的文件系统类型

umount 用于卸载挂在Linux目录中的文件系统。
-a 卸载/etc/mtab中记录的所有文件系统。
-h 显示帮助。
-n 卸除时不要将信息存入/etc/mtab文件中。
-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
-t<文件系统类型> 仅卸除选项中所指定的文件系统。
-v 执行时显示详细的信息。
-V 显示版本信息。

1
2
3
4
5
6
7
8
9
#将 /dev/hda1 挂在 /mnt 之下。
mount /dev/hda1 /mnt
#将 /dev/hda1 用只读模式挂在 /mnt 之下。
mount -o ro /dev/hda1 /mnt

#通过设备名卸载
umount /dev/hda1
#通过挂载点卸载
umount /mnt

ps:挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。