close
当前位置: 物联网在线 > 技术文库 >

让你生活更简单的几个不常用的Linux命令

作为一个软件工程师,学习Linux是我做过的最好的时间投资。因为它是一个用户必须理解和维护的系统,每天的使用经验就像在水坑中添加一滴水一样。很长时间以后,水坑就变成了湖泊,甚至海洋。

今天,作为一名30岁的工程师,我仍然受益于多年前学到的知识,那时我是一个雄心勃勃的初学者。在另一篇博客文章(http://azer.bike/journal/pin-factory/)中,我更详细地解释了为什么Linux更适合软件开发人员。

在这篇文章中,我将分享我个人使用和推荐的一些不太流行但非常有用的Linux命令。如果你有一个苹果笔记本,那很好,因为我提到的大部分命令也存在于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

tee 将程序的输出结果重定向,使得我们可以同时显示和保存结果,例如,添加一个新的条目到hosts文件中:

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

7. pidof, kill and pkill

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

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

pidof nginx

你可以把nginx的进程ID输入到 kill 命令来终止它。

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 发送kill指令
* u 按用户过滤结果
* t 打开/关闭 树形(tree) 模式
* -和+ 展开/关闭进程树
* H 关闭显示进程

2. chroot

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

是不是很强大?

1. dialog

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

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



它存在于Linux和OSX系统上,并支持许多其他类型的对话框:消息框,菜单,确认框,进度条…我为Happy Hacking Linux编写的安装向导就是用这个神奇的命令制作的!
(责任编辑:ioter)

用户喜欢...

2017年即将过去,Linux 又有什么问题出现了呢?

到目前为止,糟糕的文档是Linux用户最头痛的问题。这里还有一些其他常见的问题。 正常情况下 Linux 都能正确安装并运行,但是有些人则并不那么幸运。2017年即将过去,Linux 又有什么问题出现...


第4章 利用Petalinux工程工作

建立一个新的工程 在从vivado中导出硬件描述文件后,下一步就是建立并初始化新的Petalinux工程。petalinux-create工具用于穿件基本工程目录: petalinux-create - -type project - -template CPU_NAME > - -name P...


第3章:配置自定义嵌入式Linux

配置一个硬件平台 Zynq-7000 下面是启动Linux所需要的硬件需求。 一个Triple Timer Counter (定时器) (必须) IMPORTANT: - 如果有多个定时器,Zynq-7000Linux内核将会自动使用设备树中第一个定时器。. - 请确...


第2章:测试Petalinux BSP镜像

测试预构建Petalinux镜像 现在,你可以尝试一个预构建参考例。这是通过petalinux-boot 工具来实现的。petalinux-boot可以在物理硬件或者QEMU上启动参考例子。 在硬件上测试预编译镜像 Petalinux BSP包...


使用 Docker 构建 PetaLinux 开发环境

0. 背景 0.1 PetaLinux 是什么 PetaLinux 是 Xilinx 推出的用于在其自家 SoC 上构建嵌入式 Linux 的一套工具集,集成了编译、调试、仿真等众多工具。 0.2 原有的搭建 PetaLinux 开发环境的方式有什么问题...


第1章:使用petalinux参考BSP

Petalinux参考bsp可以让用户迅速启动。并且,这些设计可以作为用户设计的基。Petalinux BSP是标准可安装格式,包含启动所需的设计和配置文件。BSP包中设计好的软硬件可以下载到板子上,或者...


对比为μClinux、μC/OS-II、eCos、FreeRTOS和rt-thread

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为Clinux、C/OS-II、eCos、FreeRTOS和rt-thread。下面分别介绍这五种嵌入式操作系统的特点及不足,通过对比,读者可以根据...


基于AWS使用深度学习的10个Linux命令

在AWS上执行大规模的深度学习处理是一个廉价而且有效的学习和开发方式。花少量的钱就可以使用数十GB的内存,数十个CPU,多个GPU,这是值得推荐的。 如果你是使用EC2或者Linux 命令的新人,...


当ZYNQ遇到Linux Userspace I/O(UIO)

作者:何晔 来源: Linuxer微信公众号 (微信号:LinuxDev) 作者简介: 何晔:做过学生也做过老师又做了学生后错入了IT门。接触linux也有十来个年头,辗转于各种驱动开发,无一精通。在A...


基于赛灵思FPGA的嵌入式Linux软硬件设计

FPGA是通过逻辑组合电路来实现各种功能的器件。由于FPGA内部集成了大量的逻辑资源和可配置的I/O引脚,加上独特的并行处理架构,可以轻松实现同时对多个外部设备的配置和管理,以及内外...