以下是對這些目錄的解釋:
/bin:bin是Binary的縮寫, 這個目錄存放著最經(jīng)常使用的命令乘盖。
/boot:這里存放的是啟動Linux時使用的一些核心文件惰许,包括一些連接文件以及鏡像文件届囚。
/dev:dev是Device(設備)的縮寫, 該目錄下存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的肤晓。
/etc:這個目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄耀盗。
/home:用戶的主目錄氛雪,在Linux中房匆,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的报亩。
/lib:這個目錄里存放著系統(tǒng)最基本的動態(tài)連接共享庫浴鸿,其作用類似于Windows里的DLL文件。幾乎所有的應用程序都需要用到這些共享庫弦追。
/lost+found:這個目錄一般情況下是空的岳链,當系統(tǒng)非法關(guān)機后,這里就存放了一些文件骗卜。
/media:linux系統(tǒng)會自動識別一些設備宠页,例如U盤、光驅(qū)等等寇仓,當識別后,linux會把識別的設備掛載到這個目錄下烤宙。
/mnt:系統(tǒng)提供該目錄是為了讓用戶臨時掛載別的文件系統(tǒng)的遍烦,我們可以將光驅(qū)掛載在/mnt/上,然后進入該目錄就可以查看光驅(qū)里的內(nèi)容了躺枕。
/opt:這是給主機額外安裝軟件所擺放的目錄服猪。比如你安裝一個ORACLE數(shù)據(jù)庫則就可以放到這個目錄下供填。默認是空的。
/proc:這個目錄是一個虛擬的目錄罢猪,它是系統(tǒng)內(nèi)存的映射近她,我們可以通過直接訪問這個目錄來獲取系統(tǒng)信息。這個目錄的內(nèi)容不在硬盤上而是在內(nèi)存里膳帕,我們也可以直接修改里面的某些文件粘捎,比如可以通過下面的命令來屏蔽主機的ping命令,使別人無法ping你的機器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:該目錄為系統(tǒng)管理員危彩,也稱作超級權(quán)限者的用戶主目錄攒磨。
/sbin:s就是Super User的意思,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序汤徽。
/selinux:這個目錄是Redhat/CentOS所特有的目錄娩缰,Selinux是一個安全機制,類似于windows的防火墻谒府,但是這套機制比較復雜拼坎,這個目錄就是存放selinux相關(guān)的文件的。
/srv:該目錄存放一些服務啟動之后需要提取的數(shù)據(jù)完疫。
/sys:這是linux2.6內(nèi)核的一個很大的變化演痒。該目錄下安裝了2.6內(nèi)核中新出現(xiàn)的一個文件系統(tǒng) sysfs 。sysfs文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對進程信息的proc文件系統(tǒng)趋惨、針對設備的devfs文件系統(tǒng)以及針對偽終端的devpts文件系統(tǒng)鸟顺。該文件系統(tǒng)是內(nèi)核設備樹的一個直觀反映。當一個內(nèi)核對象被創(chuàng)建的時候器虾,對應的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建讯嫂。
/tmp:這個目錄是用來存放一些臨時文件的。
/usr:這是一個非常重要的目錄兆沙,用戶的很多應用程序和文件都放在這個目錄下欧芽,類似與windows下的program files目錄。
/usr/bin:系統(tǒng)用戶使用的應用程序葛圃。
/usr/sbin:超級用戶使用的比較高級的管理程序和系統(tǒng)守護程序千扔。
/usr/src:內(nèi)核源代碼默認的放置目錄。
/var:這個目錄中存放著在不斷擴充著的東西库正,我們習慣將那些經(jīng)常被修改的目錄放在這個目錄下曲楚。包括各種日志文件。
在linux系統(tǒng)中褥符,有幾個目錄是比較重要的龙誊,平時需要注意不要誤刪除或者隨意更改內(nèi)部文件。
/etc: 上邊也提到了喷楣,這個是系統(tǒng)中的配置文件趟大,如果你更改了該目錄下的某個文件可能會導致系統(tǒng)不能啟動鹤树。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統(tǒng)預設的執(zhí)行文件的放置目錄,比如 ls 就是在/bin/ls 目錄下的逊朽。值得提出的是罕伯,/bin, /usr/bin 是給系統(tǒng)用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令叽讳。
/var: 這是一個非常重要的目錄追他,系統(tǒng)上跑了很多程序,那么每個程序都會有相應的日志產(chǎn)生绽榛,而這些日志就被記錄到這個目錄下湿酸,具體在/var/log 目錄下,另外mail的預設放置也是在這里灭美。
了解系統(tǒng)目錄結(jié)構(gòu)推溃,對于我們安裝管理一些依賴包更加清晰。
Linux 文件基本屬性
Linux系統(tǒng)是一種典型的多用戶系統(tǒng)届腐,不同的用戶處于不同的地位铁坎,擁有不同的權(quán)限。為了保護系統(tǒng)的安全性犁苏,Linux系統(tǒng)對不同的用戶訪問同一文件(包括目錄文件)的權(quán)限做了不同的規(guī)定硬萍。
在Linux中我們可以使用ll或者ls –l命令來顯示一個文件的屬性以及文件所屬的用戶和組,如:
[root@VM_195_14_centos ~]# ls -l
total 4
-rw-------. 1 root root 2523 Apr 21? 2016 anaconda-ks.cfg
實例中围详,anaconda-ks.cfg文件的第一個屬性用"-"表示朴乖,"-"在Linux中代表該文件是一個文件。
在Linux中第一個字符代表這個文件是目錄助赞、文件或鏈接文件买羞,對應規(guī)則如下:
當為[ d ]則是目錄
當為[ - ]則是文件;
若是[ l ]則表示為鏈接文檔(link file)雹食;
若是[ b ]則表示為裝置文件里面的可供儲存的接口設備(可隨機存取裝置)畜普;
若是[ c ]則表示為裝置文件里面的串行端口設備,例如鍵盤群叶、鼠標(一次性讀取裝置)吃挑。
接下來的字符中,以三個為一組街立,且均為『rwx』 的三個參數(shù)的組合舶衬。其中,[ r ]代表可讀(read)几晤、[ w ]代表可寫(write)约炎、[ x ]代表可執(zhí)行(execute)。 要注意的是蟹瘾,這三個權(quán)限的位置不會改變圾浅,如果沒有權(quán)限,就會出現(xiàn)減號[ - ]而已憾朴。
每個文件的屬性由左邊第一部分的10個字符來確定狸捕,如下圖:
Linux 文件與目錄管理
Linux的目錄結(jié)構(gòu)為樹狀結(jié)構(gòu),最頂級的目錄為根目錄 /众雷。
絕對路徑:從根目錄 / 寫起灸拍,如:/usr/share/applications
相對路徑:使用../或~(/root的簡稱)。
處理目錄的常用命令:
ls: 列出目錄
cd:切換目錄
pwd:顯示目前的目錄
mkdir:創(chuàng)建一個新的目錄
rmdir:刪除一個空的目錄
cp: 復制文件或目錄
rm: 移除文件或目錄
注:可以使用 man [命令] 來查看各個命令的使用文檔砾省,如 :man cp鸡岗。(說明:直接按q可推出man查看命令)
文件內(nèi)容查看的命令:
cat 由第一行開始顯示文件內(nèi)容
tac 從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫编兄!
nl 顯示的時候轩性,順道輸出行號!
more 一頁一頁的顯示文件內(nèi)容
less 與 more 類似狠鸳,但是比 more 更好的是揣苏,他可以往前翻頁!
head 只看頭幾行
tail 只看尾巴幾行
Linux 磁盤管理
inux磁盤管理常用三個命令為df件舵、du和fdisk卸察。
df:列出文件系統(tǒng)的整體磁盤使用量
du:檢查磁盤空間使用量
fdisk:用于磁盤分區(qū)
df 命令
df命令參數(shù)功能:檢查文件系統(tǒng)的磁盤空間占用情況∏觯可以利用該命令來獲取硬盤被占用了多少空間坑质,目前還剩下多少空間等信息。
語法:
df [-ahikHTm] [目錄或文件名]
選項與參數(shù):
-a :列出所有的文件系統(tǒng)临梗,包括系統(tǒng)特有的 /proc 等文件系統(tǒng)涡扼;
-k :以 KBytes 的容量顯示各文件系統(tǒng);
-m :以 MBytes 的容量顯示各文件系統(tǒng)夜焦;
-h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示壳澳;
-H :以 M=1000K 取代 M=1024K 的進位方式;
-T :顯示文件系統(tǒng)類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出茫经;
-i :不用硬盤容量巷波,而以 inode 的數(shù)量來顯示
du命令
Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看卸伞,還是和df命令有一些區(qū)別的抹镊,這里介紹Linux du命令。
語法:
du [-ahskm] 文件或目錄名稱
選項與參數(shù):
-a :列出所有的文件與目錄容量荤傲,因為默認僅統(tǒng)計目錄底下的文件量而已垮耳。
-h :以人們較易讀的容量格式 (G/M) 顯示;
-s :列出總量而已,而不列出每個各別的目錄占用容量终佛;
-S :不包括子目錄下的總計俊嗽,與 -s 有點差別。
-k :以 KBytes 列出容量顯示铃彰;
-m :以 MBytes 列出容量顯示绍豁;
Linux vim
Vim是從 vi 發(fā)展出來的一個文本編輯器。代碼補完牙捉、編譯及錯誤跳轉(zhuǎn)等方便編程的功能特別豐富竹揍,在程序員中被廣泛使用。簡單的來說邪铲, vi 是老式的字處理器芬位,不過功能已經(jīng)很齊全了,但是還是有可以進步的地方带到。 vim 則可以說是程序開發(fā)者的一項很好用的工具昧碉。
打開文件的命令
基本上 vim 共分為三種模式,分別是命令模式(Command mode)阴孟,插入模式(Insert mode)和末行模式(Last line mode)晌纫。 這三種模式的作用分別是:命令模式、輸入模式永丝、末行模式锹漱。
vi/vim三種模式切換
命令模式
用戶剛剛啟動 vi/vim,便進入了命令模式慕嚷。此狀態(tài)下敲擊鍵盤動作會被Vim識別為命令哥牍,而非輸入字符。比如我們此時按下i喝检,并不會輸入一個字符嗅辣,i被當作了一個命令。
以下是常用的幾個命令:
i 切換到插入模式挠说,以輸入字符澡谭。
x 刪除當前光標所在處的字符。
: 切換到底線命令模式损俭,以在最底一行輸入命令蛙奖。
若想要編輯文本:啟動Vim,進入了命令模式杆兵,按下i雁仲,切換到輸入模式。
命令模式只有一些最基本的命令琐脏,因此仍要依靠底線命令模式輸入更多命令攒砖。
移動光標的位置:
字符串的復制缸兔、刪除、粘貼:
輸入模式
在命令模式下按下i吹艇、I惰蜜、a、A掐暮、o蝎抽、O政钟、r和R中的某一個鍵就進入了輸入模式路克。
在輸入模式中,可以使用以下按鍵:
字符按鍵以及Shift組合养交,輸入字符
ENTER精算,回車鍵,換行
BACK SPACE碎连,退格鍵灰羽,刪除光標前一個字符
DEL,刪除鍵鱼辙,刪除光標后一個字符
方向鍵廉嚼,在文本中移動光標
HOME/END,移動光標到行首/行尾
Page Up/Page Down倒戏,上/下翻頁
Insert怠噪,切換光標為輸入/替換模式,光標將變成豎線/下劃線
ESC杜跷,退出輸入模式傍念,切換到命令模式
末行模式
在命令模式下按下:(英文冒號)就進入了底線命令模式。
末行模式可以輸入單個或多個字符的命令葛闷,可用的命令非常多憋槐。
在末行模式中,基本的命令有:
:q 退出程序
:w 保存文件
按ESC鍵可隨時退出底線命令模式淑趾。
vim的保存文件和退出命令
:w —— 保存編輯后的文件內(nèi)容阳仔,但不退出vim編輯器。這個命令的作用是把內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫到啟動vim時指定的文件中扣泊。
:w! —— 強制寫文件近范,即強制覆蓋原有文件。如果原有文件的訪問權(quán)限不允許寫入文件旷赖,例如顺又,原有的文件為只讀文件,則可使用這個命令強制寫入等孵。但是稚照,這種命令用法僅當用戶是文件的屬主時才適用,而超級用戶則不受此限制。
:wq —— 保存文件內(nèi)容后退出vim編輯器果录。這個命令的作用是把內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫到啟動vim時指定的文件中上枕,然后退出vim編輯器。另外一種替代的方法是用ZZ命令弱恒。
:wq! —— 強制保存文件內(nèi)容后退出vim編輯器辨萍。這個命令的作用是把內(nèi)存緩沖區(qū)中的數(shù)據(jù)強制寫到啟動vim時指定的文件中,然后退出vim編輯器返弹。
ZZ —— 使用ZZ命令時锈玉,如果文件已經(jīng)做過編輯處理,則把內(nèi)存緩沖區(qū)中的數(shù)據(jù)寫到啟動vim時指定的文件中义起,然后退出vim編輯器拉背。否則只是退出vim而已。注意默终,ZZ命令前面無需加冒號“:”椅棺,也無需按Enter鍵。
:q —— 在未做任何編輯處理而準備退出vim時齐蔽,可以使用此命令两疚。如果已做過編輯處理开伏,則vim不允許用戶使用“:q”命令退出擦盾,同時還會輸出下列警告信息:No write since last change (:quit! overrides)
:q! —— 強制退出vim編輯器菩颖,放棄編輯處理的結(jié)果枫夺。如果確實不需要保存修改后的文件內(nèi)容熄诡,可輸入“:q!”命令涉瘾,強行退出vim編輯器厘线。
:w filename —— 把編輯處理后的結(jié)果寫到指定的文件中保存
:w! filename —— 把編輯處理后的結(jié)果強制保存到指定的文件中奄毡,如果文件已經(jīng)存在鸦做,則覆蓋現(xiàn)有的文件励烦。
:wq! filename —— 把編輯處理后的結(jié)果強制保存到指定的文件中,如果文件已經(jīng)存在泼诱,則覆蓋現(xiàn)有文件坛掠,并退出vim編輯器。
Linux Yum 包管理器
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器治筒√胨ǎ基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝耸袜,可以自動處理依賴性關(guān)系友多,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載堤框、安裝域滥。
yum 語法
yum [options] [command] [package ...]
options:可選纵柿,選項包括-h(幫助),-y(當安裝過程提示選擇全部為"yes")启绰,-q(不顯示安裝的過程)等等昂儒。
command:要進行的操作。
package操作的對象委可。
yum常用命令
1.列出所有可更新的軟件清單命令:yum check-update
2.更新所有軟件命令:yum update
3.僅安裝指定的軟件命令:yum install <package_name>
4.僅更新指定的軟件命令:yum update <package_name>
5.列出所有可安裝的軟件清單命令:yum list
6.刪除軟件包命令:yum remove <package_name>
7.查找軟件包 命令:yum search <keyword>
8.清除緩存命令:
yum clean packages: 清除緩存目錄下的軟件包
yum clean headers: 清除緩存目錄下的 headers
yum clean oldheaders: 清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的headers
安裝及啟動nginx
Nginx (“engine x”) 是一個高性能的 HTTP 和 反向代理服務器渊跋,也是一個 IMAP/POP3/SMTP 代理服務器。具有很有特性:
熱部署:在master管理進程與worker工作進程的分離設計着倾,使的Nginx具有熱部署的功能拾酝,那么在7×24小時不間斷服務的前提下,升級Nginx的可執(zhí)行文件屈呕。也可以在不停止服務的情況下修改配置文件微宝,更換日志文件等功能。
可以高并發(fā)連接:理論上虎眨,Nginx支持的并發(fā)連接上限取決于你的內(nèi)存,10萬遠未封頂镶摘。
低的內(nèi)存消耗:在一般的情況下嗽桩,10000個非活躍的HTTP Keep-Alive 連接在Nginx中僅消耗2.5M的內(nèi)存,這也是Nginx支持高并發(fā)連接的基礎(chǔ)凄敢。
處理響應請求很快:在正常的情況下碌冶,單次請求會得到更快的響應。在高峰期涝缝,Nginx可以比其他的Web服務器更快的響應請求扑庞。
具有很高的可靠性:高可靠性來自其核心框架代碼的優(yōu)秀設計、模塊設計的簡單性拒逮;并且這些模塊都非常的穩(wěn)定罐氨。
yum 安裝:
yum install -y nginx
啟動nginx服務:
service nginx start
測試nginx服務:
wget http://127.0.0.1
若結(jié)果如下,說明nginx服務正常滩援。
[root@VM_195_14_centos ~]# wget http://127.0.0.1
--2017-05-11 20:32:34--? http://127.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3700 (3.6K) [text/html]
Saving to: 'index.html'
100%[======================================>] 3,700? ? ? --.-K/s? in 0s
2017-05-11 20:32:34 (632 MB/s) - 'index.html' saved [3700/3700]
在瀏覽器中栅隐,訪問通過CentOS云服務器公網(wǎng)IP查看nginx服務是否正常運行。
nginx 服務器命令
啟動nginx:service nginx start
訪問(nginx默認是80端口):curl 127.0.0.1
nginx配置文件目錄:nginx -t
重啟nginx:service nginx restart
停用nginx:service nginx stop