文件系统

文件和路径

  1. 命名规则:文件名的最大长度与文件系统类型有关,一般情况下,文件名不应该超过255个字符,虽然绝大多数的字符都可以用于文件名,但是最好使用英文大小写字母、数字、下划线、点这样的符号。文件名中虽然可以使用空格,但应该尽可能避免使用空格,否则在输入文件名时需要用将文件名放在双引号中或者通过\对空格进行转义。
  2. 扩展名:在Linux系统下文件的扩展名是可选的,但是使用扩展名有助于对文件内容的理解。有些应用程序要通过扩展名来识别文件,但是更多的应用程序并不依赖文件的扩展名,就像file命令在识别文件时并不是依据扩展名来判定文件的类型。
  3. 隐藏文件:以点开头的文件在Linux系统中是隐藏文件(不可见文件)。

目录结构

  1. /bin - 基本命令的二进制文件。
  2. /boot - 引导加载程序的静态文件。
  3. /dev - 设备文件。
  4. /etc - 配置文件。
  5. /home - 普通用户主目录的父目录。
  6. /lib - 共享库文件。
  7. /lib64 - 共享64位库文件。
  8. /lost+found - 存放未链接文件。
  9. /media - 自动识别设备的挂载目录。
  10. /mnt - 临时挂载文件系统的挂载点。
  11. /opt - 可选插件软件包安装位置。
  12. /proc - 内核和进程信息。
  13. /root - 超级管理员用户主目录。
  14. /run - 存放系统运行时需要的东西。
  15. /sbin - 超级用户的二进制文件。
  16. /sys - 设备的伪文件系统。
  17. /tmp - 临时文件夹。
  18. /usr - 用户应用目录。
  19. /var - 变量数据目录。

访问权限

  1. chmod - 改变文件模式比特。

    1. [root ~]# ls -l
    2. ...
    3. -rw-r--r-- 1 root root 211878 Jun 19 16:06 sohu.html
    4. ...
    5. [root ~]# chmod g+w,o+w sohu.html
    6. [root ~]# ls -l
    7. ...
    8. -rw-rw-rw- 1 root root 211878 Jun 19 16:06 sohu.html
    9. ...
    10. [root ~]# chmod 644 sohu.html
    11. [root ~]# ls -l
    12. ...
    13. -rw-r--r-- 1 root root 211878 Jun 19 16:06 sohu.html
    14. ...

    说明:通过上面的例子可以看出,用chmod改变文件模式比特有两种方式:一种是字符设定法,另一种是数字设定法。除了chmod之外,可以通过umask来设定哪些权限将在新文件的默认权限中被删除。

    长格式查看目录或文件时显示结果及其对应权限的数值如下表所示。

    文件系统 - 图1

  2. chown - 改变文件所有者。

    1. [root ~]# ls -l
    2. ...
    3. -rw-r--r-- 1 root root 54 Jun 20 10:06 readme.txt
    4. ...
    5. [root ~]# chown hellokitty readme.txt
    6. [root ~]# ls -l
    7. ...
    8. -rw-r--r-- 1 hellokitty root 54 Jun 20 10:06 readme.txt
    9. ...
  3. chgrp - 改变用户组。

磁盘管理

  1. 列出文件系统的磁盘使用状况 - df

    1. [root ~]# df -h
    2. Filesystem Size Used Avail Use% Mounted on
    3. /dev/vda1 40G 5.0G 33G 14% /
    4. devtmpfs 486M 0 486M 0% /dev
    5. tmpfs 497M 0 497M 0% /dev/shm
    6. tmpfs 497M 356K 496M 1% /run
    7. tmpfs 497M 0 497M 0% /sys/fs/cgroup
    8. tmpfs 100M 0 100M 0% /run/user/0
  2. 磁盘分区表操作 - fdisk

    1. [root ~]# fdisk -l
    2. Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    3. Units = sectors of 1 * 512 = 512 bytes
    4. Sector size (logical/physical): 512 bytes / 512 bytes
    5. I/O size (minimum/optimal): 512 bytes / 512 bytes
    6. Disk label type: dos
    7. Disk identifier: 0x000a42f4
    8. Device Boot Start End Blocks Id System
    9. /dev/vda1 * 2048 83884031 41940992 83 Linux
    10. Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    11. Units = sectors of 1 * 512 = 512 bytes
    12. Sector size (logical/physical): 512 bytes / 512 bytes
    13. I/O size (minimum/optimal): 512 bytes / 512 bytes
  3. 磁盘分区工具 - parted

  4. 格式化文件系统 - mkfs

    1. [root ~]# mkfs -t ext4 -v /dev/sdb
    • -t - 指定文件系统的类型。
    • -c - 创建文件系统时检查磁盘损坏情况。
    • -v - 显示详细信息。
  5. 文件系统检查 - fsck

  6. 转换或拷贝文件 - dd

  7. 挂载/卸载 - mount / umount

  8. 创建/激活/关闭交换分区 - mkswap / swapon / swapoff

说明:执行上面这些命令会带有一定的风险,如果不清楚这些命令的用法,最好不用随意使用,在使用的过程中,最好对照参考资料进行操作,并在操作前确认是否要这么做。