首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从/etc/fstab中读取除注释行以外的所有行,并打印其中未挂载的行。

从/etc/fstab中读取除注释行以外的所有行,并打印其中未挂载的行,可以通过以下步骤实现:

  1. 首先,了解/etc/fstab文件的作用和格式。/etc/fstab是Linux系统中的一个配置文件,用于定义系统启动时需要挂载的文件系统。每行包含了一个文件系统的相关信息,包括设备、挂载点、文件系统类型、挂载选项等。
  2. 使用编程语言(如Python)打开/etc/fstab文件,并逐行读取其中的内容。
  3. 对于每一行,判断是否为注释行。注释行以"#"开头,可以通过判断行首字符是否为"#"来进行判断。如果是注释行,则跳过该行。
  4. 对于非注释行,解析该行的内容。可以使用字符串分割等方法,将每行的内容分割成不同的字段。
  5. 判断该行是否已经挂载。可以通过判断第三个字段(挂载点)是否已经在系统中挂载来进行判断。可以使用Linux系统命令(如mount)或相关的系统调用来获取当前已挂载的文件系统信息。
  6. 如果该行未挂载,则将该行打印出来。可以使用标准输出函数将该行输出到终端。

以下是一个示例的Python代码实现:

代码语言:txt
复制
with open('/etc/fstab', 'r') as f:
    for line in f:
        line = line.strip()  # 去除行首尾的空白字符
        if line.startswith('#'):  # 判断是否为注释行
            continue
        fields = line.split()  # 分割行内容
        mount_point = fields[2]  # 获取挂载点
        # 判断挂载点是否已经挂载
        if not any(mount_point in m for m in os.popen('mount').read().split('\n')):
            print(line)

这段代码会逐行读取/etc/fstab文件的内容,判断是否为注释行,并判断挂载点是否已经挂载。如果挂载点未挂载,则将该行打印出来。

对于推荐的腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,这里无法给出具体的推荐。但是腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,可以根据具体需求在腾讯云官网上查找相关产品和文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux运维工程师面试-部分题库(答案版)

答: 开机步骤由a--h a、首先是bios加电自检、初始化,这个过程会检测相关硬件(cpu、内存、显卡、硬盘等),然后读取一个启动顺序,以硬盘为例,会读取硬盘MBR。...> /tmp/test.txt 2.给test.txt文件所有者之外增加执行权限,最终以数字写出文件权限。...答: a、把硬盘放进服务器连接 b、建立硬盘分区(通过fdisk命令) c、格式化分区 d、挂载分区(可写入到/etc/fatab,重启自动挂载) 2.有个金士顿U盘,需要往服务器/var/www...12.Linux内核引导时,哪个文件读取要加载文件系统。...答: /etc/fstab 13.写出下面服务常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服务。

3.8K20

Sed三剑客入门与进阶

Sed执行流程: 将要处理文本文件通过指定文本文件路径或者管道输入; 循环读取文本到模式空间,进行判断是否要被处理; 执行sed命令进行进一步处理缓冲区内容; 打印模式空间 / 清空模式空间...p 显示打印模板块。 P(大写) 打印模板块第一。 q 退出Sed。 b lable 分支到脚本带有标记地方,如果分支不存在则分支到脚本末尾。 r file file。...W file 写追加模板块第一到file末尾。 ! 表示后面的命令对所有没有被选定发生作用。 = 打印当前行号码。 # 把注释扩展到下一个换行符以前。.../p' file #打印第5开始到第一个包含以test开始之间所有: sed -n '5,/^test/p' file #对于模板test和west之间,每行末尾用字符串aaa bbb...文件读入:r命令 描述:file里内容被读进来,显示在与test匹配后面,如果匹配多行,则file内容将显示在所有匹配下面 #示例1.读取file文件到并且插入到查找到test字符串后面

3.1K10

Linux常用操作命令大全「建议收藏」

打印文件所有内容,包括行号 3.awk -F: '{print FNR,$0}' /etc/passwd /etc/hosts 4.awk -F: '{print $0,NF}' /data/test...有root关键字打印,如果root找到,除了输出所有,还会输出匹配 29.nl /data/test | sed -n '/root/p'...搜索/data/test有root关键字打印,如果root找到,只会输出匹配,使用-n时候将只打印包含模板。...注意卸载时一定要退出目录,不然无法进行卸载 7.5设置永久挂载(开机自动挂载) 因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件让它永久挂载 命令:vi(vim).../etc/fstab 在最后面增加:/dev/vdb1(磁盘分区) /data(挂载目录) xfs(文件格式)defaults 0 0 重启系统 命令:df -h –查看自动挂载成功 八、连接

3.1K30

Linux入门到精pao通lu

-o remount,acl /【重新挂载根分区,挂载加入acl权限】 ④.永久开启分区ACL权限 vim /etc/fstab【进入编辑模式,UUID=asdqq-qweqwe-qweqwe-qweqew-qweqwe2131123...1优先级比2高 ②.mount -a【依据配置文件/etc/fstab内容,自动挂载】 ③....,当再次读取时,不用读取硬盘而直接内存当中读取,加速了数据读取过程.....例如:[aoeiu]匹配任意一个元音字母,[0-9]匹配任意一位数字,[a-z][0-9]匹配小写字和一位数字结构两位字符. [^]:匹配括号字符以外任意一个字符.例如:[^0-9]匹配任意一位非数字字符...i:插入,在当期行前插入一或多行.插入多行时,最后一外,每行末尾需要用”\”代表数据未完结 d:删除,删除指定 p:打印,输出指定 s:字串替换,用一个字符串替换另外一个字符串.

1.9K51

Linux学习----文本三剑客——sed(马哥教育原创)

-r: 支持扩展正则表达式; -n: 静默模式; -e script1 -e script2 -e script3:指定多脚本运行; -f /path/to/script_file:指定文件读取脚本运行...,中间所有; #,+|-n:#开始,一直到向下n; first~step:指定起始行,以及步长; sed编辑命令 d: 删除模式空间中;sed ‘1,2d’ /etc/fstab =...; # sed ‘5,9w /tmp/test1.txt’ /etc/fstab #将fstab5-9写到test1.txt r /path/from/somefile:在文件指定位置插入另一个文件所有内容...-r: 支持扩展正则表达式; -n: 静默模式; -e script1 -e script2 -e script3:指定多脚本运行; -f /path/to/script_file:指定文件读取脚本运行...路径所指定文件; # sed ‘5,9w /tmp/test1.txt’ /etc/fstab #将fstab5-9写到test1.txt r /path/from/somefile:在文件指定位置插入另一个文件所有内容

1.4K30

Linux 文件系统表Fstab 是什么?

Fstab是内核在启动时用来挂载文件系统文件系统表,简而言之,您将在硬盘驱动器上创建一个或多个分区,并在 fstab 为每个分区创建一个条目,该条目将在引导时由内核读取自动挂载文件系统。.../etc/fstab 文件结构 Fstab 位于该/etc/目录并由 root 用户拥有,因此,您应该使用sudo特权或以root用户身份编辑文件。...每个文件系统都在单独上进行描述。每行字段由制表符或空格分隔。 让我们详细了解这六个参数。 1.文件系统 在 fstab 第一列,您需要指出要挂载分区。...安装选项 这是一个重要列,您将在其中传递文件系统挂载选项。有很多挂载选项可以使用。...当您运行 mount 命令而不传递任何参数时,它会打印已安装文件系统列表。 $ mount 目录还有一个名为mtab/etc/文件。当您查看时,它将与命令/etc/mtab输出完全相同。

5.6K30

RHCE培训笔记-5.1

3)本地光盘:将本地ISO关联到虚拟机光驱挂载到本地 首先先确保自己虚拟机光驱启动了 ? 临时挂载: ?...AppStream文件夹 存放扩展软件 BaseOS文件夹存放操作系统 卸载光盘: umount/mnt/iso 永久挂载:修改配置文件 /etc/fstab ?...它会去读取 /etc/fstab,将 /etc/fstab挂载数据,重新挂载一次 配置为yum仓库 三种方法,只有第三种为本地源,所以才需要将其配置为yum仓库 将本地 /mnt/iso(也就是前面挂载目录...其中, Packages 存放软件rpm文件 repodata 保存软件包与软件包、依赖关系数据库文件 配置: AppStream 和 BaseOS仓库 首先先去 /etc/yum.repos.d目录下...第一[]内容要对应文件夹名,且不能带空格,第二name就是随意了,第三 baseurl就是链接到你本地目录 输入完之后,保存退出 然后输入 yum repolist来使其生效 ?

43620

CentOS8安装配置NFS服务

最后一应该是不言自明。有关所有可用选项更多信息,请在终端中键入man exports。...要查看当前活动出口及其状态,请使用: sudo exportfs -v 输出将包括所有股票及其期权。如你所见,/etc/exports文件还有一些未定义选项。...使用mount或 df 命令验证是否成功安装了远程文件系统: df -h 该命令将打印所有已安装文件系统。...9.7G 1.2G 8.5G 13% /srv/www 要使安装在重新启动时永久存在,请打开/etc/fstab文件: sudo nano /etc/fstab 添加以下几行: /etc/fstab...例如,要卸载/backup共享,你可以运行: sudo umount /backups 如果在/etc/fstab文件定义了挂载点,请确保删除该行或通过在该行开头添加#将其注释掉。

1.6K21

linux学习--未整理命令

取得目录名 eg: dirname /etc/sys/network --> /etc/sys cat 由第一开始显示档案内容 tac 最后一开始显示,可以看出 tac 是 cat...开机挂载 /etc/fstab 及 /etc/mtab swap 建立交换空间 dd 新增文档 parted 分割2T以上分隔槽 压缩 *.Z :compress 程序压缩档案; *.gz...*.tar.bz2 : tar 程序打包癿档案,其中并且经过 bzip2 压缩 常见解压缩命令:compress已经退出潮流了, gzip和bzip2都是对目录没个档案分别进行压缩,整体的话需要用...,显示该行之后num, grep 20 -A 10 test.txt -B 除了显示匹配之外,显示该行之前num grep 30 -B 10 test.txt -C 除了显示匹配之外...,显示该行前后各num, grep 25 -C 5 test.txt echo {1..10} 1打印到10 {开始..结束} 输出字符序列或数字序列 eg: mkdir stu{

97430

Linux ssh 无法登录,循环登录:输入密码登录后闪一下又回登录界面

开机出现 pssswd ctrl + d 继续 解决: linux 磁盘挂载目录 /etc/fstab 挂载了不存在磁盘,需要注释掉后重新启动 2....Linux循环登录:输入密码登录后闪一下又回登录界面 root 密码登录返回登录界面: 解决:注释掉 /root/.bash_profile 文件所有内容 3. linux 命令 table 补全报错...,按e键修改 2.进入修改面板,有几行开头为:if else fi initrd16; 有两开头为:linux16 和 initrd16; 我们修改linux16 :.../etc/bashrc 注:放在家目录(3,4)下环境变量配置文件,只会对当前用户起作用;在/etc环境变量所有的用户都起作用; /etc/profile 首次登录,/.../etc/profile 设定变量(全局)可以作用于任何用户,而~/.bashrc等设定变量(局部)只能继承 /etc/profile 变量,他们是"父子"关 系。

5.8K00

Shell流程控制

while 循环经常会和 read 命令一起使用,read 是 Bash 内置命令,可用来读取文件,通常会按读取:每次读一。...结构开始运行,while 结构 read 命令标准输入读取,也就是管道读取数据,每次读取,因为管道中最初没有数据,所以 read 命令被阻塞处于数据等待状态。...当 cat 命令读完文件所有数据后,将数据放入到管道,于是 read 命令管道每次读取并将所读赋值给变量 line,然后执行循环体,然后继续循环,直到 read 读完所有数据,循环退出。...如果是直接文件读取,可使用输入重定向,如果是读取命令产生数据,可使用进程替换。...如果 return 用在 function 之外,但在 source 命令执行过程,则直接停止该执行操作,返回给定状态码 n(如果给定,则为 0)。

88500

从零开始学习Linux笔记

,acl / 重新挂载根分区,挂载加入acl权限 永久开启分区ACL权限 vim /etc/fstab 显示:UUID=59d9ca7b-4f39-4c0c-9334-c56c182076b5...查询系统已经挂载设备 mount -l 查询系统已经挂载设备并会显示卷标名称 mount –a 依据配置文件/etc/fstab内容,自动挂载 挂载命令格式 mount [-t 文件系统]...fstab文件修复 上一节说挂载操作在重启之后便会消失,每次重启都得重新挂载,使用我们需要把它写入系统挂载命令文件,每次开机都会自动扫描挂载,使用/etc/fstab文件,将挂载信息写入文件 /etc...^]” 匹配括号字符以外 任意一个字符 grep “^[^a-z]” test_rule.txt 匹配不用小写字母开头 grep “^[^a-z A-Z]” test_rule.txt...i : 插入,在当期行前插入一或多行。插入多行时,最后 一外,每行末尾需要用“\”代表数据未完结。 d: 删除,删除指定。 p:打印,输出指定

97421

【说站】Linux环境sed工具使用及工作原理

基础知识 - 编辑工具: 一处理文件内容,例如:sed - 全屏编辑工具:一次性将文件所有内容加载到内存,例如:vi、vim、nano sed编辑器: Stream Editor 工作原理...sed '' dir.sh #打印指定内容 sed -n '3p' /etc/passwd #需要使用-n关闭自动打印,因为如果使用了自动打印会输出所有内容,-p:打印匹配到内容 #打印出包含...root sed -n '/root/p' /etc/passwd #打印第三到第六内容: sed -n '3,6p' /etc/passwd #打印以r开头到以g开头中间那些 ...# sed -rn 's/^[^#]/#&/p' /etc/fstab  或 #sed -rn 's/^[^#](.*)/#/p' /etc/fstab #将#开头删除# #sed -ri.bak.../  net.ifnames=0"/p' #打印偶数 seq 10 | sed -n 'n;p' #n:读取下一  #比如首先读取是第一,因为有n,所以就以读到内容下一内容覆盖当前读到内容到模式空间

1.3K20

如何在 Ubuntu 18.04 上安装和配置 NFS 服务器

想要这么做,打开/etc/exports文件: sudo nano /etc/exports `/etc/exports`文件包含了注释,解释如何导出一个目录。...想要查看当前活跃导出和它们状态,使用: sudo exportfs -v 输出将会包含所有分享以及它们选项。就像你能看到,还有我们没有在/etc/exports文件定义选项。...验证远程文件系统是否成功挂载,使用df命令: df -h 这个命令将会打印所有挂载文件系统。最后两是被挂载分享: ......,打开/etc/fstab文件: sudo nano /etc/fstab 添加下面的: 192.168.33.10:/backups /backups nfs defaults,timeo=...例如,想要卸载/backup,你可以运行: sudo umount /backups 如果挂载点被定义在/etc/fstab文件,确保你移除了对应,或者使用#在行首进行了注释

14.5K23

Linux基础之正则表达式

给定字符串是否符合正则表达式过滤逻辑(称作“匹配”): 2. 可以通过正则表达式,字符串获取我们想要特定部分。...: 查看显示 /etc/fstab 文件以 # 注释开头: 这里也可以不加【】: -v 取反,即显示不以#注释,-o 选项为只显示匹配到字符串: 显示 /etc/fstab 文件非注释...,锚定首为 # 注释,取反: 显示 /etc/fstab 文件以#号开头,后面跟一个空格,后面为任意长度任意字符, -c 选项可以统计匹配到行数: 在 /tmp/fstab 文件中加入多个空白...,以#号开头,后面仅跟一个空格,且不以空白符结尾: 显示 /tmp/sshd_config 文件不以#注释、空白以及有空白字符: 显示 /etc/passwd 文件中用户名和用户SHELL.../etc 目录下以p开头不以数字结尾所有文件和目录: 显示 ip a 或者 ifconfig 命令IP地址,-E 选项为支持扩展正则表达式: -l 选项可以列出包含字符串文件列表: -w

1.1K20

linux 根分区空间去哪里了 ?记一次根分区满服务故障排查记录

排查思路 cd / && du -sh * 找占用 没有占用,找占用文件句柄 lsof | grep delete 重启大法试一试 解挂除根 和 /dev/shm 挂载点,然后 du...cd / && du -sh * 所有空间占用都不够10G,当然 /usr/ 这个目录例外,我已经挂载了独立分区 然后第二步,使用 lson -n | grep delete 没有可疑占用文件...最剩下最后一招,解挂/ 以外挂载注释/etc/fstab [1494415224329_9011_1494415225445.png] 手动解挂点 for loop in `seq 1 12...$loop && umount /data$loop/ done 然后 du -sh /* /data11 6.7G文件 /data2 600M /data12 600M 果不其然,被挂载目录给隐藏住...看/data11 目录下文件,是hadoop程序写入大量数据文件 推测是 /dev/sdl1 (/data11设备 ) 挂载前,datanode就已启动。

5.8K00
领券