您的位置:首页 > 运维架构 > Linux

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

2017-10-13 09:47 399 查看
作为一名软件工程师,我做过的最明智的投资就是学习 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 》的安装向导中也应用了上述相关命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: