linux常用命令,常用快捷键
来源:原创
时间:2017-05-09
作者:脚本小站
分类:Linux
ctrl + / 清楚当前行 ctrl + a 光标到行首 ctrl + e 光标到行尾 ctrl + d 删除光标所在字母 ctrl + u 删除光标前的内容 ctrl + k 删除光标后的内容 ctrl + left 向左跳一个单词 ctrl + right 向右跳一个单词 su - USERNAME 切换到其他目录 ls -h humen人性化显示 ls -A 显示隐藏文件,但不包括 . 和 .. ls -d 显示目录的自身属性 ls -i 显示文件的index node 索引节点号,Linux的每个文件都有一个 index node ls -R 递归显示(recursive)显示,子目录中的内容也会显示 cd ~username 切换到家目录,root用户才可以进其他用户的家目录 cd - 在前一个目录和当前目录来回切换 date 系统时间 clock 硬件时间 hwclock -w 将当前系统时间同步到硬件时间 hwclock -s 将硬件时间同步到系统 date 121614072016.24 修改时间,月日时分年.秒 export 修改字符集 获取命令帮助方法 内部命令: help COMMAND 外部命令: COMMAND --help 命令手册: man COMMAND 手册的介绍部分 1:用户命令 2:系统调用 3:库调用 4:特殊文件(设备文件) 5:文件格式 6:游戏 7:杂项 8:管理命令(/sbin /usr/sbin /usr/local/sbin) <> 必须的 [] 可选的 ... 多个 | 多选一 {} 分组 whartis COMMAND 查看命令章节 翻页 空格 下一页 b 上一页 回车 下一行 k 上一行 文本内搜索 /KEYWORD 自前像后 n 下一个搜索结果 N 上一个搜索结果 ?KEYWORD 自后向前 同上 文档位置 /usr/share/doc cal 日历命令 calendar,查看日历 cal 2016 查看2016年的日历 文件系统: /boot 系统启动相关文件 /dev 设备文件 /etc 配置文件 /home 普通用户家目录 /root 管理员家目录 /lib 库文件 静态库 动态库 .so(如windows的dll) /lib/modules /media 挂载点目录 /mnt 挂载点目录 /misc 杂项目录 /opt 可选目录 /proc 伪文件系统,内核映射文件 /sys 伪文件系统,跟硬件设备相关的属性映射文件 /tmp 临时文件 /var 可变化的文件 /bin 可执行文件 /sbin 管理命令 /usr shared read-only 全局共享的只读文件 /usr/bin 系统的指令 /usr/sbin 超级用户的指令 /usr/lib /usr/local/ 第三方软件安装目录 /usr/local/bin /usr/local/sbin /usr/local/lib mkdir -p 递归创建目录 mkdir -p /mnt/test/{x/y,y} 花括号展开,括号前面的路径公用 tree DIR 显示树状目录 rmdir 删除空目录 file 识别文件类型 type COMMAND 查看命令类型 stat FILE 查看文件的信息 touch -c FILE 只修改文件时间戳,文件不存在时不创建文件 加“\”使用原生命令而不是命令别名,如 \rm 删除文件就不会有提示信息 开机启动文件 /etc/rc.local service crond start 启动定时任务 /sbin/service crond start 启动定时任务 ntsysv 查看那些服务自启动 *表示开机启动项 cp -r DIR 递归复制目录 -f 强行复制 -i 有问题提示 -p 保持原有的属主,属组,权限,时间戳 -a 归档复制,常用于备份 cp /etc{a,b,c} /tmp 移动同一个目录下的多个文件 install -d 创建目录 源 目标 复制目录,复制后的文件有执行权限 查看文本命令: cat tac cat 链接并显示,将给的文本文件连接并显示 cat /etc/issue /etc/fstab 显示多个文件 cat -n 显示行号 cat -E 显示换行符 tac 倒着显示文件,最后一行作为第一行显示 more less more 不支持向上翻页 less 同man用法 head tail 查看前N行 查看后N行 -n 指定显示行数,n默认为10 head -n 20 显示前20行 head -20 显示前20行 tail 显示后几行,用法相同 tail -f 显示继续追加的内容,用于监控日志 文本处理 cut join sed awk cut -d 指定分割符 -f 指定风格的第几段 -f 1,3 一与三 -f 1-3 一到三 查看某文件有多少行 wc -l /etc/inittab | cut -d' ' <-f1></-f1> sort FILE 对文本中的内容进行排序,默认按升序排序 -n 对数值排序 -r 倒序排序 uniq 去除重复的内容 history 历史命令列表 -c 清楚命令列表 -d 删除指定位置命令 -w 保存命令历史至历史文件中,即家目录下面的.bash_history 环境变量 PATH 命令搜索路径 HISTSIZE 命令缓冲器大小,保存命令条数 SHELL 输出当前shell !n 执行命令历史中的第几条命令,n表示第几条 !-n 倒数第几条 !! 执行上一条命令 !string 执行命令历史中以string开头的命令 !$ 引用上一条命令的最后一条参数 按ESC 再按. 引用上一条命令的最后一条参数 alt + . 同上,但终端不支持 起别名 alias 查看当前系统定义的所有别名 alias 名称='命令+选项' 只是当前shell进程生效 unalias 名称 打印变量 echo "The current directory is $(pwd)"; 用 $(命令) 即可打印出命令 $(date +%F-%H-%M-%S) 或 用反引号 `命令` 文件名统配 * 匹配0~任意长度的任意字符 ? 匹配任意一个字符 [] 指定范围内的任意单个字符, [^] 取反,不包含括号里的 [:space:] 表示空白字符 [[:space:]]表示空白集合 [:punct:] 表示所有的标点符号 [:lower:] 所有的小写字母 [:upper:] 所有的大写字母 [:alpha:] 所有字母 [:digit:] 所有数字 [:alnum:] 数字和大小写字母 用户UID类型 管理员 0 普通用户 1-65535 系统用户 1-499 一般用户 500以上 md5sum FILE 获取某个文件的MD5值 which COMMAND 查看命令在什么位置 /etc/passwd 用户信息文件 /etc/shadow 密码文件 /etc/group 组文件 id [USERNAME] 查看用户的账号信息,默认查看当前用户、 -u 只看UID -g 只看GID -G 只看附加组 -Gn 显示名称,-un用户名,-gn组名称 -n表示显示名称 finger USERNAME 查看用户信息 用户管理 useradd userdel usermod passwd chsh chfn finger id chage 组管理 groupadd groupdel groupmod gpasswd 权限管理 chown chgrp chmod umask 添加用户 useradd USERNAME -u UID 为新创建的用户指定UID -g GROUPNAME 指定基本组 -G GROUPNAME 指定附加组,可以有多个 -c "string" 指定注释信息 -d HOME DIR 指定家目录 -s SHELL 指定shelll路径,必须在/etc/shells -m -k 创建家目录并复制基本文件/etc/skel -M 不创建家目录 -r 添加系统用户,系统用户不可登录与没有家目录UID小于500 /etc/logon.defs 创建用户的基本规则文件 passwd USERNAME 为用户修改密码 --stdin 通过标准输入来接收用户的密码,例: echo "" | passwd --stdin USERNAME -l 锁定账户 -u 解锁账户 -d 删除用户密码 pwck 检查账户的完整性 userdel USERNAME -r 同时删除家目录 usermod USERNAME 用法同useradd -u -g -G -a 同时使用-a追加新的附加组,-G覆盖此前的附加组 usermod -a -G GROUPNAME USERNAME 为用户添加附加组 -c -d -m 同时使用-m将此用户之前的文件复制到新的家目录 -s -m -M -l NAME 改登录名称 -L 锁定用户 -U 解锁用户 chsh USERNAME 修改用户shell ,change shell chfn USERNAME 修改用户注释信息 添加组 groupadd GROUPNAME -g GID 指点GID -r 添加系统组,系统组不可登录与没有家目录UID小于500 <groupmod></groupmod> -g GID 修改GID -n GROUPNAME 修改组名 groupdel GROUPNAME 删除组 gpasswd GROUPNAME 给组加密码 组密码是用户用newgrp命令临时切换组时所需要的组密码 chage 改变密码过期信息 change age -d 指定密码最近修改时间 -E 指定用户的过期(禁用)时间 -I 指定非活动时间,密码过期但尚未修改密码 -m 密码最短使用期限 -M 密码最长使用期限 -w 警告时长 用户组管理 chown USERNAME FILE/DIR,.. 改变文件或目录的所有者 -R 递归修改子目录或子文件 --reference FILE FILE2,FILE3 衣FILE为参考将FILE2,FILE3设置系统的属主属性 chown USERNAME.GROUPNAME FILE,.. 同时改变属主和属组 chown USERNAME:GROUPNAME FILE,.. chown .GROUPNAME FILE,.. 只该属组 -R 支持递归修改 chgrp GROUPNAME FILE/DIR,.. -R 递归修改 --reference FILE FILE2,FILE3 修改权限 chmod MODE FILE,... -R --reference FILE FILE2,FILE3 chmod u=rwx FILE chmod u=rwx,g=rw FILE chmod g=,uo=rwx FILE chmod a=rwx FILE a表示ugo chmod u-x FILE chmod u+x,g-x FILE chmod a-rx FILE chmod +x FILE bc 启动linux计算器 umask 022 修改umask bash全局配置文件 全局配置文件 /etc/profile /etc/profile.d/*.sh /etc/bashrc 个人配置 ~ 表示家目录 ~/.bash_profile ~/.bashrc profile类的文件 设定环境变量 运行命令或脚本 bashrc类的文件 设定本地变量 定义命令别名 登录式shell读取配置步骤 /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc 非登录式shell读取配置步骤 ~/.bash_profile --> /etc/bashrc --> /etc/profile.d/*.sh 输出重定向 > 覆盖输出 > 覆盖输入 >> 追加输出 >| 强置覆盖输出 2> 错误重定向覆盖输出 2>> 错误重定向追加输出 &> 正确错误都放一起 &>> 同理 set -C 禁止覆盖输出 set +C 开启追加输出 输入重定向 < 输入重定向 例:tr 'a-z' 'A-Z' < /etc/fstab << 此处生成文档 例: [root@qiyang ~]# cat <<EOF > this is word > EOF this is word 管道 | 管道 例: COMMAND | COMMAND | COMMAND 前一个命令的输出作为后一个命令的输入 echo "hello world" | tr 'a-z' 'A-Z' tee FILE 输出并保存至文件 wc -l 显示行数 -c 显示字节数 -w 显示字数 根据模式匹配文件 grep option pattern FILE 例 grep 'root' /etc/passwd -i 忽略大小写 --color 匹配到的显示颜色 -v 没匹配到的显示颜色 -o 只显示匹配到的内容 -E 使用扩展正则表达式 -A 数字 匹配到的行下面几行也显示 -B 数字 前面的两行 -C 数字 前后几行 正则表达式 . 任意单个字符 * 表示字符个数 ? \{1,2\}\ ^ $ ^$ 空白行 \< \<root 匹配以root开头 \> root\> 匹配以root结尾 例:\<root\> 匹配root单词 \(ab)\ 以ab作为一个整体 \1 \2 括号中的第几个元素 例:grep \(l..e\).*\1 test.txt 扩展正则表达式 \< \> 其他类似PHP正则 grep -E = egrep 声明变量 本地变量 作用域为整个bash进程 VARNAME=VALUE 局部变量 作用域为当前代码段 local VARNAME=VALUE 环境变量 作用域为当前shell进程及其子进程 export VARNAME=VALUE 位置变量 $1 $2 $3 ... 特殊变量 echo $? 输出上一个命令的执行状态返回值0表示成功 1-255表示不成功 撤销变量 unset VARNAME set 查看当前shell中的变量 查看当前shell中的环境变量 printenv env export 命令 $> /dev/null 不需要的东西都重定向到/dev/null里面 整数比较 -eq 等于 -ne 不等于 -gt 大于 -lt 小于 -ge 大于或等于 -le 小于或等于 [ $USERID -eq 0 ] && echo 'this is root' || echo 'This is common user' 判断语句 if ;then elif elif else fi 在linux中0为真 其他均为假 #!/bin/bash NAME=root if [ `id -u $NAME` -eq 0 ];then echo "root" else echo "common user" fi if id $NAME &> /dev/null ;then echo "id NAME 命令执行成功" fi 命令的结果=`ls -l` 命令的状态=ls -l shell中的算术运算 1. let C=$A+$B 2. C=$[$A+$B] 3. C=(($A+$B)) 4.空格不可去掉 C=`expr $A + $B` 强制退出命令 exit exit n n表示错误号 比较两值是否相等 [ $A -eq $B ] [[ $A -eq $B ]] test $A -eq $B 文件测试 -e FILE 测试文件是否存在 -f FILE 测试文件是否为普通文件 -d FILE 测试指定路径是否为目录 -r FILE 对当前用户是否可读 -w FILE 对当前用户是否可写 -x FILE 对当前用户是否可执行 使用方法 [ -e /etc/inittab ] 测试脚本是否有语法错误 bash -n FILE.sh -x 单步执行 $1,$2 位置变量 $# 参数的个数 $* 参数列表 $@ 参数列表 $1 表示在运行此脚本时要输入参数 #!/bin/bash USERNAME=root if [ -e $1 ] ;then echo "YES" else echo "NO" fi shift 轮替,每一个shift就会踢出第一个参数 shift n 一次踢掉n个 #!/bin/bash echo $1 shift 2 echo $1 shift echo $1 计算两个之和 #!/bin/bash if [ $# -lt 2 ];then echo "参数不够" fi echo "$1+$2的和为$[$1+$2]" echo "$1+$2的乘积为$[$1*$2]" sed数据流编辑器,不编辑源文件,输出编辑后的结果 sed 基本用法 sed [options] addressCommand FILE... -n 静默模式,不再显示模式空间中的内容 address 1. startline,endline 比如1,100,$表示最后一行,$-1,倒数第二行 2. regexp /^root/ 3. /pattern1/,/pattern2/ 处理两个正则中间的内容 4. lineNumber 指定的行 5. startline,+N 指定的行,向后N行 command d 删除 p 显示符合条件的行 a string 在指定的行后面追加新行 i string 在指定的行前面添加新行 r FILE 将指定文件添加到符合条件的行处 w FILE 将指定内容保存到某文件 sed '/oot/w /demo.txt' /etc/fstab s/pattern/string/g 将匹配到的替换为新字符 sed 's/root/ROOT' /etc/passwd g 全局替换 i 忽略大小写 使用示例: sed '1,2d' /etc/fstab 删除1到2行 字符串比较 [ $A = $B ] 等号两边要有空格,否则视为赋值 == 与 = 用法相同 != 不等号 > < -n string 测试字符串是否为空 -s string 测试字符串是否 不为空 循环 for 变量 in 列表; do 循环 done {1..100} 生成列表 seq [start [step]] end seq 1 2 100 从1开始每两个数输出一次,到100结束 declare -i SUM=0 声明一个变量为整形 vim常用命令 ZZ 保存并退出 w 向右移动到单词开头 e 向右移动到单词结尾 b 向左移动到单词开头 0 绝对行首 ^ 行首的第一个非空白字符 $ 绝对行尾 #G 跳转到第#行 G 跳转到最后一行 ctrl+f 上一页 ctrl+b 下一页 ctrl+d 下半页 ctrl+u 上半页 x 删除字符 #x 删除#个字符 d$ 删除到行尾 d0 删除到行首 dw 删除一个单词 3dw 删除3个字符 #dw,#de,#db dd 删除行 #dd 删除#行 :,$-2d 删除到倒数第二行 复制整行 p 粘贴到光标的下面 P 粘贴到下面 复制半行 p 粘贴到后面 P 粘贴到前面 c 用法同d,只是操作完后立即变为插入模式 r 替换字符 R 变输入边替换 u 撤销 #u 撤销#次 ctrl+r 恢复 . 重复前一次的操作 v 按字符选取 V 按行选取 n 下一个搜索到的词 N 上一个搜索到的词 查找并替换 line1,line2s/pattern/string/gi g表示全局,i表示不区分大小写 .,$/hello/HELO/gi “.”表示从当前行开始 % 表示全文查找并替换 vim打开多个文件切换方法 next prev last first qa 全部退出 分屏 ctrl+w s 水平拆分窗口 ctrl+w ↓ 切换到下面的窗口 vim -o FILE1 FILE2 分窗口显示多个文件 -O 垂直显示 将某段内容保存到其他文件 line1,line2w /path/to/somewhere 将其他文件中的内容填充到当前文件 r /path 编辑过程中切换到shell ! shellCommand 自动缩进 set autoindent 语法高亮 syntax on syntax off 配置文件 /etc/vimrc ~/.vimrc vim -r FILE 恢复中断的内容 文件查找 locate 基于数据库模糊查找 updatedb 手动生成文件数据库 find -name FILENAME 对文件名做精确查找 通配符 * find /etc -name "passwd*" [] -regex pattern 正则查找 -user username 查找某个用户的文件 find /tmp -user root -group groupname 根据组查找、 -uid uid 根据uid查找 -gid gid 根据gid查找 -nouser 查找没有属主的文件 -nogroup 查找没有属组的文件 -type 根据文件类型查找 f d find /tmp -type d c b l p s -size 根据文件大小查找 #k +1k 大于1k的 -1k小于1k的 #M find /tmp -size 1M 小于1M的都属于1M #G 组合条件 -a 与 -o 或 -not 非 天 -mtime 修改时间,配合+-使用,-表示之内,+之外 -ctime 改变时间 find /tmp -ctime 1 -atime 访问时间 分钟 -min -cmin -amin 根据权限查找 -perm MODE find /tmp -perm 644 -MODE 包含该权限的都能匹配到 "-"与关系 find ./ -perm -111 权限包含111的文件都能找到 /MODE 任何一个匹配就行 "/"或者关系 运作 -print 显示 find ./ -prem /007 -ls -ls就是显示 -ok COMMAND {} \; -ok与-exec的区别是-ok需呀确认 -exec COMMAND {} \; {}表示引用找到的文件 例 find ./ -perm -006 -exec chmod o-w {} \; fidn ./ -perm -020 -exec mv {} {}.new \; xargs find /etc -size +1M -exec echo {} >> /etc/file find /etc -size +1M | xargs echo >> /tmp/file 特殊权限 SUID 当文件有SUID时,运行这个文件时是以这个文件的所有者运行的,而不是启动程序的用户 chmod u+s FILE 为文件添加s权限 chmod u-s FILE 原来有x则显示“s”否则显示“S” SUID的作用是可以让普通用户在执行某命令时拥有root权限 SGID 以原有的所属组运行 chmod g+s FILE chmod g-s FILE 团队开发时可以在互相编辑对方的文件 sticky 在公共目录里面不可删除别人的文件 chmod o+t DIR chmod o-t DIR 文件系统访问列表 利用文件扩展保存额外的访问控制权限 setfacl -m 设定 u:USERNAME:权限 setfacl -m u:user1:rw FILE 设点文件用户facl g:GROUPNAME:权限 setfacl -m g:group1:rw FILE 设置文件组的facl -x 取消 setfacl -x u:user1 FILE 取消文件的facl 为目录设定访问控制列表 d:u:USERNAME:rw DIR d:g:GROUPNAME:rw DIR getfacl 终端类型 console 控制台 pty 物理终端 tty# 虚拟终端 ttys# 串行终端 pts/# 伪终端 who 查看登录的终端 -r 显示当前运行级别 w 显示登录的用户,与用户当前的操作 last 显示登录日志 still logged in 目前正在登录的用户 日志位置/var/log/wtmp last -n # 显示最近几次 lastb 用户错误登录尝试 日志位置/var/log/btmp lastb -n # lastlog 显示每一个用户最近一次成功登录的信息 -u USERNAME 显示特定用户最近登录的信息 basename 从一个路径中取出文件名 在脚本中使用 `basename $0` 显示当前脚本的名称 mail 查看邮件 hostname 显示当前主机的主机名 RANDOM 生成0-32768之间的随机数,echo $RANDOM 随机数生成数器 /dev/random /dev/urandom case语句 case SWITCH in value1) ... ;; value2) ... ;; *) ... ;; esac 磁盘管理 创建硬链接 ln 源文件 链接名 -s 创建软连接 -v 显示过程 硬链接 硬链接指向inode号 不能跨文件系统 不可应用于目录 文件会增加链接的次数 软连接 软连接指向路径字符串 能跨文件系统 可应用于目录 文件不会增加链接的次数 du DIR 显示目录下每一个目录的大小 -s 显示整个目录大小 -h 单位换算 df DIR 显示整个磁盘分区使用情况 -h 单位换算 -i index node 使用情况 -P 显示时不换行 设备文件 b 块设备,按块为单位,随机访问的设备 c 字符设备,按字符为单位,线性设备 b 硬盘 c 键盘 /dev 创建设备文件 mknod -m MODE 指定权限 mknod 设备名称 c 主设备号 次设备号 mknod mydev c 66 0 fdisk -l 列出当前磁盘上的所有分区 查看某个设备 fdisk -l /dev/sda1 管理磁盘分区 fdisk /dev/sda 创建磁盘分区 p 显示当前硬盘的分区,包括没保存的改动 n 创建新分区 e 扩展分区 p 主分区 d 删除分区 w 保存退出 q 不保存退出 t 修改分区类型 l 显示支持的类型 m 查看帮助 cat /proc/partitions 内核分区表 partprobe 让内核重读分区表 partx redhat 6 查看当前系统支持哪些文件系统 cat /proc/filesystems 创建文件系统(格式化) mkfs -t TYPE 例:mkfs -t ext3 /dev/sda5 mkfs -t ext2 = mkfs.ext2 mkfs -t ext3 = mkfs.ext3 专门管理ext系列文件 mke2fs -j 创建ext3类型文件系统 -b 指定 BLOCK_SIZE 默认4096 可选1024,2048,4096 -L 指定卷标 -m 指定预留给超级用户的块百分比 -i 指定inode大小 mke2fs -i 4096 /dev/sda3 -N 指定inode个数 -F 强制创建文件系统 -E 用户指定额外文件系统属性 blkid 查看磁盘的设备的相关属性 blkid /dev/sda5 UUID TYPE LABEL e2label 查看或定义卷标 e2label /dev/sda5 tune2fs 调整文件系统的相关属性 -j 不损坏原有数据升级文件系统,将ext2升级到ext3 -L 设定卷标 -m # 调整预留百分比 -r # 指定预留块数 -o 指定默认挂载选项 -c # 指定挂在次数#次进行自检 0或-1表示关闭此功能 -i # 每挂载使用多少天后进行自检,0或-1表示关闭此功能 -l 显示超级块中的信息 dumpe2fs 显示文件属性信息 -h 只显示超级块信息 fsck 检查并修复Linux文件系统 -t FSTYPE 指定文件系统 -a 自动修复,不询问 e2fsck 专用于修复ext2/ext3文件系统 e2fsck -f /dev/sda5 -f 强制检查 -p 自动修复 挂载:将新文件系统关联至当前根文件系统 卸载:将某文件系统与当前文件系统的关联关系移除 mount 挂载,查看已经挂载的设备 mount 设备 挂载点 设备: 设备文件: /dev/sda5 卷标: LABEL UUID: UUID 挂载点:目录 要求: 1.目录没有被其他进程使用 2.目录中的原有文件将会被暂时隐藏 挂载完成后,要通过挂载点访问对应文件系统上的文件 umount 卸载某文件系统 umount 设备/挂载点 注意: 要卸载的设备没有进程使用 mount [option] [-o options] DEVICE MOUNT_POINT -a 表示挂载 /etc/fstab 文件这种定义的所有文件系统 -n 默认情况下,mount命令每挂载一个设备都会把挂载的设备信息保存至/etc/mtab文件,使用-n表示不写入此文件 -t FSTYPE 指定正在挂载设备上的文件系统的类型,不适用则自动获取 -r 只读挂载 -w 读写挂载 -o 指定额外的挂载选项,也即指定文件系统启用的属性 remount 重新加载当前文件系统 ro 挂载为只读 rw 挂载为读写 mount -o loop FILE.iso /media 挂载本地iso文件 free 查看当前物理空间和交换内存的使用情况 -m 以兆为单位显示内存空间的大小 创建交换分区 mkswap /dev/sda8 -L LABEL指定卷标 swapon /dev/sda8 启用交换空间swap -a 启用所有的定义在/etc/fstab文件中的交换设备 swapoff /dev/sda8 关闭交换空间swap 复制数据流的方式复制文件(可以备份或还原MBR等) dd if=数据来源 of=数据存储目标 bs=字节 count=复制的的bs个数 seek=跳过去的空间大小 dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1 备份硬盘上的MBR dd if=/dev/usb/mbr.backup of=/dev/sda bs=512 count=1 还原硬盘上的MBR 文件系统的配置文件 /etc/fstab OS在初始化时,会自动挂载此文件中定义的每个文件系统