[TOC] 1. Linux和操作系統 1.1. 什麼是操作系統 1.2. 現有操作系統 Mac, win7, win10, winXP, Android, IOS 1.3. Linux用戶目錄 Windows: Linux: (絕對) + (相對) 絕對路徑: 相對路徑: 當前路徑 · 上一個路徑 ...
目錄
1. Linux和操作系統
1.1. 什麼是操作系統
1.2. 現有操作系統
Mac, win7, win10, winXP, Android, IOS
1.3. Linux用戶目錄
Windows: C:/windows/haoch/..
Linux: /home/user
(絕對) + ~
(相對)
- 絕對路徑:
/home
- 相對路徑:
../..
當前路徑 ·
上一個路徑 ..
上上一層路徑 ../..
1.4. Linux文件許可權
三種訪問方式限制訪問許可權:
- 讀許可權(r)-> 讀取文件內容的許可權,瀏覽目錄的許可權
- 寫許可權(w)->增加,修改文件內容的許可權,刪除,移動目錄內文件的許可權
- 可執行許可權(x)->執行文件的許可權,進入目錄的許可權
2. Linux命令
命令的格式
command [-options] [parameter1] ...
代碼 | 說明 |
---|---|
ls |
顯示當前路徑下的所有文件和文件夾 |
cd path |
跳轉路徑 |
cd .. |
跳到上一個路徑 |
cd ~ |
當前用戶的家目錄(/home/haoch) |
cd - |
回到歷史記錄的上一個路徑 |
cd ./python/ |
跳到當前目錄下的python文件夾下 |
cd python/ |
跳到當前目錄下的python文件夾下 |
pwd |
查看當前所在路徑 |
ls -l |
當前路徑下的文件詳細內容 |
clear |
清空 |
ls --help |
查找命令的詳細信息 |
man |
幫助手冊 |
按Tab |
自動補全 |
history |
查看歷史命令 |
touch |
創建文件 |
touc ./chenhao/123.py |
在當前目錄下的文件夾下創建文件 |
上下鍵 |
調用歷史內容 |
ls > test.txt |
重定向輸出 |
ls >> test.txt |
重定向輸出(添加,非覆蓋) |
gedit test.txt |
打開txt文件 |
cat test.txt |
將文本內容顯示在command上 |
cat 1.py 2.py > 3.py |
同時顯示多個文件 |
more test.txt |
分屏顯示(內容多的時候) |
| |
管道 |
ls -lha | more |
命令先後執行 |
mkdir directory |
創建一個新的directory |
rmdir directory |
刪除一個文件夾(必須空) |
rm directory -r |
刪除一個文件夾(任何) |
rm 123.py |
刪除文件 |
rm 123.py -f |
強制刪除 |
ln 123.py 123link.py |
創建硬鏈接 |
ln -s 123.py 123link.py |
創建軟連接 |
grep '22' 1.py |
從文件中搜索內容 |
grep -n '22' 1.py |
從文件中搜索內容(開頭顯示行數) |
grep -n '^22' 1.py |
從文件中搜索內容(開頭顯示行數),以22開頭 |
grep -n '22$' 1.py |
從文件中搜索內容(開頭顯示行數),以22結尾 |
grep -n 'e.e' 1.py |
匹配eee,eae,eve.... |
find /home/ -name 123.py |
在電腦中查找文件 |
cp 123.py test/ |
將文件拷貝到另外一個文件夾 |
cp direc1 direct2/ -r |
將一個文件夾拷貝到另外一個文件夾 |
tree |
樹狀形式顯示目錄結構 |
mv 123.py test/ |
將文件剪切移動到另外一個文件夾 |
mv direct1 direct2 |
將一個文件夾剪切移動到另外一個文件夾 |
mv 123.py 666.py |
文件重命名 |
tar -cvf test.tar 1.txt 2.txt 3.txt |
文件打包 |
tar -xvf test.tar |
文件解包 |
gzip bao.tar |
將包文件壓縮 |
gzip -d bao.tar |
解壓縮成包 |
tar -zcvf test.tar.gz 1.txt 2.txt |
文件打包 + 壓縮(.gz) |
tar -zxvf test.tar.gz |
文件解壓縮 + 解包(.gz) |
tar -zxvf test.tar.gz -C path |
文件解壓縮 + 解包 + 指定路徑 |
tar -jcvf test.tar.gz 1.txt 2.txt |
文件打包 + 壓縮(.bz2) |
tar -jxvf test.tar.gz |
文件解壓縮 + 解包(.bz2) |
which ls |
查看命令的路徑位置 |
sudo -s |
轉成超級管理員 |
kill 進程ID |
結束進程 |
kill -9 進程ID |
強制結束進程 |
reboot |
重啟 |
shutdown |
關機 |
shutdown -h 20:20 |
20:20關機 |
cal |
日曆 |
date |
時間 |
top |
動態進程 |
技巧:
按Tab鍵可以提示命令->自動補全
drwxr-xr-x 2 haoch haoch 4096 Jan 8 20:22 chenhao
-rw-r--r-- 1 haoch haoch 8980 Jan 8 20:02 examples.desktop
2.1 文件管理相關
(1).ls命令
參數 | 含義 |
---|---|
-a | 顯示指定目錄下的所有子目錄與文件,包含隱藏文件 |
-l | 列表顯示文件的具體信息 |
-lh | 人性化顯示文件大小 |
-alh | 全部顯示 |
(2).通配符
通配符 | 含義 |
---|---|
* |
文件代表文件名中所有字元 |
ls te* | 查找以te開頭的文件 |
ls *html | 查找以html結尾的文件 |
? |
代表文件名中的任意一個字元 |
ls ?.c | 只找第一個字元任意,尾碼為.C的文件 |
ls a.? | 只找首字母為a,尾碼名任意的文件 |
[] |
表示匹配字元中的任意一個 |
[abc] | 匹配a,b,c中任意一個 |
[a-f] | 匹配a到f範圍內的任意一個字元 |
ls [a-f]* | 查找a到f任意一個字元開頭的文件 |
\ | 轉移符 |
ls *a | 查找文件名為*a的文件 |
(3).輸出重定向命令
Linux允許將命令執行結果重新定向到一個文件,本應顯示在終端的內容保存到指定的文件中
ls > test.txt(test.txt如果不存在,則創建,存在則覆蓋內容)
ls >> test.txt (從文件末尾追加)
(4).分屏顯示:more
如果cat一次性顯示不開,用more, 用空格鍵翻頁
(5).管道: |
將兩個命令依次執行
ls -lha | more 產生的內容放入管道,後面從管道內提取內容,再執行
(6).文件夾和創建文件
- 創建文件夾: mkdir
- 刪除空文件夾: rmdir
- 刪除文件: rm
參數 | 含義 |
---|---|
-i | 交互刪除 |
-f | 強制刪除 |
-r | 遞歸刪除 |
(7).創建鏈接: ln
相當於window中的快捷方式
- 硬鏈接:只能鏈接普通文件,不能鏈接目錄
- 軟連接: 不占用磁碟空間,源文件刪除則鏈接失效
ln 源文件 鏈接文件 # 硬鏈接
ln -s 源文件 鏈接文件 # 軟鏈接
軟鏈接: 刪除後就都打不開
ln -s 123.py 123link.py
# 指向123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123link.py -> 123.py
硬鏈接:(源文件編輯,鏈接文件跟著變: 相當於實時複製的效果)
ln 123.py 123link.py
# 指向123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123.py
lrwxrwxrwx 1 haoch haoch 6 Jan 8 21:21 123link.py
(8).查看文件內容: cat
(9).文件中的內容搜索: grep
grep [-選項] '查找內容' 文件名
grep可以使用正則表達式
參數 | 含義 |
---|---|
^a |
a開頭 |
a$ |
a結尾 |
[Ss]igna[Ll] | 從括弧中選一個匹配 |
. |
匹配一非換行符 |
(10). 查找文件: find
參數 | 含義 |
---|---|
find ./-name test.sh |
查找當前目錄下所有名為test.sh的文件 |
find ./-name '*.sh' |
查找當前目錄下所有尾碼名為.sh的文件 |
find ./-name '[A-Z]*' |
查找當前目錄下所有大寫字母開頭的文件 |
find /tmp -size 2M |
查找在/tmp目錄下等於2M的文件 |
find /tmp -size +2M |
查找在/tmp目錄下大於2M的文件 |
find /tmp -size -2M |
查找在/tmp目錄下小於2M的文件 |
find / -size +4k -size -5M |
查找當前目錄下大於4k,小於5M的文件 |
find / -perm 0777 |
查找當前目錄下許可權為777的文件 |
(11). 拷貝: cp
cp 源文件 目標文件夾 [-選項]
參數 | 含義 |
---|---|
-a |
複製目錄時使用,保留鏈接,文件原有屬性 |
-f |
已經存在的目標文件不提示 |
-r |
若給出的源文件是目錄文件,則cp將遞歸輔助 |
-v |
顯示拷貝進度 |
(12). 移動剪切: MV
- 移動
- 重命名
(13). 歸檔管理: tar(打包)
tar [參數] 打包文件名 文件
參數 | 含義 |
---|---|
-c |
生成檔案文件,創建打包文件 |
-v |
列出歸檔解檔的詳細過程 |
-f |
指定歸檔文件名稱,一定是.tar文件,必須放在選項最後 |
-t |
列出歸檔中包含的文件 |
-x |
解開檔案文件 |
(14). 系統管理
- 當前日曆: cal
- 顯示日期時間: date
- 顯示進程信息: ps
- 顯示動態進程: top
參數 | 含義 |
---|---|
-a |
顯示終端上的所有進程 |
-u |
顯示進程的詳細信息 |
-x |
顯示沒有控制終端的進程 |
-w |
顯示加寬,以顯示更多信息 |
-r |
只顯示正在運行的進程 |
- 關機重啟: reboot, shutdown, init
- 檢測磁碟空間:df
- 查看當前目錄占用的磁碟空間: du -alh
- 查看網卡信息及IP地址: ifconfig
- ping IP 查看是否能夠連接