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命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...
随机推荐
- STM32F4, USB HS with ULPI and Suspend/Wakeup
Hi guys,I am in need of your help, unfortunately STs documentation is lacking some information here. ...
- Eclipse Mark Occurrences
Mark Occurrences The Mark Occurrences feature enables you to see where an element is referenced by s ...
- echarts 怎样去掉白色边框线 和怎样去除背景中的网格
echarts怎样去掉白色边框线: echarts怎样去除背景中的网格线
- Go Session 使用简介
6.session和数据存储 6.1 session和cookie 6.2 Go如何使用session 6.3 session存储 6.4 预防session劫持 6.5 小结
- leetcode第一刷_Unique Binary Search Trees
这道题事实上跟二叉搜索树没有什么关系,给定n个节点,让你求有多少棵二叉树也是全然一样的做法.思想是什么呢,给定一个节点数x.求f(x),f(x)跟什么有关系呢,当然是跟他的左右子树都有关系.所以能够利 ...
- C#编程(三十六)----------元组
元组 数组合并了相同类型的对象,而元组合并了不同类型的对象. .NET 4定义了8个泛型Tuple类和一个静态的Tuple类,他们用作元组的工厂. 元组是一种数据结构,通过逗号分隔 Tuple< ...
- 组织安全性SQL
BEGIN mo_global.set_policy_context ('S', '&组织ID'); END; SELECT * FROM hr_organization_units_v; ...
- 【MySQL】EXPLAIN命令详解
具体参考: https://www.cnblogs.com/gomysql/p/3720123.html 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么 ...
- linux系统部署Java程序获取ip时报Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known
问题一: Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known vi ...
- mysql中的日期转换函数(类似oracle中的to_date)
最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中 ...