如何在Linux中删除隐藏文件

时间:2020-01-09 10:43:13  来源:igfitidea点击:

如何在Linux中删除隐藏文件?
如何在Linux中以开头的隐藏文件。

说明:Linux和Unix之类的操作系统允许用户隐藏文件。
缺省情况下,ls命令未列出所有隐藏文件。
任何以点(。
)开头的文件名都将成为隐藏文件。
例如~/.bashrc是Linux中的隐藏文件。
隐藏文件通常称为点文件。
在Linux上用于存储用户首选项的所有点文件。
请注意,隐藏文件或者点文件不是安全机制。
它们的存在是为了减少目录列表内容的混乱。

如何在Linux中显示隐藏/点文件

通过将-a选项传递给ls命令来显示隐藏文件。
例如:

ls -a
ls -la
ls -l /path/to/.filename

您可以在Linux中的目录名称后添加/:

ls -F
ls -Fa

可以得到一个反向列表:

ls -r
ls -ra

要仅在Linux中显示点/隐藏文件,请使用以下任一命令以及grep命令/egrep命令:

ls -a | egrep '^\.'
ls -A | egrep '^\.'
ls -l ~/.[^.]* | less
ls -ld ~/.[^.]*
ls -l ~/.??*
ls -ld ~/.??*

有关更多信息,请参见Linux/Unix:以递归方式查找和列出所有隐藏文件。

在Linux中删除隐藏文件的命令

要在Linux中删除隐藏文件,请尝试:

rm .file
rm -i /path/to/.fileName
rm -i /path/to/.dirName
rm -rf /path/to/dir/.*

当然,您不能删除两个单独的目录:

  • ``.`当前目录用单点表示。
  • 父目录由两个连续的点表示。

让我们尝试一下:

cd /tmp/
mkdir demo
cd demo
mkdir app
>.config
>.vimrc
>.bashrc
ls -a | egrep '^\.'
ls
rm .vimrc
ls -a | egrep '^\.'
rm -rfv /tmp/demo/.*

解决警告消息rm:拒绝删除。或者..目录:跳过

只需在rm命令的末尾添加以下2>/dev/null

rm -rfv /dir/.* 2>/dev/null
rm -rfv /tmp/demo/.* 2>/dev/null

输出示例:

removed '/tmp/demo/.bashrc'
removed '/tmp/demo/.vimrc'

/dev/null只是一个特殊文件,该文件会丢弃所有写入其中的数据。
有关更多信息,请参见以下内容:

  • Unix和Linux:将错误输出重定向到null命令
  • BASH Shell重定向输出和错误到/dev/null
  • /dev/null丢弃不需要的输出

如何在Linux中删除隐藏文件

可以使用find命令列出或者删除隐藏文件。
语法如下:

## List all hidden dirs in /etc/ ##
find /etc/ -maxdepth 1 -type d -name ".*"
 
## List all hidden files in /etc/ ##
find /etc/ -maxdepth 1 -type f -name ".*"
 
## Find all hidden files in /tmp/data/ and delete it ##
find /tmp/data/ -maxdepth 1 -type f -name ".*" -delete
 
## Find all hidden files in /tmp/data/ (and it's sub-dirs) and delete it ##
find /tmp/data/ -type f -name ".*" -delete

关于GNOME桌面环境和隐藏文件的注释

在GNOMEs文件管理器中,键盘快捷键Ctrl + H启用或者禁用隐藏文件的显示。

CTRL + H用作切换按钮,以在GNOME中隐藏或者显示隐藏的点文件。