天天看點

Linux的權限管理及基礎常用指令

chmod  改變檔案或目錄權限

英語原意:change the permissions mode of a file

文法:1、chmod【ugoa】【+-=】【rwx】【檔案或目錄】

執行權限:檔案所有者和root使用者

<a href="http://s5.51cto.com/wyfs02/M01/86/B8/wKioL1fIPGCgxZ4iAAAenq4u69U688.png" target="_blank"></a>

2、權限的數字表示

chmod 【421】【檔案或目錄】

 r——4

 w——2

 x——1

<a href="http://s1.51cto.com/wyfs02/M02/86/B8/wKiom1fIPHyj7BzjAAARomiwKPM350.png" target="_blank"></a>

我們把他改回了原來的權限

-R 遞歸修改

<a href="http://s5.51cto.com/wyfs02/M01/86/B8/wKiom1fIPJnipx2aAAAkuRpqHWs671.png" target="_blank"></a>

可以看到用root使用者建立了一個目錄wt,并将其權限修改為777,在wt目錄下建立檔案helloword,權限為644,那我用普通使用者可以删除helloword檔案嗎?

當然不能,helloword的其他使用者的權限隻是可讀,我心裡也是這麼想的

<a href="http://s4.51cto.com/wyfs02/M02/86/B8/wKioL1fIPLyA5hAXAAAU-_Xkp8Y567.png" target="_blank"></a>

但是可以看到,普通使用者把helloword檔案删除了,我們先來看看下面這個表

檔案目錄權限總結

代表字元

權限

對檔案的含義

對目錄的含義

r

讀權限

可以檢視檔案的内容

可以列出目錄中的内容

w

寫權限

可以修改檔案内容

可以在目錄中建立、删除檔案

x

執行權限

可以執行檔案

可以進入目錄

看到目錄對于w寫權限的含義,我們剛剛建立的wt目錄的權限是777,所有就有對helloword删除的權限了

chown  更該檔案或目錄的所有者

英語原意:chamge file ownership

執行權限:root

文法:chown 【使用者】【檔案或目錄】

<a href="http://s4.51cto.com/wyfs02/M02/86/B8/wKiom1fIPOKCaTT6AAAhFQxb7EU049.png" target="_blank"></a>

chgrp  改變檔案或目錄的所屬組

英語原意:change file froup ownnership

文法:chgrp【使用者組】【檔案或目錄】

<a href="http://s2.51cto.com/wyfs02/M00/86/B8/wKiom1fIPP3DmDDsAAAc5SEuLjo471.png" target="_blank"></a>

umask  顯示、設定檔案的預設權限

英語原意:the user file-creation mask

文法:umask【選項】

-S 以rwx形式顯示建立檔案預設權限

<a href="http://s3.51cto.com/wyfs02/M01/86/B8/wKiom1fIPR2BhZleAAAk2TBvtwI884.png" target="_blank"></a>

看到目錄預設的權限和umask -S的權限一緻,touch的權限每位比umask -S顯示的權限少一個x權限,在linux會把任何一個建立的檔案的可執行權限去掉(基于安全性考慮),是以也是和umask -S的權限是一樣的

直接輸入umask,得到0022,第一個0是特殊權限,後三位代表正常權限,表示擁有者,所屬組,其他使用者,但其實真正的權限是777-022=755,是以是rwxr-xr-x

<a href="http://s1.51cto.com/wyfs02/M01/86/B8/wKioL1fIPTjDAwgCAAAHaLZT9wo886.png" target="_blank"></a>

設定預設權限為754,應由777-754=023

umask 023,但不建議更改,預設的權限是比較合理的

<a href="http://s1.51cto.com/wyfs02/M00/86/B8/wKiom1fIPVWBsYgkAAAao0loDFc875.png" target="_blank"></a>

檔案搜尋指令

windows搜尋工具   Everything

find  檔案搜尋

文法:find 【搜尋範圍】【比對條件】

-name  根據檔案名搜尋  (區分大小寫)

-iname 不經行大小寫區分

<a href="http://s3.51cto.com/wyfs02/M02/86/B8/wKioL1fIPXaSZcd4AAAUFxO0HPY218.png" target="_blank"></a>

通配符:

*  代表任意長度的任意字元,包括0長度和無線長度

? 代表任意一個字元

[]  比對任意一個包含在括号中的字元。

-size x   查找大小為x的檔案  +x表示大于x的微電腦,-x表示小于x的檔案,機關為資料塊,1資料塊=512位元組=0.5k

<a href="http://s5.51cto.com/wyfs02/M02/86/B8/wKioL1fIPZCjK0KXAAAliVMKcCg419.png" target="_blank"></a>

-user 根據所有者來查找

-group 根據所屬組查找

<a href="http://s2.51cto.com/wyfs02/M00/86/B8/wKiom1fIPanheCH4AAAjB8t1kqM240.png" target="_blank"></a>

-cmin time時間查找 ,+time表示超過time分鐘,-time表示少于time分鐘

-amin  通路時間變化

-cmin  檔案屬性變化

-mmin  檔案内容變化

<a href="http://s1.51cto.com/wyfs02/M01/86/B8/wKiom1fIPcHwpsyqAAAfZbHFErk025.png" target="_blank"></a>

-a 兩個條件同時滿足

-o 兩個條件滿足任意一個即可

-type 根據檔案類型查找  f 檔案  d 目錄  l  軟連結檔案

-inum 根據i節點查找

<a href="http://s4.51cto.com/wyfs02/M01/86/B8/wKioL1fIPdfghkviAAAiOMcarFc340.png" target="_blank"></a>

locate   在檔案資料庫中查找檔案

文法:locate【檔案名】

不是像find一樣,周遊整個硬碟,它建立了一個檔案資料庫,檔案資料庫定期更新,尋找額時候不是在硬碟中找,而是在庫中查找。

<a href="http://s2.51cto.com/wyfs02/M00/86/B8/wKioL1fIPgChkDbwAAAV3jFC0Fg915.png" target="_blank"></a>

它的速度是非常快的,但是沒有被更新入庫,是找不到的。可以使用updatebd更新檔案資料庫。檔案存放在不在檔案資料庫搜尋的範圍之中,也搜尋不到。

 which   搜尋指令所在目錄及别名資訊

文法:which 指令

<a href="http://s4.51cto.com/wyfs02/M00/86/B8/wKiom1fIPizwC9p9AAATgBm3ygQ641.png" target="_blank"></a>

whereis  搜尋指令所在目錄及幫助文檔路徑

文法:whereis 【指令名稱】

<a href="http://s3.51cto.com/wyfs02/M00/86/B8/wKiom1fIPkuxdeELAAAapW8MPzE500.png" target="_blank"></a>

以上幾個都是在查找檔案,而grep是在檔案内容中做個查找,找某個字元串,把所在的那行列出來

grep  在檔案中搜尋字元串比對的行并輸出

grep 【選項】【指定字串】【檔案】

-i 不區分大小寫

-v 排除指定字串

<a href="http://s2.51cto.com/wyfs02/M01/86/B8/wKiom1fIPmSwpNyCAAB5ERwngFs866.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M01/86/B8/wKioL1fIPnqBcgBcAAAPOczFkQI771.png" target="_blank"></a>

可以看到第二行大寫的Multiuesr沒有被發現

<a href="http://s1.51cto.com/wyfs02/M00/86/B8/wKioL1fIPp_zYFttAAAZujMbHMo811.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M02/86/B8/wKiom1fIPp_CTEsnAAAOemeKkCA803.png" target="_blank"></a>

幫助指令

 man 獲得幫助資訊

英語原意:manual

文法:man 【指令或配置檔案】

man ls

<a href="http://s3.51cto.com/wyfs02/M01/86/B8/wKioL1fIPsqyd4D3AABnNp0SwDg601.png" target="_blank"></a>

空格翻頁

回車一行一行

q退出

/字元 關鍵字搜尋

man還可以檢視配置檔案的資訊,但man 千萬不要加絕對路徑,如下:man /etc/services 顯示的就是/etc/services的内容資訊了

<a href="http://s5.51cto.com/wyfs02/M02/86/B8/wKioL1fIPv7j5jMeAACe527u_60924.png" target="_blank"></a>

我們直接man services就可以了

<a href="http://s1.51cto.com/wyfs02/M02/86/B8/wKioL1fIPv-z_gC0AADDCOPY5fE284.png" target="_blank"></a>

指令和配置檔案簡單的介紹

指令選項的介紹

配置檔案的格式

<a href="http://s5.51cto.com/wyfs02/M01/86/B8/wKiom1fIPyDi5kLFAAAVPBVdinQ177.png" target="_blank"></a>

passwd有指令的passwd,還有配置檔案的passwd

是以生成了passwd.1.gz 和passwd.5.gz

幫助類型有很多種,常見的1 是指令的幫助  5 是配置檔案的幫助

想檢視配置檔案的passwd,就得告訴系統是配置檔案

<a href="http://s5.51cto.com/wyfs02/M00/86/B8/wKioL1fIPz6ynjx-AACT3Ghe9wc472.png" target="_blank"></a>

whatis  指令  檢視指令的簡短資訊

apropos 檔案   檢視配置檔案的簡短資訊

隻想看到選項,不想看到介紹性語言,會列出一些常見的選項

指令 --help   列出主要的選項

<a href="http://s3.51cto.com/wyfs02/M00/86/B8/wKioL1fIP2zAdCigAAB88QJx7os695.png" target="_blank"></a>

獲得shell内置指令幫助

<a href="http://s1.51cto.com/wyfs02/M01/86/B8/wKiom1fIP4SRBaYnAAAWY1DbH18756.png" target="_blank"></a>

通俗的了解為找不到指令路徑的指令為shell内置指令

man cd

<a href="http://s3.51cto.com/wyfs02/M01/86/B8/wKioL1fIP7LQSa0LAAC1L4RACm8606.png" target="_blank"></a>

看的的就不是cd的幫助資訊了

help shell内置指令

<a href="http://s3.51cto.com/wyfs02/M00/86/B8/wKiom1fIP7SBFP6RAACLbu5E4PE710.png" target="_blank"></a>

壓縮解壓指令

節省空間,絕大病毒無法幹擾壓縮檔案

常見的壓縮格式

gzip  壓縮檔案

文法:gzip 【檔案】

壓縮後格式: .gz

gzip隻能壓縮檔案,不能壓縮目錄,而且還不保留原檔案

<a href="http://s5.51cto.com/wyfs02/M01/86/B8/wKiom1fIP9jR3gcGAAAsqMNAGDI287.png" target="_blank"></a>

gunzip  解壓縮.gz的壓縮檔案

英語原意:GNU unzip

文法:gunzip【壓縮檔案】

gzip -d 也是解壓縮

<a href="http://s4.51cto.com/wyfs02/M00/86/B8/wKioL1fIP_LA23D6AAAmm_x3U88596.png" target="_blank"></a>

bzip2  壓縮檔案

文法:bzip2【選項】【檔案】

-k 産生壓縮檔案後保留原檔案

是gzip的更新包,差別在于保留原檔案,壓縮包也很可觀。

bunzip2  解壓縮

文法:bunzip2 【選項】【壓縮檔案】

-k 解壓縮後保留原檔案

bunzip2 -k

tar   打包目錄

文法:tar【選項】【壓縮後的檔案名】【目錄】

-c 打包

-x 解包

-j 和bz2連用

-v 顯示詳細資訊

-f 指定檔案名

-z 打包同時壓縮 / 解壓縮

壓縮後格式:.tar.gz

<a href="http://s4.51cto.com/wyfs02/M01/86/B8/wKioL1fIQA2yUQ-iAABaH8IACOk472.png" target="_blank"></a>

就生成了hello的打封包件,再用gzip将其壓縮

解壓縮

tar -zxvf 

<a href="http://s5.51cto.com/wyfs02/M01/86/B8/wKioL1fIQETT5q-gAAA62U0GbWs093.png" target="_blank"></a>

還可以結合bz2使用。

tar -zcvf  helloword

tar -zxjf  helloword.tar.gz

zip  壓縮檔案或者目錄

文法:zip 【選項】【壓縮後的檔案名】【檔案或目錄】

-r 壓縮目錄

壓縮後檔案格式:.zip

<a href="http://s2.51cto.com/wyfs02/M02/86/B8/wKioL1fIQFvj02M-AAAx60y7FnM147.png" target="_blank"></a>

顯示壓縮的百分百,但是我建立的是空檔案,也就百分之零了。

linux的壓縮檔案,windows基本都支援,windows拷入linux,那就得看linux支不支援壓縮的格式了,比如rar格式就不支援。預設的都支援的常見的是zip,壓縮完可以保留原檔案

unzip  解壓zip的壓縮檔案

文法:unzip【壓縮檔案】

解壓的壓縮對象是檔案和目錄都可

<a href="http://s1.51cto.com/wyfs02/M01/86/B8/wKiom1fIQHezZNpbAABpsE0me_s660.png" target="_blank"></a>

網絡指令

write   給使用者發資訊,以ctrl+D儲存結束

文法:write【使用者名】

前提:在同一台伺服器上的線上使用者

wall  發廣播資訊

英語原意:write all

文法:wall【message】

ping  測試網絡連通性

文法:ping 【選項】 ip位址

-c 指定發送的次數

ifconfig  檢視和設定網卡資訊

英語原意:interfae configure

文法:ifconfig 【網卡名稱】【ip位址】

tracerroute  顯示資料包到主機間的路徑

文法:tracerroute

<a href="http://s2.51cto.com/wyfs02/M01/86/B8/wKiom1fIQJOhAw3DAABRUvxFUYE058.png" target="_blank"></a>

netstat  顯示網絡相關資訊

文法:netstat 【選項】

-t   TCP協定

-u  UDP協定

-l   監聽

-r   路由

-n   顯示ip位址和端口号

netstat 檢視組合

netstat  -tlun  檢視本機監聽額端口

netstat -an  檢視本機所有額網絡連接配接

netstat -rn  檢視本機的路由表

<a href="http://s2.51cto.com/wyfs02/M01/86/B8/wKioL1fIQK-QmlauAABOu3F4i7I228.png" target="_blank"></a>

setup  配置網絡

文法:setup

是redhat自帶的管理工具集合,在其他的linux版本不存在

配置完記得重新開機網絡服務

<a href="http://s5.51cto.com/wyfs02/M00/86/B8/wKioL1fIQMnwHoibAAAoMe274qI901.png" target="_blank"></a>

mount  挂載指令

文法:mount【-t檔案系統】裝置檔案名 挂載點

挂載點可以當成windows的盤符來了解,隻不過linux中的盤符是目錄,而windows是CDF等字母,分區是自動挂載,但是CD光牒,U盤等等的外接儲存設備隻能手動挂載,windows也有挂載過程,隻不過自動識别配置設定盤符了。

<code>mkdir /mnt/chrom</code>

<code>mount -t iso</code><code>9660</code> <code>/dev/cdrom  /mnt/cdrom(-t iso</code><code>9660</code><code>可以省略)</code>

<a href="http://s2.51cto.com/wyfs02/M02/86/B8/wKiom1fIQPSA5E9HAAB3Ghty1wA384.png" target="_blank"></a>

無法在mnt/cdrom 的目錄下解除安裝

umount /dev/cdrom 無論是解除安裝裝置名稱還是挂載點,都是可以的,但是隻能跟一個

關機重新開機指令

shutdown  關機

shutdown【選項】時間

-c   取消一個關機指令

-h   關機

-r    重新開機

其他關機指令

halt

poweroff

init 0

其他重新開機指令

reboot

init 6

系統運作級别

0        關機

1        單使用者 ,隻有root使用者可以登入系統

2        不完全多使用者,無NFS網絡服務的字元界面的多使用者模式

3         完全多使用者, 有NFS網絡服務的字元界面的多使用者模

4         未配置設定,保留,使用者可以自定義使用

5         圖形界面  有NFS網絡服務的圖形化界面的多使用者模式

6         重新開機

單使用者類似于windows的安全模式,啟動最小模式,進去之後進行一些修複

NFS服務:網絡檔案系統,linux和linux或unix之間的檔案共享

cat /etc/inittab

<a href="http://s1.51cto.com/wyfs02/M01/86/B8/wKioL1fIQRjQ2LxtAAA1XPDqzHQ983.png" target="_blank"></a>

id:5 預設的開機運作級别為5,即圖形界面,可以修改為其他運作級别,你可以試試設定為0或者6檢視下效果

runlevel 查詢系統目前的運作級别

exit  退出目前使用者

本文轉自 wt7315 51CTO部落格,原文連結:http://blog.51cto.com/wt7315/1845404

繼續閱讀