21 个节省时间的 Linux 命令提示和技巧 [成为专业人士]
这里有一些微小但有用的 Linux 命令、终端技巧和快捷方式,它们将在您使用 Linux 命令行时节省大量时间。
您是否曾经遇到过这样的情况:您看到您的同事使用一些简单的 Linux 命令来完成需要您多次击键的任务?当你看到它时,你会说:“哇!我不知道这可以这么容易做到”。
在本文中,我将向您展示一些专业的 Linux 命令技巧,这些技巧将为您节省大量时间,在某些情况下,还可以避免很多挫败感。不仅您的朋友或同事会对您惊叹不已,它还将帮助您提高工作效率,因为您将需要更少的击键和鼠标点击。
这并不是说这些只是针对初学者的 Linux 技巧。即使是经验丰富的 Linux 用户也可能会发现一些他们不知道的隐藏宝石,尽管使用 Linux 这么多年了。
无论如何,你都是通过经验来学习 Linux 的,无论是你自己的还是别人的:)
节省时间并提高生产力的酷 Linux 终端技巧
您可能已经了解其中一些或全部 Linux 命令提示。无论哪种情况,都欢迎您在评论部分分享您最喜欢的技巧。
其中一些技巧还取决于 shell 的配置方式。让我们开始!
0.使用tab自动补全
我将从一些不言而喻但又至关重要的事情开始:制表符补全。
当您开始在 Linux 终端中输入内容时,您可以按 Tab 键,它会建议以您目前输入的字符串开头的所有可能选项。
例如,如果您尝试复制名为 my_best_file_1.txt 的文件,则只需键入“cp m”并按 Tab 键即可查看可能的选项。
您也可以使用选项卡来完成命令。
1.切换回上次工作目录
假设您最终处于一个很长的目录路径中,然后移动到完全不同路径中的另一个目录。然后您意识到必须返回到之前所在的目录。
在这种情况下,您可以使用 cd 命令,如下所示:
cd -
这将使您返回到最后一个工作目录。您不再需要输入长目录路径或复制粘贴它。
2.返回主目录
这实在是太明显了。您可以使用以下命令从 Linux 命令行中的任何位置移动到您的主目录:
cd ~
但是,您也可以仅使用 cd 返回主目录:
cd
大多数现代 Linux 发行版都为此命令预先配置了 shell。在这里至少可以节省两次按键操作。
3.列出目录的内容
您一定想知道列出目录内容的命令有什么技巧。每个人都知道使用 ls -l 来达到此目的。
就是这样。大多数人使用 ls -l 来列出目录的内容,而可以使用以下命令完成相同的操作:
ll
同样,这取决于 Linux 发行版和 shell 配置,但您很可能能够在大多数 Linux 发行版中使用它。
4. 在一个命令中运行多个命令
假设,您必须依次运行多个 Linux 命令。您是否等待第一个命令运行完成然后执行下一个命令?
为此,您可以使用“;”分隔符。这样,您可以在一行中运行多个命令。无需等待前面的命令完成其业务。
command_1; command_2; command_3
5. 仅当前一个命令成功时才在一个命令中运行多个命令
在上一个命令中,您了解了如何在一个命令中运行多个命令以节省时间。但是如果您必须确保命令不会失败怎么办?
想象一下这样的情况:您想要构建代码,如果构建成功,则运行 make。
对于这种情况,您可以使用 && 分隔符。 && 确保只有前一个命令成功后才会运行下一个命令。
command_1 && command_2
此命令的一个很好的示例是当您使用 sudo apt update && sudo apt Upgrade 来升级系统时。
6. 轻松搜索并使用您过去使用过的命令
想象一下这样一种情况,您在几分钟/几小时前使用了一个长命令,并且必须再次使用它。问题是您不再记得确切的命令。
反向搜索是你的救星。您可以使用搜索词在历史记录中搜索命令。
只需使用 ctrl+r 键启动反向搜索并输入命令的某些部分。它将查找历史记录并显示与搜索词匹配的命令。
ctrl+r search_term
默认情况下,它只会显示一个结果。要查看更多与您的搜索词匹配的结果,您必须一次又一次地使用 ctrl+r。要退出反向搜索,只需使用 Ctrl+C。
请注意,在某些 Bash shell 中,您还可以将 Page Up 和 Down 键与搜索词一起使用,它会自动完成命令。
7. 解冻你的 Linux 终端,避免意外按下 Ctrl+S
您可能习惯使用 Ctrl+S 进行保存。但如果你在 Linux 终端中使用它,你的终端将会冻结。
别担心,您不必关闭终端,不再需要了。只需使用 Ctrl+Q 即可再次使用终端。
ctrl+Q
8. 移至行首或行尾
假设您正在输入一个很长的命令,中途您意识到必须从一开始就进行一些更改。您可以使用几次左箭头键移动到行的开头。类似地,走到行尾也是如此。
当然,您可以在此处使用 Home 和 End 键,但也可以使用 Ctrl+A 转到行首,使用 Ctrl+E 转到行尾。
我发现它比使用 home 和 end 键更方便,尤其是在我的笔记本电脑上。
9. 删除光标所在位置整行
所以很多人要么不知道它,要么很少使用它。
在 Linux 终端中,如果按 Ctrl+U,它将删除从当前光标位置到行首的所有内容。
同样,如果按 Ctrl+K,它会删除从光标位置到行尾的所有内容。
可能是密码输入错误?无需一直使用退格键,只需使用 Ctrl+U 并重新输入密码即可。您可以发现这些快捷方式的许多其他用途。
10.实时读取日志文件
如果需要在应用程序运行时分析日志,可以使用带有 -f 选项的 tail 命令。
tail -f path_to_Log
您还可以使用常规 grep 选项来仅显示那些对您有意义的行:
tail -f path_to_log | grep search_term
您也可以在此处使用选项 F。即使日志文件被删除,这也将使 tail 保持运行。因此,如果再次创建日志文件,tail 将继续记录日志。
享受这个测验的乐趣?
11.读取压缩日志而不解压
服务器日志通常经过 gzip 压缩以节省磁盘空间。它给分析日志的开发人员或系统管理员带来了问题。您可能必须将其 scp 到本地,然后提取它才能访问文件,因为有时您没有提取日志的写入权限。
值得庆幸的是,z 命令可以帮助您避免这种情况。 z 命令提供了用于处理日志文件的常规命令的替代方案,例如 less、cat、grep 等。
这样你就可以得到 zless、zcat、zgrep 等,而且你不必显式地解压压缩文件。详细请参考我之前关于使用z命令真实压缩日志的文章。
这是我从同事那里赢得一杯咖啡的秘密发现之一。
12、少用less来读取文件
要查看文件的内容,cat 不是最佳选择,尤其是在文件很大的情况下。 cat 命令将在屏幕上显示整个文件。
您可以使用 Vi、Vim 或其他基于终端的文本编辑器,但如果您只想读取文件,那么 less 命令是更好的选择。
less path_to_file
您可以在 less 内搜索术语、按页移动、显示行号等。
13. 使用 !$重用上一个命令中的最后一项
在许多情况下,使用上一个命令的参数会派上用场。
假设您必须创建一个目录,然后进入新创建的目录。在那里您可以使用 !$选项。
更好的方法是使用 alt+。 。您可以使用 。在最后一个命令的选项之间进行多次切换。
14. 在当前命令中使用 !! 重用前一个命令
您可以使用 !! 调用整个先前的命令。当您必须运行命令并意识到它需要 root 权限时,这特别有用。
快速须藤!!在这里可以节省大量的击键次数。
15. 使用别名来修复拼写错误
您可能已经知道 Linux 中的别名命令是什么。您可以做的是使用它们来修复拼写错误。
例如,您可能经常将 grep 误输入为 gerp。如果您以这种方式在 bashrc 中添加别名:
alias gerp=grep
这样您就不必再次重新输入命令。
16.在Linux终端中复制并粘贴
这个有点含糊,因为它依赖于 Linux 发行版和终端应用程序。但一般来说,您应该能够使用以下快捷方式在终端中复制粘贴:
选择要复制的文本并右键单击进行粘贴(适用于 Putty 和其他 Windows SSH 客户端)
选择要复制的文本并单击鼠标中键(鼠标滚动按钮)进行粘贴
Ctrl+Shift+C 用于复制,Ctrl+Shift+V 用于粘贴
17. 终止正在运行的命令/进程
这一点也许太明显了。如果前台正在运行某个命令,而您想退出该命令,可以按 Ctrl+C 来停止该正在运行的命令。
18、对于需要交互式响应的命令或脚本使用yes命令
如果某些命令或脚本需要用户交互,并且您知道每次需要输入时都必须输入 Y,则可以使用 Yes 命令。
只需按以下方式使用它:
yes | command_or_script
19.清空文件而不删除它
如果您只想清空文本文件的内容而不删除文件本身,可以使用类似于以下的命令:
> filename
20.查找是否有包含特定文本的文件
在 Linux 命令行中有多种搜索和查找的方法。但如果您只想查看是否有包含特定文本的文件,则可以使用以下命令:
grep -Pri Search_Term path_to_directory
不过,我强烈建议掌握 find 命令。
21. 使用任何命令的帮助
我将用一个更明显但又重要的“技巧”来结束本文,即使用命令或命令行工具的帮助。
几乎所有命令和命令行工具都附带一个帮助页面,显示如何使用该命令。通常使用帮助会告诉您该工具/命令的主要用法。
只需以这种方式使用它:
command_tool --help
你最喜欢的 Linux 命令行技巧?
我故意不包含“fuck”之类的命令,因为这些命令并不是随处可见的标准命令。这里讨论的技巧几乎可以在所有 Linux 发行版和 shell 中使用,而无需安装新工具。
我还建议在 Linux 中使用 alias 命令,用简单的命令替换复杂的命令。节省大量时间。
我知道还有更多 Linux 命令技巧可以在终端中节省时间。为什么不在这里分享一些您使用 Linux 的经验并与社区其他成员分享您的最佳技巧呢?下面的评论部分可供您使用。