# LinuxbaseCommands **Repository Path**: xiaoxinbupa/linuxbase ## Basic Information - **Project Name**: LinuxbaseCommands - **Description**: linux is a direct operating system - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-13 - **Last Updated**: 2024-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: 学习笔记 ## README typora-root-url: linux_base_picture typora-copy-images-to: linux_base_picture author: xiaoxinbupai mail:1569494071@qq.com # linux(Rocky_8)基础笔记 ## 命令 命令的完整格式: 命名 [选项] ... [参数1] [参数二]... 例如:使用【命令 --help】 查看命令对应的选项和参数 ![image-20240429093913427](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429093913427.png) ## Tab键自动补全 ls /(tab)(tab) 会显示根目录下的文件提示选择 ![image-20240429102557727](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429102557727.png) ## 快捷键 - CTRL + c :结束正在运行的命令 - **ESC + .** 或者 ALT + . :粘贴上一个命名的参数 - Ctrl + l :清屏幕 - Ctrl +u: 删除光标前的所有指令 - Ctrl +k: 删除光标后面的所有指令 - home 键和end键 从光标出快速移到行首or行尾 - Ctrl +w :往回删除一个单词,以空格界定 ## 家目录 ![image-20240429115602117](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429115602117.png) ![image-20240429115745144](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429115745144.png) ## * :任意多个字符 配合ls命令可以达到grep过滤的效果 ![image-20240429143831420](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429143831420.png) ![image-20240429143802473](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429143802473.png) ## ? :单个字符 ![image-20240429150054994](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429150054994.png) ## ! 用法: ![关键字] 执行历史命令中最近一条以关键字开头的历史命令 ![image-20240507094931953](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507094931953.png) ## [ a-z ]单匹配 :多个字符或连续范围中的==一个==,没有则忽略 ![image-20240429150154785](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429150154785.png) ## { a,min,xy}全匹配 :多组不同的字符窜,全匹配 ![image-20240429150207896](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429150207896.png) ## alias ### 取别名(暂时) 注意:别名如果与系统预留字段相同,则优先级比命令高 用法 alias 别名 ‘名称’ ![image-20240429150850339](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429150850339.png) 查看定义过的别名 alias +回车 ![image-20240429151217976](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429151217976.png) ### 撤销别名 【unalias + 别名】 ![image-20240429151650710](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429151650710.png) ### alias--永久取别名 在对应用户的家目录中的.bashrc 配置文件 ![image-20240507151032247](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507151032247.png) 加入alias hn=‘hostname’![image-20240507151123775](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507151123775.png) 关闭终端后,从新打开就生效 ![image-20240507151224935](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507151224935.png) ----------------------以上的配置只是针对单个用户---------------------- 可以在全局配置(/etc/bashrc)文件加入配置信息,对所有用户有效 ![image-20240507151627800](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507151627800.png) ![image-20240507151645508](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507151645508.png) ![image-20240507151716133](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507151716133.png) ## mkdir 指定要创建的目录列表,多个目录之间用空格隔开。 语法:mkdir (选项)(参数) 选项: ```shell -Z:设置安全上下文,当使用SELinux时有效; -m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限; -p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录; --version 显示版本信息。 ``` ## ln 生成软连接 -s 软连接特点:**源数据消失,快捷方式失效可以针对目录制作快捷方式,可以跨越分区** 生成硬链接 不加-s 硬连接特点:**源数据消失,快捷方式仍然有效,==不可以针对目录==制作快捷方式,不可以跨越分区** ```bash [root@A ~]# rm -rf /opt/* [root@A ~]# echo 123 > /opt/A.txt [root@A ~]# ln -s /opt/A.txt /opt/B.txt #软链接 [root@A ~]# ls /opt/ [root@A ~]# ln /opt/A.txt /opt/C.txt #硬链接 [root@A ~]# ls /opt/ [root@A ~]# cat /opt/B.txt [root@A ~]# cat /opt/C.txt [root@A ~]# ls -i /opt #查看硬盘存储i节点编号 [root@A ~]# rm -rf /opt/A.txt [root@A ~]# ls /opt/ [root@A ~]# cat /opt/B.txt #软链接失效 cat: /opt/B.txt: 没有那个文件或目录 [root@A ~]# cat /opt/C.txt #硬链接仍然有效 ``` ## cp :将源文件或目录复制到目标文件或目录中 语法:cp(选项)(参数) 选项: - -a:此参数的效果和同时指定"-dpR"参数相同; - -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; - -f:强行复制文件或目录,不论目标文件或目录是否已存在; - -i:覆盖既有文件之前先询问用户; - -l:对源文件建立硬连接,而非复制文件; - -p:保留源文件或目录的属性; - -R/r:递归处理,将指定目录下的所有文件与子目录一并处理; - -s:对源文件建立符号连接,而非复制文件; - -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件; - -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀; - -b:覆盖已存在的文件目标前将目标文件备份; - -v:详细显示命令执行的操作。 cp指令在linux中是有别名 cp=‘cp -i ’,-i:覆盖既有文件之前先询问用户。如果加了 \ 就忽略别名,不在有提示。 ![image-20240429162747829](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429162747829.png) ![image-20240429164435140](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240429164435140.png) 第一次 :\cp -r /boot /opt/myboot 是把boot复制到opt中,然后从新命名为myboot(因为opt中没有myboot) 第二次:\cp -r /boot /opt/myboot 是把boot复制到myboot(因为opt中有myboot) ## mv 用来对文件或目录重新命名 语法 ```shell mv(选项)(参数) ``` 选项 ```shell --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份; -b:当文件存在时,覆盖前,为其创建一个备份; -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。 --strip-trailing-slashes:删除源文件中的斜杠“/”; -S<后缀>:为备份文件指定后缀,而不使用默认的后缀; --target-directory=<目录>:指定源文件要移动到目标目录; -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。 ``` ## rm 用于删除给定的文件和目录 rm (选项)(参数) 补充说明 **rm** **命令** 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 **注意**:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。 **选项** ```shell -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; -f:强制删除文件或目录; -i:删除已有文件或目录之前先询问用户; -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理; --preserve-root:不对根目录进行递归操作; -v:显示指令的详细执行过程。 ``` **参数** 文件:指定被删除的文件列表,如果参数中含有目录,则必须加上`-r`或者`-R`选项。 实例 交互式删除当前目录下的文件test和example ```shell rm -i test example Remove test ?n(不删除文件test) Remove example ?y(删除文件example) ``` ## tar 压缩与解压缩 常见的压缩格式 1. gzip----.gz 特点: 压缩速度快,压缩比例较低 2. bzip2---.bz2 压缩速度一般,压缩比例一般 3. xz----.xz 特点: 速度慢,很适合摸鱼,但是压缩比例高 tar :集成备份工具,打包数据 格式【语法】 tar [选项...] /路径/压缩包名字 /路径/被归档压缩的数据...... 选项: -c:动作为创建压缩包(tar包) --create -f:指定压缩包名字 (必须在所有选项最后) ==-z、-j、-J:调用 .gz、.bz2、.xz 格式工具进行处理--单选== 【注: 红色字体是表示压缩包的意思】 ![image-20240430095629993](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430095629993.png) 解压缩 格式【语法】tar [选项] /路径/压缩包的名字 [选项] /释放路径 - -x:解包操作 - -t :查看 - -f:指定tar包名字 - -C:指定路径![image-20240430103419277](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430103419277.png) - -P 是以对绝路径归档,解压的时候会释放到原来的路径,--exclude是排除某个文件 ![image-20240605093031957](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240605093031957.png) ![image-20240605093103625](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240605093103625.png) ## zip zip归档工具,跨平台(window与linux) 格式【语法】zip -r 备份文件.zip -r 被归档的数据有目录,必须加上此选项 ![image-20240507175348134](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507175348134.png) 压缩/etc/passwd ![image-20240507175421748](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507175421748.png) ![image-20240507175458930](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507175458930.png) ![image-20240507175516311](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507175516311.png) ## history 显示历史列表、操作历史列表。 ```bash -c 清空历史列表。 -d offset 根据offset删除记录。如果是正数则表示offset位置的记录,如果为负数则表示从结尾向前offset位置的记录。 -a 将当前终端的历史记录行添加到历史记录文件。 -n 将尚未从历史文件中读取的历史行追加到当前历史列表中。 -r 读取历史文件,并将其内容附加到历史列表中。 -w 将当前历史记录列表附加到历史记录文件中并且附加它们到历史列表中。 -p 在每个arg上执行历史记录扩展并在标准输出上显示结果,而不将结果存储在历史记录列表中。 -s 将每个arg作为单个条目附加到历史记录列表。 ``` 使用history命令显示历史命令 ![image-20240509172149228](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240509172149228.png) history -c 清空==历史列表==后就不能通过上下键查找历史命令 history -w 将当前历史记录==列表==附加到==历史记录文件==中并且附加它们到历史列表中。 ## 重定向 ​ >:覆盖 >>追加 1>:写正确的 2>:写错误的 &>:全写 在Linux中,重定向是一种强大的功能,它允许你控制命令的输出或输入的方向。这主要通过特殊的符号和文件描述符(例如 `stdin`(0),`stdout`(1)和 `stderr`(2))来实现。 1. **标准输出重定向**: 使用 `>` 符号将命令的标准输出(通常是终端)重定向到文件。如果文件不存在,它将被创建;如果文件已存在,它的内容将被覆盖。 ```bash echo "Hello, World!" > output.txt ``` 使用 `>>` 符号将命令的标准输出追加到文件的末尾,而不是覆盖它。 ```bash echo "Another line" >> output.txt ``` 2. **标准错误重定向**: 默认情况下,标准错误(`stderr`)不会被 `>` 或 `>>` 重定向。要重定向标准错误,你需要使用 `2>` 或 `2>>`。 ```bash some_command 2> error.txt ``` 或者同时重定向标准输出和标准错误: ```bash some_command > output.txt 2>&1 ``` 这里 `2>&1` 的意思是将文件描述符2(标准错误)重定向到文件描述符1(标准输出)当前指向的位置,也就是 `output.txt`。 ---具体意思是将其标准输出和标准错误都写入 `output.txt` 文件。 3. **标准输入重定向**: 使用 `<` 符号将命令的标准输入重定向到文件。 ```bash cat < input.txt ``` 这实际上与 `cat input.txt` 是等效的,但 `<` 符号允许你更明确地看到输入重定向正在发生。 4. **/dev/null**: `/dev/null` 是一个特殊的文件,它会丢弃所有写入它的数据(就像一个黑洞)。你可以使用它来丢弃不需要的输出。 ```bash some_command 2>/dev/null ``` 这将丢弃 `some_command` 的标准错误输出。 5. **组合重定向**: 你可以组合使用这些重定向操作符来满足复杂的重定向需求。 ```bash some_command > output.txt 2> error.txt ``` 或者,如果你想要将标准输出和标准错误都重定向到同一个文件,但希望它们分开显示(例如,使用不同的前缀),你可以使用 `tee` 命令: ```bash bash复制代码 some_command 2>&1 | tee output_with_errors.txt ``` 或者,使用 `exec` 命令在脚本中永久地重定向某个文件描述符: ```bash exec 3> somefile echo "This goes to file descriptor 3" >&3 ``` 重定向是Linux shell编程和命令行操作中的关键概念,它允许你以灵活的方式控制数据的流向。 ## find 查找--递归式、只能查找硬盘的数据 格式【语法】: find 查找的路径 条件... 常用选项 - -type 类型查找(f-文件、d-目录、l-链接) - -name “文件名称” - -size +|- 文件大小(k、M、G) - -user 用户名 - -mtime 修改时间 ### -type 按类型查找 (应为是递归式查看,为了观看效果+|wc -l 来显示查找出来的数量) ![image-20240430141619357](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430141619357-1714966890453.png) ### 按用户名查找 注意:模糊查询的时候最好加上**‘ ’**或者 **“ ”** -name 前面加上i 表示忽视大小写 ![image-20240430142419219](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430142419219.png) ### 多条件使用 ![image-20240430143312226](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430143312226.png) ### -size 按文件大小来查找 找到/boot 目录中文件大小在10-50M之间的 ![image-20240430145634475](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430145634475.png) ### -user 按照用户名查找 (这里的用户字指的是文件所属者) ![image-20240430150748487](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430150748487.png) **/proc:内存的数据,不占用硬盘空间** ![image-20240430150808284](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430150808284.png) ### -mtime 按照数据的修改时间来查找 +90 #90天以前的数据,三个月之前 -10 #最近10天之内 /var是linux中数据产生最频繁的目录,需要按时维护 三个月之前的数据和10天之内的 ![image-20240430152044658](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430152044658.png) ### 补充:时间更加区分精确 -newermt #在此时间之后 ! -newermt #在此时间之前 ![image-20240430152514662](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430152514662.png) 在此时间之前(在2024-4-30 10点之前修改的所有文件) ![image-20240430153028162](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430153028162.png) 在一段时间之内(在今天10点到11点30范围内修改的时间) ![image-20240430152759359](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430152759359.png) ### find的高级使用 格式【语法】find [范围] [条件] **-exec** 处理命令 {} \; -exec额外操作的开始 { } :替代每一个查找结果 **\;** : 额外处理操作结束 ![image-20240430155519624](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430155519624.png) ![image-20240430161518646](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430161518646.png) ![i](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240430161604610.png) ## du 格式【语法】du [选项] 目录或在文件 [选项] ```bash -a, --all 显示目录中个别文件的大小。 -B, --block-size=大小 使用指定字节数的块 -b, --bytes 显示目录或文件大小时,以byte为单位。 -c, --total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。 -D, --dereference-args 显示指定符号链接的源文件大小。 -H, --si 与-h参数相同,但是K,M,G是以1000为换算单位。 -h, --human-readable 以K,M,G为单位,提高信息的可读性。 -k, --kilobytes 以KB(1024bytes)为单位输出。 -l, --count-links 重复计算硬件链接的文件。 -m, --megabytes 以MB为单位输出。 -L<符号链接>, --dereference<符号链接> 显示选项中所指定符号链接的源文件大小。 -P, --no-dereference 不跟随任何符号链接(默认) -0, --null 将每个空行视作0 字节而非换行符 -S, --separate-dirs 显示个别目录的大小时,并不含其子目录的大小。 -s, --summarize 仅显示总计,只列出最后加总的值。 -x, --one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>, --exclude-from=<文件> 在<文件>指定目录或文件。 --apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会小一些,但有时它会因为稀疏文件间的"洞"、内部碎片、非直接引用的块等原因而变大。 --files0-from=F 计算文件F中以NUL结尾的文件名对应占用的磁盘空间如果F的值是"-",则从标准输入读入文件名 --exclude=<目录或文件> 略过指定的目录或文件。 --max-depth=N 显示目录总计(与--all 一起使用计算文件)当N为指定数值时计算深度为N,等于0时等同--summarize --si 类似-h,但在计算时使用1000 为基底而非1024 --time 显示目录或该目录子目录下所有文件的最后修改时间 --time=WORD 显示WORD时间,而非修改时间:atime,access,use,ctime 或status --time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):full-iso,long-iso,iso,+FORMAT --help 显示此帮助信息并退出 --version 显示版本信息并退出 ``` du -sh [文件] #查看文件的大小 ![image-20240507090806359](https://gitee.com/xiaoxinbupa/linux-note/raw/master/linux_base_picture/image-20240507090806359.png) ## mount 1. 定义和用途 - mount命令是Linux下的一个命令,用于将外部设备或其他文件系统挂载到指定的挂载点上。 - 它可以将分区和目录联系起来,使得访问该目录就相当于访问该分区。 2. 基本语法 - mount [-选项] 设备名 挂载点 - mount -t 文件系统类型 [-选项] 设备名 挂载点 3. 常用选项 - `-a`:挂载/etc/fstab文件中定义的所有未挂载的文件系统。 - `-f`:不实际执行挂载操作,通常与-v一起使用来测试或调试挂载命令。 - `-h`:显示帮助信息。 - `-n`:不将挂载信息写入/etc/mtab文件。 - `-r`:以只读模式挂载文件系统。 - `-t vfstype`:指定文件系统的类型,如ext4、xfs、nfs、cifs等。 - `-o options`:设置挂载选项,如rw表示读写权限,noatime表示不更新文件的访问时间戳等。 4. 设备名和挂载点 - 设备名:要挂载的物理设备或远程资源的路径,如/dev/sda1或/server/share。 - 挂载点:挂载设备的本地目录,即你希望访问设备内容的位置,如/mnt/mydrive。 5. 在Windows系统中的应用 - mount命令在Windows系统下的含义是挂载文件到一个虚拟盘或一个虚拟文件夹中,通过访问这个虚拟盘或文件夹使用整个文件。 - mount命令在Windows系统中多用在虚拟光驱类软件上,如Clone CD、Daemon tool、WinMount等。 6. 支持的文件系统格式 - mount命令支持多种文件系统格式,包括但不限于ISO/IMG/VCD/nrg/mdf及mds/FCD/LCD/bin等光盘镜像格式,FLAC/APE/WV/WAVE等音频镜像格式,VHD/VMDK/VDI等虚拟机硬盘镜像格式,以及RAR/ZIP/MOU等压缩格式。 7. 示例 - 挂载USB设备:`mount /dev/sdb1 /mnt/usb` - 挂载ISO镜像:`mount /path/to/image.iso /mnt/iso -o loop` - 挂载NFS共享:`mount -t nfs server:/share /mnt/nfs` ## autofs **一、定义和用途** autofs是一个Linux守护进程,用于在用户需要访问某个文件系统时自动挂载它,并在用户不再需要时自动卸载它。它特别适用于动态性的文件系统,如NFS、SMB等,能够有效节约网络资源和服务器硬件资源。 **二、特点和优势** 1. **动态挂载**:当用户尝试访问一个尚未挂载的文件系统时,autofs会自动挂载它,无需用户手动操作。 2. **自动卸载**:如果某个已挂载的文件系统在一段时间内没有被使用,autofs会自动将其卸载,释放资源。 3. **节约资源**:由于只在需要时挂载文件系统,autofs能够显著减少网络资源和服务器硬件资源的浪费。 **三、安装和配置** **1.安装**:使用Linux的包管理器(如yum、apt等)可以方便地安装autofs。 ```bash # 例如,在基于RPM的系统中使用yum安装 yum install autofs ``` **2. 配置文件**:autofs的配置文件主要包括`/etc/auto.master`和相关的子配置文件(如`/etc/auto.misc`)。 - `/etc/auto.master`文件定义了挂接点、挂接时需使用的配置文件以及文件系统在空闲多长时间后自动被卸载等参数。 - 子配置文件则具体定义了要挂载的文件系统及其挂载选项。 **3. 配置示例**: - 在`/etc/auto.master`中添加一条规则,指定挂接点和子配置文件。 ```bash /mnt/auto /etc/auto.misc ``` - 在`/etc/auto.misc`中定义要挂载的文件系统---==子映射文件==。 ```bash data -fstype=nfs server:/export/data ``` 上述配置表示当访问`/mnt/auto/data`目录时,autofs会自动挂载`server1`上的`/export/data`目录,并使用NFS协议和指定的挂载选项。 **4.重启服务**:修改配置文件后,需要重启autofs服务以使更改生效。 ```bash systemctl restart autofs ``` **四、默认行为** 1. **自动挂载**:当用户尝试访问在autofs配置中定义的目录时,autofs会自动挂载相应的文件系统。 2. **自动卸载**:默认情况下,autofs在发现文件系统在一段时间内未被使用时(通常为300秒,但可以通过配置文件调整)会自动卸载它。 **五、注意事项** 1. **安全性**:在配置autofs时,需要确保相关的安全设置(如防火墙、SELinux等)不会阻止autofs的正常工作。 2. **权限**:确保autofs服务具有足够的权限来挂载和卸载文件系统。 3. **配置文件的正确性**:确保`/etc/auto.master`和子配置文件的语法和路径正确无误,以避免因配置错误导致的问题。 ### autofs补充--子映射格式 1. **基本格式** - `key [-options] location` 2. **各部分解释** - key - 对于间接挂载,`key` 是挂载点末级文件夹的名称。例如,如果挂载点是 `/mnt/auto/data`,那么 `key` 就是 `data`。 - 对于直接挂载,虽然不常见,但 `key` 可以是挂载点的全路径名。 - options - 这是可选的挂载选项列表,用于指定挂载时的特定行为或参数。 - 例如,`-fstype=nfs` 指定文件系统类型为NFS。 - 注意:options也可以在主配置文件`/etc/auto.master`中指定,如果两者都指定了,则它们会叠加(但具体行为可能会根据系统或autofs版本有所不同)。 - location - 指定了被挂载的文件系统的位置。 - 这通常是NFS卷,或者使用`host:pathname`的形式来指示要挂载的远程文件系统和路径。 - 如果要挂载的文件系统以`/`开头(例如`/dev`),则需要以`:`为前缀。