每个开发人员应该知道的10个Linux命令

简介:

作为一名软件工程师,学习Linux是我所做的最好投资。因为Linux是一个用户必须理解和维护的系统,所以日常体验就像向水坑加水滴一样。时间一长,水坑就会成为湖泊,甚至是海洋。所以我们必须杜微慎防。

今天,我作为一名30多岁的工程师,仍然受益于我几年前机缘巧合学到的一大堆知识,在我还是一个具有雄心壮志的初学者的时候。在另一篇博客中,我已经更详细地解释了为什么Linux对于软件开发人员来说是一个更加务实的选择。

在这篇博文中,我将分享一些不太受欢迎但非常有用的Linux命令,我个人极力推荐。如果你是在Macbook上工作,那也没关系,因为我提到的大部分命令也存在于OSX系统中。

每个开发人员应该知道的10个Linux命令

10.file

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


 
 
  1. file logo.png 

返回:


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

9.iotop,powertop,nethogs

你怎么监控Linux系统中正在发生的情况?这三个命令是你的救星:

  • iotop:通过磁盘写入对进程进行排序,并显示程序写入磁盘的次数和频率。
  • powertop:通过能量消耗列出流程。当你在外面,在某个地方你不能为笔记本电脑充电的地方时,这是一个至关重要的命令。
  • nethogs:通过网络流量列出进程。

8.tee

它会分割程序的输出,从而可以打印和保存。例如,添加一个新的条目到hosts文件;


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

7.pidof,kill和pkill

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

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


 
 
  1. pidof nginx 

你可以通过kill命令杀死nginx:


 
 
  1. kill -USR2 $(pidof nginx)' 

pkill是一个快捷命令,可以杀死进程匹配模式:


 
 
  1. pkill -f nginx 

6.tmux

如果还没有安装tmux的话,那么你必须安装。Tmux是终端的优秀窗口和会话管理器。

5.tree

以树状格式列出目录的内容。它有整洁的选项,如只显示目录;


 
 
  1. tree -d 

4.find

当我们正在数十个文件中寻找特定文件时,这个命令就是救星。我将在这里介绍几个简单的用例。

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


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

示例2:列出所有CSS或HTML文件:


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

3.htop

有名的过程监控。它有一个漂亮又多彩的命令行界面。一些有用的键绑定:

  • \过滤器
  • /搜索
  • ,选择排序条件
  • k发送杀死信号
  • u用户过滤结果
  • t打开/关闭树模式
  • -和+ 折叠 / 展开选定的流程树
  • H关闭显示线程

2.chroot

很多人喜欢这个命令,是因为它在给定的目录中打开了一个新的TTY。这意味着,你可以创建一个文件夹,在其中设置一个新的Linux系统,并随时切换到该“子系统”。

是不是很强大?

1.dialog

在命令行上与用户交互的一种非常简单又良好的方式。例如,下面的命令展示了一个不错的输入框:


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

它既存在于Linux,也存在于OSX系统上,并支持许多其他类型的对话框;消息框,菜单,确认,进度条…我为Happy Hacking Linux编写的安装向导就是用这个令人惊叹的命令制作的!


原文发布时间为:2017-10-11

本文作者:小峰翻译

本文来自云栖社区合作伙伴“51CTO”,了解相关信息可以关注。

相关文章
|
7月前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
126 1
|
Linux Shell 调度
(三)Linux命令行工具和脚本编程:自动化任务和提高效率
Linux命令行工具和脚本编程是系统管理员和开发人员必备的技能。这些技能不仅可以自动化日常任务,还可以提高工作效率。本文将介绍如何使用Linux命令行工具和Shell脚本编程来自动化任务,并提供一些实用的技巧和示例。
193 1
|
运维 Linux 网络安全
运维工程师工作时最常用的20个Linux命令有哪些?建议收藏
运维工程师工作时最常用的20个Linux命令有哪些?建议收藏
18302 5
运维工程师工作时最常用的20个Linux命令有哪些?建议收藏
|
监控 网络协议 NoSQL
测试工程师必须要掌握的linux命令
测试工程师的四大基础技能:数据库、linux、网络协议、测试工具,不管是刚入门还是已经工作多年,这几个方向都是要掌握的。今天我们再讲一下测试工程师必须要掌握的linux命令。
239 0
|
Shell 数据安全/隐私保护
|
Perl
你需要熟练运用的12个命令行工具
本文简要介绍了当前较为流行的12种对数据科学任务有价值的类Unix操作系统命令行工具:wget,cat,wc,head,tail,find,cut,uniq,awk,grep,sed,history。
2088 0
|
Linux Shell Ubuntu
《Linux命令行与shell脚本编程大全》第十八章 图形化桌面环境中的脚本编程
18.1 创建文本菜单 直接上例子吧:   1 #!/bin/bash   2 function menu   3 {   4         clear   5         echo   6         echo -e "\t\t\tSys Admin Menu\n"   7         echo -e "\t1.
1321 0
|
Linux Shell Perl
《Linux命令行与shell脚本编程大全》第十一章 构建基本脚本
11.1使用多个命令 $date;who   //  命令列表,加入分号就可以,这样会依次执行。参见5.2.1节 注意区分$(date;who),这个是进程列表,会生成一个子shell来执行 Shell脚本的关键在于输入多个命令并处理每个命令的结果,甚至需要将一个命令的结果传给另外一个命令。
1179 0
|
Java Linux 开发工具
|
监控 前端开发 应用服务中间件