Linux基本功常见问题:Linux文件管理、VIM文件编辑器、Linux用户管理、Linux权限管理
Linux文件管理
问题1:rmdir删除目录提示Directory not empty
问题重现:
出现以上问题的主要原因在于rmdir只能用于删除空目录,出现
Directory not empty代表你将要删除的目录并不是空的。
解决方案:清空要删除的目录或直接使用rm -r进行删除即可
问题2:rmdir删除多级目录提示Device or resource busy
问题重现:
[[email protected] ~]# rmdir -p /mulu1/mulu2/mulu3
rmdir: failed to remove directory '/': Device or
resource busy
问题原因:出现以上问题的主要原因在于rmdir -p代表删除目录,系统默认会从右向左删除,首先删除mulu3,然后删除目录2,再删除mulu1,当mulu1删除完毕后,系统会尝试删除/斜杠根目录,又由于/根目录属于系统目录,内容存在大量文件。所以系统没办法移除,就会提示Device or resource busy。
解决方案:当我们需要删除根目录下的某个多级目录时,建议首先
通过cd切换到/根目录后,在执行rmdir -p操作
# cd /
# rmdir -p mulu1/mulu2/mulu3
问题3:find搜索加不加-type到底有啥区别呢?
普通搜索
[[email protected] ~]# find 指定路径 -name "搜索条件"
文件搜素
[[email protected] ~]# find 指定路径 -name "搜索条件" -type f
文件夹搜索
[[email protected] ~]# find 指定路径 -name "搜索条件" -type d
默认情况下,普通搜索是搜索指定路径下,满足搜索条件的所有文件,既包含文件也包含文件夹。添加-type的主要功能是缩小搜索范围:
-type f :仅搜索文件
-type d :仅搜索文件夹
一句话总结就是提升搜索效率
VIM文件编辑器
问题1:替换操作中,Trailing characters
答:正常情况下,vim编辑器文本替换操作通常使用:%s/要替换的关键词/替换后的关键词/g,如果在替换时,需要对某个路径
如/bin/bash统一替换为/sbin/nologin,怎么办?
错误演示:
# vim 某文件
:%s//bin/bash//sbin/nologin/g
运行结果如下图所示:
出现以上问题的主要原因在于,vim替换时遇到了特殊字符,如斜杠/。
解决方案:可以把分隔符斜杠/替换为#号
:%s#/bin/bash#/sbin/nologin#g
问题2:每次使用vim打开文件都提示Found a swap file
问题重现:
出现以上问题的主要原因在于我们在编辑文件时,可能没有经过保存就直接退出了。但是触发了vim的保护机制,把当时的状态保存在一个swap交换文件中。
解决方案:
# vim 某文件
:%s//bin/bash//sbin/nologin/g
:%s#/bin/bash#/sbin/nologin#g
① 数据比较重要,先按R(Recover)恢复文件,恢复后,正常保存
退出,然后手工删除交换文件
② 数据不是特别重要,直接按D(Delete it),删除交换文件即可
Linux用户管理
问题1:Linux用户和组到底是什么关系?
Linux操作系统就相当于(传智播客.黑马程序员),其是有多个 Linux用户组组成的,而系统中的每个Linux用户都是属于Linux用户 组的,这样就不乱了吧!
问题2:cannot remove the primary group of user 'itheima'
问题重现:
为什么只是一个简单的删除操作却不能成功呢?答:原因就在于如 果这个组是某个用户的主组,那这个组是不能被移除的。想移除必 须删除对应的用户,然后在移除这个对应的组。
Linux权限管理
问题1:常见Linux操作,都需要使用那些权限呢?
答:首先一定要记住一件事,在Linux系统中,我们删除文件并不是 说我们需要对这个文件设置什么权限,而是必须针对这个文件所在 目录设置wx权限!