linux

linux換源

sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list

linux下多版本設(shè)置

#設(shè)置多版本優(yōu)先級(jí)
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 200
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 300
#打印結(jié)果:
update-alternatives: using /usr/bin/python3.8 to provide /usr/bin/python (python) in auto mode
root@6dd5bcd1cc5d:/var/lib/apt/lists# python
Python 3.8.0 (default, Feb 25 2021, 22:10:10) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
#查看設(shè)置好的優(yōu)先級(jí)
update-alternatives --config python
#打印結(jié)果:
There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.8   300       auto mode
  1            /usr/bin/python2.7   100       manual mode
  2            /usr/bin/python3.6   200       manual mode
  3            /usr/bin/python3.8   300       manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives --install /usr/bin/pip pip /usr/bin/pip
#查看設(shè)置好的優(yōu)先級(jí)
update-alternatives --config pip
#移除pip2
apt remove python2-pip
 #查看設(shè)置好的優(yōu)先級(jí)
 update-alternatives --config python
 #打印結(jié)果:
 There are 3 choices for the alternative python (providing /usr/bin/python).
 
  Selection    Path                Priority   Status
 ------------------------------------------------------------
 * 0            /usr/bin/python3.8   300       auto mode
  1            /usr/bin/python2.7   100       manual mode
  2            /usr/bin/python3.6   200       manual mode
  3            /usr/bin/python3.8   300       manual mode
 Press <enter> to keep the current choice[*], or type selection number: 3
 update-alternatives --install /usr/bin/pip pip /usr/bin/pip
 #查看設(shè)置好的優(yōu)先級(jí)
 update-alternatives --config pip
 #移除pip2
 apt remove python2-pip</pre>

背景

經(jīng)常在 Linux 系統(tǒng)上開發(fā),尤其是 Ubuntu 系統(tǒng)痴荐,因此對(duì)系統(tǒng)的文件結(jié)構(gòu)進(jìn)行一個(gè)整理,便于開發(fā)時(shí)使用正確的方式。

目標(biāo)結(jié)構(gòu)

[圖片上傳失敗...(image-f7b1f6-1673277509673)]

在終端中使用 tree 指令驳棱,查看根目錄結(jié)構(gòu),輸出如下

 /
 ├── bin #bin 是 Binaries (二進(jìn)制文件) 的縮寫, 這個(gè)目錄存放著最經(jīng)常使用的命令农曲,如 ps社搅、cat、cp、echo 等常用的系統(tǒng)指令
 ├── boot #這里存放的是啟動(dòng) Linux 時(shí)使用的一些核心文件形葬,包括一些連接文件以及鏡像文件
 ├── cdrom                                           ,
 ├── dev #dev 是 Device(設(shè)備) 的縮寫, 該目錄下存放的是 Linux 的外部設(shè)備合呐,在 Linux 中訪問設(shè)備的方式和訪問文件的方式是相同的
 ├── etc #etc 是 Etcetera(等等) 的縮寫,這個(gè)目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄。
 ├── home #用戶的主目錄笙以,在 Linux 中淌实,每個(gè)用戶都有一個(gè)自己的目錄,一般該目錄名是以用戶的賬號(hào)命名的
 ├── initrd.img -> boot/initrd.img-5.4.0-73-generic
 ├── initrd.img.old -> boot/initrd.img-5.4.0-72-generic
 ├── lib #lib 是 Library(庫) 的縮寫源织,這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)連接共享庫翩伪,幾乎所有的應(yīng)用程序都需要用到這些共享庫
 ├── lib64 #
 ├── lost+found #這個(gè)目錄一般情況下是空的,當(dāng)系統(tǒng)非法關(guān)機(jī)后谈息,這里就存放了一些文件缘屹。
 ├── media #linux 系統(tǒng)會(huì)自動(dòng)識(shí)別一些設(shè)備,例如U盤侠仇、光驅(qū)等等轻姿,當(dāng)識(shí)別后,Linux 會(huì)把識(shí)別的設(shè)備掛載到這個(gè)目錄下逻炊。
 ├── mnt #系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)的互亮,我們可以將光驅(qū)掛載在 /mnt/ 上,然后進(jìn)入該目錄就可以查看光驅(qū)里的內(nèi)容了余素。
 ├── opt #opt 是 optional(可選) 的縮寫豹休,這是給主機(jī)額外安裝軟件所擺放的目錄。默認(rèn)是空的桨吊。
 ├── proc #proc 是 Processes(進(jìn)程) 的縮寫威根,/proc 是一種偽文件系統(tǒng)(也即虛擬文件系統(tǒng)),存儲(chǔ)的是當(dāng)前內(nèi)核運(yùn)行狀態(tài)的一系列特殊文件视乐,這個(gè)目錄是一個(gè)虛擬的目錄洛搀,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個(gè)目錄來獲取系統(tǒng)信息佑淀,這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里留美。
 ├── root #該目錄為系統(tǒng)管理員,也稱作超級(jí)權(quán)限者的用戶主目錄伸刃。
 ├── run #是一個(gè)臨時(shí)文件系統(tǒng)谎砾,存儲(chǔ)系統(tǒng)啟動(dòng)以來的信息。當(dāng)系統(tǒng)重啟時(shí)捧颅,這個(gè)目錄下的文件應(yīng)該被刪掉或清除棺榔。如果你的系統(tǒng)上有 /var/run 目錄,應(yīng)該讓它指向 run隘道。
 ├── sbin #s 就是 Super User 的意思,是 Superuser Binaries (超級(jí)用戶的二進(jìn)制文件) 的縮寫,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序谭梗。
 ├── snap #snap應(yīng)用程序的程序文件
 ├── srv #該目錄存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)忘晤。
 ├── swapfile #
 ├── sys #系統(tǒng)中的設(shè)備和文件層次結(jié)構(gòu)。文件夾中存儲(chǔ)系統(tǒng)信息激捏,用戶需要的信息也從中調(diào)用设塔。
 ├── tmp #tmp 是 temporary(臨時(shí)) 的縮寫這個(gè)目錄是用來存放一些臨時(shí)文件的。
 ├── usr #usr 是 unix shared resources(共享資源) 的縮寫远舅,這是一個(gè)非常重要的目錄闰蛔,用戶的很多應(yīng)用程序和文件都放在這個(gè)目錄下,類似于 windows 下的 program files 目錄图柏。
 ├── var #var 是 variable(變量) 的縮寫序六,這個(gè)目錄中存放著在不斷擴(kuò)充著的東西,我們習(xí)慣將那些經(jīng)常被修改的目錄放在這個(gè)目錄下蚤吹。包括各種日志文件例诀。
 ├── vmlinuz -> boot/vmlinuz-5.4.0-73-generic
 └── vmlinuz.old -> boot/vmlinuz-5.4.0-72-generic
 
 補(bǔ)充
 /usr/bin:系統(tǒng)用戶使用的應(yīng)用程序與指令。
 /usr/sbin:超級(jí)用戶使用的比較高級(jí)的管理程序和系統(tǒng)守護(hù)程序裁着。
 /usr/src:內(nèi)核源代碼默認(rèn)的放置目錄繁涂。</pre>

ubuntu常用指令

[圖片上傳失敗.

查看當(dāng)前文件夾下的每個(gè)文件大小

du -d 1 -h

查看當(dāng)前磁盤的大小信息

df -h

常用快捷鍵

ctrl+L  #清屏
vim file.txt #打開文件后, :wq保存退出二驰,:q退出 :set nu顯示行號(hào)

獲取當(dāng)次操作有效的管理員權(quán)限

sudo <命令> <參數(shù)>

文件/文件夾管理常用命令

 #顯示當(dāng)前路徑
 pwd
 
 #切換目錄
 cd <文件夾相對(duì)路徑>  #進(jìn)入到指定目錄
 cd ..   #進(jìn)入到當(dāng)前目錄的上一級(jí)目錄
 cd -    #進(jìn)入上一次所采的目錄
 cd ~    #進(jìn)入當(dāng)前用戶的主目錄
 
 #列出目錄下所有文件
 ls
 ls <文件夾相對(duì)路徑>      #列出指定目錄下的文件和文件夾
 ls <文件夾相對(duì)路徑> -l   #列出文件/文件夾的詳細(xì)信息
 ls <文件夾相對(duì)路徑> -lh  #列出文件/文件夾的詳細(xì)信息 以K扔罪,M,G 格式顯示,方便查看
 
 #創(chuàng)建文件夾
 mkdir <文件夾名稱>      #創(chuàng)建指定名稱的文件夾
 
 #拷貝
 cp <原始路徑> <目標(biāo)路徑>      #將原始路徑的文件復(fù)制到目標(biāo)路徑
 cp -i <原始路徑> <目標(biāo)路徑>   #將原始路徑的文件復(fù)制到目標(biāo)路徑,覆蓋前給出提示(推薦)
 cp -r <原始路徑> <目標(biāo)路徑>   #將原始路徑下所有文件夾及文件夾下的文件復(fù)制到目標(biāo)路徑下
 
 #移動(dòng)
 mv <原始路徑> <目標(biāo)路徑>      #將原始路徑的文件移動(dòng)到目標(biāo)路徑
 
 #刪除指定文件
 rm <文件名>
 rm -r <文件夾名>     #刪除指定目錄下的所有文件和文件夾
 rm -f <文件夾名>     #強(qiáng)制刪除指定文件夾
 rm -rf <文件夾名>    #強(qiáng)制刪除指定目錄下的所有文件和文件夾
 rm -rf *            #非常危險(xiǎn)的指令桶雀,不要使用?蠼汀!背犯!</pre>

應(yīng)用安裝卸載常用命令

安裝默認(rèn)路徑

#Linux 的軟件安裝目錄是也是有講究的坏瘩,理解這一點(diǎn),在對(duì)系統(tǒng)管理是有益的
/usr:系統(tǒng)級(jí)的目錄漠魏,可以理解為C:/Windows/倔矾,/usr/lib理解為C:/Windows/System32。
/usr/local:用戶級(jí)的程序目錄柱锹,可以理解為C:/Progrem Files/哪自。用戶自己編譯的軟件默認(rèn)會(huì)安裝到這個(gè)目錄下。
/opt:用戶級(jí)的程序目錄禁熏,根目錄下的opt 給主機(jī)安裝額外的軟件壤巷,使得其他用戶可用,可以理解為D:/Software瞧毙,這里可以用于放置第三方大型軟件(或游戲)胧华,當(dāng)你不需要時(shí)寄症,直接rm -rf掉即可。在硬盤容量不夠時(shí)矩动,也可將/opt單獨(dú)掛載到其他磁盤上使用有巧。

#apt命令下載的軟件包默認(rèn)保存在"/var/cache/apt/archives"目錄下
#apt命令默認(rèn)將軟件安裝在"/usr/share"目錄下
#可執(zhí)行文件默認(rèn)安裝在"/usr/bin"目錄下
#庫文件默認(rèn)安裝在"/usr/lib"目錄下
#配置文件默認(rèn)安裝在"/etc"目錄下

#下載文件默認(rèn)會(huì)保存到"~/Downloads"目錄下

apt在線安裝

 #更新安裝源
 sudo apt update     #從所有軟件安裝源里更新可安裝軟件信息列表
 
 #升級(jí)
 sudo apt upgrade    #升級(jí)所有可升級(jí)的軟件包
 
 #安裝
 sudo apt install <軟件包名稱>                          #安裝指定軟件包
 sudo apt -y install <軟件包名稱>                       #安裝指定軟件包,再命令行交互式提示[Y/N]時(shí)自動(dòng)輸入y
 sudo apt -no-install-recommends install <軟件包名稱>   #安裝指定軟件包,且避免安裝非必須文件
 
 #移除
 sudo apt remove <軟件包名稱>   #移除指定的軟件包
 sudo apt purge <軟件包名稱>    #移除指定的軟件包,同時(shí)移除相關(guān)配置文件
 
 #清理
 sudo apt autoremove          #移除所有曾被自動(dòng)安裝但是現(xiàn)在已經(jīng)無任何依賴關(guān)系的軟件包
 sudo apt clean               #刪除所有已經(jīng)下載的軟件包  
 
 #編輯源列表
 sudo gedit /etc/apt/sources.list  
 
 #修復(fù)依賴損壞  非常神奇有用的指令
 sudo apt-get install -f</pre>

dpkg離線安裝.deb包

 #.deb格式 軟件包安裝
 sudo dpkg -i <安裝包文件名>.deb  
 
 #.deb格式 軟件包卸載
 sudo dpkg -r <軟件包名稱></pre>

打包解包命令

 #打包.gzip格式
 tar -czf <文件名>.tar.gz./*  #將當(dāng)前目錄下所有文件壓縮打包
 
 #解包.gzip格式
 tar -xzf <文件名>.tar.gz     #將指定文件解壓縮包
 
 #后綴 -c 實(shí)現(xiàn)打包功能
 #后綴 -x 實(shí)現(xiàn)解包功能
 #后綴 -z 實(shí)現(xiàn).gzip格式的壓縮解壓功能
 #后綴 -f 指定文件名悲没,這個(gè)參數(shù)必須放在最后
 
 #解包.zip格式
 unzip <文件名>.zip
 
 #解包.rar格式
 sudo apt install unrar   #先安裝unrar
 unrar <文件名>.rar        #解壓</pre>

常用信息查詢命令

| 功能 | 命令行 |
| 查看內(nèi)核版本 | uname -a |
| 查看ubuntu版本 | cat /etc/issue |
| 查看CPU信息 | cat /proc/cpuinfo |
| 查看USB設(shè)備 | lsusb |
| 查看硬盤剩余空間 | df -h |
| 查看進(jìn)程占用資源的實(shí)時(shí)情況 | top |
| 顯示有線網(wǎng)卡當(dāng)前連接信息(常用于查ip) | ifconfig eth0 |
| 顯示無線網(wǎng)卡當(dāng)前連接信息(常用于查ip) | ifconfig wlan0 |
| 查詢當(dāng)前系統(tǒng)正在通過TCP/IP協(xié)議監(jiān)聽的進(jìn)程信息 | netstat -lt |

軟鏈接命令ln

這是linux中一個(gè)非常重要命令篮迎,請(qǐng)大家一定要熟悉。它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同步的鏈接示姿,這個(gè)命令最常用的參數(shù)是-s 是代號(hào)(symbolic)的意思甜橱。具體用法是:

 #注意不需要提前創(chuàng)建目標(biāo)文件路徑
 #創(chuàng)建軟連接
 ln -s 源文件 目標(biāo)文件
 #舉例
 ln -s /home/zxl/DATA data
 ln -s log2013.log link2013</pre>

當(dāng) 我們需要在不同的目錄,用到相同的文件時(shí)栈戳,我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件岂傲,我們只要在某個(gè)固定的目錄,放上該文件荧琼,然后在其它的 目錄下用ln命令鏈接(link)它就可以譬胎,不必重復(fù)的占用磁盤空間。

有兩點(diǎn)要注意:

第一命锄,ln命令會(huì)保持每一處鏈接文件的同步性堰乔,也就是說,不論你改動(dòng)了哪一處脐恩,其它的文件都會(huì)發(fā)生相同的變化镐侯;

第二,ln的鏈接又軟鏈接 和硬鏈接兩種驶冒,

  • 軟鏈接ln -s xx xx ,它只會(huì)在你選定的位置上生成一個(gè)文件的鏡像苟翻,不會(huì)占用磁盤空間,<mark style="box-sizing: border-box; background: rgb(255, 255, 0); color: rgb(0, 0, 0);">類似于Windows操作系統(tǒng)中的快捷方式</mark>,

  • 硬鏈接ln xx xx,沒有參數(shù)-s, 它會(huì)在你選定的位置上生成一個(gè)和源文件大小相同的文件骗污,無論是軟鏈接還是硬鏈接崇猫,文件都保持同步變化。
    如果你用ls察看一個(gè)目錄時(shí)需忿,發(fā)現(xiàn)有的文件后面有一個(gè)@的符號(hào)诅炉,那就是一個(gè)用ln命令生成的文件,用ls -l命令去察看屋厘,就可以看到顯示的link的路徑了涕烧。

 #刪除軟連接
 rm -rf 軟鏈接地址
 #舉例
 rm -rf data</pre>

上述指令中,軟鏈接地址最后不能含有“/”汗洒,當(dāng)含有“/”時(shí)议纯,刪除的是軟鏈接目標(biāo)目錄下的資源,而不是軟鏈接本身溢谤。

 #修改軟連接
 ln -snf /home/zxl/DATA data

linux 的遠(yuǎn)程鏈接

裝好linux系統(tǒng)之后瞻凤,Windows用戶單獨(dú)安裝xshell遠(yuǎn)程連接工具
 通過ip addr show 查看linux的網(wǎng)絡(luò)IP信息</pre>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末憨攒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鲫构,更是在濱河造成了極大的恐慌浓恶,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件结笨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡湿镀,警方通過查閱死者的電腦和手機(jī)炕吸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勉痴,“玉大人赫模,你說我怎么就攤上這事≌裘” “怎么了瀑罗?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)雏掠。 經(jīng)常有香客問我斩祭,道長(zhǎng),這世上最難降的妖魔是什么乡话? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任摧玫,我火速辦了婚禮,結(jié)果婚禮上绑青,老公的妹妹穿的比我還像新娘诬像。我一直安慰自己,他們只是感情好闸婴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布坏挠。 她就那樣靜靜地躺著,像睡著了一般邪乍。 火紅的嫁衣襯著肌膚如雪降狠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天溺欧,我揣著相機(jī)與錄音喊熟,去河邊找鬼。 笑死姐刁,一個(gè)胖子當(dāng)著我的面吹牛芥牌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播聂使,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼壁拉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谬俄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弃理,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤溃论,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后痘昌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钥勋,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年辆苔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了算灸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驻啤,死狀恐怖菲驴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骑冗,我是刑警寧澤赊瞬,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站贼涩,受9級(jí)特大地震影響巧涧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磁携,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一褒侧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谊迄,春花似錦闷供、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至粮呢,卻和暖如春婿失,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啄寡。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工豪硅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挺物。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓懒浮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砚著,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Linux習(xí)慣問題: 在vim編輯時(shí)次伶,按了ctrl + s后,再按ctrl + q就可以繼續(xù)執(zhí)行了稽穆。ctrl + ...
    光著腳的鞋閱讀 4,506評(píng)論 0 16
  • Linux 概述 什么是Linux Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng)舌镶,是一個(gè)基于POSIX和...
    蜀山客e閱讀 829評(píng)論 0 3
  • 自己以前整理的筆記柱彻,不太完整,后續(xù)會(huì)不斷更新餐胀。绒疗。。骂澄。 [ ] 補(bǔ)全Linux常用命令,如末行模式下的命令惕虑、保存相關(guān)...
    alan2yang閱讀 523評(píng)論 0 6
  • 一坟冲、Linux環(huán)境配置 先來看看 Linux 怎么讀「你可想死,利尼克斯」溃蔫,只要不是讀的太離譜就行健提。Linux 系...
    CondorHero閱讀 604評(píng)論 0 1
  • 簡(jiǎn)單的東西沒學(xué)好,復(fù)雜的東西就不好學(xué)會(huì) Linux命令行 pwd: 以絕對(duì)路徑的方式顯示用戶當(dāng)前工作目錄 ll:顯...
    在努力的Jie閱讀 132評(píng)論 0 0