作为一名软件工程师,学习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是终端的优异窗口和会话管理器。
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
有名的进程监控。它有一个美丽又多彩的指令行界面。一些有用的键绑定:
\过滤器
/查找
,挑选排序条件
k发送杀死信号
u用户过滤成果
t翻开/封闭树形式
-和+ 折叠 / 打开选定的流程树
H封闭显现线程
2.chroot
很多人喜爱这个指令,是由于它在给定的目录中翻开了一个新的TTY。这意味着,你能够创立一个文件夹,在其间设置一个新的Linux体系,并随时切换到该“子体系”。
是不是很强壮?
1.dialog
在指令行上与用户交互的一种十分简略又杰出的方法。例如,下面的指令展现了一个不错的输入框:
dialog –title "Oh hey" –inputbox "Howdy?" 8 55
它既存在于Linux,也存在于OSX体系上,并支撑许多其他类型的对话框;音讯框,菜单,承认,进度条…我为Happy Hacking Linux编写的装置导游便是用这个令人惊叹的指令制造的!