Linux命令行极简教程

程序员的使命
维基百科的解释:
命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。
也有人这样说:
熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力
个人观点:
有看到不同行业的人在评论区各种互撕,那到底用命令行是好还是不好呢..其实我觉得有时候花时间纠结这些问题是没有意义的,你觉得有用就学,不看好它就不看了呗,等哪天你发现它的好了,打心里想学了就去学呗,学习这东西,只要你愿意开始,什么时候都不晚。
任何东西都没有绝对的说法,要看使用的场合,常说水能载舟,它亦能覆舟。
我自己会的命令行也不是很多,但真的打心里羡慕那些把命令行用的很溜的大牛们,也在学习着熟悉大部分命令行,因为我觉得至少现在对我来说,它是极好的。
你是否注意到,在电影中一个“超级黑客”坐在电脑前,从不摸一下鼠标, 就能够在30秒内侵入到超安全的军事计算机中。这是因为电影制片人意识到, 作为人类,本能地知道让计算机圆满完成工作的唯一途径,是用键盘来操纵计算机。
但不得不说不好的地方是
- 命令行对新手不太友好,所以能否熟练应用命令行算是一个高手和新手能显著拉开效率差距的点。
- 娱乐的时候不友好,你要打游戏或者要聊天,这个时候就还是图形化界面占上风了,当然对用户来说也美观
- 看到有人这样说—我就想让照片上妹子脸上的小痘痘消失,怎么用命令行实现呢
好在哪呢?
- 人生苦短,效率,效率,效率,还是效率
- 鼠标不适合快速操作,命令行通常比在菜单中点来点去更简单,更容易,更直接。
- 稳定,可移植性强
- 开发省心省钱
试着玩玩,就能体会到它的效率了



这里选择把top单独介绍(信息量略大)
- top的用途—作为日常管理工作中最常用也是最重要的Linux 系统监控工具之一,可以动态观察系统进程状况,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等默认值是每5秒更新一次,按q键可以退出。
- 在你的终端输入这条命令即可查看$ top
- 它会出现这些信息(本人电脑举例)

- 第一行含义解释21:11:46—当前系统时间up 29 min—系统已经运行了29分钟(在这期间系统没有重启过)2users—当前有2个用户登录系统load average: 0.29, 0.28, 0.18—loadaverage—后面的三个数分别是1分钟、5分钟、15分钟的负载情况loadaverage—数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
- 第二行含义解释Tasks: 240 total, 1 running, 239 sleeping, 0 stopped, 0 zombie—系统现在共有240个进程,其中处于运行中的有1个,239个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
- 第三行含义解释2.6 us—用户空间占用CPU的百分比。0.8 sy—内核空间占用CPU的百分比。0.0%ni—改变过优先级的进程占用CPU的百分比96.6 id—空闲CPU百分比0.0 wa—IO等待占用CPU的百分比0.0hi—硬中断(HardwareIRQ)占用CPU的百分比
0.0si—软中断(SoftwareInterrupts)占用CPU的百分比`
- 第四行含义解释8081084 total—物理内存总量(80GB)1533752 used—使用中的内存总量(14GB)4966452 free—空闲内存总量(49GB)1580880 buff/cache—缓存的内存量(15G)
- 第五行含义解释(swap交换分区信息)0 total—交换区总量(0K)0used—使用的交换区总量(0K)0free—空闲交换区总量(0K)5930172 avail Mem—可用内存(59G)
- 第七行含义解释(各进程(任务)的状态监控)PID—进程idUSER—进程所有者PR—进程优先级NI—nice值。负值表示高优先级,正值表示低优先级VIRT—进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES—进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR—共享内存大小,单位kb
S—进程状态。D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止Z=僵尸进程
%CPU—上次更新到现在的CPU时间占用百分比
%MEM—进程使用的物理内存百分比
TIME+—进程使用的CPU时间总计,单位1/100秒
COMMAND—进程名称(命令名/命令行)
Linux命令行极简教程的更多相关文章
- CentOS安装使用.netcore极简教程(免费提供学习服务器)
本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用. 仅针对CentOS,其它Linux系统类似,命令环节稍加调整: 需 ...
- Asky极简教程:零基础1小时学编程,已更新前8节
Asky极简架构 开源Asky极简架构.超轻量级.高并发.水平扩展.微服务架构 <Asky极简教程:零基础1小时学编程>开源教程 零基础入门,从零开始全程演示,如何开发一个大型互联网系统, ...
- Nginx 极简教程(快速入门)
作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4. ...
- 40个超有趣的Linux命令行彩蛋和游戏
40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...
- nginx极简教程
Nginx 极简教程 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. examples 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快 ...
- 自制 os 极简教程1:写一个操作系统有多难
为什么叫极简教程呢?听我慢慢说 不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了 ...
- 像黑客一样使用 Linux 命令行
前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...
- [转]12款最佳Linux命令行终端工具
摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...
- 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器
12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...
随机推荐
- CentOS 7下软阵列的创建
硬阵列和软阵列没有什么可比性,毕竟应用的场景不一样,比如硬阵列性能强劲,有额外的内存支持缓存使其更快,但也有缺点,以硬盘为个数,且如果其中某个硬盘的容量不齐,那么会以最小的容量为准,体现出硬阵列的不灵 ...
- 关于ConcurrentDictionary的线程安全
ConcurrentDictionary是.net BCL的一个线程安全的字典类,由于其方法的线程安全性,使用时无需手动加锁,被广泛应用于多线程编程中.然而,有的时候他们并不是如我们预期的那样工作. ...
- Microsoft OS Descriptors
Microsoft OS Descriptors Updated: April 11, 2014 USB devices store standard descriptors in firmware ...
- JS 判断 undefined 类型
typeof 返回的是字符串,有六种可能:"number"."string"."boolean"."object".&q ...
- Cocos2d-x开源、跨平台的游戏引擎
from://http://blog.linguofeng.com/pages/language/c/Cocos2dx.html Cocos2d-x 开源.跨平台的游戏引擎 一.下载 http://c ...
- Winfrom固定Label宽度,根据文本动态改变Label的高度 z
Label,要固定住宽度,然后根据文本的长度来动态改变高度,一开始去网上找解决方案,各种根据字体大小啊,字数啊来动态改变,但是效果却不怎么好.最后灵机一动,想起了偶尔用过一次的FlowLayoutPa ...
- 使PropertyGrid控件的属性值可以显示多行的方法
第一步:重写UITypeEditor的GetEditStyle方法: 第二部:重写UITypeEditor的EditValue方法: 具体实现如下: using System; using Syste ...
- 转: Linux --- Supervisor的作用与配置
supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,所以我们只需要将要管理进程的可执行文件的路径添加到supervisor的配置文件中 ...
- MySQL查询字符串长度最长的记录
select `字段`, length(`字段`) from 表名 where length(`字段`) = ( select max(length(`字段`)) from 表名 )http://s ...
- 苹果无法连接到itunes store怎么办
方法1:设置--还原--还原网络设置,再进app store就可以了.方法2:重置访问限制“设置”–> “通用” –> “访问限制”,开启访问限制5秒,然后再关闭访问限制.方法3:重置当前 ...