目錄
ls指令
判斷linux中文件
pwd指令
認識路徑
?編輯
絕對路徑/相對路徑
cd指令
簡要理解用戶
理解家目錄
echo指令和printf指令
touch指令
mkdir指令
cat指令
tree指令
rmdir指令和rm指令
man指令
cp指令
which指令
alias 指令
date指令
cal指令
理解文件
今天我們正式開啟我們的linux之旅!
我們先從指令開始!
ls指令
語法:ls [選項] [目錄或文件]
功能:對于目錄,顯示該目錄下的所以子目錄和文件,對于文件,列出文件名以及其他信息。
常?選項:
- -a列出?錄下的所有?件,包括以.開頭的隱含?件。
- -l列出?件的詳細信息
- -d將?錄像?件?樣顯?,?不是顯?其下的?件。如:ls?d指定?錄
- -i輸出?件的i節點的索引信息。如ls?ai指定?件
- -k以k字節的形式表??件的??。ls?alk指定?件
- -r對?錄反向排序
- -R列出所有??錄下的?件。(遞歸)
- -s在l?件名后輸出該?件的??。(??排序,如何找到?錄下最?的?件)
- -1??只輸出?個?件。
- -t以時間排序
- -F在每個?件名后附上?個字符以說明該?件的類型,“*”表?可執?的普通?件;“/”表? ?錄;“@”表?符號鏈接;“|”表?FIFOs;“=”表?套接字(sockets)。(?錄類型識別)
我們來演示以下:
當然我們的命令行選項可以組合使用:
判斷linux中文件
在windows中我們常常看文件的后綴(.txt,.zip,.c等)來區分文件,而在linux中我們不看后綴來區分文件,簡單來說,linux不關心文件后綴!
我們來看看怎么來區分linux中的文件:
pwd指令
語法:pwd
功能:顯示用戶當前路徑
如:
認識路徑
- Linux系統中,磁盤上的?件和?錄被組成?棵?錄樹,每個節點都是?錄或?件
- 其中普通?件?定是?錄樹的葉?節點
- ?錄可能是葉?(空?錄),也可能是路上節點
- 理解路徑存在的意義:樹狀組織?式,都是為了保證快速定位查找到指定的?件,?定位?件就 需要具有唯?性的?案來進?定位?件。其中任何?個節點,都只有?個?節點,所以,從根? 錄開始,定位指定?件,路徑具有唯?性。
目錄樹:
絕對路徑/相對路徑
絕對路徑:?般從/開始,不依賴其他?錄的定位?件的?式。
絕對路徑?般不會隨著??的路徑變化?喪失唯?性,?般在特定服務的配置?件中經常被使?
如:
相對路徑:相對于當前??所處?錄,定位?件的路徑?式。
相對路徑因為它的便捷性,?般在命令?中使?較多。
如:
解釋:
進一步解釋:
我們不難發現不管哪個目錄(哪怕是空目錄)都有 . 和 . . 文件。
cd指令
語法:cd 指定路徑
功能:改變工作目錄
接上之前理解:
cd - :去最近的路徑。
如:
簡要理解用戶
每?次新建?個用戶都會在 /home ?錄下為新用戶創建新的?作?錄,?錄以新用戶名稱命名,而root用戶在安裝操作系統的時候,就已經內置了工作?錄 : /root
理解家目錄
我們知道 . 代表當前目錄,. . 代表上一級目錄,現在 ~ 代表家目錄!
任何一個linux用戶,用某個用戶登陸linux系統時,默認在家目錄下!
echo指令和printf指令
語法:echo? ....
功能:打印后續內容(將后續內容當作字符串)
但是printf和echo還有不同,printf沒有如果不加\n,就沒有換行,而echo是默認換行!
touch指令
語法:touch [選項] ...文件...
功能:touch命令參數可更改?檔或?錄的?期時間,包括存取時間和更改時間,或者新建?個不存在的?件。(只能新建普通文件,不能新建文件夾)
- -a:change? only? the? access? time
- -c:change? only? the? ?modification? ?time
如:
mkdir指令
語法:mkdir? [選項]? dirname
功能:在當前目錄下創建?個名為“dirname”的目錄
常用選項:
- -p/--parents: 可以是?個路徑名稱。此時若路徑中的某些?錄尚不存在,加上此選項后,系統將? 動建?好那些尚不存在的?錄,即?次可以建?多個?錄。
例子:
cat指令
語法:cat? [選項]? [文件]
功能:查看文件的內容
常用選項:
- -b對?空輸出?編號
- -n對輸出的所有?編號
- -s不輸出多?空?
tree指令
語法:tree 路徑
功能:顯示該路徑下的所有文件
例子:
rmdir指令和rm指令
rmdir是?個與mkdir相對應的命令,mkdir是建??錄,?rmdir是刪除命令。
語法:rmdir? [選項] dirname?
功能:刪除目錄
常用選項:
- -p當??錄被刪除后如果??錄也變成空目錄的話,就連帶父目錄?起刪除。
例子:
注意:rm命令可以同時刪除?件或?錄
rm常用選項:
- -f即使?件屬性為只讀(即寫保護),亦直接刪除
- -i刪除前逐?詢問確認
- -r刪除?錄及其下所有?件
例子:
man指令
Linux的命令有很多參數,我們不可能全記住,可以通過查看聯機?冊獲取幫助。
語法:man [選項]? dirname
常用選項:
- -k根據關鍵字搜索聯機幫助
- num只在第num章節查找
- -a將所有章節的都顯?出來,?如manprintf它缺省從第?章開始搜索,知道就停?,?a選 項,當按下q退出,他會繼續往后?搜索,直到所有章節都搜索完畢
解釋?下:man?冊分為9章(不同系統可能會有差別)
- 1是普通的命令
- 2是系統調?,如open,write之類的(通過這個,?少可以很?便的查到調?這個函數,需要加什么 頭?件)
- 3是庫函數,如printf,fread4是特殊?件,也就是/dev下的各種設備?件
- 4是包含設備文件、文件格式和約定等信息。設備文件通常位于/dev目錄下,代表系統中的硬件設備或特殊文件。文件格式和約定則描述了特定類型文件的格式和結構。
- 5是指?件的格式,?如passwd,就會說明這個?件中各個字段的含義
- 6是給游戲留的,由各個游戲??定義
- 7是附件還有?些變量,?如像environ這種全局變量在這?就有說明
- 8是系統管理?的命令,這些命令只能由root使?,如ifconfig
- 包含內核例程、核心數據結構和重要的設備驅動程序等
例子:
cp指令
語法:cp [ 選項 ] 源?件或?錄 ?標?件或?錄
功能:復制?件或?錄
常用選項:
- -f或--force強?復制?件或?錄,不論?的?件或?錄是否已經存在
- -i或--interactive 覆蓋?件之前先詢問?戶
- -r遞歸處理,將指定?錄下的?件與??錄?并處理。若源?件或?錄的形態,不屬于?錄或符 號鏈接,則?律視為普通?件處理
說明:
- cp指令?于復制?件或?錄
- 如同時指定兩個以上的?件或?錄,且最后的?的地是?個已經存在的?錄,則它會把前?指定 的所有?件或?錄復制到此?錄中
例子:
單個文件拷貝:
多個文件拷貝:
目錄拷貝:
覆蓋:
which指令
語法:which? 指令名
功能:搜索系統指定的命令
例子:
alias 指令
功能:設置命令的別名
date指令
指定格式顯?時間: date +%Y:%m:%d
?法: date [OPTION]... [+FORMAT]
在顯???,使?者可以設定欲顯?的格式,格式設定為?個加號后接數個標記,其中常?的標記 列表如下:
在設定時間??:
時間戳:
- 時間->時間戳:date+%s
- 時間戳->時間:date-d@1508749502
- Unix時間戳(英?為Unixepoch,Unixtime,POSIXtime或Unixtimestamp)是從1970年1?1 ?(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒
例子:
cal指令
cal命令可以?來顯?公歷(陽歷)?歷。公歷是現在國際通?的歷法,?稱格列歷,通稱陽歷。“陽 歷”?名“太陽歷”,系以地球繞?太陽?周為?年,為西?各國所通?,故?名“西歷”。
語法:cal 參數 [ 年份 ]
功能:?于查看?歷等時間信息,如只有?個參數,則表?年份(1-9999),如有兩個參數,則表??份 和年份
常?選項:
- -3顯?系統前?個?,當前?,下?個?的?歷
- -j 顯?在當年中的第?天(?年?期按天算,從1?1號算起,默認顯?當前?在?年中的天數)
- -y 顯?當前年份的?歷
例子:
理解文件
學習了上面的指令,我們對linux中的文件有了基本認識!
我們可以知道一個目錄其實就是一個文件夾,這個文件夾里面可以繼續有目錄(文件夾)或者普通文件!
目錄==文件夾!
繼續理解:
如果建立一個空文件,這個空文件也會占據磁盤空間!因為它還有屬性(文件名,建立時間等)
文件==屬性+內容!
所有我們現在學習文件,不是對文件屬性操作就是對內容操作!
繼續深入理解:
其實Linux中的指令也是文件!
圖理解:
甚至我們可以自己寫一個C/C++文件當指令:
由于內容過多,我們下期見!