为什么文件是用 ~ 符号创建的?
通过删除 ~ 符号文件会影响原始文件还是不会?
我的文件:(由linux命令ls获得)
DG_Item122 DG_Item147 DG_Item175 DG_Item200 DG_Item226 DG_Item249~ DG_Item271~ DG_Item293~ DG_Item314~ DG_Item49 DG_Item80
DG_Item122~ DG_Item148 DG_Item175~ DG_Item200~ DG_Item226~ DG_Item25 DG_Item272 DG_Item294 DG_Item315 DG_Item5 DG_Item80~
Run Code Online (Sandbox Code Playgroud)
我的预期输出:
要打印的文件不带波浪号。
使用某些文本编辑器编辑文件时,编辑器可能会保存带有后缀的文件备份~。其他编辑器可能会使用其他后缀,但它~是 Unix 上最常用的备份后缀。
如果您觉得不再需要备份,可以删除这些文件:
$ rm *~
Run Code Online (Sandbox Code Playgroud)
如果您希望保留备份文件,但不想在 输出中看到它们ls,那么您可以使用
$ ls -B
Run Code Online (Sandbox Code Playgroud)
或者
$ ls --ignore-backups
Run Code Online (Sandbox Code Playgroud)
(这是同一件事)。这些标志将使ls忽略文件专门匹配 shell 文件名通配模式*~(因为它是如此常见的备份后缀)。要隐藏任何其他文件的列表,请改用 eg --hide='*.bak'(这将隐藏任何带有.bak后缀的文件)。该-B和--ignore-backups标志可以被看作是速记的--hide='*~'。
为了避免-B每次都输入,您可以将以下内容添加到您的~/.bashrc文件中:
function ls {
command ls --ignore-backups "$@"
}
Run Code Online (Sandbox Code Playgroud)
这将有效地ls用 shell 函数“替换”命令,该函数调用添加ls了--ignore-backups标志的实数。
您可以添加别名而不是 shell 函数:
alias ls='command ls -B "$@"'
Run Code Online (Sandbox Code Playgroud)
...如果你认为这看起来更整洁。
注意:-B/--ignore-backups选项以及 是GNU coreutils 包中可用的--hideGNU 扩展,但无论如何这很可能已经安装在您的 Linux 机器上。lsls
至于别名与外壳函数,bash手册包含短语
对于几乎所有目的,别名都被 shell 函数取代。
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |