作为一个经验丰富的 Linux 用户,我在日常的终端使用中养成了一些习惯。多年来,我学会了各种各样的快捷方式和实用的命令,并且反复使用它们。但即使是一流的工具也能得到更好的利用。
从文件列表中删除隐藏的快捷方式
Linux 上的隐藏文件很强大且便捷,主要是因为它们非常简单。以句点(.)开头的文件是隐藏文件。默认情况下,它在终端列表和文件管理器中不会出现。
当您想要查看隐藏文件时,只要使用-a选项,一切就都没问题了,对吧?
ls -a
![]()
不过,最终,“.”和“..”可能会开始让您感到烦恼。这些特殊文件只是指向当前目录及其父目录的快捷方式。虽然它们可能非常有用,但您在每次列出文件时并不需要了解它们。
幸运的是,有一个简单的解决方案:-a 选项有一个对应的 -A 选项,它会显示隐藏文件,但隐藏这些快捷方式:
ls -A
![]()
您可能想要给这个命令设置一个别名,或者这里提到的其他任何命令。然后,您可以像以前一样继续使用 ls,放心地知道您再也不需要看到“.”或“..”了。
无需管道进行递归 Grep
很多时候,我会使用 find 的exec选项来搜索某些东西。这是模拟“在文件中查找”任务的基本方法:
查找. - 执行 查找 'hello' {} ;
但是这个命令很长,而且学习 find 晦涩的语法肯定不好玩。当我发现 grep 具有内置的递归搜索支持时,我觉得自己很傻,但我仍然很高兴我做到了!这个命令更方便,也更容易学习:
搜索 -r 'hello'
用一个命令创建深层目录
有时,您会发现自己想要创建这样的深层目录层次结构:
创建 blog/2024/09/16 目录
但是,令人沮丧的是,如果 blog、blog/2024 或 blog/2024/09 目录尚不存在,此命令将失败:
![]()
错误消息甚至都没有清楚地解释问题出在哪儿!有用的是,一个简单的选项将创建任何缺失的目录,尽管您可能会想知道为什么它不是默认的。要创建一个目录,包括任何尚不存在的中间目录,只需使用 -p:
创建目录 -p blog/2024/09/16
![]()
您可以把‘p’当作‘路径’或者‘父目录’的缩写来记住这一点。
立即在两个目录之间切换
如果您经常使用命令行,您将习惯于使用 cd 导航目录。您可能也习惯于在两个目录之间切换,来回在一个目录中运行命令,在另一个目录中检查文件等等。也许您甚至 使用历史命令来重复自己。
到现在,您应该不会惊讶于得知有更好的方法。
![]()
cd 存在几个秘密,不过其中最有用的快捷方式之一是“cd -”这种形式:
每次运行“cd -”时,它都会在您先前导航到的两个目录之间进行切换,从而能够让您非常快速且轻松地来回移动。
“cd -”会打印出它所切换到的目录的路径,即便您的提示符中存在当前目录。
实现最大保真度来复制目录
您可能已经知道使用 cp -R 复制目录:
cp -R docs backup-docs
此命令准许您复制整个目录结构,生成包括目录及其所有内容(涵盖文件和其他目录)的完整副本。
但是,您可能会留意到副本跟原始副本并非完全相同。
它们的修改时间、所有者以及权限可能都存在差异。例如,在以下情况下,副本的修改时间与原始副本不同:
![]()
这些时间仅相差一分钟,但问题可能要严重得多。解决办法很简单:使用 -a(意为‘存档’),而非 -R :
![]()
用单个命令提取 tar.gz 文件
Tar 文件仍然是最为流行的之一 。它们通常会被压缩以在下载或存储过程中减小尺寸。如果您在整个 Linux 使用生涯中都用过这两个程序,您可能已经习惯闭着眼睛做这类事情了:
gunzip archive.tar.gz
tar xvf archive.tar
这会先解压缩 gzip 文件,然后解压其中的 tar 文件。但是,多亏了现代的特性,tar 可以一步完成这两项操作,使用 z 标志而非 x :
tar zvf archive.tar.gz
这种方法更便捷,也更不容易出错。而且,tar 的最新版本会自动检测 gzip 文件并自动解压缩它们!所以您可以直接跳到:
tar xvf archive.tar.gz
使用 cat 快速检查文件
cat 命令之所以叫这个名字,是因为它能够连接——也就是合并——文件。但您可能习惯只用它来查看文件的内容。要是这样的话,您可能不知道有几个有用的选项,能让用 cat 查看文件变得更舒心。
首先,cat -s会将几个空白行压缩在一起,使某些文件格式在终端中更易于查看。
其次,cat -b会为输出添加行号,但仅针对非空白行。当您编写行号引用时,这可能很有用。
把它们一起用,比如cat -sb,您就能把 cat 当作简单的文件查看器,用不着像 less 这样的分页器。
![]()
获取简洁的磁盘使用情况
当您进行春季大扫除时,了解目录占用了多少空间是很有用的。但是 du 的默认操作会产生大量输出,因为它会报告整个层级结构中每个目录的大小。所以,您可能会发现自己多次运行这个命令,把它的输出通过管道传给 grep,把它重定向到临时文件之类的。
为了减轻您的烦恼,您可以试试减少输出量。--max-depth 选项允许您指定 du 将报告的目录级别数量。您仍然可以获得准确的总大小,只是关于树中每个目录的详细信息更少。例如,使用此命令检查直接子目录的总大小:
du --max-depth 1
您将会看到当前目录及其直接子目录的结果,但不会看到在该层次结构中它们之下每个目录的大小。
![]()
如果您想更多地了解掌握命令行的相关信息,请查看我们的指南 不惜一切代价都应避免的终端拼写错误.
到此这篇linux目录命名规则(linux目录重命名命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/24982.html