【发布时间】:2022-01-19 08:15:28
【问题描述】:
我在 mv 命令的末尾用逗号“加粗”
mv 路径/文件.,
文件似乎在某处消失在以太中。 'find' 什么也没找到。
【问题讨论】:
我在 mv 命令的末尾用逗号“加粗”
mv 路径/文件.,
文件似乎在某处消失在以太中。 'find' 什么也没找到。
【问题讨论】:
与.和..不同,.,这个名字没有特殊含义,所以文件就在那里,实际上命名为.,。
验证文件是否存在:
ls -l .,
您只需将参数反转为 mv 即可将其移回:
mv ., path/file
【讨论】:
ls ., 确实显示了文件,但 ls | fgrep ".," 没有,因为文件名以点开头,这使它成为隐藏文件。
., 有任何特殊性。只是ls 命令默认不会显示以. 开头的文件。 ls -a | fgrep '.,' 会显示它。
-a 才能在 ls -a | fgrep ... 中显示它,但我很惊讶我不需要需要输入 @987654336 @ 在ls ., 中显示它:我希望ls ., 的结果为空:-)
ls,它不会隐藏它。
Linux ls 命令隐藏以点开头的文件。如果您只键入ls,则不会显示您的主目录中的所有文件或目录,例如.ssh 或.bashrc。要获取所有文件,您必须提供 ls -a 选项( all )。
您使用mv path/file ., 移动所做的只是将源文件移动到目标.,,这意味着您的文件正是这个名称。通过输入ls -a 甚至`ls -l .',您可以将其视为所有其他普通文件。
您只需使用mv ., <destination_path/destination_name> 再次复制或移动它。
你说:“'find'什么也没找到。”
这可能是一个错误的观察,因为find 会看到所有文件,即使是那些以点开头的文件。
find -maxdepth 1 | grep ',' 给出:
./.,
也许你搜索的地方不对?
【讨论】:
我也做了同样的事情,我很容易找到“.”:
ls -ltra | grep ","
-rwxrwxrwx 1 user1 user1 0 Jan 19 10:09 .,
这笔交易是在ls 命令中使用a 开关:这也显示文件,以点开头(实际上在 UNIX/Linux 中通常不可见),正如您从手册页中看到的那样:
DESCRIPTION
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of
-cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
哦,你需要查看path目录的父目录:-)
【讨论】: