linux小知识
2. Linux基礎(chǔ)
安裝ubuntu具體方法
2.1 Linux內(nèi)核及發(fā)行版本
2.1.1 Linux內(nèi)核版本
-
Linux內(nèi)核只有一個
-
內(nèi)核是系統(tǒng)的心臟,是運(yùn)行程序和管理(像磁盤和打印機(jī)等)硬件設(shè)備的核心程序,它提供了一個在裸設(shè)備與應(yīng)用程序間的抽象層
-
回顧
-
在我們選購電腦時,通常注意力在硬件設(shè)備的配置上,在硬件設(shè)備選購?fù)戤呏?#xff0c;然后在硬件設(shè)備的基礎(chǔ)上安裝一套操作系統(tǒng),由操作系統(tǒng)來管理硬件(用Linux內(nèi)核版本來管理硬件設(shè)備)。
-
操作系統(tǒng)的另一個作用:系統(tǒng)調(diào)用。
-
系統(tǒng)調(diào)用:把對硬件設(shè)備的管理封裝成一個個系統(tǒng)調(diào)用(方便其他應(yīng)用程序簡潔的管理硬件)。
-
-
-
內(nèi)核中還有一個終端命令,由終端命令來調(diào)用系統(tǒng)調(diào)用間接的操作電腦的硬件設(shè)備。
2.1.2 Linux發(fā)行版本
發(fā)行版是一些有志向想自己開發(fā)操作系統(tǒng)的人,開發(fā)的操作系統(tǒng),但是開發(fā)操作系統(tǒng)需要寫硬件設(shè)備的接口,而linux內(nèi)核已經(jīng)完成了和硬件配合的工作,所以就可以在linux的基礎(chǔ)上搭建另外一套應(yīng)用程序(一般包含桌面系統(tǒng),圖形界面操作,各種應(yīng)用程序等),將這一套應(yīng)用程序打包,就叫做Linux發(fā)行版
發(fā)行版本包含有Linux內(nèi)核,包含桌面環(huán)境,辦公套件,媒體播放器,數(shù)據(jù)庫等應(yīng)用軟件
linux發(fā)行版只需要通過linux內(nèi)核提供的系統(tǒng)調(diào)用間接的操作硬件
常見的發(fā)行版本如下:
-
Ubuntu
-
Redhat
-
Fedora
-
openSUSE
-
Linux Mint
-
Debian
-
Manjaro
-
Mageia
-
CentOS
-
Arch
2.2 linux系統(tǒng)下的文件和目錄結(jié)構(gòu)
2.2.1 linux系統(tǒng)下的文件和目錄結(jié)構(gòu)
-
windows xp之前的版本都是但用戶操作系統(tǒng)(同一時間只能由一個用戶使用,一個用戶獨(dú)自享用系統(tǒng)的全部硬件和軟件資源)
-
unix和linux的設(shè)計初衷就是多用戶操作系統(tǒng)(一臺機(jī)計算機(jī)在同一時間可以由多個用戶使用,多個用戶共同享用系統(tǒng)的全部硬件和軟件資源)
-
linux下沒有盤符的概念(C盤D盤等),只能看到文件夾(目錄)
-
Ubuntu沒有盤符這個概念,只有一個根目錄/,所有文件都在他下面
?
-
/home目錄中有幾個文件夾就說明在這臺電腦上在同一時間下允許三個用戶來同時使用
-
/python下面的幾個文件夾說明那幾個文件夾都只屬于python用戶
-
/python用戶不能對/laowang目錄下的文件進(jìn)行操作
2.2.2 用戶目錄
位于/home/user,稱之為用戶工作目錄或家目錄,表示方式:
/home/user ~2.2.3 linux主要目錄速查表
-
/:根目錄,一般根目錄下置存放目錄,在linux下有且只有一個根目錄,所有的東西都是從這里開始。當(dāng)在終端里輸入/home,其實是在告訴電腦,先從/(根目錄)開始,在進(jìn)入到home目錄
-
/bin、/usr/bin:可執(zhí)行二進(jìn)制文件的目錄,如常用的命令ls、tar、mv、cat等
-
/boot:放置liinux系統(tǒng)啟動時會用到的一些文件,如linux的內(nèi)核文件:/boot/vmlinuz,系統(tǒng)引導(dǎo)管理器:/boot/grub
-
/dev:存放linux系統(tǒng)下的設(shè)備文件,訪問該目錄下某個文件,相當(dāng)于訪問某個設(shè)備,常用的是掛載光驅(qū)mount /dev/cdrom /mnt
-
/etc:系統(tǒng)配置文件存放的目錄,不建議在此目錄下存放可執(zhí)行文件,重要的配置文件有:
-
/etc/inittab
-
/etc/fstab
-
/etc/init.d
-
/etc/X11
-
/etc/sysconnfig
-
/etc/xinetd.d
-
-
/home:系統(tǒng)默認(rèn)的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下
-
~表示當(dāng)前用戶的家目錄
-
~edu表示用戶edu的家目錄
-
-
/lib、/usr/lib、/usr/local/lib:系統(tǒng)使用的函數(shù)庫的目錄,程序在執(zhí)行過程中,需要調(diào)用一些額外的參數(shù)時需要函數(shù)庫的協(xié)助
-
/lost+fount:系統(tǒng)異常產(chǎn)生錯誤時,會將一些遺失的片段放置于此目錄下
-
/mnt:/media:光盤默認(rèn)掛載點(diǎn),通常光盤掛載于/mnt/cdrom下,也不一定,可以選擇任意位置進(jìn)行掛載
-
/opt:給主機(jī)額外安裝軟件所擺放的目錄
-
/proc:此目錄的數(shù)據(jù)都在內(nèi)存中,如系統(tǒng)核心、外部設(shè)備、網(wǎng)絡(luò)狀態(tài)、由于數(shù)據(jù)都存放于內(nèi)存中,所以不占用磁盤空間,比較重要的文件有:
-
/proc/cpuinfo
-
/proc/interrupts
-
/proc/dma
-
/proc/ioports
-
/proc/net/*
-
-
/root:系統(tǒng)管理員root的家目錄
2.3 Ubuntu圖形界面的基本使用
-
ubuntu的任務(wù)欄在左邊,可以把一些常用的任務(wù)軟件拖拽到任務(wù)欄上
-
點(diǎn)擊第一個圖標(biāo),可以搜索想要的軟件,然后在想要留下的圖標(biāo)(想把瀏覽器留在任務(wù)欄上)點(diǎn)擊右鍵鎖定到啟動器
-
關(guān)閉窗口的×在窗口的左上角
-
最大化窗口需要將光標(biāo)移到最左上角(第一個圖標(biāo)的上面)
-
菜單欄在最上面(光標(biāo)移到上面的灰條中才會出現(xiàn))
-
菜單欄(文件?編輯? 查看? 工具? 幫助等)
-
windows的菜單欄是跟著窗口走的
-
ubuntu的菜單欄是固定在最上面的
-
最上面是指第一個圖標(biāo)上面的那個灰色條條
-
2.4 常用Linux命令的基本使用
2.4.1 為什么要學(xué)習(xí)linux終端命令?
-
在linux剛誕生時并沒有圖形界面(拿鼠標(biāo)點(diǎn)圖形就可以打開軟件了),所有的操作必須全部依靠終端命令來完成,例如
-
磁盤操作
-
文件存取
-
目標(biāo)操作
-
進(jìn)程管理
-
文件權(quán)限
-
-
隨著時間的發(fā)展,在目前的IT市場上,大量的服務(wù)器維護(hù)工作都是在SSH客戶端(在自己的機(jī)器上安裝一個 SSH的客戶端)來完成的,而SSH的客戶端并沒有圖形界面,我們想要維護(hù)和管理服務(wù)器,都是需要終端命令才能夠完成的
-
在職場中,作為后端程序員,必須要或多或少的掌握一些linux常用的終端命令
-
linux發(fā)行版本的命令大概有200多個,但是常用的命令只有10多個而已
-
學(xué)習(xí)這些命令不用死記硬背,常用的命令,用的多了自然就記住了
-
不常用的命令,臨時遇到,百度就行
-
2.4.2 常用的Linux命令的基本使用
-
一般最常用的只是第一張表格的內(nèi)容
| 01 | ls | list | 查看當(dāng)前文件夾下的內(nèi)容 |
| 02 | pwd | print work directory | 查看當(dāng)前所在文件夾 |
| 03 | cd?[目錄名] 例如:cd?Desktop | change directory | 切換文件夾(如果只輸入cd則切換回家目錄?如果輸入cd .則沒有變化?如果輸入cd ..則返回上一級目錄) |
| 04 | tuoch?[文件名] | touch | 如果文件不存在,新建文件 |
| 05 | mkdir?[目錄名] | make directory | 創(chuàng)建目錄(創(chuàng)建文件夾)(目錄相當(dāng)于文件夾) |
| 06 | rm?[文件名] | remove | 刪除指定的文件(要刪除文件夾需要加一些其他東西eg:rm -r [文件名稱]) |
| 07 | clear | clear | 清屏 |
| 01 | tree?[目錄名] | tree | 以樹狀圖列出文件目錄結(jié)構(gòu) |
| 02 | cp?源文件?目標(biāo)文件 | copy | 復(fù)制文件或者目錄(所為目標(biāo)文件,就是我們希望把源文件復(fù)制到哪里并且叫什么名字) |
| 03 | mv?源文件?目標(biāo)文件 | move | 移動文件或者目錄/文件或者目錄重命名 |
| 01 | cat?文件名 | concatenate | 查看文件內(nèi)容、創(chuàng)建文件、文件合并、追加文件內(nèi)容等功能 |
| 02 | more?文件名 | more | 分屏顯示文件內(nèi)容 |
| 03 | grep?搜索文本?文件名 | grep | 搜索文本文件內(nèi)容 |
little tips:
-
Linux區(qū)分大小寫
-
ctrl shift =?放大終端窗口的字體顯示
-
ctrl -?縮小終端窗口的字體顯示
2.4.3 Linux終端命令
2.4.3.1 終端命令格式
command [-options] [parameter]說明:
-
command:命令名,相應(yīng)功能的英文單詞或單詞的縮寫
-
[-options]:選項,可用來對命令進(jìn)行控制,也可以省略
-
[parameter]:傳給命令的參數(shù),可以是零個、一個或者多個
-
[]代表可選(中括號括起來的內(nèi)容可以有也可以沒有)
-
例如:
-
ls
-
mkdir?aaa
-
rm?-r?aaa(aaa是文件夾的名字)
-
2.4.3.2 查閱命令幫助信息(知道即可)
在linux中,查詢終端命令幫助信息的兩種方式(查詢結(jié)果一般都是英文的):
- command --help
-
可以顯示 command 命令的幫助信息
-
此處的 command 和上面的 commend 同理:命令名,相應(yīng)功能的英文單詞或單詞的縮寫
-
- man command
-
查閱command命令的使用手冊
-
man是 manual 的縮寫,是 linux 提供的一個手冊,包含了絕大部分的命令、函數(shù)的詳細(xì)使用說明
-
要再按一下q才會退出這個使用手冊,該條命令的其他操作鍵如下條所示
-
使用man時的操作鍵:
操作鍵功能 空格鍵 顯示手冊的下一頁 Enter鍵 一次滾動手冊頁的一行 b 回滾一屏 f 前滾一屏(和按空格鍵的顯示效果是一樣的) q 退出 /word 搜索word字符串
-
2.4.3.3 文件和目錄常用命令
-
查看目錄內(nèi)容
ls
-
切換目錄
cd
-
創(chuàng)建和刪除操作
-
touch
-
rm
-
mkdir
-
-
拷貝和移動文件
-
cp
-
mv
-
-
查看文件內(nèi)容
-
cat
-
more
-
grep
-
-
其他
-
echo
-
重定向>和>>
-
管道|
-
2.4.3.3.1 ls命令說明
2.4.3.3.1.1 ls說明
-
ls列出目錄的內(nèi)容
-
注:linux下文件和目錄的特點(diǎn)
-
linux文件或目錄名稱最長可以有256個字符
-
以.開頭的文件為隱藏文件,需要用-a參數(shù)才能顯示
-
擴(kuò)展:.代表當(dāng)前目錄
-
擴(kuò)展:..代表上一級目錄
-
2.4.3.3.1.2 ls常用選項
| -a | 顯示指定目錄下所有子目錄與文件,包括隱藏文件 |
| -l | 以列表方式顯示文件的詳細(xì)信息 |
| -h | 配合-l以人性化的方式顯示文件大小(必須配合-l選項一起使用) |
注:
-
ls之后的結(jié)果:文件夾用藍(lán)色字體顯示,文件用白色字體顯示
演示:
ls -l
-
會以縱向的方式列表顯示當(dāng)前文件夾中所有的目錄以及文件
-
ls -l會顯示文件(夾)創(chuàng)建時間,日期,以及文件(夾)占用磁盤大小
-
第一列的d表示文件夾,沒有d則說明不是文件夾而是文件
-
中間那兩列python學(xué)到后面再補(bǔ)充(現(xiàn)在還不知道)
ls -l -h
-
同ls - lh
注:在linux中,終端命令的選項,如果有多個選項,可以分開來輸入,也可以合在一起來輸入
例如:la -alh或者ls -a -l -h以縱向方式查看所有文件,且磁盤大小顯示人性化
-
演示:
-
磁盤大小顯示人性化(18表示18個字節(jié))
2.4.3.3.1.3 ls通配符的使用
| * | 代表任意個數(shù)個字符 |
| ? | 代表任意一個字符,至少一個 |
| [] | 表示可以匹配字符組中的任意一個 |
| [abc] | 匹配a、b、c中的任意一個 |
| [a-f] | 匹配從a到f范圍內(nèi)的任意一個 |
-
例如:
-
查找以數(shù)字1開頭的文件ls 1*
-
查找以數(shù)字1結(jié)尾的文件ls *1.txt(必須加上文件擴(kuò)展名或者在后面加*)
-
查找以數(shù)字3結(jié)尾的文件ls *3*
?
-
查找文件開頭和結(jié)尾為1,且中間一個字符不確定的文件ls 1?1.txt
-
查找中間字符為2的文件ls ?2?.txt
-
查找第一個字符是12345中的一個,后面兩個字符是23的文件ls [12345]23.txt
-
2.4.3.3.2 cd命令說明
-
cd更改當(dāng)前的工作目錄
| cd | 切換到當(dāng)前用戶的主目錄(/home/用戶目錄) |
| cd ~ | 切換到當(dāng)前用戶的主目錄(/home/用戶目錄) |
| cd . | 保持在當(dāng)前目錄不變 |
| cd .. | 切換到上級目錄 |
| cd - | 可以在最近兩次工作目錄之間來回切換 |
例:當(dāng)前處在家目錄的桌面目錄下,需要將家目錄下的桌面目錄切換到家目錄下的文檔目錄: cd ~/Documents
2.4.3.3.3 touch命令說明
-
創(chuàng)建文件或者修改文件時間
-
如果文件不存在,可以創(chuàng)建一個空白文件
-
如果文件已經(jīng)存在,可以修改文件的末次修改日期
例如:111.txt文件我昨天創(chuàng)建的,今天touch 111.txt那么時間(ls -lh可以看到它的詳細(xì)信息)會修改到今天這個時候
-
2.4.3.3.4 mkdir命令說明
-
創(chuàng)建一個新的目錄
選項含義 -p 可以遞歸創(chuàng)建目錄(一次性創(chuàng)建多個文件夾) 注:新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名(在linux中,文件也好,目錄也好,是不允許同名的)
例如:先創(chuàng)建a目錄,再在a目錄下創(chuàng)建b,在b目錄下創(chuàng)建c:
mkdir -p a/b/c
2.4.3.3.5 rm命令說明
-
刪除文件或目錄
-
注意:使用rm命令要小心,因為文件刪除后不能恢復(fù)(并不是放在回收站中,給我們一個后悔的機(jī)會)
-
rm命令同樣可以使用通配符
-
例如刪除所有文件和目錄rm -r *(切記不要在根目錄下做這個事情,否則系統(tǒng)就徹底完蛋了)
選項含義 -f 強(qiáng)制刪除,忽略不存在的文件,無需提示 -r 遞歸地刪除目錄下的內(nèi)容,刪除文件夾時必須加此參數(shù)
2.4.3.3.6 tree命令說明
-
以樹狀圖列出文件目錄結(jié)構(gòu)
-
tree列出當(dāng)前位置下的目錄結(jié)構(gòu)
-
tree [目錄名]列出目錄名下的目錄結(jié)構(gòu)
選項含義 -d 只顯示目錄,不顯示文件
2.4.3.3.7 cp命令說明
-
將給出的 文件 或 目錄 復(fù)制到另一個 文件 或 目錄 中,相當(dāng)于DOS下的copy命令
| -i | 覆蓋文件前提示 |
| -r | 若給出的源文件是目標(biāo)文件,則cp 將遞歸復(fù)制該目錄下的所有子目錄和文件,目標(biāo)文件必須為一個目錄名 |
-
例如:
-
將家目錄下的readme.txt文件復(fù)制到當(dāng)前文件夾下:
cp ~/Documents/readme.txt ./readme.txt-
如果文件名不發(fā)生改變,也可以這樣寫:
cp ~/Documents/readme.txt .(當(dāng)我們使用cp這個命令,想要復(fù)制某一個文件的時候,如果文件名不發(fā)生改變,那后面的參數(shù),只需要指定目標(biāo)路徑就可以了)
-
-
如果當(dāng)前文件夾下已經(jīng)有readme.txt文件,并且和家目錄下的readme.txt不一樣,那么在文件里面他會提示內(nèi)容發(fā)生變更是否需要重新載入
-
如果輸入cp -i ~/Documents/readme.txt .他就會在終端提醒是否覆蓋?如果在敲一個n就不會覆蓋 readme.txt ;如果在敲一個y就會覆蓋 readme.txt
-
2.4.3.3.8 mv命令說明
-
mv命令可以用來移動 文件或者目錄,也可以給文件或目錄重命名
-
修改文件
-
例如:將當(dāng)前那路徑下的 a目錄下的 b目錄下的 c目錄下的 123.txt 移動到 當(dāng)前路徑下
mv a/b/c/123.txt . -
例如:文件重命名:(若源文件和目標(biāo)文件,路徑相同,文件名不同)
將123.txt重命名為111.txt
mv 123.txt 111.txt -
例如:在重命名時名稱與另一個文件相同,則會覆蓋另一個文件的內(nèi)容(用這種方式非常的不安全,覆蓋就回不去了,所以需要加上 -i (同 cp 中的 -i ))
當(dāng)前路徑下有 112.txt ,將 111.txt 重命名為112.txt
mv 111.txt 112.txt此時 112.txt 里的內(nèi)容是原 111.txt 的內(nèi)容
選項含義 -i 覆蓋文件前提示 -
例如:當(dāng)前路徑下有 112.txt ,將 111.txt 重命名為112.txt
mv -i 111.txt 112.txt
-
-
mv修改文件夾的內(nèi)容
-
當(dāng)前目錄下的 a文件夾 重命名為 b文件夾 mv a b(給文件重命名的時候最好加一個-i選項)
-
2.4.3.3.9 cat命令說明
-
cat 命令可以用來查看文件內(nèi)容、創(chuàng)建文件、文件合并、追加文件內(nèi)容等功能
-
cat 會一次顯示所有的內(nèi)容,適合查看內(nèi)容較少的文本文件
| -b | 對 非空輸出行 編號 |
| -n | 對 輸出的所有行 編號 |
-
注:Linux中還有一個 nl 的命令和 cat -b 的效果等價
2.4.3.3.10 more命令說明
-
more命令可以用于分屏顯示文件內(nèi)容,每次只顯示一頁內(nèi)容
-
適用于查看內(nèi)容較多的文本文件
-
使用 more 的操作鍵:
| 空格鍵 | 顯示手冊的下一屏 |
| Enter | 一次滾動手冊頁的一行 |
| b | 回滾一屏 |
| f | 前滾一屏 |
| q | 退出 |
| /word | 搜索 word 字符串 |
2.4.3.3.11 grep命令說明
-
Linux 系統(tǒng)中 grep命令是一種強(qiáng)大的文本搜索工具(專門用來查找文件中是否包含 指定文本 的終端命令)(windows是使用 ctri+F查找)
-
grep允許對文本文件進(jìn)行模式查找,所謂模式查找,又被稱為正則表達(dá)式
例如:
-
指定的文本一定出現(xiàn)在一行的行首,這個就是一種模式
-
指定的文本一定出現(xiàn)在一行的行尾,這個也叫作一種模式
-
| -n | 顯示匹配行及行號 |
| -v | 顯示不包含匹配文本的所有行(相當(dāng)于求反) |
| -i | 忽略大小寫 |
-
例如:
-
grep -i hello 123.txt
-
grep -i "hello python" 123.txt
-
-
常用的兩種模式查找
| ^a | 行首,搜尋以a開頭的行 |
| ke$ | 行尾,搜尋以ke結(jié)束的行 |
例如:
-
grep ^a 123.txt
-
grep ke$ 123.txt
2.4.3.3.12 echo 文字內(nèi)容
-
把傳遞給命令的參數(shù)在終端中再顯示一遍
-
echo會在終端中顯示參數(shù)指定的文字,通常會和重定向聯(lián)合使用
-
例如:
-
echo hello,那么返回的結(jié)果就是 hello
-
echo hello python,那么返回的結(jié)果就是 hello python
-
2.4.3.3.13 重定向 > 和 >>
-
linux 允許將命令執(zhí)行結(jié)果重定向到一個文件
-
將本應(yīng)顯示在終端上的內(nèi)容 輸出/追加 到 指定文件中
其中:
-
> 表示輸出,會覆蓋文件原有的內(nèi)容
-
>> 表示追加,會將內(nèi)容追加到已有文件的末尾
例如:
-
echo hello > 123.txt
-
echo hello >> 123.txt
2.4.3.3.14 管道 |
-
linux 允許將一個命令的輸出,可以通過管道做為另一個命令的輸入
-
可以理解現(xiàn)實生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里 | 的左右分為兩段,左端塞東西(寫),右端取東西(讀)
例如:
-
列出家目錄下的文件信息(假設(shè)信息很多需要分屏查看):ls -lha ~ | more
-
查詢文件以及文件夾中包含Do內(nèi)容的項:ls -lha ~ | grep Do
-
常用的管道命令有:
-
more 分屏顯示內(nèi)容
-
grep 在命令執(zhí)行的結(jié)果的基礎(chǔ)上查詢指定的文本
2.4.3.4 遠(yuǎn)程管理常用命令
-
關(guān)機(jī)、重啟
-
shutdown
-
-
查看或配置網(wǎng)卡信息
-
ifconfig
-
ping
-
-
遠(yuǎn)程登錄和復(fù)制文件
-
ssh
-
scp
-
2.4.3.4.1 關(guān)機(jī)、重啟
| 01 | shutdown 選項 時間 | shutdown | 關(guān)機(jī)、重新啟動 |
2.4.3.4.1.1 shutdown
-
shutdown 命令可以 安全 關(guān)閉 或者 重新啟動系統(tǒng)
選項含義 -r 重新啟動 提示:
-
不指定選項和參數(shù),默認(rèn) 表示 1分鐘之后 關(guān)閉電腦
-
遠(yuǎn)程維護(hù)服務(wù)器時,最好不要關(guān)閉系統(tǒng)(遠(yuǎn)程服務(wù)器重新開機(jī)會很麻煩) ,而應(yīng)該重新啟動程序(一定要記得加上 -r 選項)
-
-
常用命令實例
2.4.3.4.2 查看或配置網(wǎng)卡信息
| 01 | ifconfig | configure a network interface | 查看、配置計算機(jī)當(dāng)前的網(wǎng)卡配置信息 |
| 02 | ping 地址 | ping | 檢測到目標(biāo)ip地址的連接是否正常 |
2.4.3.4.2.1 網(wǎng)卡和IP地址
網(wǎng)卡
-
網(wǎng)卡是一個專門負(fù)責(zé)網(wǎng)絡(luò)通訊的硬件設(shè)備
-
IP地址是設(shè)置在網(wǎng)卡上的地址信息
我們可以把 電腦 比作 電話, 網(wǎng)卡 相當(dāng)于 SIM 卡,IP 地址 相當(dāng)于 電話號碼
IP地址
-
每臺聯(lián)網(wǎng)的電腦上都有IP地址,是保證電腦之間正常通訊的重要設(shè)備
注意:每臺電腦的IP地址不能相同,否則會出現(xiàn)IP地址沖突,并且沒有辦法正常通訊
注:Windows查看ip地址:
-
win+R
-
輸入 cmd 回車(enter鍵)
-
輸入 ipconfig 回車
2.4.3.4.2.2 ifconfig
-
ifconfig 可以查看、配置計算機(jī)當(dāng)前的網(wǎng)卡配置信息
提示:一臺計算機(jī)中有可能會有一個 物理網(wǎng)卡 和 多個虛擬網(wǎng)卡,在 linux 中物理網(wǎng)卡的名字通常以 ensXX 表示
舉例:
提示:
-
上面有兩個網(wǎng)卡:ens33 和 lo
-
ip地址 是 inet地址(例如第一個網(wǎng)卡的 ip地址 是172.16.140.138? 第二個網(wǎng)卡的 ip地址 是 127.0.0.1)
友情提示:127.0.0.1是本地環(huán)回地址,是專門用來測試網(wǎng)卡是否正常工作的,如何測試網(wǎng)卡,稍后會講
-
inet6 對應(yīng)的地址是 ipv6 的地址;inet 對應(yīng)的是 ipv4 的地址
2.4.3.4.2.3 ping
#檢測到目標(biāo)主機(jī)是否連接正常 $ping IP地址 ? #檢測本地網(wǎng)卡工作正常 $ping 127.0.0.1-
ping 一般用于檢測當(dāng)前計算機(jī)到目標(biāo)計算機(jī)之間的網(wǎng)絡(luò) 是否通暢,后面時間數(shù)值越大,速度越慢
-
ping 的工作原理與潛水艇的聲吶相似,ping 這個命令就是取自 聲吶的聲音
-
網(wǎng)絡(luò)管理員之間也常將 ping 用作動詞 —— ping 一下計算機(jī)X,看他是否開著
原理:網(wǎng)絡(luò)上的機(jī)器都有 唯一確定的IP地址,我們給目標(biāo)IP地址發(fā)送一個數(shù)據(jù)包,對方就要返回一個數(shù)據(jù)包,根據(jù)返回的數(shù)據(jù)包以及時間,我們可以確定目標(biāo)主機(jī)的存在
提示:在 linux 中,想要終止一個終端程序的執(zhí)行,絕大多數(shù)都可以使用 ctrl + c
2.4.3.4.3 遠(yuǎn)程登錄和復(fù)制文件
| 01 | ssh 用戶名@ip | secure shell | 關(guān)機(jī)、重新啟動 |
| 02 | scp用戶名@ip:文件名或路徑 用戶名@ip:文件名或路徑 | secure copy | 遠(yuǎn)程復(fù)制文件 |
2.4.3.4.3.1 ssh基礎(chǔ)
在 Linux 中 ssh 是非常常用的工具,通過 ssh 客戶端 我們可以連接到運(yùn)行了 ssh 服務(wù)器 的遠(yuǎn)程機(jī)器上
-
SSH 客戶端是一種使用Secure Shell(SSH) 協(xié)議連接到遠(yuǎn)程計算機(jī)的軟件程序
-
SSH 是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù) 提供安全性的協(xié)議
-
利用 SSH協(xié)議 可以有效防止遠(yuǎn)程管理過程中的信息泄露
-
通過 SSH協(xié)議 可以對所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,也能夠防止 DNS 欺騙和 IP 欺騙
-
-
SSH 的另一項優(yōu)點(diǎn)是傳輸?shù)臄?shù)據(jù)可以是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣?/p>
1. 域名 和 端口號
域名
-
由一串 用點(diǎn)分割 的名字組成,例如:www.baidu.com
-
是 IP 地址的別名,方便用戶記憶
端口號
-
IP 地址:通過 IP 地址找到網(wǎng)絡(luò)上的 計算機(jī)
-
端口號:通過 端口號 可以找到 計算機(jī)上運(yùn)行的應(yīng)用程序
-
SSH 服務(wù)器 的默認(rèn)端口號是 22 ,如果是默認(rèn)端口號,在連接的時候,可以省略
-
-
常見服務(wù)器端口號列表:
序號服務(wù)端口號 01 SSH 服務(wù)器 22 02 Web 服務(wù)器 80 03 HTTPS 443 04 FTP 服務(wù)器 21
-
注意:
-
IP 地址 和 端口號 兩個都不能錯,錯一個都不能實現(xiàn)正常的網(wǎng)絡(luò)訪問
-
如果在訪問服務(wù)器的時候,沒有指定端口,那么就是用默認(rèn)的端口
-
tips : 有關(guān) 端口號 的詳細(xì)內(nèi)容,可自行百度
2. SSH 客戶端的簡單使用
ssh [-p port] user@remote-
user 是在遠(yuǎn)程機(jī)器上的用戶名,如果不指定的話默認(rèn)為當(dāng)前用戶
-
remote 是遠(yuǎn)程機(jī)器的地址,可以是 IP/域名,或者是 后面會提到的別名
-
port 是 SSH Server 監(jiān)聽的端口,如果不指定,就為默認(rèn)值22,如果是默認(rèn)值,則可以省略
自己的練習(xí)
ssh -p 22 zhaoqq@20.30.1.4提示:
-
使用exit 退出當(dāng)前用戶的登錄
注意:
-
ssh 這個終端命令只能在 Linux 或者 UNIX 系統(tǒng)下使用
-
如果在 windows 系統(tǒng)中,可以安裝 PuTTY 或者 XShell 客戶端軟件即可
提示:
-
在工作中, SSH 服務(wù)器的端口號很有可能不是22,如果遇到這種情況就需要使用 -p 選項,指定正確的端口號,否則無法正常連到服務(wù)器
3. windows 下 SSH 客戶端的安裝
-
Putty Download PuTTY: latest release (0.78)
-
XShell Xmanager中文官網(wǎng)_Xshell,Xmanager,Xftp 7下載
建議從官方網(wǎng)站下載正式的安裝程序
安裝和使用可以參照:52-遠(yuǎn)程管理命令-11-XShell的安裝-免費(fèi)和設(shè)置語言_嗶哩嗶哩_bilibili
scp
-
scp 就是 secure cope ,是一個在Linux下用來運(yùn)行 遠(yuǎn)程拷貝文件 的命令
-
他的地址格式與 ssh 基本相同,需要注意的是,在指定端口時用的是大寫的 -P 而不是小寫的?
-
自己的練習(xí)
| -r | 若給出的源文件是目錄文件,則 scp 將遞歸復(fù)制該目錄下的所有子目錄和文件,目標(biāo)文件必須為一個目錄名 |
| -P | 若遠(yuǎn)程 SSH 服務(wù)器的端口不是 22 ,需要使用大寫字母 -P 選項指定端口 |
注意:
-
scp 這個終端命令只能在 Linux 或者 UNIX 系統(tǒng)下使用
-
如果在 Windows 系統(tǒng)中,可以安裝 PuTTY ,使用 pscp 命令行工具或者安裝 FileZilla 使用 FTP 進(jìn)行文件傳輸
FillZilla
-
官方網(wǎng)站:客戶端 - FileZilla中文網(wǎng)
-
FileZilla 在傳輸文件時,使用的是FTP服務(wù) 而不是 SSH服務(wù) ,因此端口號應(yīng)該設(shè)置為 21
-
FileZilla如何使用:55-遠(yuǎn)程管理命令-14-FileZilla在Windows下文件傳輸_嗶哩嗶哩_bilibili
SSH高級
-
免密碼登錄
-
配置別名
提示:
-
有關(guān) SSH 配置信息都保存在用戶家目錄下的 .ssh 目錄下
-
.ssh 表示文件是隱藏的,需要用 ls -a 讀取
-
.ssh 文件夾里面的 known_hosts本質(zhì)上記錄的是:在第一次連接遠(yuǎn)程主機(jī)的授權(quán)信息(例如:主機(jī)地址)。再下一次使用 ssh 連接時就不會再有授權(quán)提示了
免密碼登錄
步驟
-
配置公鑰(在 ssh 路徑下)
-
執(zhí)行 ssh-keygen 即可生成 SSH 鑰匙,一路回車即可
-
-
上傳公鑰到服務(wù)器
-
執(zhí)行 ssh-copy-id -p port user@remote ,可以讓遠(yuǎn)程服務(wù)器記住我們的公鑰
?
-
非對稱加密算法
-
使用 公鑰 加密的數(shù)據(jù),需要使用 私鑰 解密
-
使用 私鑰 加密的數(shù)據(jù),需要使用 公鑰 解密
2. 配置別名
每次都輸入 ssh -p port user@remote ,時間久了就會覺得很麻煩,特別是當(dāng) user , remote 和 port 都得輸入,而且還不好記憶 而 配置別名 可以讓我們進(jìn)一步偷懶,譬如用: ssh ubuntu 來代替上面這么長一串,那么就在 ~/.ssh/config 里面追加以下內(nèi)容:
Host ubuntu #遠(yuǎn)端別名,可以隨便輸,但是不能有空格HostName 20.30.1.4 #遠(yuǎn)端 ip 地址User zhaoqq #遠(yuǎn)程計算機(jī)的用戶名Port 22 #遠(yuǎn)端端口號保存之后,即可用 ssh ubuntu 實現(xiàn)遠(yuǎn)程登錄了,scp 同樣可以使用
2.4.3.5 終端實用技巧
自動補(bǔ)全
-
如果拼寫沒有錯,按tab鍵會自動補(bǔ)齊文件(夾)名稱
-
例如:cd De,然后按一下tab他會自動補(bǔ)齊成cd Desktop
-
-
如果文件(夾)名稱的前幾個字母一樣,按兩下tab鍵他會顯示所有符合要求的文件夾名稱
例如:
-
我的文件夾有Desktop Documents Downloads
-
然后我輸入cd D按兩下tab鍵,他會顯示Desktop/ Documents/ Downloads/
-
然后可以輸入cd [文件夾名]切換到我們想進(jìn)入的文件夾里面了
-
?
????2. 曾經(jīng)使用過的命令
-
按上下左右的上/下鍵可以在曾經(jīng)使用過的命令之間來回切換
-
如果想要退出選擇,并且不想執(zhí)行當(dāng)前選中的命令,可以按ctrl+c
? ? 3.??清屏操作
-
clear
2.4.3.6 相對路徑和絕對路徑
-
相對路徑在輸入路徑時,最前面不是/或者~,表示相對當(dāng)前目錄所在的目錄位置
-
絕對路徑在輸入路徑時,最前面是/或者~,表示從根目錄/家目錄開始的具體目錄位置
例如:
-
絕對路徑:cd /home/python/Desktop
-
相對路徑:cd ..(相對于當(dāng)前目錄的上一級目錄)
-
假設(shè)當(dāng)前目錄是python目錄 cd Desktop則是相對目錄
-
2.5 用戶權(quán)限相關(guān)命令(了解即可)
2.5.1 用戶 和 權(quán)限 的基本概念
基本概念
-
用戶 是 Linux 系統(tǒng)工作中重要的一環(huán),用戶管理包括 用戶 與 組 管理
-
在 Linux 系統(tǒng)中,不論是由本機(jī)或是遠(yuǎn)程登錄系統(tǒng),每一個用戶必須擁有一個賬號,并且對于不同的系統(tǒng)資源擁有不同的使用權(quán)限
-
在 Linux 中,可以指定 每一個用戶 針對 不同的文件或者目錄 的不同權(quán)限
-
對 文件/目錄 的權(quán)限包括:
序號權(quán)限英文縮寫數(shù)字代號 01 讀 read r 4 02 寫 write w 2 03 執(zhí)行 excute x 1 04 無權(quán)限 - 0 執(zhí)行文件:的語法格式 ./01.py (當(dāng)前路徑下的01.py文件),就可以執(zhí)行了
2.5.2 組
-
為了方便用戶管理,提出了 組 的概念,如下圖所示:
-
在實際應(yīng)用中,可以預(yù)先針對 組 設(shè)置好權(quán)限,然后 將不同的用戶添加到對應(yīng)的組中,從而不用以此為每一個用戶設(shè)置權(quán)限
2.5.3 ls -l 擴(kuò)展
-
ls -l 可以以列表的方式查看文件夾下文件的詳細(xì)信息,從左到右依次是:
-
第一個字符如果是d表示目錄,- 表示文件夾
-
權(quán)限
-
第一組rwx表示文件擁有者的權(quán)限(第一列 python 就是 文件擁有者 的名稱)
-
第二組rwx表示 組 的權(quán)限(第二列 python 就是 組 的名稱)
-
第三組rwx表示 其他用戶 的權(quán)限
-
注:絕大多數(shù)組和用戶名是相同的
-
-
-
-
硬鏈接數(shù)(權(quán)限后面的數(shù)字1、2),通俗的講,就是有多少種方式,可以訪問到當(dāng)前目錄/文件
例如:
-
dump.rdb 無論在什么情況下都可以用絕對路徑獲取信息 cat /home/python/dump.rdb
-
Desktop 文件夾無論在什么情況下都可以有兩種方式打開:
-
cd /home/python/Desktop
-
在 Desktop 路徑下,使用 cd .
-
假如Desktop 文件夾里面還有別的子文件夾,那么他的硬鏈接數(shù)就會變成3: 在Desktop 里面的子文件夾中輸入:cd ..(若有兩個子文件夾就會變成4,三個子文件夾就會變成5)
-
一個文件夾的子目錄越多,那么他的硬鏈接數(shù)也越多
-
-
-
擁有者,家目錄下 文件/目錄 的擁有者通常是當(dāng)前用戶
-
組 在 Linux 中,很多時候,會出現(xiàn)組名和用戶名相同的情況,后續(xù)會補(bǔ)充
-
大小
-
時間
-
名稱
-
2.5.4 chmod 簡單使用(重要)
-
chmod 可以修改 用戶/組 對文件/目錄 的權(quán)限
-
命令格式如下:
chmod +/-rwx 文件名|目錄名 # +表示增加權(quán)限,-表示減少權(quán)限
提示:以上方式會一次性修改 擁有者/組 權(quán)限,有關(guān) chmod 的高級用法,后續(xù)補(bǔ)充
目錄:
-
對目錄而言一般都有可執(zhí)行權(quán)限,如果去掉可執(zhí)行權(quán)限,那么使用cd 目錄名 或者 ls 目錄名 命令就會提示權(quán)限不夠
-
如果關(guān)掉可讀可寫的權(quán)限,使用cd 目錄名 或者 ls 目錄名 (這個目錄仍然有可執(zhí)行權(quán)限)命令仍然可以讀取。
但是如果進(jìn)入到文件夾
-
使用 ls (在這個目錄下沒有可讀權(quán)限)就會提示權(quán)限不夠
-
使用touch 02.py (在這個目錄下沒有可寫權(quán)限)也會提示權(quán)限不夠
-
2.5.5 超級用戶
-
Linux 系統(tǒng)中的 root 賬號通常 用于系統(tǒng)的維護(hù)和管理,對操作系統(tǒng)的所有資源 具有所有訪問權(quán)限
-
在大多數(shù)版本的 Linux 中,都不推薦 直接使用 root 賬號登錄系統(tǒng)
-
在 Linux 安裝過程中,系統(tǒng)會自動創(chuàng)建一個用戶賬號,而這個默認(rèn)的用戶就稱為“標(biāo)準(zhǔn)用戶”(標(biāo)準(zhǔn)用戶:只能在自己的家目錄下活動的用戶,不能修改系統(tǒng)設(shè)置相關(guān)的文件)
sudo
-
su 是substitute user 的縮寫,表示 使用另一個用戶的身份
-
sudo 命令用來以其他身份來執(zhí)行命令,預(yù)設(shè)的身份為 root
-
用戶使用 sudo 時,必須先輸入密碼,之后有 5分鐘的有效期限,超過期限則必須重新輸入密碼
若其未經(jīng)授權(quán)的用戶企圖使用sudo ,則會發(fā)出警告郵件給管理員
2.6 組管理 終端命令
提示: 創(chuàng)建組/刪除組 的終端命令都需要通過 sudo 執(zhí)行
| 01 | groupadd 組名 | 添加組 |
| 02 | groupdel 組名 | 刪除組 |
| 03 | cat /etc/group | 確認(rèn)組信息 |
| 04 | chgrp -R 組名 文件/目錄名 | 遞歸修改文件/目錄的所屬組 |
-
要加上 sudo 不然會提示權(quán)限不夠
-
在 python 用戶的桌面文件夾下創(chuàng)建 Python學(xué)習(xí) 目錄
mkdir Python學(xué)習(xí)
-
新建 dev 組
sudo groupadd dev
-
查看是否創(chuàng)建成功
cat /etc/group
-
將 python學(xué)習(xí) 目錄的組修改為 dev
sudo chgrp -R dev Python學(xué)習(xí)
-
在默認(rèn)情況下,文件和目錄的 擁有者 就是 當(dāng)前這個用戶,同時,會使用一個同名的組名 作為 文件和目錄的組,現(xiàn)在的目標(biāo)是需要將 Python學(xué)習(xí) 這個目錄對應(yīng)的 組名 改為 dev
-
-R 選項可以遞歸修改目錄中所有子目錄以及文件的權(quán)限
-
提示:
-
組信息保存在 /etc/group 文件中
-
/etc 目錄是專門用來保存 系統(tǒng)配置信息 的目錄
-
在實際應(yīng)用中,可以預(yù)先針對 組 設(shè)置好權(quán)限,然后 將不同的用戶添加到對應(yīng)的組中,從而 不用依次為每一個用戶設(shè)置權(quán)限
2.7 用戶管理 終端命令
提示: 創(chuàng)建用戶/刪除用戶/修改其他用戶密碼 的終端命令都需要通過 sudo 執(zhí)行
創(chuàng)建用戶/設(shè)置密碼/刪除用戶
| 01 | useradd -m -g 組 新建用戶名 | 添加新用戶 | - -m自動建立用戶家目錄 - -g 指定用戶所在的組,否則會自動建立一個和同名的組 |
| 02 | passwd 用戶名 | 設(shè)置用戶密碼 | 如果是普通用戶,直接用 passwd 可以修改自己的賬戶密碼 |
| 03 | userdel -r 用戶名 | 刪除用戶 | -r 選項會自動刪除用戶家目錄 |
| 04 | cat /etc/passwd |grep 用戶名 | 確認(rèn)用戶信息 | 新建用戶后,用戶信息會保存在/etc/passwd 文件 中 |
提示:
-
在 Linux 系統(tǒng)中,要想添加新用戶,必須使用兩個終端命令
-
添加新用戶
-
設(shè)置用戶密碼
-
-
創(chuàng)建用戶時,如果忘記添加-m選項指定新用戶的家目錄 -- 最簡單的辦法就是刪除用戶(要添加-r),重新創(chuàng)建
-
創(chuàng)建用戶時,默認(rèn)會創(chuàng)建一個和用戶名同名的組名
-
用戶信息(包括用戶所在的家目錄信息)保存在 /etc/passwd 文件中
2. 查看用戶信息
| 01 | id [用戶名] | 查看用戶 UID 和GID 信息(UID:用戶代號;GID:組代號) |
| 02 | who | 查看當(dāng)前所有登錄的用戶列表 |
| 03 | whoami | 查看當(dāng)前登錄用戶的賬戶名 |
id命令
?
-
如果只輸入 id ,則表示查看當(dāng)前用戶的 GID 和 UID
-
最后一條命令中:
-
5行,adm 表示管理員,后面的python表示在/etc/passwd 中記錄的python用戶,表示python用戶具有管理員權(quán)限
-
18行,python用戶可以訪問系統(tǒng)的光驅(qū)
-
21行,python用戶可以以root的身份進(jìn)行系統(tǒng)的管理和維護(hù)
-
67行,對應(yīng)的是python的組,python組的代號是1000
-
注意:UID 存儲在 /etc/passwd中
-
在 passwd 中通過: 分割信息
passwd 文件
-
/etc/passwd 文件存放的是用戶的信息,由6個分好組成的7個信息,分別是
-
用戶名
-
密碼(x,表示用戶名是有密碼的,只不過密碼是加密的)
-
UID(用戶標(biāo)識)
-
GID(組標(biāo)識)
-
用戶全名或本地賬號(李四用戶的全名,如果沒有設(shè)置,就使用用戶名作為用戶的全名)
-
家目錄
-
登錄使用的 Shell,就是登陸之后,使用的終端命令,ubuntu 默認(rèn)是 dash?(dash是一個軟件)
注意:GID 存儲在 /etc/group 中
who、whoami命令
?
usermod
usermod 可以用來設(shè)置 用戶 的 主組/附加組 和登錄 Shell,命令格式如下:
-
主組:通常在新建用戶時指定,在 /etc/passwd 的第四列 GID 對應(yīng)的組(在新建用戶時,使用-g選項的組就是主組,如果不使用-g選項,系統(tǒng)就會默認(rèn)幫我們建立一個用戶同名的組,這個組就是用戶的主組)
-
附加組:在 /etc/group 中最后一列表示該組的用戶列表,用于指定用戶的附加權(quán)限
-
登錄 Shell
-
ubuntu 默認(rèn)是 dash(dash效率更高,但是dash不能使用 向上鍵(向上鍵可以使用上一條命令)
-
python 用的是 bash(bash更直觀,文件和文件夾有不同顏色,并且 向上鍵可以使用)
-
提示:設(shè)置了用戶的附加組之后,需要重新登錄才能生效!
sudo usermod -G sudo zhangsan exit ssh zhangsan@172.16.140.138 # 現(xiàn)在才可以使用sudo權(quán)限 sudo useradd -m -g dev wangwu # 修改用戶的主組(passwd 中的 GID) usermod -G 組 用戶名 ? # 修改用戶的附加組 usermod -G 組 用戶名 ? # 修改用戶登錄 Shell usermod -s /bin/bash注意:默認(rèn)使用 useradd添加的用戶是沒有權(quán)限使用sudo以root身份執(zhí)行命令的,可以使用以下命令,將用戶添加到 sudo附加組中
usermod -G sudo 用戶名which(重要)
tips :
-
/etc/passwd是用于保存用戶信息的文件
-
/usr/bin/passwd是用于修改客戶密碼的程序
?
-
which命令可以查看執(zhí)行命令所在位置,例如:
bin 和 sbin
-
在linux中,絕大多數(shù)可執(zhí)行文件都是保存在/bin,/sbin,/usr/bin,/usr/sbin
-
/bin(binary)是二進(jìn)制執(zhí)行文件目錄,主要用于具體應(yīng)用
-
/sbin(system binary)是系統(tǒng)管理員專門用的二進(jìn)制代碼存放目錄,主要用于系統(tǒng)管理
-
/usr/bin(user commands for applications)后期安裝的一些軟件
-
/usr/sbin(super user commands for applications)超級用戶的一些管理程序
tips:
-
cd這個終端命令是內(nèi)置在系統(tǒng)內(nèi)核中的,沒有獨(dú)立的文件,因此用which無法找到cd命令的位置
3. 切換用戶
| 01 | su -用戶名 | 切換用戶,并且切換目錄 | - 可以切換到用戶家目錄,否則保持位置不變 |
| 02 | exit | 退出當(dāng)前登錄賬戶 |
-
su不接用戶名,可以切換到root,但是不推薦使用,因為不安全
-
exit示意圖如下:
?
4. 修改文件權(quán)限
| 01 | chown | 修改擁有者 |
| 02 | chgrp | 修改組 |
| 03 | chmod | 修改權(quán)限 |
-
命令格式如下:
-
chmod在設(shè)置權(quán)限時,可以簡單的使用三個數(shù)字分別對應(yīng) 擁有者/組 和 其他 用戶的權(quán)限
-
常見數(shù)字組合有(u表示用戶、g表示組、o表示其他):
-
777 ===>u=rwx,g=rwx,o=rwx
-
755 ===>u=rwx,g=rx,o=rx
-
644 ===>u=rw,g=r,o=r
-
chmod 練習(xí)
將 01.py 的權(quán)限修改為u=rwx,g=rx,o=rx
將123.txt的權(quán)限修改為u=rw,g=r,o=-
將test 目錄及目錄下 所有 文件權(quán)限修改為u=rwx,g=rwx,o=rx
2.8 系統(tǒng)信息
-
方便通過遠(yuǎn)程終端維護(hù)服務(wù)器時,查看服務(wù)器上當(dāng)前 系統(tǒng)日期和時間/磁盤空間/占用情況/ 程序執(zhí)行情況
2.8.1 時間和日期
| 01 | date | 查看系統(tǒng)時間 |
| 02 | cal | calender 查看日歷,-y選項可以查看一年的日歷 |
2.8.2 磁盤和目錄空間
| 01 | df -h | disk free 顯示磁盤剩余空間 |
| 02 | du -h [目錄名] | disk usage 顯示目錄下的文件大小 |
-
選項說明
| -h | 以人性化的方式顯示文件大小 |
?
?
2.8.3 進(jìn)程信息
-
所謂進(jìn)程,通俗的說就是當(dāng)前正在執(zhí)行的一個程序
| 01 | ps aux | process status 查看進(jìn)程的詳細(xì)狀況 |
| 02 | top | 動態(tài)顯示運(yùn)行中的進(jìn)程并且排序 |
| 03 | kill [-9] 進(jìn)程代號 | 終止指定代號的進(jìn)程,-9 表示強(qiáng)行終止 |
ps 默認(rèn)只會顯示當(dāng)前用戶通過終端啟動的應(yīng)用程序
-
ps選項說明功能
| a | 顯示終端上的所有進(jìn)程,包括其他用戶的進(jìn)程 |
| u | 顯示進(jìn)程的詳細(xì)狀態(tài) |
| x | 顯示沒有控制終端的進(jìn)程 |
?只輸入top然后回車,得到結(jié)果如下:
- ?要退出top 可以直接輸入q
?
tips :
- 使用kill命令之前,要先ps知道進(jìn)程代號(PID)
- 使用kill命令時,最好只終止由當(dāng)前用戶開啟的進(jìn)程,而不要終止root 身份開啟的進(jìn)程,否則可能導(dǎo)致系統(tǒng)崩潰
2.9 其他命令
2.9.1 查找文件
-
find 命令功能非常強(qiáng)大,通常用來在特定的目錄下 搜索 符合條件的文件
| 01 | find [路徑] -name "*.py" | 查找指定路徑下擴(kuò)展名是.py的文件,包括子目錄 |
-
如果省略路徑,表示在當(dāng)前文件夾下查找
-
之前學(xué)習(xí)的通配符,在使用find命令時同時可用
-
有關(guān)find的高級使用,后續(xù)會寫
練習(xí):
搜索桌面目錄下,文件名包含 1 的文件
搜索桌面目錄下,所有以.txt為擴(kuò)展名的文件
搜索桌面目錄下,以數(shù)字 1 開頭的文件
2.9.2 軟鏈接
| 01 | ln -s 被鏈接的源文件 鏈接文件 | 建立文件的軟鏈接,用通俗的方式講類似于windows下的快捷方式 |
注意:
-
沒有-s選項建立的是一個硬鏈接文件
-
兩個文件占用相同大小的磁盤空間,工作中幾乎不會建立文件的硬鏈接
-
-
源文件要使用絕對路徑,不能使用相對路徑,這樣可以方便移動鏈接文件后,仍然能夠正常使用
練習(xí):
將桌面目錄下的01.py 移動到demo/b/c目錄下
將桌面目錄下新建01.py的軟鏈接01_xiangdui和01_juedui
- 分別使用相對路徑和絕對路徑建立01_xiangdui和01_juedui的軟鏈接將01_xiangdui和01_juedui移動到demo目錄下,對比使用相對路徑和絕對路徑的區(qū)別
硬鏈接簡介(知道)
-
在使用ln創(chuàng)建鏈接時,如果沒有-s選項,會創(chuàng)建一個硬鏈接,而不是軟鏈接
練習(xí):
在~/Desktop/demo目錄下建立~/Desktop/demo/b/c/01.py的硬鏈接01_hard
使用ls -l查看文件的硬鏈接數(shù)(硬鏈接--有多少種方式可以訪問文件或者目錄)
刪除~/Desktop/demo/b/c/01.py,并且使用tree來確認(rèn)demo目錄下的三個鏈接文件
?
文件硬鏈接的示意圖:
在 Linux 中,文件名 和 文件的數(shù)據(jù) 是分開存儲的
tips:
-
在Linux中,只有文件的硬鏈接數(shù) == 0才會被刪除
-
使用ls -l可以查看一個文件的硬鏈接的數(shù)量
-
在日常工作中,幾乎不會建立文件的硬鏈接,知道即可
2.9.3 打包和壓縮
-
打包壓縮是日常工作中備份文件的一種方式
-
在不同的操作系統(tǒng)中,常用的打包壓縮方式是不同的
-
windows 常用 rar
-
mac 常用 zip
-
linux 常用 tar.gz
-
2.9.3.1 打包/解包
-
tar是 linux中最常用的備份工具,此命令可以把一些列文件打包到一個大文件中,也可以把一個打包的大文件恢復(fù)成一系列文件
-
tar的命令格式如下:
-
tar選項說明
| c | 生成檔案文件,創(chuàng)建打包文件 |
| x | 解開檔案文件 |
| v | 列出歸檔解檔的詳細(xì)過程,顯示進(jìn)度 |
| f | 指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項最后 |
注意:f選項必須放在最后,其它選項順序可以隨意
練習(xí):
刪除桌面下的所有內(nèi)容
在桌面上新建三個空白文件01.py,02.py,03.py
將這三個文件夾打包成py.tar的包
新建tar目錄,并且將py.tar移動到tar目錄下
解包py.tar
?
?
2.9.3.2 壓縮/解壓縮
gzip
-
tar與gzip命令結(jié)合可以使用實現(xiàn)文件 打包和壓縮
-
tar只負(fù)責(zé)打包文件,但不壓縮
-
用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxx.tar.gz
-
在Linux中,最常見的一種壓縮格式就是xxx.tar.gz
-
在tar命令中有一個選項 -z 可以調(diào)用gzip,從而可以方便的實現(xiàn)壓縮和解壓縮的功能
-
命令格式如下:
| -C | 解壓縮到指定目錄,注意:要解壓縮的目錄必須存在 |
?
bzip2(two)
-
tar與bzip2命令結(jié)合可以使用實現(xiàn)文件 打包和壓縮(用法和gzip一樣)
-
tar只負(fù)責(zé)打包文件,但不壓縮
-
用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用xxx.tar.bz2
-
-
在tar命令中有一個選項 -j 可以調(diào)用bzip2,從而可以方便的實現(xiàn)壓縮和解壓縮的功能
-
命令格式如下:
2.9.4 軟件安裝
通過apt安裝/卸載軟件
-
apt是Advanced Packaging Tool,是Linux下的一款安裝包管理工具
-
可以在終端中方便的 安裝/卸載/更新軟件包
練習(xí):
# 一個小火車提示 $ sudo apt install sl ? # 一個比較漂亮的查看當(dāng)前進(jìn)程排名的軟件(按 q 退出) $ sudo apt install htop?htop輸出結(jié)果如下:
?
配置軟件源
-
如果希望Ubuntu中安裝軟件,更快加速,可以通過設(shè)置鏡像源,選擇一個訪問網(wǎng)速更快的服務(wù)器,來提供軟件下載/安裝服務(wù)
-
提示:更換服務(wù)器之后,需要一個相對比較長時間的更新過程,需要耐心等待。更新完成之后,在安裝軟件都會從新設(shè)置的服務(wù)器下載軟件了
所謂鏡像源,就是所有服務(wù)器的內(nèi)容是相同的(鏡像),但是根據(jù)所在的位置不同,國內(nèi)服務(wù)器通常速度會更快一些
設(shè)置鏡像源(圖形界面下):系統(tǒng)設(shè)置 -- 軟件和更新 -- 下載自 -- 選擇中國的站點(diǎn)/選擇最佳服務(wù)器 -- 選擇服務(wù)器 -- 輸入root密碼 -- 關(guān)閉 -- 重新載入
總結(jié)
- 上一篇: JS实现简单进度条
- 下一篇: 【笔记补发20210403 第2次课】《