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

基本命令行

这些你也要会(举例说明)

神奇的top
这里选择把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—进程id
 - USER—进程所有者
 - PR—进程优先级
 - NI—nice值。负值表示高优先级,正值表示低优先级
 - VIRT—进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
 - RES—进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
 - SHR—共享内存大小,单位kb
 - S—进程状态。D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止Z=僵尸进程
 - %CPU—上次更新到现在的CPU时间占用百分比
 - %MEM—进程使用的物理内存百分比
 - TIME+—进程使用的CPU时间总计,单位1/100秒
 - COMMAND—进程名称(命令名/命令行)