linux基礎介紹
linux基礎介紹
基礎介紹
作業系統 OS
Operation System,即作業系統,是一管理電腦硬體與軟體資源的程式,同時也是計算機系統的核心與基石。能夠向下控制硬體,向上支援應用軟體的執行。 作業系統身負諸如管理與配置記憶體、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作網路與管理檔案系統等基本事務。 注意:功能機就是在沒有OS的情況下執行,而現在經常用的Android手機就是在OS下執行的。
應用程式、硬體、OS的關係
應用程式通過作業系統從而與裝置上的物理硬體進行訊號交換
Linux和linux發行版的關係
最嚴格地講,linux從來都不是作業系統,linux只是一個作業系統核心。 linux發行版是以linux為核心的作業系統,包含Linux 核心、命令列 SHELL、圖形介面等。
Linux主要應用範圍
個人桌面:應用軟體少——面向少數的工作人猿。 伺服器領域:Linux 在伺服器領域的應用是其重要分支——免費、穩定、高效。 嵌入式領域:Linux 執行穩定、對網路的良好支援性、低成本, 且可以根據需要進行軟體裁剪, 核心最小可以達到幾百 KB 等。
linux命令
啟動 terminal:Ctrl+Alt+T
基本格式
Linux命令格式: command[-options][parameterl] 說明: command: 命令名,相應功能的英文單詞或單詞的縮寫 [options]:選項,可用來對命令進行控制,也可以省略,[ ]代表可選 parameterl …:傳給命令的引數:可以是零個一個或多個
基礎命令
1.ls:list 檢視當前目錄
檢視當前目錄下的檔案,資料夾的名字 常用選項: -a-l-h -a顯示指定目錄下的隱藏檔案, 以點(.)開頭的檔案為隱藏檔案. -l以列表方式顯示檔案的詳細資訊. -h配合 -l 顯示檔案大小單位. demo: ls -lah
2.pwd:print wrok directory 檢視工作路徑
檢視工作路徑,即當前所在資料夾
3.cd[]:change directory 切換資料夾
切換資料夾
命令 | 含義 |
---|---|
cd 目錄名 | 切換到指定目錄 |
cd . | 切換到當前目錄 |
cd .. | 切換到上一級目錄 |
cd ~ | 切換到當前使用者的家目錄 |
cd | 等價與cd ~ |
cd - | 切換到上一次目錄 |
4.mkdir[]:make directory 建立目錄
建立目錄 -p以遞迴的方式建立所依賴的資料夾 demo:mkdir 123/456/789 -p 補充:rmdir是一個與mkdir相對應的命令,mkdir是建立目錄,而rmdir是刪除目錄命令 rmdir 只能操作空資料夾
5.touch[]:touch 新建檔案
如果檔案不存在,新建檔案
6.mv[]:move 移動指定的檔案
移動指定的檔案 -i確認互動方式操作,如果mv操作將導致對已存在的目標檔案的覆蓋,系統會詢問是否重寫,要求使用者回答以避免誤覆蓋檔案 -v顯示移動後的路徑描述 mv 檔名 路徑: 把檔案移動到指定路徑 mv 路徑/檔名 路徑: 把指定路徑的檔案移動到指定路徑 mv 檔名 新的檔名: 重新命名 mv 資料夾 路徑: 把資料夾移動到指定目錄,不需要加上-r 提示:使用者可以使用mv命令來為檔案或目錄改名或將檔案由一個目錄移入另一個目錄中
命令 | 特點 |
---|---|
mv | 移動資料夾無需加其他命令 |
rm | 刪除非空資料夾時,必須加上-r |
cp | 複製非空資料夾時,必須加上-r |
7.rm[]:remove 刪除
刪除指定的檔案或資料夾 -i以進行互動式方式執行 -f強制刪除,忽略不存在的檔案,不會報錯 -r遞迴地刪除目錄下的內容,刪除資料夾時必須加此引數 -d刪除空目錄 提示: rm命令可以同時刪除檔案或目錄 rm 刪除非空資料夾時,必須加上-r
8.cp[]:copy 拷貝
拷貝指定的檔案 -a該選項通常在複製目錄時使用,它保留連結、檔案屬性,並遞迴地複製目錄。 簡單而言,-a選項保持檔案原有許可權。 -i互動式複製,在覆蓋目標檔案之前將給出提示要求使用者確認 -r若給出的原始檔是目錄檔案,則cp將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名。 -v顯示拷貝後的路徑描述 cp 檔名 路徑: 把檔案拷貝到指定路徑 cp 路徑/檔名 路徑: 把指定路徑的檔案拷貝到指定路徑 cp 檔名 路徑/新的檔名 : 先把檔案拷貝到指定目錄然後再重新命名 cp 資料夾 路徑 -r: 拷貝資料夾 -r:以遞迴的方式把資料夾下的所有檔案拷貝過去
9.tree 樹狀目錄
以樹狀方式顯示指定路徑的目錄結構。 demo tree file 部分系統沒有自帶tree命令。可以根據提示資訊新增。
10.clear 清屏
清屏
11.> 重定向
重定向:將命令執行結果重定向到一個檔案,本應顯示在終端上的內容儲存到指定檔案中。 注意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到檔案的尾部。
12.cat 檢視
檢視或者合併檔案內容 demo:cat 1.txt 2.txt >> 3.txt 內容在終端顯示,不能進行編輯,提示:適合檢視小型檔案,大型檔案使用分屏方式顯示(more)
13.more 分屏顯示
分屏顯示資訊過長內容 f:表示下一頁 空格:表示下一頁 回車: 表示下一行 b:表示上一頁 q:退出
14.| 管道
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。 可以理解成是一個容器,存放在終端顯示的內容 總結: ls /bin | more , cat, tree, ls都是可以結合管道使用完成分屏顯示的 demo:ls -lh | more
15 ln 連結
建立連結:類似於Windows下的快捷方式 軟連結:軟連結不佔用磁碟空間,原始檔刪除則軟連結失效。ln -s 原始檔 連結檔案 硬連結:硬連結只能連結普通檔案,不能連結目錄。ln 原始檔 連結檔案 補充: 刪除軟連結就好比刪除了快捷方式,不會影響原始檔。 刪除原檔案,再開啟軟連結,看不到內容;通過硬連結開啟,可以看到資料。 修改一個檔案內容(隨意修改),所有硬連結的檔案內容都改變了。 建立硬連結硬連結數會加1 如果建立的軟連結沒有和原檔案在同一個目錄裡面,那麼需要使用絕對路徑建立軟連線
連結所涉及的內容是檔案的引用,可參見:5分鐘讓你明白“軟連結”和“硬連結”的區別
16.grep 文字搜尋
grep [-選項] ‘搜尋內容串’檔名 -v顯示不包含匹配文字的所有行(相當於求反) -n顯示匹配行及行號 -i忽略大小寫 grep搜尋內容串可以是正則表示式。 有關正則,日後再編輯新增連結。 demo:grep "a" 8.txt : 根據指定內容在檔案中進行查詢
17.萬用字元
萬用字元是一種特殊字元,用來模糊搜尋檔案。 簡單介紹(正則部分會詳細介紹): *:代表0個或多個任意字元 ?:代表任意一個字元 [列舉的字元]:代表可以取【】裡的任意一個字元
18.find 查詢檔案
find ./ -perm 666: 在當前目錄查詢檔案許可權是可讀可寫的, -perm根據許可權查詢 find ./ -name '*.sh'查詢當前目錄下所有後綴為.sh的檔案 find ./ -name "[A-Z]*"查詢當前目錄下所有以大寫字母開頭的檔案
19.打包tar
tar使用格式 tar [選項] 打包檔名 檔案 選項: -c生成檔案檔案,建立打包檔案 -v列出歸檔解檔的詳細過程,顯示進度 -f指定檔案檔名稱,f後面一定是.tar型別的檔案,必須放選項最後 -x解開檔案檔案 -z壓縮 注意:tar這個命令並沒有壓縮的功能,它只是一個打包的命令。除了f需要放在引數的最後,其它引數的順序任意。一般常用 -cvf選項
20.壓縮 gz bz2 zip
tar 壓縮用法: tar -zcvf 壓縮包名 檔案1 檔案2 ... 解壓用法: tar -zxvf 壓縮包包名 -z:指定壓縮包的格式為:file.tar.gz 解壓到指定目錄:-C (大寫字母“C”) demo: tar-zxvf test.tar.gz -C~/Desktop/file/ bz2 壓縮用法:tar -jcvf 壓縮包包名 檔案 解壓用法: tar -jxvf 壓縮包包名 zip: 通過zip壓縮檔案的目標檔案不需要指定副檔名,預設副檔名為zip。 壓縮檔案:zip 目標檔案(沒有副檔名) 原始檔 解壓檔案:unzip -d 解壓後目錄檔案 壓縮檔案
21.chmod 修改檔案許可權
chmod 修改檔案許可權有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx 檔案
[ u/g/o/a ] | 含義 |
---|---|
u | user 表示該檔案的所有者 |
g | group 表示與該檔案的所有者屬於同一組( group )者,即使用者組 |
o | other 表示其他以外的人 |
a | all 表示這三者皆是選擇 |
rwx | 含義 |
---|---|
r | read 表示可讀取,對於一個目錄,如果沒有r許可權,那麼就意味著不能通過ls檢視這個目錄的內容。 |
w | write 表示可寫入,對於一個目錄,如果沒有w許可權,那麼就意味著不能在目錄下建立新的檔案。 |
x | excute 表示可執行,對於一個目錄,如果沒有x許可權,那麼就意味著不能通過cd進入這個目錄。 |
[ +-= ] | 含義 |
---|---|
+ | 增加許可權 |
- | 撤銷許可權 |
= | 設定許可權 |
數字法:“rwx” 這些許可權也可以用數字來代替
字母 | 說明 |
---|---|
r | 讀取許可權,數字代號為 "4" |
w | 寫入許可權,數字代號為 "2" |
x | 執行許可權,數字代號為 "1" |
- | 不具任何許可權,數字代號為 "0" |
demo: chmod a=- 1.txt chmod a= 1.txt : 全部沒有許可權 chmod 777 1.txt chmod a=rwx 1.txt : 都許可權,可讀可讀可執行 chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 設定不同使用者不同許可權
注意:
如果想遞迴所有目錄加上相同許可權,需要加上引數“ -R ”。
如:chmod 777 test/ -R
遞迴 test 目錄下所有檔案加 777 許可權
22.which 檢視命令位置
which cd 是檢視不了命令所在目錄,原因是: Linux命令是分為內建命令和外部命令 內建命令是在系統啟動時就載入記憶體執行效率高 外面命令是系統的軟體功能,需要時載入記憶體 cd屬於內建命令
23.sudo -s 切換到管理員賬號
一般不需要切換到管理員賬戶,需要使用管理員許可權在命令前面加上sudo
24.whoami 檢視當前使用者
25.passwd 設定使用者密碼
26.exit退出登入賬戶
如果是圖形介面,退出當前終端;
如果是使用ssh遠端登入,退出登陸賬戶;
如果是切換後的登陸使用者,退出則返回上一個登陸賬號。
27.who 檢視所有的登入使用者
28.reboot、shutdown 關機重啟
命令 | 含義 |
---|---|
reboot | 重新啟動作業系統 |
shutdown –r now | 重新啟動作業系統,shutdown會給別的使用者提示 |
shutdown -h now | 立刻關機,其中now相當於時間為0的狀態 |
shutdown -h 20:25 | 系統在今天的20:25 會關機 |
shutdown -h +10 | 系統再過十分鐘後就自動關機了 |
遠端登陸
1.SHH介紹
SSH 是專為遠端登入會話和其他網路服務提供安全性的協議。常用於遠端登入,以及使用者之間進行資料拷貝.
SSH 為 Secure Shell 的縮寫,使用SSH服務,需要安裝相應的伺服器和客戶端。
2.在 Ubuntu 安裝 SSH
安裝ssh伺服器:
sudo apt-get install openssh-server
遠端登陸
ssh 使用者名稱@IP
使用ssh訪問,如訪問出現錯誤。可檢視是否有該檔案 ~/.ssh/known_ssh 嘗試刪除該檔案解決。
遠端拷貝
1.通過 scp 命令
遠端拷貝檔案,scp -r 的常用方法:
1.使用該命令的前提條件要求目標主機已經成功安裝openssh-server
如沒有安裝使用sudo apt-get install openssh-server
來安裝
2.使用格式:
scp -r 目標使用者名稱@目標主機IP地址:/目標檔案的絕對路徑 /儲存到本機的絕對/相對路徑
舉例:
scp -r [email protected]:/home/mai/QQ_dir/ ./mytest/file
在後續會提示輸入“yes”此時,只能輸“yes”而不能簡單輸入“Y“
拷貝單個檔案可以不加 -r 引數,拷貝目錄必須要加。
-
本地檔案複製到遠端:
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile
-
本地目錄複製到遠端:
scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
scp -r FolderName RemoteHostIp:RemoteFolder
-
遠端檔案複製到本地:
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName
-
遠端目錄複製到本地:
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName
2.遠端登陸拷貝小結
- SSH 用於遠端登入, 以及使用者之間進行資料拷貝.
- 遠端登陸的命令: ssh 使用者名稱@IP地址
- 遠端拷貝的命令: scp 使用者名稱@IP地址:檔案路徑 本地路徑
- FileZilla 軟體可以通過圖形化操作的方式進行遠端主機的檔案上傳和下載.
- 在windows系統上遠端連線Ubuntu需要安裝OpenSSH軟體
vim編輯器
1.vim 簡介
vim 是一個類似於Vi 的著名的功能強大、高度可定製的文字編輯器
vim有三種基本工作模式:
命令列模式--ESC即可進入 編輯模式--命令列模式下輸入插入命令i、附加命令a 、開啟命令o、修改命令c、取代命令r或替換命令s都可以進入文字輸入模式。 末行模式--命令列模式下,使用者按“:”鍵即可進入末行模式下,該模式下。輸入(!w)q即可退出vim編輯。
2.vim常用命令
- i: 進入編輯模式
- yy: 複製游標所在行 複製多行: 數字+yy
- p: 貼上, 貼上多次: 數字+p
- dd(刪除、剪下), 剪下或者刪除多行:數字+dd
- V: 選中多行
- 上下左右: k:上, j:下, l:右 ,h:左 等同於方向鍵
- x: 從前往後刪除一個字母
- X: 從後往前刪除一個字母
- u: 撤銷
- shift + >: 往右縮排
- shift + <: 往左縮排
- .:重複上一次操作
- G: 回到最後一行
- gg: 回到第一行 1G
- 18G: 回到指定行
- shift + 4:回到行末
- shift + 6:回到行首
- 搜尋: :/1 n:檢視下一個搜尋到的內容, N:檢視上一個搜尋到的內容
- 替換: :%s/1/2/g %: 整個檔案, s:替換 g:全域性
- ctr+f: 下一頁
- ctr+b: 上一頁
- wq: 儲存退出
補充:
關於正則部分日後會編輯補充連結 ——MAI Feb 28, 2019 9:40 PM