目錄
前言
Linux基本指令
快速認識五個指令
ls指令
補充內容
pwd指令
補充內容
cd指令
補充內容
重新認識指令
指令的本質
which指令
alias指令
最后
一個文件的三種時間
tree指令及安裝?
tree指令
前言
????????關于Linux操作系統的桌面,在學校教學中我們在登陸Linux操作系統后都會進入一個圖形化界面,但是在實際開發中我們并不會有使用圖形化界面,所以我們建議使用XShell遠程登錄Linux操作系統,?關于XShell的安裝和如何使用以后會單獨出一篇內容進行介紹。
Linux基本指令
快速認識五個指令
請注意每一部分之間要留有空格
ls指令
語法:ls [選項][目錄或文件]
功能:對于目錄,列出目錄下的所有子目錄與文件,對于文件,列出文件名及其它信息
常用選項:
- -l:查看當前目錄下文件的詳細屬性
- -a:顯示當前目錄下所有文件,包括隱藏文件
Linux中以”.“開頭的文件叫隱藏文件?
- -la:顯示當前目錄下所有文件,包括隱藏文件的詳細信息(寫成ls -a -l / ls -l -a / ls -al均可)
選項+當前目錄下包含的目錄或文件名,則可以選擇是否查看它們的詳細屬性
(ls -a僅能查看所有文件包括隱藏文件,而ls -la還可以查看它們的詳細信息)
- -d: 將目錄象文件一樣顯示,而不是顯示其下的文件
?即點擊一個目錄后并不會進入它的內部
將根目錄像顯示文件信息時一樣顯示出來,并不會顯示根目錄中文包含的文件等內容
我們這里先介紹三個選項的使用,其余選項在實際中的應用暫時還未學到后續會更新?
- -i 輸出文件的 i 節點的索引信息。 如 ls –ai 指定文件
- -k 以 k 字節的形式表示文件的大小。ls –alk 指定文件
- -n 用數字的 UID,GID 代替名稱。 (介紹 UID, GID)
- -F 在每個文件名后附上一個字符以說明該文件的類型,“*”表示可執行的普通文件;“/”表示目錄;“@”表
- 示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。(目錄類型識別)
- -r 對目錄反向排序。
- -t 以時間排序。
- -s 在l文件名后輸出該文件的大小。(大小排序,如何找到目錄下最大的文件)
- -R 列出所有子目錄下的文件。(遞歸)
- -1 一行只輸出一個文件。
補充內容
1、文件 = 文件屬性 + 文件內容,文件屬性也是一種數據需要保存
2、對文件的任何操作無外乎于:對文件屬性的操作和對文件內容的操作
3、選項之間可以相互配合使用
4、目錄和路徑的區別在于,目錄找不到具體的目標文件,路徑可以找到具體的目標文件
路徑:/Users/liaowenxiong/Downloads/SoftWare for Mac/liaowenxiong.txt
目錄:/Users/liaowenxiong/Downloads/SoftWare for Mac
5、whoami指令查看當前使用Linux的人是誰?
pwd指令
語法:pwd
功能:顯示用戶當前所在路徑
?此時位于/root/demo2路徑下:
補充內容
- /:Linux操作系統的路徑分割符
- \:Windows操作系統的路徑分隔符
- 路徑最末端,一定是一個普通文件或文件夾(目錄名)
cd指令
語法:cd 目錄名/選項
功能:路徑切換
常用操作(既有選項,也有目錄名等,故這里統稱為操作)
- cd 回車:直接返回至主目錄下,即使在根目錄中也一樣
- cd /目錄名/目錄名/..../目錄名: 使用絕對路徑訪問某個目錄?
???????????????????????????????????????????? ? ? ? ? ? ? 使用絕對路徑必須以“/”開始
???????????????????????????????????? 注意使用絕對路徑時首先要返回根目錄下,否則報錯
- cd 目錄名 或 ./目錄名? 或 ./目錄名/ :使用相對路徑進入當前目錄下的某個子目錄
使用相對路徑訪問子目錄時,“
./
”一般不顯式表示,"../"
需要顯式表示?
????????三者是等效的,一般情況下使用相對路徑進入當前目錄下的某個子目錄時
"./"
可以不需要顯式表示,直接使用cd 目錄名即可,但是在某些情況下(如腳本編寫或特殊字符處理),顯式地加上?"./"
?有助于避免潛在問題或歧義:????????假設你的當前目錄中有一個名為?
-file.txt
?的文件,由于?-
?是在命令行中具有特殊含義的字符(用于表示選項),如果你想引用該文件,可以使用?./
?來明確告訴系統這是一個文件名而不是選項:cat ./-file.txt
- cd .. 或../目錄名 :返回上一級目錄或上一級目錄中的某個子目錄中?
????????同樣地,在處理父級目錄下的包含特殊字符的子目錄時也可以使用?
../
?來避免出現問題。例如,如果父級目錄名稱為?-parent_directory
?,那么可以使用以下方式訪問它:cd ../-parent_directory
當然正常情況下我們訪問上一級目錄中的子目錄也需要顯式
"../"
cd ../parent_directory
- cd ~:進入用戶家目錄
Windows和Linux都是多用戶操作系統,它們都可以創建多個用戶
在Windows操作系統中,每當添加一個用戶(控制面板->用戶賬戶->更改賬戶類型)
????????在下面的用戶文件夾中都會出現一個用戶(這里沒有創建多個用戶可以自行嘗試),此時在用戶目錄下的yangy目錄就是Windows操作系統中該用戶的家目錄:
該目錄下會存放與該用戶強相關的所有數據:?
因此,Linux中創建的用戶也有自己的家目錄:
對于root賬戶我們默認的家目錄為:/root
對于普通用戶我們默認的家目錄為:/home/用戶名
任何一個用戶登錄,所處路徑都是自己的家目錄
- cd -:返回上次訪問的目錄
補充內容
1、任何目錄下(包括根目錄),都默認有兩個隱藏目錄.和..
- ..代表當前目錄的上一級目錄
- .代表當前所在目錄
若“.”表示當前目錄?
/home/user/Documents
,那么 ".." 表示的就是上一級目錄?/home/user
?它們存在的意義就是為了在文件系統中尋找目錄或者運行可執行文件等等
..?:與cd配合,可以返回上級目錄或者進入上級目錄的子目錄
.??:與cd配合,可以找到當前目錄下某個子目錄
2、當持續cd ..,即多次返回上級目錄后,執行pwd指令會顯示一個 / ,它表示根目錄?
這是Windows中c盤的根目錄中的內容:
Linux的整個文件目錄是一顆樹,根目錄是這個樹的根:
3、 ./ 和../ 還可以用來執行當前目錄或者上一級目錄中的可執行文件!!
此時./的作用就是方便我們找到當前目錄下的一個文件,尤其是可執行文件:?
4、相對路徑和絕對路徑以及它們究竟誰更好?
相對路徑和絕對路徑是用于定位文件或目錄在文件系統中位置的兩種方式:
相對路徑:相對路徑是相對于當前位置來指定文件或目錄的位置
絕對路徑:絕對路徑則從根目錄開始完整地指定了文件或目錄的位置
絕對路徑和相對路徑在不同的情況下都有其用途,但相對路徑在實際開發中更常用:
????????假設你有一個程序需要讀取特定目錄下的配置文件,并使用其中的數據進行處理。如果你在代碼中使用了絕對路徑來指定該配置文件的位置,那么當將程序從一個系統遷移到另一個系統時,可能會遇到問題:
- 在Windows系統中用戶文檔目錄的路徑為:
????????config_file = "C:\Users\Username\Documents\config.txt"
- Linux系統中用戶文檔目錄的路徑結構:
? ?
config_file = "/home/username/Documents/config.txt"
- MacOS系統中用戶文檔目錄的路徑結構:
????????config_file = "
/Users/username/Documents/config.txt"
三種操作系統用戶文檔目錄的路徑結構都不完全相同,因此在路徑遷移時絕對路徑不再有效
相反地,若使用相對路徑來指定配置文件的位置,則可以更好地適應不同環境:
- 在Windows系統中使用相對路徑來指定配置文件的位置:
? ? ? ? ?config_file = "./config.txt"
- Linux系統中使用相對路徑來指定配置文件的位置:
? ?
config_file = "./config.txt"
- MacOS系統中使用相對路徑來指定配置文件的位置:
????? ? ?config_file = "./config.txt"
“./”表示當前目錄無論程序處于哪個系統中,只要保證配置文件與程序位于相同目錄下即可
使用相對路徑而非依賴于特定的絕對路徑,可以提高代碼在不同環境間的可移植性
6、./../與../都可以用來
表示相對路徑中的父級目錄,后者是前者的簡寫,推薦使用后者?
7、cd ./文件名/? 和 cd ./文件名 等效
重新認識指令
指令的本質
Linux中的指令的本質都是程序,程序,指令,可執行程序三者都是一回事兒
which指令
用法:which 指令名
功能:打印指令在系統中所在的路徑
還可以檢驗指令是否存在
alias指令
用法:alias 指令別名=‘指令名’
功能:給指令起別名
起別名不等于重命名,原來的指令依然可以使用
最后
我們使用的ll指令與ls -l指令一樣,就是因為系統默認ll是ls -l指令的別名
一個文件的三種時間
我們可以通過stat指令查看一個文件的相關信息,其中我們發現下面會存在三種不同名字的時間:
Access時間:文件最后一次訪問的時間
Modify時間:文件最后一次修改的時間
Change時間:對文件Inode信息最后修改的時間
tree指令及安裝?
tree指令
用法:tree 目錄名/選項
功能:以樹狀結構顯示指定目錄下的結構
關于tree指令的安裝可以查看:Centos 7、Debian、Ubuntu中tree指令的檢查與下載
~over~