很棒的命令行技巧,可将您的工作效率提高 10 倍

2025-06-10

很棒的命令行技巧,可将您的工作效率提高 10 倍

原始帖子:https://www.coderscat.com/awesome-linux-command-line-tips

像代码一样管理您的配置

假设你需要在另一台机器上工作,将你的配置保存在 GitHub 中将为你重新定制工作环境时节省大量时间。

许多开发人员已经在做同样的事情了。使用 Git 管理任何配置(.bashrc、.vimrc、.emacs 等)是一个好习惯,你应该从工作一开始就养成Linux/Mac

使用 Git 控制配置的好处是:

  1. 查看您的更改历史记录,这对于故障排除很有用。
  2. 积累技巧和配置。
  3. 在多台机器上使用它。

如果您还没有准备好与他人分享您的配置,请使用privateGitHub repo 以确保安全。

目前,我们可以在 GitHub 上使用私有 repo,无需支付任何费用。

记得将敏感文件添加到 .gitignore 中,并将DO NOT包含密码或机密的文件推送到 GitHub。

我看到很多开发者把敏感文件推送到 GitHub,结果出了安全问题。别傻了。

如何获得帮助

不要害怕命令行工作环境中有这么多的命令选项。

开发人员不需要记住所有的事情,

手册和文档以相同的模式组织,Google 是您的最终救生圈。

当您需要任何命令的帮助时,请尝试以下操作:

查询手册的人

命令man用于显示我们可以在终端上运行的任何命令的用户手册。

在 Ubuntu/Debian 上,您需要从终端安装它:sudo apt-get install man

除了查询命令手册之外,您还可以使用man来阅读您感兴趣的函数或文件的手册和详细信息。

man exec屏幕上将显示:

2019_11_25_awesome-linux-commands.org_20191127_121607.png

使用 –Help/-H 的命令

任何命令或脚本都会附带帮助信息。如果您不知道该使用哪个选项,可以尝试一下command --help。Linux/Unix 的帮助信息通常采用类似的格式,您需要适应它。

2019_11_25_awesome-linux-commands.org_20191127_122357.png

有效地谷歌

学习如何以开发人员的身份有效地使用谷歌,这需要时间,但对你的开发生涯来说是有益的。

您应该知道使用哪些关键字来搜索命令行问题。

对于 Linux 命令,“Linux 命令#keyword#” 应该是一个不错的尝试。

Shell 别名

当您在 Linux/Mac 上工作时,Shell 别名是最有用的提示。

每当您认为某个命令行稍后会重复出现(尤其是较长的命令行)时,您都应该将其作为别名添加到您的配置中。

我的部分配置包括:

alias nis="npm install --save "
alias www='python -m SimpleHTTPServer 8000'
alias svim='sudo vim'
alias mkcd='mkdir_with_name(){ mkdir -p "$1"; cd "$1" }; makedir_with_name '
alias install='sudo apt get install'
alias update='sudo apt-get update; sudo apt-get upgrade'
alias ..="cd .."
alias ...="cd ..; cd .."
alias sock5='ssh -D 8080 -q -C -N -f user@your.server'
Enter fullscreen mode Exit fullscreen mode

其他方便的别名:

适用于 Linux / Unix / Mac OS X 的 30 个实用的 Bash Shell 别名

我最喜欢的几个 Bash 别名

壳牌提示

返回上一个工作目录

假设您将工作目录更改为 /tmp,完成一些任务并想要返回到之前的工作目录,在这种情况下,cd -将帮助您节省时间。

执行历史记录中的命令

history将显示最近执行的命令

2019_11_25_awesome-linux-commands.org_20191126_160158.png

从输出来看,!5将重新执行命令“pwd”,如果要重新执行最后一个命令,可以使用!!来完成它。

免费/热门

free/top用于显示资源使用情况统计信息,例如内存和 CPU 使用率。一个更友好的替代方案是htop,它以可视化的方式显示所有类型的统计信息。

网络状态

netstat是一个命令行网络实用程序,可显示传输控制协议的网络连接、路由表以及多个网络接口和网络协议统计信息。

此处列出了更多用法示例

结合命令完成你的任务

使用 Linux/Unix 的最佳方法是使用 awk、sed、grep、xargs、find、sort 等命令,并将它们组合成您想要的功能。就像我之前检查 Git 仓库时所做的那样。

大多数简单的任务,例如从文件中查找单词、使用模式过滤文件,都可以通过这些微小的 until 命令完成。

cat/head/tail:显示文件内容,bat是 Rust 的克隆版cat,支持大量编程和标记语言的语法高亮。

grep:搜索文件中含有该关键字的任意行。

sort:逐行对文本文件的内容进行排序。

uniq:从字符串或文件中删除重复的部分。

find:查找或过滤具有模式的文件。

xargs:允许工具或命令接受标准输入作为参数。

awk:用于处理数据和生成报告的脚本语言。

一些提升生产力的奇特工具

Httpie

httpie是一款精美的命令行 HTTP 客户端,拥有直观的用户界面,支持 JSON 格式,并带有高亮显示和众多插件。也许你曾经使用过 curl 或 wget,但尝试过之后你就会忘记它们httpie

掌握

多路复用

tmux是一个终端多路复用器,它可以管理终端中的窗口和会话。您可以将屏幕拆分为多个子面板,还可以分离和重新连接会话。

如果您想频繁连接到远程服务器,这对您来说是一个非常宝贵的工具。

2019_11_25_awesome-linux-commands.org_20191127_223129.png

使用哪个 Shell

Bash 是当今许多 Linux 发行版的默认 shell。

Zsh是一种现代的 shell,具有其他 Unix/GNU Linux shell 的功能,例如 bash、tcsh 和 ksh。

Fish是一款智能且用户友好的 Linux 和 macOS 命令行 Shell。它支持语法高亮、自动建议和 Tab 键补全等强大功能,无需任何学习或配置即可使用。

如果您使用Mac工作:我最推荐的是iterm2上的 Zsh 。

Oh My Zsh是一个优秀的开源社区驱动框架,用于管理你的 Zsh 配置。使用社区提供的配置,可以节省你大量的时间。

鏂囩珷鏉ユ簮锛�https://dev.to/snj/awesome-command-line-tips-to-10x-your-productivity-1le2
PREV
缓存:从上到下
NEXT
JS 中的递归优化——它在哪里?PTC、TCO 和 FUD