146

每个开发者应该了解的 10 个 Linux 命令 - 知乎专栏

 6 years ago
source link: https://zhuanlan.zhihu.com/p/30020741
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

每个开发者应该了解的 10 个 Linux 命令

作为一名软件工程师,我做过的最明智的投资就是学习 Linux。因为,在日常工作中,我们会经常与 Linux 系统打交道。而今天,作为一名 30 多岁的工程师,我仍受益于几年前我碰巧学过的那些知识,所以技术学习需要不断积累,不积跬步无以至千里。另外,在另一篇博客文章中,我将更详细地解释为什么 Linux 对于软件开发人员来说更加务实。

在本文中,我将分享一些小众却十分有用的 Linux 命令。如果你使用 Macbook,那刚刚好。因为我推荐的大多数命令也能应用于 OSX 系统。


10.file

返回给定信息的类型。例如,你可以输出图像的尺寸信息:

file logo.png
> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced

9.iotop, powertop, nethogs

你将如何监控 Linux 系统中发生的状况? 这三个命令可以解决你的燃眉之急。

  • Iotop:通过磁盘写入对进程排序,并显示程序写入到磁盘的数量与频次。
  • Powertop:监控程序的电源使用情况。如果你无法及时充电时,这个命令就很重要了。
  • Nethogs:列出每个进程所使用的带宽。

8.tee

将数据重定向到给定文件和屏幕上。例如,添加一个新的条目到 hosts 文件:

echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts

7.pidof, kill 和 pkill

这三条重要的命令将帮助你控制系统中运行的程序。

Pidof:输出正在运行程序的进程 ID。例如,以下命令将输出 nginx 的进程 ID:

pidof nginx

你还可以通过 kill 命令,以及相应的数字来终止 nginx 进程:

kill -USR2 $(pidof nginx)'

pkill 是一个快捷命令,可以按照进程名称终止所有的进程:

pkill -f nginx

6.tmux

如果你还没有安装 tmux 的话,我极力推荐你安装它。Tmux 是一款优秀的终端中的窗口和会话管理器。译者注:如果你想详细了解 Tmux,参见本篇文章

5.tree

以树状结构列出目录内容。同时,通过设置相应的参数还可以只显示目录名称:

tree -d

4.find

当我们在指定目录下寻找具体文件时,这个命令将帮你大忙。我将在这里介绍几个简单的用例:

示例 1 - 列出所有的 CSS 文件(包括子目录):

find . -type f -name "*.css"

示例 2 - 列出所有的 CSS 与 HTML 文件:

find . -type f \( -name "*.css" -or -name "*.html" \)

3.htop

Htop 是一个著名的进程查看器。它拥有漂亮、多彩的命令行界面,以及一些实用的字母快捷键:

  • \ - 增量进程过滤器;
  • / - 搜索进程;
  • , - 选择排序标准;
  • k - 终止进程;
  • u - 筛选某一特定用户进程;
  • t - 显示/隐藏树形结构;
  • - 和 + - 展开/折叠选定的进程树;
  • H - 显示/隐藏用户线程。

2.chroot

这个命令的神奇之处在于,它可以帮助你在指定目录中打开新的 TTY 。那么,你就可以创建一个文件夹,在其中设置新的 Linux 系统,并随时切换到该“子系统”。

1.dialog

方便与用户交互的简易命令。例如,下面的命令就显示了一个漂亮的输入框:

dialog --title "Oh hey" --inputbox "Howdy?" 8 55

上述介绍的大多数命令都可应用在 OSX 系统上,并且支持许多其他类型的对话:消息框、菜单、确认对话框、进度条等。另外,我所编写《 Happy Hacking Linux 》的安装向导中也应用了上述相关命令。


感谢你的阅读。若你有所收获,欢迎点赞与分享。

注:

  1. 本文版权归原作者所有,仅用于学习与交流;
  2. 如需转载译文,烦请按下方注明出处信息,谢谢!
英文原文:10 Linux Commands Every Developer Should Know
作者:Azer Koçulu
译者:IT程序狮
译文地址:http://www.jianshu.com/p/a86614d7cef9

同时也欢迎关注我的微信【IT程序狮】,不定期分享 IT 学习文章与资源。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK