了解一個新事物染突,一個新知識最好的方式淘太,就是對它問問題姻僧,然后再自己尋找答案规丽,進行解答并總結(jié),SO......
Question:
-
命令行是什么?
Baidu
命令提示符是在操作系統(tǒng)中撇贺,提示進行命令輸入的一種工作提示符赌莺。在不同的操作系統(tǒng)環(huán)境下,命令提示符各不相同……
Wiki
命令行界面(英語:command-line interface松嘶,縮寫:CLI)是在圖形用戶界面得到普及之前使用最為廣泛的用戶界面艘狭,它通常不支持鼠標,用戶通過鍵盤輸入指令翠订,計算機接收到指令后巢音,予以執(zhí)行。也有人稱之為字符用戶界面(character user interface, CUI)尽超。
通常認為官撼,命令行界面(CLI)沒有圖形用戶界面(GUI)那么方便用戶操作。因為似谁,命令行界面的軟件通常需要用戶記憶操作的命令傲绣,但是,由于其本身的特點巩踏,命令行界面要較圖形用戶界面節(jié)約計算機系統(tǒng)的資源秃诵。在熟記命令的前提下,使用命令行界面往往要較使用圖形用戶界面的操作速度要快塞琼。所以菠净,在現(xiàn)在的圖形用戶界面的操作系統(tǒng)中,通常都保留著可選的命令行界面彪杉。
雖然現(xiàn)在許多計算機系統(tǒng)都提供了圖形化的操作方式毅往,但是卻都沒有因而停止提供文字模式的命令行操作方式,相反的在讶,許多系統(tǒng)反而更加強這部分的功能煞抬,例如Windows就不只加強了操作命令的功能和數(shù)量,也一直在改善Shell Programming的方式构哺。而之所以要加強革答、改善,自然是因為不夠好曙强;操作系統(tǒng)的圖形化操作方式對單一客戶端計算機的操作残拐,已經(jīng)相當方便,但如果是一群客戶端計算機碟嘴,或者是24小時運作的服務器計算機溪食,圖形化操作方式有時會力有未逮,所以需要不斷增強命令行界面的腳本語言和宏語言來提供豐富的控制與自動化的系統(tǒng)管理能力娜扇,例如Linux系統(tǒng)的Bash或是Windows系統(tǒng)的Windows PowerShell错沃。
咳咳栅组,請自動忽略百度百科
Django Girls's tutorial
可能需要翻墻來查閱
GUI的發(fā)展史
其實大家看到,維基的解釋也很清楚了枢析。在GUI廣泛出現(xiàn)以前(注意玉掸,這里的GUI指的不是顯示器上的畫面),當時的計算機界對UI醒叁,人機交互是沒有很清晰的概念的司浪,但是讓PC在民用市場得到廣泛傳播使用,需要降低使用門檻把沼,并且用戶需求啊易、體驗也被越來越多的人關(guān)注......最終,用戶圖形界面(Graphics User Interface)誕生了饮睬,經(jīng)過無數(shù)計算機科學家與圖形學工作者的努力.......直到如今這個模樣(貌似偏題了)租谈。
這里就與其歷史問題一同解答了
-
它有什么用?
知乎上有一個十分有趣的問題:使用命令行真的比使用可視化界面好嗎续捂?
總而言之垦垂,向朝著更高效更迅速更有逼格的使用OS這個方向發(fā)展而言,命令行是你跳不過去的坎兒牙瓢。
-
不同平臺(OS)上的命令行有什么區(qū)別?
這個問題我自己覺得最好的解答方式就是自己親自去把win间校、linux矾克、mac os的命令行敲一遍......大體上都差不多。
知識準備:
- 關(guān)于這些命令行的更多詳細介紹你可以在Linux中國上找到:Linux新手應該知道的命令行
- Linux命令大全手冊
cd (change the working directory)
即改變或切換當前工作目錄憔足,也可通俗理解為打開某個文件夾胁附,并跳轉(zhuǎn)至該處。
. 表示當前目錄
.. 表示上一級目錄(父目錄)
除此之外滓彰,我們還可以針對同一父目錄下的文件夾使用相對目錄來使用cd
首先控妻,我們使用絕對目錄進入了,c/Users/Administrator/Dekstop/img/這個文件夾里揭绑,之后使用"../"回到父母路弓候,也就是/Desktop下。因為/a文件與/img都是/Desktop下的文件夾他匪,所以直接/a,應該會進入/Desktop/a目錄對吧菇存,可是報錯了。
No such file or directory
原因很簡單邦蜜,在進入/a時依鸥,沒有用.表示當前目錄
所以改一改就好了。
這是我在cd命令下的一個低級錯誤悼沈,我想贱迟,產(chǎn)生這個錯誤的原因在于姐扮,自己并沒有把./,../這些概念理解透,所以衣吠,繼續(xù)摸索試錯吧溶握。
我們可以有一個最快的方法,就是相對目錄的使用蒸播。
cd -
cd后加入-可以在最近的工作目錄下切換
跨盤符的也可以:
cd ~
返回Home目錄
這個有一個細節(jié)睡榆,文件夾名為:Front End,在命令行中袍榆,需要加入一個反斜杠來表示空格符胀屿,即空格符等于:\+空格
cd ab?
有時你可能忘記了文件名,但是記得它由幾個字符組成包雀,那就可以使用這個方法了宿崭。
關(guān)于cd命令還有很多值得探索的細節(jié),這里就不一一說明了才写。
ls (list directory contents)
Linux中的15個基本‘ls’命令示例(墻薦)
關(guān)于ls的幾種使用方法
ls
僅列出當前目錄可見文件
只是把文件名列項
ls -l
列出當前目錄可見文件詳細信息(注意是可見文件)
我們拿第一個Img文件來“翻譯”一下葡兑。
-
-rw-r--r--
Linux用戶文件權(quán)限,大概查了一下....分三段來看赞草,
首尾代表的是目錄或者文件讹堤,一般不用管,后面的三段每段3位厨疙,r代表可讀洲守,w代表可寫,x代表可執(zhí)行沾凄。第一段是代表文件所屬用戶主對它的權(quán)限梗醇,第二段是所屬用戶組的用戶對它的權(quán)限,第三段是其他用戶對他的權(quán)限撒蟀。
第一段:rw- 叙谨,所屬用戶(比如是root)對這個文件可讀可寫
第二段:r-- ,所屬用戶組用戶保屯,對這個文件可讀
第三段:r-- 手负,其他用戶對這個文件可讀
-
1
表示連接占用的節(jié)點(i-node)
-
Administrator
表示這個文件或目錄的“擁有者”
-
197121
表示擁有者的用戶組
-
5806
這個文件的大小(Byte)
-
九月 19 01:30
這個文件的創(chuàng)建日期或者是最近的修改日期
-
微信截圖_20170919012956.jpeg
文件的文件名:如果文件名前面有.說明是隱藏文件配椭。如果只輸入ls 前面加.的文件不會顯示出來虫溜。ls -al則會顯示出全部文件。
ls -hl
列出詳細信息股缸,并以可讀大小顯示文件大小
主要是文件大小的表示方法發(fā)生了變化衡楞。
ls -al
列出所有文件(包括隱藏)的詳細信息
由于我沒有隱藏文件,所有基本上差不多
drwxr-xr-x表示的是目錄文件
就像你輸入ls -a ,它會把/img本身和它的父目錄一同顯示詳細信息瘾境。
注意: Linux 中 以 . 開頭的文件或文件夾均為隱藏文件或隱藏文件夾歧杏。
pwd (print name of current/working directory)
pwd命令以絕對路徑的方式顯示用戶當前工作目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出迷守。全部目錄使用/分隔犬绒。第一個/表示根目錄,最后一個目錄是當前目錄兑凿。執(zhí)行pwd命令可立刻得知您目前所在的工作目錄的絕對路徑名稱凯力。
Linux —— pwd
對,簡而言之礼华,就是顯示當前的工作目錄
但是輸入pwd --help咐鹤,文檔里有更多關(guān)于pwd的知識和高級用法,之后再慢慢研究圣絮。
mkdir (make directories)
mkdir命令用來創(chuàng)建目錄祈惶。該命令創(chuàng)建由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名扮匠,則在當前目錄下創(chuàng)建由dirname指定的目錄捧请;如果給出了一個已經(jīng)存在的路徑,將會在該目錄下創(chuàng)建一個指定的目錄棒搜。在創(chuàng)建目錄時疹蛉,應保證新建的目錄與它所在目錄下的文件沒有重名。 注意:在創(chuàng)建文件時帮非,不要把所有的文件都存放在主目錄中氧吐,可以創(chuàng)建子目錄,通過它們來更有效地組織文件末盔。最好采用前后一致的命名方式來區(qū)分文件和目錄。例如座慰,目錄名可以以大寫字母開頭陨舱,這樣,在目錄列表中目錄名就出現(xiàn)在前面版仔。來自: Linux—— mkdir
延伸:大白蝦:mkdir命令
一般用法就不寫了游盲。
mkdir -p
遞歸的創(chuàng)建多個目錄
mkdir xx xx
這個方法是一次創(chuàng)建多個同級目錄
這里蛮粮,同時創(chuàng)建了同級目錄one two益缎,遞歸創(chuàng)建了目錄1/2/3。
同樣的然想,刪除多個同級目錄也是空格隔開目錄名就可以了莺奔,但是需要加上-r,使用遞歸刪除(rm -r)來完成变泄。
這里很容易把mkdir -p 和rm -r 搞混令哟,所以要注意區(qū)分恼琼。
mkdir -v
創(chuàng)建目錄同時提示信息
這里的-vp,意思就是同時使用-v與-p的用法屏富,即:遞歸的創(chuàng)建/b/c晴竞,并提示信息
rm (remove files or directories)
要注意的是,Linux狠半、Mac下的rm操作是會有重復確認的噩死,即需要你輸入yes or no,但windows不會這樣神年,還不知道為什么已维,難道因為有一個回收站的原因?
rm
單單的rm瘤袖,可以刪除目錄下的文件衣摩,但不能刪除整個目錄。
想要刪除整個目錄下的文件包括目錄本身捂敌,需要使用rm -r
rm -r
首先遞歸創(chuàng)建目錄1/2/3艾扮,之后rm -r遞歸刪除,包括1/和所有子目錄下文件都刪除掉了占婉。
這里的刪除操作泡嘴,在Linux下會一項一項的需要你確認(Y or N)。
rm -f 和 rm -fr
如果不想回復逆济,直接確認所有刪除酌予,可以使用rm -f(force)強制刪除。
但是我這里只有win的奖慌,而win下是沒有確認這一交互的抛虫,無法演示,有機會再來補吧简僧。
資料補充:Linux下rm命令使用詳解
mv (move (rename) files)
mv命令包含了兩個功能建椰,移動和重命名
這里重命名了一個.txt文件
rm 重命名目錄
rm 移動文件
移動一個.txt文件
移動多個.txt文件
也可使用通配符,移動所有以.txt結(jié)尾的文件
rm 移動目錄
將d/岛马、e/移動到c/中
rm -v 顯示移動信息
rm -i 使用交互模式
當你將文件移動到其它位置棉姐,而那個位置恰好有同樣的文件,這時 mv 命令會覆蓋掉原來的文件啦逆。對于mv的這一行為一般不會有什么提示伞矩。如果想產(chǎn)生一個關(guān)于覆蓋文件的提示,我們可以使用-i選項夏志。
關(guān)于rm命令還有很多操作乃坤,待補充......
Linux 移動或重命名文件/目錄-mv 的10個實用例子
簡明Linux命令行筆記:mv - Nerxious -
cp (copy files and directories)
不帶任何參數(shù)下,運行cp
同時拷貝多個文件
拷貝一個目錄
要拷貝一個目錄的話會有點棘手。你需要添加 -r 或者 -R 選項來實現(xiàn)侥袜。-r或-R 選項表明遞歸操作蝌诡。無論該目錄是否為空目錄,這個選項都是必要的枫吧。如下示例
需要注意的一件事浦旱,有可能你需要移除在目錄名尾部的斜杠。如果需要賦值的目錄沒有賦值成功九杂,估計原因在這颁湖。
Linux cp 命令的15個示例 - 創(chuàng)建文件和目錄的副本
Linux命令手冊——cp
echo(display a line of text)
這里使用了echo one111 >> x.txt
>> 表示不覆蓋之前的內(nèi)容
或
echo xxx >! x.txt
將>>變?yōu)?gt;!則是覆蓋內(nèi)容。
關(guān)于這個echo命令例隆,翻閱資料后也不是很懂甥捺,到時正式學習Linux時在回來補充。
Linux中的15個‘echo’ 命令實例
echo命令來自: http://man.linuxde.net/echo
先到這里镀层,留下一些文章博客镰禾。