Linux簡介php
Linux 操做系統的誕生、發展和成長過程始終依賴着五個重要支柱:UNIX 操做系統、MINIX 操做系統、GNU計劃、POSIX 標準和Internet 網絡html
1991年初,林納斯·託瓦茲開始在一臺386sx兼容微機上學習minix操做系統。1991年4月,林納斯·託瓦茲開始醞釀並着手編制本身的操做系統node
1991年的10月5日,林納斯·託瓦茲在comp.os.minix新聞組上發佈消息,正式向外宣佈Linux內核的誕生。python
2003年12月,Linux 2.6版內核發佈,相對於2.4版內核2.6在對系統的支持都有很大的變化mysql
Linux發行版本linux
Linux的發行版說簡單點就是將Linux內核與應用軟件作一個打包,目前已知的Linux發行版本已經有上千種了nginx
經常使用的有:redhat,CentOS,ubuntu等正則表達式
redhat有部分功能是收費的,centos和redhat是基本同樣的,centos是免費的,centos已經被redhat收購,能免費到多久還不清楚;sql
fedora是redhat公司的我的版本,功能強大,但不穩定,圖形界面相對還行,不適合我的操做;shell
Ubuntu相對來講是咱們經常使用的圖形界面Linux。
不一樣的發行版本內核都是同樣的,只是各自的應用軟件不同而已。
Linux內核
官網:www.kernel.org,目前最新版本4.17.14,三位數字分別表示主版本,次版本,末版本
開源軟件
所謂的開源是指源代碼開放,可是開源不等於免費,咱們經常使用開源軟件有以下:
一、apache(羽毛標誌):網站搭建軟件,可發佈已寫好網站至互聯網
二、nginx:佔用資源更少,提供更多訪問量,抗併發高
三、linux、php、mysql、apache、nginx、是經常使用搭建平臺
四、mongoDB、sumba、ruby、python等
開源軟件的幾個特色:
1.使用的自由(絕大多數開源軟件是免費的)
2.研究的自由(能夠得到軟件源代碼)
3.散步及改良的自由(能夠自由傳播,改良甚至銷售)
Linux應用領域
1.基於Linux的企業服務器
可使用www.netcraft.com查看不一樣網站使用的服務器
從這個圖中咱們能夠看出,後臺使用的服務器基本都是Linux的Apache、nginx
2.嵌入式領域
安卓系統的底層實際上是Linux;蘋果的iOS系統的底層是unix
3.機頂盒等
Linux與windows的區別
一、Linux嚴格區分大小寫
二、Linux中全部的內容以文件形式保存,包括硬件、用戶
三、Linux不靠擴展名來區分文件,它靠權限來區分文件
四、Windows下的程序不能直接在Linux中安裝和運行
Windows用擴展名來區分不一樣的文件,Linux是靠文件的權限來進行區分的,可是,爲了咱們或者是管理員能較快的辨別文件,咱們約定成俗:
字符界面的優點
1.字符界面佔用的系統資源更少
字符界面遠比圖形界面佔用資源少得多,圖形界面須要服務器分擔更多的系統資源,不管是CPU、內存佔有、運存空間。從而會拿出更少的資源供客戶端訪問。至此,在服務器上不會考慮使用圖形界面。
2.字符界面減小了出錯、被攻擊的可能性
虛擬機的安裝
1.VMware簡介
VMware是一個虛擬PC的軟件,能夠在現有的操做系統上虛擬出一個新的硬件環境,至關於模擬出一臺新的PC,以此來實如今一臺機器上真正同時運行兩個獨立的操做系統,VMware是收費的,到官網下載是須要付費的。
2.VMware特色
1.不須要分區或從新開機就能在同一臺PC上使用兩種以上的操做系統
2.本機系統能夠與虛擬機系統網絡通訊
3.能夠設定並隨時修改虛擬機操做系統硬件環境
3.VMware安裝要求
安裝VMware的基本要求:CPU:建議主頻爲1GHz以上;內存:最低1GB;硬盤:建議分區
在window中,安裝的軟件都不建議安裝在c盤,1是影響window系統的流暢性,2是若是把軟件安裝在其餘盤,重裝window系統的時候,只須要對c盤操做,其餘盤安裝的軟件,即便重裝系統後依然能夠繼續使用。
4.VMware的使用
1.新建虛擬機
新建的時候,建議不要選擇「安裝盤鏡像文件」,由於這樣安裝是從頭至尾自動安裝,它是最小化安裝;Centos 64佔用資源更大,有不少兼容性問題出現,建議初學者使用 32位。
2.虛擬機硬件設置
Centos 6.3最少得628M才能啓動圖形安裝界面,因此內存再小不能少於638MB
關於「虛擬化Intel VT-x/EPT 或AMD-V/RVI(V)選項」:
真實CPU的性能映射到虛擬機裏;若不選,是軟件模擬的cpu;若選,真實機的CPU是i7,則虛擬機裏的CPU也是i7;若須要跑大數據,虛擬機性能須要很是強大;但選擇這個,會佔用真實CPU的資源;若是須要跑大數據,就選擇。
3.虛擬機網絡設置
網絡設置的3個選項:
1.橋接(推薦):虛擬機安裝後會產生兩個虛擬網卡VMnet1和VMnet8。橋接這個功能就是使用真實網卡和宿主機通訊,配置簡單,可是會佔用宿主機的同一網段的一個IP地址,好比「192.168.0」這個網段。
2.NAT:使用VMnet8網卡和真實機通訊。只能和宿主機通訊,不能和局域網內其它的網絡設備通訊。能上網。
3.host only:經過VMnet1和真實機通訊。只能和宿主機通訊 ,不能和局域網內其它的網絡設備通訊。不能上網。
4.虛擬機技巧
快照:把當前狀態保存下來,虛擬機被搞崩潰了,恢復快照便可。建議在安裝完系統以後就創建一個快照。
5.克隆功能:
路徑,虛擬機——管理——克隆
(1)連接克隆:建立原始鏡像的影子,佔用空間內存少徹底模擬另一個機器,會隨着原始鏡像的刪除而不能使用;
(2)完整克隆:建立一個徹底相同的虛擬機,刪除原始鏡像還可以正常使用,佔用與原始鏡像相同的內存。
6.虛擬機的刪除:
堅定不能夠直接把vmware的安裝目錄刪掉,由於VMware安裝時已經成爲windows的系統的服務,直接刪除安裝目錄文件是刪不乾淨的,並且會致使之後再也安裝不上VMware,由於軟件會認爲我沒有刪這個軟件,致使安裝出錯。使用控制面板的刪除程序刪VMware,也不必定刪乾淨;VMware_Install_Cleaner專門用於把虛擬機刪除乾淨、清除註冊表的軟件;下載地址:https://www.linuxidc.com/Linux/2012-11/73744.htm。
磁盤的分區
概念:
磁盤分區是使用分區編輯器(partition deitor)在磁盤上劃分幾個邏輯部門。碟片一旦劃分紅數個分區(partition),不一樣類的目錄與文件能夠存儲進不一樣的分區。
分區類型:
主分區:最多隻能有4個(每一個扇區爲512個字節,512=主引導記錄信息+分區信息+結束符佔位,即512=446+64+2,因此分區信息就是64個字節,一個分區表佔用16個字節,因此能夠分64/16 = 4個扇區)
擴展分區:
1.最多隻能有一個
2.主分區加擴展分區最多有4個
3.不能寫入數據,只能包含邏輯分區
邏輯分區:最多能夠劃分23個
格式化:
格式化(高級格式化)又稱邏輯格式化,它是指根據用戶選定的文件系統(如FAT16,FAT32,NTFS,EXT2,EXT3,EXT4等),在磁盤的特定區域寫入特定數據,在分區中劃出一片用於存放文件分配表、目錄表等用於文件管理的磁盤空間。
格式化的目的不是清空數據,而是根據用戶選定的文件系統寫入文件系統。若是手動不指定(可手動改成1,2等,若是該數據塊中沒有存放滿4KB,也不會放其餘的數據的),文件系統默認分區的最小單位一個數據塊是4KB,也就是一個block的大小就是4KB,格式化就是將系統劃分紅些許等大的block。而後會建立一個二位表格記錄文件系統的inode等相關信息。
格式化的時候,會從新分配分區的數據庫,把保存文件吸引的表格數據更新,會先把裏面的原始數據清空,而後進行從新分配block和list更新。
Linux分區就是:
一、將硬盤分割成等大小的數據塊(默認4kb,能夠調節)
二、創建二維表格,表格內容包括I節點、修改時間、權限、文件保存位置等,目的是爲了快速查找文件所在數據塊
硬件設備文件名
在windows中操做的步驟是:分區=》格式化=》給盤符
可是在Linux中:分區=》格式化=》給分區起設備名稱=》給盤符(Linux中叫掛載)
分區設備文件名
1./dev/hda1(IDE硬盤接口)
2./dev/sda1(SCSI硬盤接口、SATA硬盤接口)
a表示第一個硬盤,b表示第二個硬盤,1表示第一個分區,2表示第二個分區,以此類推;1,2,3,4只能給主分區使用,邏輯分區只能從5開始
當分第四個分區時就會默認將第四個分區變爲擴展分區
掛載:
在windows中就是給盤符
1.必須分區
1./(根分區)
2.swap分區(交換分區,若是內存4G一下,那麼大小爲內存的2倍,若是內存4G以上,大小和內存一致,劃分swap分區是,要選擇文件類型爲swap)
2.推薦分區
1./boot(啓動分區,不須要太大,可是不要寫滿數據,不然沒法啓動)
Linux的安裝
密碼原則:
1.複雜性
1.八位字符以上、大小寫字母、數字、符號
2.不能是英文單詞
3.不能是和用戶相關的內容
2.易記憶性(便於記憶,咱們能夠挑選一首本身喜歡的歌詞,或一首名句)
3.時效性(通常是每一個90天對本身的密碼進行更新,最遲不要超過180天)
安裝日誌:
Linux安裝完成後,安裝日誌放在以下文件中:
Linux常見目錄及解釋:
/bin:
bin是Binary的縮寫, 這個目錄存放着可執行文件,是最常用的命令。
/boot:
這裏存放的是啓動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件。
/dev :
dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。
/etc:
這個目錄用來存放全部的系統管理所須要的配置文件和子目錄。
/home:
用戶的主目錄,在Linux中,每一個用戶都有一個本身的目錄,通常該目錄名是以用戶的帳號命名的。
/lib:
這個目錄裏存放着系統最基本的動態鏈接共享庫,其做用相似於Windows裏的DLL文件。幾乎全部的應用程序都須要用到這些共享庫。
/lost+found:
這個目錄通常狀況下是空的,當系統非法關機後,這裏就存放了一些文件。
/media:
linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。
/mnt:
系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,咱們能夠將光驅掛載在/mnt/上,而後進入該目錄就能夠查看光驅裏的內容了。
/opt:
這是給主機額外安裝軟件所擺放的目錄。好比你安裝一個ORACLE數據庫則就能夠放到這個目錄下。默認是空的。
/proc:
這個目錄是一個虛擬的目錄,它是系統內存的映射,咱們能夠經過直接訪問這個目錄來獲取系統信息。
這個目錄的內容不在硬盤上而是在內存裏,咱們也能夠直接修改裏面的某些文件,好比能夠經過下面的命令來屏蔽主機的ping命令,使別人沒法ping你的機器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
該目錄爲系統管理員,也稱做超級權限者的用戶主目錄。
/sbin:
s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。
/selinux:
這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,相似於windows的防火牆,可是這套機制比較複雜,這個目錄就是存放selinux相關的文件的。
/srv:
該目錄存放一些服務啓動以後須要提取的數據。
/sys:
這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。
該文件系統是內核設備樹的一個直觀反映。
當一個內核對象被建立的時候,對應的文件和目錄也在內核對象子系統中被建立。
/tmp:
這個目錄是用來存放一些臨時文件的。
/usr:
這是一個很是重要的目錄,用戶的不少應用程序和文件都放在這個目錄下,相似於windows下的program files目錄。
/usr/bin:
系統用戶使用的應用程序。
/usr/sbin:
超級用戶使用的比較高級的管理程序和系統守護程序。
/usr/src:內核源代碼默認的放置目錄。
/var:
這個目錄中存放着在不斷擴充着的東西,咱們習慣將那些常常被修改的目錄放在這個目錄下。包括各類日誌文件。
在linux系統中,有幾個目錄是比較重要的,平時須要注意不要誤刪除或者隨意更改內部文件。
1./etc: 上邊也提到了,這個是系統中的配置文件,若是你更改了該目錄下的某個文件可能會致使系統不能啓動。
2./bin, /sbin, /usr/bin, /usr/sbin: 這是系統預設的執行文件的放置目錄,好比 ls 就是在/bin/ls 目錄下的。值得提出的是,/bin, /usr/bin 是給系統用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。
3./var: 這是一個很是重要的目錄,系統上跑了不少程序,那麼每一個程序都會有相應的日誌產生,而這些日誌就被記錄到這個目錄下,具體在/var/log 目錄下,另外mail的預設放置也是在這裏。
4.proc和sys目錄不能直接操做,這兩個目錄保存的是內存的掛載點
5.通常建議能夠在家目錄root或home,以及tmp目錄下任意放內容
概覽:
Linux經常使用命令:
1.基本命令格式
1.命令提示符
[]是表示可選的意思,~表示初始登陸目錄,好比root用戶是根目錄下的root目錄,即/root;而若是是user1用戶,則是 home下的user1目錄即/home/user1,創建用戶時,這個目錄會自動建立,好比以下的用戶爲ubuntu,那麼~就表示/home/ubuntu
2.命令格式
第一個命令:ls
查詢目錄中的內容,不加文件或目錄時,默認是顯示當前所在的目錄,加了目錄表示對應目錄中的內容進行查詢
補充:文件屬性及權限
咱們能夠看出有三種文件類型,-:文件、d:目錄、l:軟鏈接文件;固然除了這三種常見的文件類型外,Linux中還有其餘的文件類型, b :表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置)、c :表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)
有三個用戶權限,u全部者(user)、g所屬組(group)、o其餘人(other),如何理解這三種權限呢?
這裏的三種權限是用戶與文件的權限,好比這臺電腦是個人,我就是全部者,我能夠給班級裏的女生用,他們擁有和我同樣的權限,因此班級裏的女生就能夠歸爲所屬組,然而班級裏的其餘男生就是其餘人。因此就是說相同權限的用戶放在一塊兒變爲用戶組(所屬組)。
對於文件的基本屬性,能夠參考菜鳥教程中的http://www.runoob.com/linux/linux-file-attr-permission.html
使用ls -l咱們能夠查看到文件的詳細屬性,分別表明的意思是:
前0-9上面已經解釋了,表示全部者,所屬組,其餘用戶的操做權限;.暫時不理;1稱爲引用計數,文件被調用幾回;第一個root是全部者;第二個root表示所屬組;一串數字表明文件大小,用-h能夠查看帶有單位的文件大小;文件的最後一次修改時間;文件名稱
此外咱們使用ls -a能夠展現全部的文件,包含隱藏文件【通常一英文的"."開頭的就表示隱藏的文件或隱藏的目錄】,那麼隱藏文件具體是什麼呢?隱藏文件通常是系統文件,不容許用戶任意修改的,因此通常開始都是隱藏的,可是須要注意的是並非全部的隱藏文件都是系統文件,有時候有的木馬文件就會假裝成爲隱藏文件。
第二個命令:mkdir 建目錄
須要注意的一點就是,遞歸建立,以下咱們使用mkdir japan/cangls是沒法建立的,由於不存在japan這個目錄,實際上咱們就要用到遞歸建立命令,mkdir -p japan/cangls便可
第三個命令:cd 切換目錄
Ctrl+l清屏,輸入cd後直接按enter和cd ~同樣回到家目錄;
tab鍵補全,兩下tab鍵把全部的目錄下的文件列出來,也能夠把命令列出來 ,好比輸入mk後按兩下tab就會把mk開頭的命令或文件列舉出來。
第四個命令:rmdir 刪除空目錄
只能刪除目錄,且目錄必須是空的
第五個命令:rm 刪除文件或目錄
rm是咱們經常使用的刪除命令,能夠刪除文件和目錄,使用-f能夠強制刪除非空文件或目錄,另外須要注意的一點是:
rm -rf /會刪除根目錄下百分之九十的文件,因此刪除文件時必定要謹慎操做,也就是說,Linux中的root是真正的管理員用戶,而windows中的administer並非真正意義上的管理員用戶
第六個命令:cp 複製
新複製的文件的時間,是執行復制命令的時間,因此複製的文件的時間屬性與原文件的時間屬性就不一致,如何讓兩個文件的屬性都同樣,使用-a 使目標文件和複製文件包括屬性也如出一轍
第七個命令:mv 剪切
須要注意的是,mv命令剪切文件和目錄都是同樣的,並不須要額外的添加-r;同時文件或目錄的更名實際上就是使用mv命令來進行操做的,在同一個目錄下使用mv命令就是更改文件或目錄名:
第八個命令:ln 連接命令
硬鏈接:
硬連接,能夠簡單的理解爲教室的先後門,走先後門一樣都能走進教室裏面去;由於I節點是相同的,因此實質上就是指向同一個文件;若是刪了任何一個,只要另一個存在,另一個也能正常的訪問;改動任何一個,兩個都會變;ls -i查看I節點,除了I節點相同外,沒法判斷是否是硬鏈接,區別過小,抽象點就是以下:
bs就是sb的硬連接,他們同時指向的一個分區索引錶行,因此具備相同的I節點,存儲時間,存儲block,因此使用分區索引表進行數據查找時就是找的同一個文件。
軟鏈接:
然而更推薦使用軟連接,軟連接就至關於windows中的快捷方式,硬連接會建立不一樣的分區索引表(I節點、存儲時間、存儲block),而經過I節點查找的block中存放的是原文件的分區索引表的內容,而後再去根據位置信息去找具體的文件內容:
訪問的步驟:
csb就是sb的軟連接,首先去分區索引表中找到文件,找到的文件記錄的是實際原文件的索引信息,再去分區索引表中找到實際原文件的索引信息,而後再去找到原文件。
總的來講,硬鏈接就是至關於同一個文件,他們都是指向分區索引表中的同一個I節點,更改任何一個文件兩個都會改動,刪掉任何一個文件,另外的一個文件仍然能正常使用。
軟鏈接至關於windows中的快捷方式,建立軟鏈接會在分區索引表中從新建I節點等,而經過這個I節點找到的相應的block存放的是原文件的位置信息,更改任何一個文件也會使兩個文件都變更,可是若是刪掉了源文件以後,軟鏈接文件就沒法使用,並且軟鏈接的文件權限其實是依賴於源文件的,可能咱們使用ll方式查看到軟鏈接文件的權限爲777,但實際上他的權限是依賴於源文件的,另外建立軟鏈接文件時,目標文件的路徑要寫成絕對路徑,若是不寫會默認爲當前路徑,當在當前目錄下找不到目標文件可能就會報錯(除非原文件和目標文件在同一個目錄下 不然必需要用絕對路徑)。
源文件爲ying.txt,硬鏈接爲yin.txt,軟鏈接爲yi.txt
咱們能夠看到,硬鏈接yin.txt的I節點好和源文件ying.txt是同樣的,而軟鏈接yi.txt與原文件ying.txt的I節點不同
若是咱們刪除了源文件ying.txt的話,硬鏈接yin.txt能夠正常使用,而軟鏈接yi.txt就不能正常使用,以下:
第九個命令:locate 搜索文件
locate的優勢就是查詢速度比較快,由於它是在後臺數據庫mlocate中按文件名搜索的,mlocate數據庫是天天更新一次,因此新建的文件就找不到,咱們可使用updatedb來強制更新數據庫,這樣新建的文件就能夠搜索了,在不一樣的Linux版本中,mlocate數據庫不必定就叫mlocate。
locate locate查看locate相關的數據,就能夠查看相關的數據庫。
另外還須要注意的是,locate只能搜索文件名,即locate只能搜索文件,不能搜索目錄。
locate是按以下的方式來進行搜索的:配置文件/etc/updatadb.conf
第一句話若是爲yes的話就表示下面的搜索設置都生效,若是爲no就表示下面的搜索設置都不生效
第二句話表示不搜索這些文件系統
第三句話表示不搜索文件名中包含這些關鍵字的文件
第三局話表示不搜索這些目錄中更新的文件
第十個命令:whereis 和 which 搜索命令
【一般可執行文件是綠色的,普通文件黑色的,目錄文件藍色的】
whereis:
whereis只能搜索系統的命令,不能搜索其餘文件,能搜索命令所在的位置以及命令的幫助文檔所在位置
which:
which能夠查看系統命令所在位置和若是有別名的命令的別名(能夠查看別名,若是一個命令有別名時 好比ls -l 的別名就是ll,但不是全部命令都有別名)
cd命令是Linux的內置命令shell操做命令,shell就是Linux與用戶交互的命令,cd是shell自帶的命令,因此使用which和whereis沒法查看到cd命令,也就是全部which和whereis查看的命令都是外部安裝的,外部命令。
另外whereis和which搜索的命令取決於環境變量$PATH,若是沒有配置環境變量的,須要加絕對路徑,echo $PATH環境變量的查看,若是使用命令時不使用絕對路徑,那麼就必須在環境變量中添加路徑,若是使用命令時,若是這些命令不在環境變量中,就會說command not found
第十一個命令: find 經常使用搜索
1.按名字搜索
1.find搜索的內容和搜索的內容是如出一轍的,好比搜索的install.log,那麼結果就是install.log,而不會是包含install.log的文件
2.使用通配符時要用雙引號
2.按全部者搜索
咱們經常使用的是find /root -nouser命令,這個命令主要用來查看指定目錄下沒有全部者的文件,通常除了外來文件和內核產生的文件,Linux中的文件通常都要有全部者,若是沒有通常就是垃圾文件了。
那麼什麼是內核產生的文件,內核文件是直接調用,不通過系統用戶的,如下兩個目錄若是出現了沒有全部者的文件能夠認爲是正常的。
而外來文件:就是好比用U盤考取到Linux中的文件
3.按修改時間查找
這主要用於日誌文件的查找,好比咱們能夠想查找到十天前的日誌文件,就可使用該命令了
4.按文件大小查找
按照兆字節是大寫的M,按照千字節是小寫的k,不然就會報錯的,若是不寫也會報錯
條件組合:
5.按i節點查找
第十二個命令:grep
grep是在文件中搜索字符串
基本格式:
在文件中找到包含xiong的行,若是加了-v就表示的是查找不包含xiong的行
find與grep的區別:
find命令:在系統當中搜索符合條件的文件名,若是須要匹配,使用通配符匹配,通配符是徹底匹配
grep命令:在文件當中搜索符合條件的字符串,若是須要匹配,使用正則表達式進行匹配,正則表達式時包含匹配
第十三個命令:幫助命令
1.幫助命令man
好比這就是man ls查看ls的幫助:
在這個界面,若是要查詢某一個option,好比查看d開頭的就使用/-d
從上面咱們看到了有一個LS(1),其實這裏就是man的級別,那麼man的級別有哪些呢?
man的級別:
查看命令擁有哪些級別的幫助:
好比man -f ls和whatis ls
這樣咱們就能夠根據不一樣的數字類型進行查看不一樣的幫助文檔了,好比passwd有1,1ssl,5;null有4
man 4 null
man 5 passwd
查看和命令相關的命令:
例如:man -k ls
其餘幫助命令:
--help用來獲取選項幫助,有部分是被翻譯成中文了,
ls --help
shell內部命令幫助,Linux中有些命令是shell自帶的,可以使用whereis來查看,若是是在在whereis搜索出來的目錄中的命令則不是shell自帶的命令。或者直接使用whereis 命令,若是能成功找到執行文件,表示不是shell自帶的命令。
help只能獲取shell的內部命令,若是不是shell的內部命令,則會報錯
由於cd是shell的內部命令,因此:
ls不是shell的內部命令,因此:
詳細幫助命令:info
info其實其實是將命令的全部幫助文檔寫成一個巨大的文檔,往上翻均可以查看其餘的全部內容,不建議使用info命令
壓縮與解壓命令
經常使用壓縮格式:
.zip
.gz
.bz2
.tar.gz
.tar.bz2
zip
Linux中的zip和windows中的zip是一致的,咱們徹底能夠在windows中壓縮後放到Linux中使用。
Linux不區分擴展名的,壓縮文件名的擴展名能夠不用寫的,可是爲了方便咱們查看,咱們要寫清楚壓縮文件擴展名;
另外由於有壓縮格式的換算,因此可能壓縮文件比源文件大,但若是源文件比較大時,壓縮後壓縮文件比源文件小。
zip壓縮命令:
固然是不使用用-r一樣能夠壓縮目錄,可是這樣只是壓縮這個目錄,它下面的子文件或子目錄是不會被壓縮的,只有使用zip -r纔會將目錄及它下面的子文件或子目錄壓縮
以下,目錄test1有三個文件index1,index2,index3
如今對test1使用zip和zip -r兩種方式來進行壓縮,zip壓縮成test1.zip,zip -r壓縮成test2.zip,咱們能夠看到使用zip -r 的方式是對test1下面的全部文件都進行壓縮的
一樣咱們使用解壓的方式就能夠看得出來差異了
首先解壓使用zip方式壓縮的test1.zip,首先要刪除到原來的test1,咱們能夠看出test1.zip解壓出來的test1文件並無子文件了
使用zip -r方式壓縮的test2.zip,一樣要刪除test1,咱們能夠看出test2.zip解壓出來的test1文件就有子文件
zip解壓命令:
unzip,解壓文件或目錄都是unzip,不須要使用-r來解壓目錄,解壓後,壓縮包依然存在的。
gzip
gzip是能夠在windows中解壓的。而windows中的.rar是不能在Linux中解壓的,壓縮時,自動變爲源文件名.gzip,因此源文件名會消失
gzip命令
gzip 源文件【將文件壓縮爲.gz格式的壓縮文件,源文件會消失】
gzip -c 源文件 > 壓縮文件【壓縮爲.gz格式,源文件保留】
>(輸出重定向)大括號的做用就是將命令的結果寫入文件,好比ls > abc.txt就是將ls命令的結果寫入abc.txt文件中
gzip -c abc.txt> abc.txt.gz的意思就是將壓縮的文件寫入新文件即abc.txt.gz,-c就是表示輸出到屏幕,而 -c abc.txt就是輸出到abc.txt中
gzip -r 目錄名稱【壓縮目錄時就是將目錄中的文件每一個都壓縮成一個壓縮文件。解壓時也是這樣的】
.gzip解壓
解壓時,壓縮包也不會保留
壓縮目錄時,也要使用 gunzip -r 壓縮目錄
gzip -d 壓縮文件【解壓壓縮的文件】
gunzip 壓縮文件【解壓壓縮文件】
gunzip -r 壓縮目錄 【解壓壓縮的目錄,壓縮目錄時,是將目錄下的每一個文件壓縮成一個壓縮包,那麼解壓時一樣是把壓縮包解壓成一個文件】
bz2
bz2壓縮命令
bzip2命令不能壓縮目錄
bzip2 源文件 【壓縮爲.bz2格式,不保留源文件】
bzip2 -k 源文件 【壓縮以後保留源文件】
bzip2解壓命令
bzip2 -d 壓縮文件 【解壓bzip2文件,-k保留壓縮文件】
bunzip2 壓縮文件 【解壓bizp2文件,-k保留壓縮文件】
tar
tar只是打包,並無壓縮,打包了以後咱們就可使用上面的壓縮命令來進行壓縮了,也是解決.gz和.bz壓縮目錄的方法
tar壓縮命令
tar-cvf 打包文件名 源文件【-c:打包,-v:顯示過程,-f:指定打包後的文件名,壓縮後仍然保留源文件】
tar解壓命令
tar -xvf 打包文件名 【解壓文件,解壓時一樣會保留源文件】
.tar.gz
其實.tar.gz格式是先打包爲.tar格式,再壓縮爲.gz格式
tar -zcvf 壓縮包名.tar.gz 源文件【仍然會保留源文件】
tar -zxvf 壓縮包名.tar.gz 【仍然保留原壓縮包】
tar.bz2壓縮格式
.tar jcvf 壓縮包名.tar.bz2 源文件【壓縮爲.tar.bz2格式,仍然保留源文件】
.tar jxvf 壓縮包名.tar.bz2 【解壓.tar.bx2格式,仍然保留壓縮包】
解壓時可使用-C來指定解壓文件的位置
關機與重啓命令
shutdown
shutdown -r 05:30表示凌晨五點三十重啓。而後使用使用shutdown -c那個命令,能夠取消以前咱們的關機命令。服務器應該儘可能避免遠程關機。Shutdown命令在關機或重啓是會保存咱們正在使用的程序,而其餘的關機重啓命令是不夠安全的。因此建議使用shutdown命令,服務器關機重啓時是須要謹慎的,服務器多是成千上萬的人在使用,因此最好把當前使用的程序服務關閉掉。
這三個命令都不是很安全的
halt
poweroff
init 0
其餘重啓命令
reboot
init 6
1單用戶:啓動最小的程序,和windows中的安全模式差很少
2和普通的字符界面同樣
3就是咱們正常使用的字符界面
init 5要保證裝有圖形界面
修改系統默認的運行級別:cat /etc/inittab
查看系統運行級別
Linux遠程登陸用戶能夠容許256個
咱們應該養成正確退出的命令
其餘經常使用命令:
掛載命令
用戶登陸查看和用戶交互命令
在Linux中全部的存儲設備硬盤,優盤,軟盤等必須掛載才能正常使用
掛載在Windows中就是分配盤符,就是分a,b,c,d盤,Linux拿系統目錄做爲盤符,叫作掛載點,給分區叫掛載
Linux中通常是手動進行分配盤符,windows中比較智能,自動的
【分配盤符】掛載:
Proc,sys系統內存的劃分,內核自動掛載的
前面爲設備文件名:/dev/sda5
/etc/fatab這個能夠看到開機後自動掛載的分區
咱們可在這個文件裏面按照相應的格式來添加優盤等。
可是若是添加了以後,若是咱們開機的時候忘了在光驅裏面放入光盤,Linux會奔潰,起不來
在centos6以上,文件系統默認爲ext4,光盤的文件系統爲iso9660
-o的特殊選項,
Exec:指分區中容許文件系統中可執行執行文件,默認的
在腳本文件,這句話的標稱如下的爲Linux中的可執行文件:#!/bin/bash腳本文件的開頭,不是可選項
由於加的是noexec,因此權限不夠
因此不建議你們更改,可能改了以後會致使錯誤
Home分區默認已經掛在了,因此咱們在掛載home時,能夠省略設備文件名/dev/sda2
已鏈接是要打勾的,至關於通電
這三個目錄都是空的,實際上就是Linux給咱們作掛載點的,三個均可以用
Cdrom和sr0同樣,能夠看出cdrom和sr0是軟鏈接,能夠寫成/devsr0或者/dev/cdrom
用sr0更保險
光盤正確掛載
查看咱們掛載的光盤:
Linux中,按彈出鍵是沒法彈出的,要卸載後才能拔出。光盤使用以後要卸載後才能取出
可使用umount /dev/sr/0也能夠umount /mnt/cdrom/
在真實機上是必須卸載的才能去除光盤的
卸載時若是device is busy
沒法退出是由於咱們還在光盤的目錄,因此退出這個目錄就能夠了
查看系統中已經存在的U盤
Vfat表示Linux中的fat32,只有
用戶登陸查看
Shell基礎:
計算機只能認識0,1,咱們敲的代碼是ASCII碼,
Shell將用戶輸入的命令轉換爲計算機能識別的01代碼給計算機;而後計算機執行後,shell將01的代碼轉換爲ASCII碼,傳遞給用戶
接受命令
翻譯命令爲01代碼
傳遞給計算機內核
最先的是bshell,基本不用
Linux經常使用的是Bash
Vi /etc/shells查看支持的shell
輸入sh就進入sh,輸入csh就進入csh,bash就進入bash,exit就是退出
腳本執行方式:
將指定命令輸出到控制檯,若是輸出的內容之間有空格須要加雙引號
若是加有-e就支持一些字符轉換
向左刪除了i
本機的Linux是不支持中文的(純字符界面),遠程工具是能夠輸出中文的,
第一個腳本
腳本寫好後:
別名和快捷鍵:
使用命令行是臨時生效,加入配置文件纔是永久生效
~爲家目錄
歷史命令:
直接輸入history和(.bash_history)
History查看的是以前系統中操做的歷史命令和此次登陸操做的命令
.bash_history是上次登陸正確退出後保留的操做命令,會比history的少
若是要將本次登陸執行的命令寫入.bash_history文件中,history -w就會手動加入文件中,這是history命令和.bash_history的保持一致了。
系統正確退出後才執行-w的,除非手動,如history -w
建議不要清空歷史命令,不清空歷史命令:
能夠經過HISTSIZE = 10000來更改保存命令的大小
經常使用的環境變量有四個
!n中的n就是歷史命令中的命令的編號
!字符串會執行ls的最後一條命令,即ls -alh
經常使用的就是第一個和最後一個
使用table鍵進行命令,目錄,文件補全,目錄補全主要就是按環境變量path中的目錄來查找的。
目錄,文件依賴你操做你的文件路徑
輸出重定向:
原本是應該輸出到屏幕上的,重定向輸出到文件中,這就是輸出重定向
文件不存在就會自動建立文件
>是覆蓋第二個命令的結果
>>是追加,在第一個命令的結果後面加第二個命令的結果
記錄錯誤命令的錯誤信息,錯誤信息輸出時>和>>左右是不能有空格
常見的是:2,4,5
命令執行的結果就不會在屏幕中看到,也不輸入到文件中
按ctrl+d 同7行,9個單詞,43個字符
統計文件的內容,不加<也能夠的
相同的做爲結束標識