做为一名软件工程师,学习Linux是我所作的最好投资。由于Linux是一个用户必须理解和维护的系统,因此平常体验就像向水坑加水滴同样。时间一长,水坑就会成为湖泊,甚至是海洋。因此咱们必须杜微慎防。css
今天,我做为一名30多岁的工程师,仍然受益于我几年前机缘巧合学到的一大堆知识,在我仍是一个具备雄心壮志的初学者的时候。在另外一篇博客中,我已经更详细地解释了为何Linux对于软件开发人员来讲是一个更加务实的选择。html
在这篇博文中,我将分享一些不太受欢迎但很是有用的Linux命令,我我的极力推荐。若是你是在Macbook上工做,那也不要紧,由于我提到的大部分命令也存在于OSX系统中。linux
返回给定文件的信息。例如,你能够输出图像的尺寸信息:nginx
file logo.png
返回:网络
> PNG image data, 16 x 16, 8-bit/color RGBA, non-interlaced
你怎么监控Linux系统中正在发生的状况?这三个命令是你的救星:app
它会分割程序的输出,从而能够打印和保存。例如,添加一个新的条目到hosts文件;学习
echo "127.0.0.1 foobar" | sudo tee -a /etc/hosts
这三个重要的命令能够帮助你控制系统中的运行程序。spa
pidof打印出正在运行的程序的进程ID。例如,如下命令将输出nginx的进程ID:命令行
pidof nginx
你能够经过kill命令杀死nginx:线程
kill -USR2 $(pidof nginx)'
pkill是一个快捷命令,能够杀死进程匹配模式:
pkill -f nginx
若是尚未安装tmux的话,那么你必须安装。Tmux是终端的优秀窗口和会话管理器。
以树状格式列出目录的内容。它有整洁的选项,如只显示目录;
tree -d
当咱们正在数十个文件中寻找特定文件时,这个命令就是救星。我将在这里介绍几个简单的用例。
示例1:列出全部CSS文件(包括子目录):
find . -type f -name "*.css"
示例2:列出全部CSS或HTML文件:
find . -type f \( -name "*.css" -or -name "*.html" \)
有名的过程监控。它有一个漂亮又多彩的命令行界面。一些有用的键绑定:
不少人喜欢这个命令,是由于它在给定的目录中打开了一个新的TTY。这意味着,你能够建立一个文件夹,在其中设置一个新的Linux系统,并随时切换到该“子系统”。
是否是很强大?
在命令行上与用户交互的一种很是简单又良好的方式。例如,下面的命令展现了一个不错的输入框:
dialog --title "Oh hey" --inputbox "Howdy?" 8 55
它既存在于Linux,也存在于OSX系统上,并支持许多其余类型的对话框;消息框,菜单,确认,进度条…我为Happy Hacking Linux编写的安装向导就是用这个使人惊叹的命令制做的!
注:译文连接:http://www.codeceo.com/article/10-linux-command-every-programmer-must-know-2.html,英文原文:10 Linux Commands Every Developer Should Know,翻译做者:码农网 – 小峰,转载请注明出处。作一只勤劳的IT干货搬运工,喜欢就给个赞呗。