【终端技巧】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 -
这将使您回到上一个工作目录。您不再需要输入长目录路径或复制粘贴它。
轻松切换目录
2.回到主目录
这太明显了。您可以使用以下命令从 Linux 命令行中的任何位置移动到您的主目录:
cd ~
但是,您也可以只使用 cd 返回主目录:
cd
大多数现代 Linux 发行版都为此命令预先配置了 shell。在这里至少为您节省两次击键。
尽快搬回家
3.列出一个目录的内容
您一定猜到了列出目录内容的命令有什么技巧。每个人都知道为此目的使用 ls -l。
就是这样。大多数人使用 ls -l 列出目录的内容,而同样可以使用以下命令完成:
ll
同样,这取决于 Linux 发行版和 shell 配置,但您很可能能够在大多数 Linux 发行版中使用它。
使用 ll 代替 ls -l
4.在一个命令中运行多个命令
假设,您必须一个接一个地运行多个 Linux 命令[https://itsfoss.com/run-multiple-commands-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. 从意外的 Ctrl+S 中解冻你的 Linux 终端
您可能习惯使用 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 将继续记录。
11.读取压缩日志而不解压
服务器日志通常被 gzip 压缩以节省磁盘空间。它为开发人员或系统管理员分析日志带来了问题。您可能必须将其scp[http://www.hypexr.org/linux_scp_help.php]到本地,然后将其提取以访问文件,因为有时您没有提取日志的写入权限。
值得庆幸的是,z 命令可以在这种情况下为您提供帮助。z 命令提供了用于处理日志文件(如 less、cat、grep 等)的常规命令的替代方案。
因此,您可以获得 zless、zcat、zgrep 等,甚至不必显式提取压缩文件。详细请参考我之前关于使用z命令对真实压缩日志[https://itsfoss.com/read-compressed-log-files-linux/]的文章。
这是让我从同事那里赢得一杯咖啡的秘密发现之一。
12.用less来读取文件
要查看文件的内容,cat 不是最好的选择,尤其是当它是一个大文件时。cat 命令将在屏幕上显示整个文件。
您可以使用 Vi、Vim 或其他基于终端的文本编辑器,但如果您只想读取文件,less 命令是更好的选择。
less path_to_file
您可以在 less 中搜索术语,按页移动,显示行号等。
13. 使用 !$ 重用上一个命令中的最后一项
在许多情况下,使用前一个命令的参数很方便。
假设您必须创建一个目录,然后进入新创建的目录。在那里你可以使用 !$ 选项。
使用 !$ 使用最后一个命令的参数
更好的方法是使用 alt+。. 您可以使用 。多次在最后一个命令的选项之间随机播放。
14. 在当前命令中重用之前的命令,用 !!
您可以使用 !! 调用整个先前的命令。当您必须运行命令并意识到它需要 root 权限时,这特别有用。
一个快速的 sudo !在这里节省了大量的击键。
采用 !!使用最后一个命令作为参数
15. 使用别名修正错别字
您可能已经知道Linux 中的别名命令[https://linuxhandbook.com/linux-alias-command/]是什么。你可以做的是,用它们来修正错别字。
例如,您可能经常将 grep 错误地输入为 gerp。如果您以这种方式在 bashrc 中添加别名:
alias gerp=grep
这样您就不必再次重新键入命令。
16.在Linux终端复制粘贴
这个有点模棱两可,因为它依赖于 Linux 发行版和终端应用程序。但总的来说,您应该能够使用以下快捷方式在终端中复制粘贴:[https://itsfoss.com/copy-paste-linux-terminal/]
选择要复制的文本并右键单击以粘贴(适用于 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 之[https://github.com/nvbn/thefuck]类的命令,因为这些不是随处可见的标准命令。这里讨论的技巧应该几乎可以在所有 Linux 发行版和 shell 中使用,而无需安装新工具。
我还建议在 Linux 中使用 alias 命令[https://linuxhandbook.com/linux-alias-command/]来用简单的命令替换复杂的命令。节省大量时间。
我知道有更多的 Linux 命令技巧可以在终端中节省时间。为什么不分享一些你在 Linux 方面的经验,并在这里与社区的其他人分享你的最佳技巧呢?下面的评论部分供您使用。