从目录及其所有子目录中移动文件类型的好方法是什么?
就像“将 /thisdir 中的所有 *.ogg 递归移动到 /somedir”。我尝试了几件事;我最大的努力是(仍然不是那么好):
find /thisdir -type f -name '*.ogg' -exec mv /somedir {} \;
Run Code Online (Sandbox Code Playgroud)
它在每个文件名之前的每一行返回,
mv: cannot overwrite non-directory `/thisdir/*.ogg' with directory `/somedir'
Run Code Online (Sandbox Code Playgroud) 符号链接到目录会产生不同的结果,ls -l具体取决于 Iln -s dir或ln -s dir/. 但实际的区别是什么,为什么我应该更喜欢哪一个?
看完这个问题为什么选择'~'来代表主目录?,我脑海中的下一个明显问题是为什么“。” '..' 用于表示当前目录和父目录。
现在看起来很直观,但有什么特别的原因吗?
mkdir -p将创建一个目录;它还将根据需要创建父目录。
文件是否存在类似的命令,它将根据需要创建文件和父目录?
我知道我可以使用 du -h 输出目录的总大小。但是当它包含其他子目录时,输出将类似于:
du -h /root/test
.
.
.
.
24K /root/test/1
64K /root/test/2
876K /root/test/3
1.1M /root/test/4
15M /root/test/5
17M /root/test
Run Code Online (Sandbox Code Playgroud)
我只想要最后一行,因为目录中的小目录太多/root/test。我能做什么?
在标准文件系统上,我们有:
/usr/games
/usr/lib/games
/usr/local/games
/usr/share/games
/var/games
/var/lib/games
Run Code Online (Sandbox Code Playgroud)
这是一个笑话,还是这背后有什么历史?它是做什么用的?为什么我们为游戏之类的东西提供单独的专门目录?
例如检查是否$PWD是/home 的子目录。换句话说,我正在寻找一个 bash 字符串操作来检查一个字符串是否以另一个字符串开头。
在命令行上工作时,我经常使用sudo -i. 但是,我的工作目录会自动更改为/root. 我永远不想去那里;我想呆在原地!我怎样才能做到这一点?
我只是不小心将一个新驱动器安装到一个已经包含文件的文件夹中。我不在乎它们并将它们放在其他地方,但该文件夹现在显示为空。我很好奇文件发生了什么。它们是否被Linux简单地删除了?