1秸谢、命令行真的好嗎
- 維基百科的解釋
命令行界面(英語:command-line interface篮奄,縮寫:CLI)是在圖形用戶界面得到普及之前使用最為廣泛的用戶界面商叹,它通常不支持鼠標(biāo)兔综,用戶通過鍵盤輸入指令饿凛,計算機接收到指令后,予以執(zhí)行软驰。也有人稱之為字符用戶界面(CUI)涧窒。
- 也有人這樣說
熟練使用命令行是一種常常被忽視,或被認(rèn)為難以掌握的技能锭亏,但實際上纠吴,它會提高你作為工程師的靈活性以及生產(chǎn)力
個人觀點
有看到不同行業(yè)的人在評論區(qū)各種互撕,那到底用命令行是好還是不好呢..其實我覺得有時候花時間糾結(jié)這些問題是沒有意義的慧瘤,你覺得有用就學(xué)戴已,不看好它就不看了唄固该,等哪天你發(fā)現(xiàn)它的好了,打心里想學(xué)了就去學(xué)唄糖儡,學(xué)習(xí)這東西伐坏,只要你愿意開始,什么時候都不晚握联。
任何東西都沒有絕對的說法桦沉,要看使用的場合,常說水能載舟金闽,它亦能覆舟纯露。
我自己會的命令行也不是很多,但真的打心里羨慕那些把命令行用的很溜的大牛們代芜,也在學(xué)習(xí)著熟悉大部分命令行埠褪,因為我覺得至少現(xiàn)在對我來說,它是極好的挤庇。
你是否注意到组橄,在電影中一個“超級黑客”坐在電腦前,從不摸一下鼠標(biāo)罚随, 就能夠在30秒內(nèi)侵入到超安全的軍事計算機中玉工。這是因為電影制片人意識到, 作為人類淘菩,本能地知道讓計算機圓滿完成工作的唯一途徑遵班,是用鍵盤來操縱計算機。
但不得不說不好的地方是命令行對新手不太友好潮改,所以能否熟練應(yīng)用命令行算是一個高手和新手能顯著拉開效率差距的點狭郑。
娛樂的時候不友好,你要打游戲或者要聊天汇在,這個時候就還是圖形化界面占上風(fēng)了翰萨,當(dāng)然對用戶來說也美觀
看到有人這樣說—我就想讓照片上妹子臉上的小痘痘消失,怎么用命令行實現(xiàn)呢
好在哪
- 人生苦短糕殉,效率亩鬼,效率,效率阿蝶,還是效率
- 鼠標(biāo)不適合快速操作雳锋,命令行通常比在菜單中點來點去更簡單,更容易羡洁,更直接玷过。
- 穩(wěn)定,可移植性強
- 開發(fā)省心省錢
2、感受下效率
試著玩玩,就能體會到它的效率了
使用命令 | 用途 |
---|---|
poweroff | 立刻關(guān)機 |
shutdown -h 10 | 10分鐘后自動關(guān)機 |
reboot | 重啟 |
shutdown -r 10(20:35) | 過10分鐘(在時間為20:35)自動重啟(root用戶使用) |
ls | 列舉出當(dāng)前工作目錄的文件和文件夾 |
mkdir <new-directory-name> | 新建一個文件夾 |
touch <new-directory-name> | 新建一個文件 |
rm <file-name> | 刪除給定的文件或文件夾 |
cp <source-file> <destination-file> | 對文件或文件夾進行復(fù)制 |
cat <file> | 用于在標(biāo)準(zhǔn)輸出(監(jiān)控器或屏幕)上查看文件內(nèi)容 |
pwd | 顯示當(dāng)前工作目錄 |
3辛蚊、基本命令行
使用命令 | 用途 |
---|---|
sudo passwd root | 設(shè)置root密碼(輸入當(dāng)前系統(tǒng)賬戶的密碼并設(shè)置新的UNIX密碼 |
users | 顯示當(dāng)前登錄系統(tǒng)地用戶 |
who | 登錄在本機的用戶與來源 |
hostname | 查看主機名 |
man <command-name> | 會為給定的命令顯示一個使用手冊頁面 |
tail -n N <file-name> | 指定在標(biāo)準(zhǔn)輸出上顯示文件的最后N行內(nèi)容(默認(rèn)顯示10行) |
grep "<string>" <file-name> | 在給定的文件中搜尋指定的字符串 |
tar xvf FileName.tar | 解包 |
tar cvf FileName.tar DirName | 打包文件 |
gzip -d FileName.gz | 解壓 |
gzip FileName | 壓縮 |
which <file_name> | 查看可執(zhí)行文件的位置粤蝎,在PATH變量指定的路徑中查看系統(tǒng)命令是否存在及其位置 |
4、這些你也要會(舉例說明)
使用命令 | 用途 |
---|---|
$ cat >> /Documents/test.txt << "EOF"export PATH=$HOME/jdk1.8.0_31/bin:$PATHexport JAVA_HOME=$HOME/jdk1.8.0_31/EOF |
使用>> 命令往配置文件里插入多行文本(兩個”EOF“之間的所有內(nèi)容都會被添加到文件中) |
tree #使用sudo apt-get install tree 安裝 |
將文件目錄以樹狀形式查看袋马,有時候很方便 |
echo "line 1\nline 1" | 顯示line 1\nline 1
|
echo -e "line 1\nline 2" | 顯示line 1(換行了)line 2 (-e:遇到轉(zhuǎn)義字符特殊處理) |
ps -aux | 顯示所有進程狀態(tài) |
kill <進程號(就是ps -A中的第一列的數(shù)字)> | 終止一個進程 |
kill -9 <進程號> | 強制中止一個進程(在上面進程中止不成功的時候使用) |
netstat -tp | 查看網(wǎng)絡(luò)連接命令 |
service --status-all | 查看系統(tǒng)服務(wù)狀態(tài) |
whereis <安裝的應(yīng)用名稱> | 查找應(yīng)用位置 |
5神奇的top
這里選擇把top單獨介紹(信息量略大)
-
top
的用途—作為日常管理工作中最常用也是最重要的Linux 系統(tǒng)監(jiān)控工具之一诽里,可以動態(tài)觀察系統(tǒng)進程狀況,顯示當(dāng)前系統(tǒng)正在執(zhí)行的進程的相關(guān)信息飞蛹,包括進程ID谤狡、內(nèi)存占用率、CPU占用率等默認(rèn)值是每5秒更新一次卧檐,按q鍵可以退出墓懂。 - 在你的終端輸入這條命令即可查看
$ top
- 它會出現(xiàn)這些信息(本人電腦舉例)
top - 21:11:46 up 29 min, 2 users, load average: 0.29, 0.28, 0.18
Tasks: 240 total, 1 running, 239 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.6 us, 0.8 sy, 0.0 ni, 96.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8081084 total, 4966452 free, 1533752 used, 1580880 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 5930172 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
979 root 20 0 370140 45300 33148 S 4.6 0.6 0:56.69 Xorg
3473 wangdan+ 20 0 643452 53564 31976 S 3.3 0.7 0:01.12 python2
2067 wangdan+ 20 0 1233768 113492 65108 S 2.3 1.4 1:06.83 compiz
769 mongodb 20 0 552156 67876 33636 S 0.7 0.8 0:12.55 mongod
2466 wangdan+ 20 0 1122656 213372 122840 S 0.7 2.6 1:42.89 chrome
3509 wangdan+ 20 0 49044 4240 3516 R 0.7 0.1 0:00.52 top
3552 wangdan+ 20 0 924300 189484 82964 S 0.7 2.3 0:04.20 chrome
1680 wangdan+ 20 0 578900 101304 46068 S 0.3 1.3 0:03.93 fcitx
1905 wangdan+ 20 0 206868 6532 5900 S 0.3 0.1 0:00.23 at-spi2-registr
2097 wangdan+ 20 0 469672 14668 11180 S 0.3 0.2 0:00.33 indicator-appli
2398 wangdan+ 20 0 3091788 80880 49128 S 0.3 1.0 0:03.90 sogou-qimpanel
3141 root 20 0 0 0 0 S 0.3 0.0 0:00.24 kworker/u8:2
3581 wangdan+ 20 0 531268 52284 28648 S 0.3 0.6 0:00.12 chrome
1 root 20 0 185468 6144 4020 S 0.0 0.1 0:02.98 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:01.88 kworker/u8:0
7 root 20 0 0 0 0 S 0.0 0.0 0:01.92 rcu_sched
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
10 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/0
11 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/1
12 root rt 0 0 0 0 S 0.0 0.0 0:00.01 migration/1
13 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/1
14 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kworker/1:0
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
16 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/2
17 root rt 0 0 0 0 S 0.0 0.0 0:00.01 migration/2
18 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftirqd/2
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/2:0H
21 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/3
22 root rt 0 0 0 0 S 0.0 0.0 0:00.01 migration/3
23 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/3
25 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/3:0H
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
- 第一行含義解釋
-
21:11:46
—當(dāng)前系統(tǒng)時間 -
up 29 min
—系統(tǒng)已經(jīng)運行了29分鐘(在這期間系統(tǒng)沒有重啟過) -
2users
—當(dāng)前有2個用戶登錄系統(tǒng) -
load average: 0.29, 0.28, 0.18—loadaverage
—后面的三個數(shù)分別是1分鐘、5分鐘霉囚、15分鐘的負(fù)載情況 -
loadaverage
—數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進程數(shù)捕仔,然后按特定算法計算出的數(shù)值。如果這個數(shù)除以邏輯CPU的數(shù)量盈罐,結(jié)果高于5的時候就表明系統(tǒng)在超負(fù)荷運轉(zhuǎn)了
-
- 第二行含義解釋
-
Tasks: 240 total, 1 running, 239 sleeping, 0 stopped, 0 zombie
—系統(tǒng)現(xiàn)在共有240個進程榜跌,其中處于運行中的有1個,239個在休眠(sleep)盅粪,stoped狀態(tài)的有0個钓葫,zombie狀態(tài)(僵尸)的有0個。
-
- 第三行含義解釋
-
2.6 us
—用戶空間占用CPU的百分比票顾。 -
0.8 sy
—內(nèi)核空間占用CPU的百分比础浮。 -
0.0%ni
—改變過優(yōu)先級的進程占用CPU的百分比 -
96.6 id
—空閑CPU百分比 -
0.0 wa
—IO等待占用CPU的百分比 -
0.0hi
—硬中斷(HardwareIRQ)占用CPU的百分比 -
0.0si
—軟中斷(SoftwareInterrupts)占用CPU的百分比` - 第四行含義解釋
-
8081084 total
—物理內(nèi)存總量(80GB) -
1533752 used
—使用中的內(nèi)存總量(14GB) -
4966452 free
—空閑內(nèi)存總量(49GB) -
1580880 buff/cache
—緩存的內(nèi)存量(15G) - 第五行含義解釋(swap交換分區(qū)信息)
-
0 total
—交換區(qū)總量(0K) -
0used
—使用的交換區(qū)總量(0K) -
0free
—空閑交換區(qū)總量(0K) -
5930172 avail Mem
—可用內(nèi)存(59G) - 第七行含義解釋(各進程(任務(wù))的狀態(tài)監(jiān)控)
-
PID
—進程id -
USER
—進程所有者 -
PR
—進程優(yōu)先級 -
NI
—nice值。負(fù)值表示高優(yōu)先級奠骄,正值表示低優(yōu)先級 -
VIRT
—進程使用的虛擬內(nèi)存總量豆同,單位kb。VIRT=SWAP+RES -
RES
—進程使用的含鳞、未被換出的物理內(nèi)存大小影锈,單位kb。RES=CODE+DATA -
SHR
—共享內(nèi)存大小蝉绷,單位kb -
S
—進程狀態(tài)鸭廷。D=不可中斷的睡眠狀態(tài)R=運行S=睡眠T=跟蹤/停止Z=僵尸進程 -
%CPU
—上次更新到現(xiàn)在的CPU時間占用百分比 -
%MEM
—進程使用的物理內(nèi)存百分比 -
TIME+
—進程使用的CPU時間總計,單位1/100秒 -
COMMAND
—進程名稱(命令名/命令行)
6潜必、參考(來自卓越女生BBS總理的分享)
- 常用命令行介紹
- 常用命令行cheet sheet
- 每個程序員都應(yīng)該知道的8個Linux命令
- 29個你必須知道的Linux命令
- Linux mkdir靴姿、tar 和 kill 命令的 4 個有用小技巧
- 慕課網(wǎng) 《Linux達人養(yǎng)成計劃 I》
- 慕課網(wǎng) 《Linux達人養(yǎng)成計劃 II》
- Ubuntu各種技巧
- Ubuntu常用命令行教程
- 書籍《鳥哥的Linux私房菜》
**我是半生不熟 喜歡照自己的怪念頭行事
喜歡一切意外 想把生活過成詩的樣子
若哪天有幸相遇 請別詫異 其實我并不是個乖孩子 **