Linux 有許多發(fā)行版本,各有各特色功能。在此我只將它作為學(xué)習(xí)python的編程環(huán)境,隨意一個(gè)版本就可以了。
雖是隨身系統(tǒng),也需要對(duì)它作一個(gè)了解,方便操作。
了解Linux 系統(tǒng)
1.Linux 系統(tǒng)結(jié)構(gòu)主要由4部分組成
- 內(nèi)核
- Shell
- 文件系統(tǒng)
- 應(yīng)用系統(tǒng)
重點(diǎn)記住:linux一切且文件(目錄、硬盤(pán)等都是文件)
2. 對(duì)Linux常用命令學(xué)習(xí)
Linux命令常用結(jié)構(gòu) :Command [-option] [argument]
- Command:即是要運(yùn)行的命令的本身,說(shuō)白了就是一個(gè)軟件(程序);
- Option:是選項(xiàng)(可選),選項(xiàng)是控制命令運(yùn)行狀態(tài)和行為的(可多個(gè)選項(xiàng)一起,如df -hT);
- Argument:是參數(shù)(可選),是命令要操作對(duì)象如文件、路徑、數(shù)據(jù)、目錄等;
在指令的第一部分按[tab]鍵一下為[命令補(bǔ)全],兩下為所有命令選擇,在非第一部分按[tab]鍵兩下為[文件補(bǔ)全];
Linux系統(tǒng)中需要在查找框中輸入:terminal 終端命令行工具,
在此工具中使用命令。
3.作為編程系統(tǒng),用到的部分命令分享,詳細(xì)的命令可以問(wèn)下度娘,前輩已作了很多詳細(xì)的分享了。
3.1 Linux關(guān)機(jī)
正確步驟:
- 關(guān)機(jī)前,命令行中執(zhí)行:sync,把內(nèi)存中的數(shù)據(jù)寫(xiě)到磁盤(pán)中。重啟前也需要執(zhí)行一次。
- 關(guān)機(jī): shutdown -h now :立刻關(guān)機(jī)
還有以下幾種關(guān)機(jī)方式:
- shutdown -r now或reboot :立刻重啟
- shutdown -h 20:00 :預(yù)定時(shí)間關(guān)閉系統(tǒng)(晚上8點(diǎn)關(guān)機(jī),如果現(xiàn)在超過(guò)8點(diǎn),則明晚8點(diǎn))
- shutdown -h +10 :預(yù)定時(shí)間關(guān)閉系統(tǒng)(10分鐘后關(guān)機(jī))
- shutdown -c :取消按預(yù)定時(shí)間關(guān)閉系統(tǒng)
注:就算Ubuntn系統(tǒng)已設(shè)有關(guān)機(jī)按鍵,也還是用命令行來(lái)關(guān)機(jī),這機(jī)會(huì)對(duì)文件保存,以免丟失數(shù)據(jù)。
3.2 查看系統(tǒng)版本:
- uname -m :顯示機(jī)器的處理器架構(gòu)(如x86_64)
- cat /proc/version :查看linux版本信息
- uname -r :顯示正在使用的內(nèi)核版本
- lsb_release -a :查看系統(tǒng)發(fā)行版本(如CentOS7)
- rpm -qa | grep kernel-devel :查看kernel-devel版本(安裝軟件時(shí)編譯內(nèi)核用,故需要保持內(nèi)核版本一致性)
這5個(gè)命令,可查清系統(tǒng)的版本,便于后繼更新軟件源時(shí),找上相對(duì)應(yīng)的版本源,以及軟件支持版本。
3.3 重點(diǎn)文件與目錄操作命令
cd:是Change Directory的縮寫(xiě),用來(lái)切換工作目錄,語(yǔ)法:cd [相對(duì)或絕對(duì)路徑或特殊符號(hào)]
- cd :進(jìn)入該用戶(hù)的主目錄 ~(root用戶(hù)為/root,其他用戶(hù)為/home/用戶(hù)名)
- cd .. :返回上一級(jí)目錄(注意要空格)
- cd - :返回上次所在目錄
- cd / :返回根目錄 (絕對(duì)路徑)
- cd ./目錄1/目錄2 :進(jìn)入當(dāng)前目錄下的子目錄(相對(duì)路徑)
- pwd :顯示工作路徑(Print Working Directory 的縮寫(xiě))
?ls:是List的縮寫(xiě),用于列出目錄下的文件,語(yǔ)法:ls [選項(xiàng)][目錄或文件名]
ls -a :列出文件下所有的文件,包括以“.“開(kāi)頭的隱藏文件
ls -lh .log :列出文件的詳細(xì)信息(.log結(jié)尾,為通配符代表任意多個(gè)字符)file 文件或目錄 :顯示文件的類(lèi)型(目錄、text、zip、shell腳本等)
mkdir dir1 :創(chuàng)建目錄(dir1)(mkdir為make directory的縮寫(xiě))
mkdir -p ./dir1/dir2 :遞歸創(chuàng)建目錄(-p:父目錄不存在時(shí),同時(shí)建立)
touch a.txt :創(chuàng)建文件a.txt
?rm:可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉; 語(yǔ)法:rm (選項(xiàng))(參數(shù))(注:如果參數(shù)中含有目錄,則必須加上-r選項(xiàng));
- rm 文件 :刪除文件
- rm -r 目錄或文件 :刪除目錄(及目錄下所有文件)(非空也可以)
- rm -rf 目錄或文件 :強(qiáng)制刪除,如:rm -rf * 為刪除當(dāng)前目錄下所有文件
- find -inum 1842601 -exec rm -rf {} ; :刪除亂碼文件或目錄(會(huì)提示找不到此文件或文件夾但其實(shí)已經(jīng)刪除了)(上傳中文文件會(huì)亂碼,rm命令刪除不了)(先使用ls -i命令找到inode,即文件或目錄前面的數(shù)字字符串,如1842601;)
?mv:是move的縮寫(xiě),可以用來(lái)剪切移動(dòng)文件、目錄或者將文件改名;語(yǔ)法:mv 源文件 目標(biāo)文件(改名)或目錄(移動(dòng));
- mv a b :移動(dòng)或者重命名一個(gè)文件或者目錄(存在即移動(dòng)目錄或覆蓋文件,不存在即改名)
- mv /opt/git/g /opt/a :移動(dòng)g到opt目錄下并改名為a(a目錄不存在,若存在則為移動(dòng)g到a目錄下)
- mv -t ./test a.txt b.txt :移動(dòng)多個(gè)文件到某目錄下
?cp:復(fù)制文件或目錄;cp命令可以將單個(gè)或多個(gè)文件復(fù)制到一個(gè)已經(jīng)存在的目錄下;
常用:cp -ai 文件或目錄 目標(biāo)目錄;
- cp -ai /opt/abc /opt/git/ :復(fù)制abc目錄(或文件)到git目錄下(選項(xiàng)a表示文件的屬性也復(fù)制、目錄下所有文件都復(fù)制;i表示覆蓋前詢(xún)問(wèn))
?ln:link的縮寫(xiě),用于建立硬(軟)鏈接,常用于軟件安裝時(shí)建軟鏈接(類(lèi)似快捷方式)到PATH;
語(yǔ)法:ln [-s] 源文件 目標(biāo)文件
- ln -s /opt/a.txt /opt/git/ :對(duì)文件創(chuàng)建軟鏈接(快捷方式不改名還是a.txt)
- ln -s /opt/a.txt /opt/git/b :(快捷方式改名為b)(下面的一樣可以改名)
- ln -s /opt/mulu /opt/git/ :對(duì)目錄創(chuàng)建軟鏈接
- ln /opt/a.txt /opt/git/ :對(duì)文件創(chuàng)建硬鏈接
PS: Linux系統(tǒng)一切且文件,重點(diǎn)學(xué)透文件操作命令,才能熟練操作它。如對(duì)系統(tǒng)的軟件源更新為阿里源。
步驟:
- 備份源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup - 移出sources.list 到外面來(lái)
mv /etc/apt/sources.list /mnt/hdd1/public/
用文本編輯器打開(kāi)更新為阿里源內(nèi)容:
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
- 完了再移回: mv /mnt/hdd1/public/sources.list /etc/apt
- 更新源: sudo apt-get update
- 更新軟件
sudo apt-get dist-upgrade
sudo apt-get upgrade
3.4 軟件安裝
我自己只學(xué)其中2種:
3.4.1 apt方式安裝法:
安裝deb包,類(lèi)似yum安裝,適用于Debian, Ubuntu 以及類(lèi)似系統(tǒng); 在命令行窗口直接用以下命令:
- apt-get install aptitude :安裝aptitude工具,實(shí)現(xiàn)依賴(lài)自動(dòng)安裝,依賴(lài)版本自動(dòng)降級(jí)或升級(jí)
- aptitude install 軟件 :安裝軟件(推薦這種方式安裝)
- apt-cache search 軟件 :搜索軟件
- apt-get install 軟件 :安裝軟件
- apt-get purge 軟件 :卸載軟件(包括配置文件,只刪除軟件purge換成remove)
- apt-get upgrade :更新所有已安裝的軟件包
- apt-get update :升級(jí)列表中的軟件包
- apt-get clean :從下載的軟件包中清理緩存
3.4.2 源代碼(Source)包編譯安裝
? >源代碼包(一般有install文件)如hello-2.2.tar.bz2,下載復(fù)制到/opt;
- tar -jxvf hello-2.2.tar.bz2 :解壓
- ./configure --prefix=/opt/軟件目錄名稱(chēng) :為編譯做好準(zhǔn)備,加上 prefix 手動(dòng)指定安裝路徑
- make :編譯
- make install :安裝
- make clean :刪除安裝時(shí)產(chǎn)生的臨時(shí)文件
- vim /etc/profile export PATH=$PATH:/opt/目錄/bin :手動(dòng)指定安裝路徑需要加path
- hello :執(zhí)行軟件:看INSTALL和README文件(是否源碼包、如何安裝、執(zhí)行都看這兩個(gè))
- rm -rf 軟件目錄名稱(chēng) : 卸載軟件目錄
PS: 以上的命令,記住后,加上多練手,就可對(duì)Linux系統(tǒng)操作自如了。
推薦文章: