網(wǎng)站如何做rss訂閱長沙做網(wǎng)站的公司有哪些
Linux命令簡介
[root@localhost ~]#
表示 Linux 系統(tǒng)的命令提示符。
????????[]:這是提示符的分隔符號,沒有特殊含義。
????????root:顯示的是當(dāng)前的登錄用戶,筆者現(xiàn)在使用的是 root 用戶登錄。
????????@:分隔符號,沒有特殊含義。
????????localhost:當(dāng)前系統(tǒng)的簡寫主機名(完整主機名是 localhost.localdomain)。
????????~:代表用戶當(dāng)前所在的目錄,此例中用戶當(dāng)前所在的目錄是家目錄。
????????#:命令提示符,Linux 用這個符號標(biāo)識登錄的用戶權(quán)限等級。如果是超級用戶,提示符就是 #;如果是普通用戶,提示符就是 $。
Linux 命令的基本格式:
[root@localhost ~]# 命令 [選項] [參數(shù)]
????????命令格式中的 [] 代表可選項,也就是有些命令可以不寫選項或參數(shù),也能執(zhí)行。
1) 選項的作用
????????ls 命令之后不加選項和參數(shù)也能執(zhí)行,不過只能執(zhí)行最基本的功能,即顯示當(dāng)前目錄下的文件名。
2) 參數(shù)的作用
????????參數(shù)是命令的操作對象,一般文件、目錄、用戶和進程等可以作為參數(shù)被命令操作;命令一般都需要加入?yún)?shù),用于指定命令操作的對象是誰。如果可以省略參數(shù),則一般都有默認(rèn)參數(shù);
備注:命令的選項用于調(diào)整命令功能,而命令的參數(shù)是這個命令的操作對象。
文件權(quán)限管理
介紹
Linux系統(tǒng)是一種典型的多用戶系統(tǒng),不同的用戶處于不同的地位,擁有不同的權(quán)限。因此Linux 系統(tǒng)為每個文件都添加了很多的屬性,最大的作用就是維護數(shù)據(jù)的安全。
Linux 系統(tǒng)中,用戶等級權(quán)限的劃分是非常清楚的,root 用戶擁有最高權(quán)限,可以修改任何文件的權(quán)限,而普通用戶只能修改自己文件的權(quán)限(所有者是自己的文件)
Linux 系統(tǒng)中,文件或目錄的權(quán)限信息,可以使用 ls 命令查看。如:
每個文件的屬性由左邊第一部分的10個字符來確定(如下圖)。
位數(shù) | 說明 | ||
第 0 位 | 確定文件類型 (d, - , l , c , b) | l 是鏈接,相當(dāng)于 windows 的快捷方式; 指向同一索引節(jié)點的那些目錄條目,文件后面以"->"指向所連接的文件。 | |
d 是目錄,包括文件名,子目錄名及其指針.它是Linux儲存文件名的唯一地方。 | |||
- 普通文件,如文本文件,C語言源代碼,shell腳本,二進制的可執(zhí)行文件等。 可用cat,less,more,vi,emacs來查看內(nèi)容,用mv來改名。 | |||
c 是字符設(shè)備文件,表示為裝置文件里面的串行端口設(shè)備,例如鍵盤、鼠標(biāo)(一次性讀取裝置)。 | |||
b 是塊設(shè)備,表示為裝置文件里面的可供儲存的接口設(shè)備(例如:硬盤) | |||
第 1-3 位 | 確定所有者(該文件的所有者)擁有該文件的權(quán)限 | User | 以三個為一組,且均為『rwx』 的三個參數(shù)的組合; [ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執(zhí)行(execute)。 注意的是,這三個權(quán)限的位置不會改變,如果沒有權(quán)限,就會出現(xiàn)減號[ - ]而已。 |
第 4-6 位 | 確定所屬組(同用戶組的)擁有該文件的權(quán)限 | Group | |
第 7-9 位 | 確定其他用戶擁有該文件的權(quán)限 | Other |
實際案例說明:
ls -l 中顯示的內(nèi)容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10 個字符確定不同用戶能對文件干什么 | 第一個字符代表文件類型: - l d c b |
其余字符每 3 個一組(rwx) 讀(r) 寫(w) 執(zhí)行(x) | |
第一組 rwx : 文件擁有者的權(quán)限是讀、寫和執(zhí)行 | |
第二組 rw- : 與文件擁有者同一組的用戶的權(quán)限是讀、寫但不能執(zhí)行 | |
第三組 r-- :? 不與文件擁有者同組的其他用戶的權(quán)限是讀不能寫和執(zhí)行 | |
1 | 文件:硬連接數(shù)或 目錄:子目錄數(shù) |
root | 用戶 |
root | 組 |
1213 | 文件大小(字節(jié)),如果是文件夾,顯示 4096 字節(jié) |
Feb 2 09:39 | 最后修改日期 |
abc | 文件名 |
默認(rèn)權(quán)限
Linux 是注重安全性的操作系統(tǒng),而安全的基礎(chǔ)在于對權(quán)限的設(shè)定,不僅所有已存在的文件和目錄要設(shè)定必要的訪問權(quán)限,創(chuàng)建新的文件和目錄時,也要設(shè)定必要的初始權(quán)限。
在 Linux 系統(tǒng)中,文件和目錄的最大默認(rèn)權(quán)限是不一樣的,對文件來講,其可擁有的最大默認(rèn)權(quán)限是 666,即 rw-rw-rw-。也就是說,使用文件的任何用戶都沒有執(zhí)行(x)權(quán)限。原因很簡單,執(zhí)行權(quán)限是文件的最高權(quán)限,賦予時絕對要慎重,因此絕不能在新建文件的時候就默認(rèn)賦予,只能通過用戶手工賦予。對目錄來講,其可擁有的最大默認(rèn)權(quán)限是 777,即 rwxrwxrwx。
介紹
Windows 系統(tǒng)中,新建的文件和目錄時通過繼承上級目錄的權(quán)限獲得的初始權(quán)限,而 Linux 不同,它是通過使用 umask 默認(rèn)權(quán)限來給所有新建的文件和目錄賦予初始權(quán)限的,可以通過 umask命令查看umask 默認(rèn)權(quán)限的值。
[root@localhost ~]# umask
0022
#root用戶默認(rèn)是0022,普通用戶默認(rèn)是 0002。
文件和目錄的真正初始權(quán)限,可通過以下的計算得到:
文件(或目錄)的初始權(quán)限 = 文件(或目錄)的最大默認(rèn)權(quán)限 - umask權(quán)限;
說明:
- umask 默認(rèn)權(quán)限確實由 4 個八進制數(shù)組成,但第 1 個數(shù)代表的是文件所具有的特殊權(quán)限(SetUID、SetGID、Sticky BIT);后 3 位數(shù)字 "022" 可將其轉(zhuǎn)變?yōu)樽帜感问綖?----w--w-。
- 雖然 umask 默認(rèn)權(quán)限是用來設(shè)定文件或目錄的初始權(quán)限,但并不是直接將 umask 默認(rèn)權(quán)限作為文件或目錄的初始權(quán)限,還要對其進行 "再加工"。
- 在計算文件或目錄的初始權(quán)限時,不能直接使用最大默認(rèn)權(quán)限和 umask 權(quán)限的數(shù)字形式做減法。最大默認(rèn)權(quán)限中和 umask 權(quán)限公共的部分,通過減法運算會被遮蓋掉,最終剩下的“最大默認(rèn)權(quán)限”,才是最終賦予文件或目錄的初始權(quán)限。
實例1:新建文件
[root@localhost ~]# umask
0022
#默認(rèn)umask的值是0022
[root@localhost ~]# touch file? <--新建file空文件
[root@localhost ~]# ll -d file
-rw-r--r--. 1 root root 0 Apr 18 02:36 file
實例2:新建目錄
[root@localhost ~]# umask
0022
[root@localhost ~]# mkdir catalog? <--新建catalog目錄
[root@localhost ~]# ll -d catalog
drwxr-xr-x. 2 root root 4096 Apr 18 02:36 catalog
實例3:
[root@localhost ~]# umask
0033
[root@localhost ~]# mkdir catalog? <--新建catalog目錄
[root@localhost ~]# ll -d catalog
drw-r--r--. 2 root root 4096 Apr 18 02:36 catalog
默認(rèn)權(quán)限的修改
umask 權(quán)限值可以通過如下命令直接修改:
[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033
不過,這種方式修改的 umask 只是臨時有效,一旦重啟或重新登陸系統(tǒng),就會失效。如果想讓修改永久生效,則需要修改對應(yīng)的環(huán)境變量配置文件 /etc/profile。
在profile文件中,普通用戶的 umask 由 if 語句的第一段定義,而超級用戶 root 的 umask 值由 else 語句定義即可。 修改此文件,則 umask 值就會永久生效。
文件權(quán)限_常用命令
chgrp 命令
作用:用于修改文件(或目錄)的所屬組。
基本格式:[root@localhost ~]# chgrp [-R] 所屬組 文件名(目錄名)
說明:
- ????????-R(注意是大寫)選項長作用于更改目錄的所屬組,表示更改連同子目錄中所有文件的所屬組信息。
- ????????使用此命令需要注意的一點是,要被改變的群組名必須是真實存在的,否則命令無法正確執(zhí)行,會提示 "invaild group name"。
應(yīng)用實例:
當(dāng)以 root 身份登錄 Linux 系統(tǒng)時,主目錄中會存在一個名為 install.log 的文件,我們可以使用如下方法修改此文件的所屬組:
[root@localhost ~]# groupadd group1
#新建用于測試的群組 group1
[root@localhost ~]# chgrp group1 install.log
#修改install.log文件的所屬組為group1
[root@localhost ~]# ll install.log
-rw-r--r--. 1 root group1 78495 Nov 17 05:54 install.log
#修改生效
[root@localhost ~]# chgrp testgroup install.log
chgrp: invaild group name 'testgroup'
可以看到,在具有 group1 群組的前提下,我們成功修改了 install.log 文件的所屬組,但我們再次試圖將所屬組修改為 testgroup 時,命令執(zhí)行失敗,就是因為系統(tǒng)的 /etc/group 文件中,沒有 testgroup 群組。
chmod 指令
作用:可以修改文件或者目錄的權(quán)限。
語法一:
語法二:chmod [-R] 權(quán)限值 文件名
說明:
- u:所有者 g:所有組 o:其他人 a:所有人(u、g、o 的總和)
案例演示
案例1:設(shè)定 .bashrc 文件的權(quán)限為 rwxr-xr-x,則可執(zhí)行如下命令:
[root@localhost ~]# chmod u=rwx,go=rx .bashrc
[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc
案例2:
[root@www ~]# ls -al .bashrc
-rwxr-xr-x? 1 root root 395 Jul? 4 11:45 .bashrc
[root@www ~]# chmod? a+w? .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx? 1 root root 395 Jul? 4 11:45 .bashrc
案例3:將 /home/abc.txt 文件的權(quán)限修改成 rwxr-xr-x,
使用給數(shù)字的方式實現(xiàn):
chmod 755 /home/abc.txt
chown命令
作用:主要用于修改文件(或目錄)的所有者,也可以修改文件(或目錄)的所屬組。
語法一: chown [-R] 所有者 文件或目錄
語法二:chown [-R] 所有者:所屬組 文件或目錄【但修改所屬組通常使用 chgrp 命令,因此并不推薦大家使用 chown 命令】
說明:
- -R 如果是目錄 則使其下所有子文件或目錄遞歸生效;
- 在 chown 命令中,所有者和所屬組中間也可以使用點(.),但會產(chǎn)生一個問題,如果用戶在設(shè)定賬號時加入了小數(shù)點(例如 zhangsan.temp),就會造成系統(tǒng)誤判。因此,建議大家使用冒號連接所有者和所屬組;
- 使用 chown 命令修改文件或目錄的所有者(或所屬者)時,要保證使用者用戶(或用戶組)存在,否則該命令無法正確執(zhí)行,會提示 "invalid user" 或者 "invaild group"。
案例演示
請將 /home/abc.txt 文件的所有者修改成 tom
chown tom /home/abc.txt
請將 /home/test 目錄下所有的文件和目錄的所有者都修改成 tom
chown -R tom /home/test
ls指令
作用:查看文件的所有者。
語法:ls –ahl
說明:
- 一般為文件的創(chuàng)建者,誰創(chuàng)建了該文件,就自然的成為該文件的所有者。
- 當(dāng)某個用戶創(chuàng)建了一個文件后,這個文件的所在組就是該用戶所在的組(默認(rèn))
應(yīng)用實例
使用 fox 來創(chuàng)建一個文件,看看該文件屬于哪個組?
-rw-r--r--. 1 fox monster 0 11 月 5 12:50 ok.txt
groupadd指令
作用:創(chuàng)建一個組
語法:groupadd 組名
應(yīng)用實例
創(chuàng)建一個組,monster
groupadd monster
創(chuàng)建一個用戶 fox ,并放入到 monster 組中
useradd -g monster fox
groupdel指令
作用:刪除組
語法:groupdel 組名
注意: 用戶組里面有用戶,必須先把用戶刪除了,才能刪除組。
改變用戶所在組
在添加用戶時,可以指定將該用戶添加到哪個組中,同樣的用 root 的管理權(quán)限可以改變某個用戶所在的組。
改變用戶所在組
usermod –g 新組名 用戶名
usermod –d 目錄名 用戶名 改變該用戶登陸的初始目錄。
特別說明:用戶需要有進入到新目錄的權(quán)限。
應(yīng)用實例
將 zwj 這個用戶從原來所在組,修改到 wudang 組
usermod -g wudang zwj
文件與目錄的管理
Linux 的目錄結(jié)構(gòu)為樹狀結(jié)構(gòu),最頂級的目錄為根目錄 /。其他目錄通過掛載可以將它們添加到樹中,通過解除掛載可以移除它們。
絕對路徑:
????????路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。
相對路徑:
????????路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法。
目錄_常用命令
ls 命令
作用:顯示目錄文件
語法:ls? 選項[-ald]? [文件或目錄]
說明:
- -a??? 顯示所有文件,包括隱藏文件
- -l???? 詳細(xì)信息顯示
- -d??? 查看目錄屬性
- ?-h 人性化查看
- ?-i 查詢結(jié)點
cd 命令
語法:cd [目錄]
作用:切換目錄
實例:
- ?$ cd? /tmp/Japan/boduo???? 切換到指定目錄
- ?$ cd? ..??????? 回到上一級目錄
pwd命令
語法:pwd [-P]
作用:顯示當(dāng)前目錄
說明:
- -P :顯示出實際的工作目錄,而非使用鏈接 (link) 路徑。
實例:$ pwd
? /tmp/Japan
mkdir 命令
作用:創(chuàng)建新目錄
語法:mkdir [-mp] 目錄名稱? [目錄名]
說明:
- -m :配置文件的權(quán)限喔!直接配置,不需要看默認(rèn)權(quán)限 (umask) 的臉色~
- -p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創(chuàng)建起來!
實例1:請到/tmp底下嘗試創(chuàng)建數(shù)個新目錄看看:
[root@www ~]# cd /tmp
[root@www tmp]# mkdir test??? <==創(chuàng)建一名為 test 的新目錄
[root@www tmp]# mkdir -p test1/test2/test3/test4??? <==創(chuàng)建多級目錄
實例2:創(chuàng)建權(quán)限為 rwx--x--x 的目錄。
[root@www tmp]# mkdir -m 711 test2
[root@www tmp]# ls -l
drwxr-xr-x? 3 root? root 4096 Jul 18 12:50 test
drwxr-xr-x? 3 root? root 4096 Jul 18 12:53 test1
drwx--x--x? 2 root? root 4096 Jul 18 12:54 test2
上面的權(quán)限部分,如果沒有加上 -m 來強制配置屬性,系統(tǒng)會使用默認(rèn)屬性。
如果我們使用 -m ,如上例我們給予 -m 711 來給予新的目錄 drwx--x--x 的權(quán)限。
rmdir 命令
作用: 刪除空目錄
語法:rmdir [-p] 目錄名稱
說明:
- -p :從該目錄起,一次刪除多級空目錄
- 僅能刪除空目錄
實例1:
[root@www tmp]# rmdir test
cp 命令
作用:復(fù)制文件或目錄
語法:cp? -rp? [原文件或目錄] [目標(biāo)目錄]
說明:
- -a:相當(dāng)于 -pdr 的意思,至于 pdr 請參考下列說明;(常用)
- -d:若來源檔為鏈接檔的屬性(link file),則復(fù)制鏈接檔屬性而非文件本身;
- -f:為強制(force)的意思,若目標(biāo)文件已經(jīng)存在且無法開啟,則移除后再嘗試一次;
- -i:若目標(biāo)檔(destination)已經(jīng)存在時,在覆蓋時會先詢問動作的進行(常用)
- -l:進行硬式鏈接(hard link)的鏈接檔創(chuàng)建,而非復(fù)制文件本身;
- -p:連同文件的屬性一起復(fù)制過去,而非使用默認(rèn)屬性(備份常用);
- -r:遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為;(常用)
- -s:復(fù)制成為符號鏈接檔 (symbolic link),亦即『捷徑』文件;
- -u:若 destination 比 source 舊才升級 destination !
- ?復(fù)制多個文件,只需要在中間接連寫上地址即可
實例:
$ cp? -r /tmp/Japan/cangjing? /root
將目錄/tmp/Japan/cangjing復(fù)制到目錄/root下
$ cp? -rp /tmp/Japan/boduo /tmp/Japan/longze /root
將/tmp/Japan目錄下的boduo和longze目錄復(fù)制到/root下,保持目錄屬性
rm命令
作用:刪除文件
語法:rm? [-rif]?? [文件或目錄]
說明:
- -f :就是 force 的意思,忽略不存在的文件,不會出現(xiàn)警告信息;
- -i :互動模式,在刪除前會詢問使用者是否動作
- -r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!
實例:$ rm? /tmp/yum.log
刪除文件/tmp/yum.log
$ rm -rf? /tmp/Japan/longze
刪除目錄/tmp/Japan/longze
mv命令
語法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory
作用:
- -f :force 強制的意思,如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋;
- -i :若目標(biāo)文件 (destination) 已經(jīng)存在時,就會詢問是否覆蓋!
- -u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會升級 (update)
實例1:復(fù)制一文件,創(chuàng)建一目錄,將文件移動到目錄中
[root@www ~]# cd /tmp
[root@www tmp]# cp ~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
將某個文件移動到某個目錄去,就是這樣做!
實例2:將剛剛的目錄名稱更名為 mvtest2
[root@www tmp]# mv mvtest mvtest2
文件處理_常用命令
cat
作用:由第一行開始顯示文件內(nèi)容
語法:cat [參數(shù)] [文件名]
說明:
- -A :相當(dāng)于-vET 的整合選項,可列出一些特殊字符而不是空白而已;
- -b :列出行號,僅針對非空白行做行號顯示,空白行不標(biāo)行號!
- -E :將結(jié)尾的斷行字節(jié) $ 顯示出來;
- -n :列印出行號,連同空白行也會有行號,與 -b 的選項不同;
- -T :將 [tab] 按鍵以 ^I 顯示出來;
- -v :列出一些看不出來的特殊字符
實例:
$ cat? /etc/issue
$ cat? -n /etc/services
tac
作用:從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!
nl
作用:顯示的時候,順道輸出行號!
more
作用:分頁顯示文件內(nèi)容
語法:more? [文件名]
說明:在 more 這個程序的運行過程中,你有幾個按鍵可以按的:
- 空白鍵 (space):代表向下翻一頁;
- Enter???????? :代表向下翻『一行』;
- /字串???????? :代表在這個顯示的內(nèi)容當(dāng)中,向下搜尋『字串』這個關(guān)鍵字;
- :f??????????? :立刻顯示出檔名以及目前顯示的行數(shù);
- q???????????? :代表立刻離開 more ,不再顯示該文件內(nèi)容。
- b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。
實例:?? $ more? /etc/services
less
作用:與 more 類似,分頁顯示文件內(nèi)容(可向上翻頁);
語法:less? [文件名]
說明:less運行時可以輸入的命令有:
- 空白鍵??? :向下翻動一頁;
- [pagedown]:向下翻動一頁;
- [pageup]? :向上翻動一頁;
- /字串???? :向下搜尋『字串』的功能;
- ?字串???? :向上搜尋『字串』的功能;
- n???????? :重復(fù)前一個搜尋 (與 / 或 ? 有關(guān)!)
- N???????? :反向的重復(fù)前一個搜尋 (與 / 或 ? 有關(guān)!)
- q???????? :離開 less 這個程序
實例:$? less? /etc/services
head
作用:顯示文件前面幾行
語法:head? [文件名]
說明:
- -n 指定行數(shù) 【默認(rèn)顯示10行】
實例:?? $ head -n 20 /etc/services
tail
作用:顯示文件后面幾行
語法:tail? [nf] [文件名]
說明:
- -n 指定行數(shù)【默認(rèn)顯示10行】
- -f? 動態(tài)顯示文件末尾內(nèi)容
實例:?? $ tail -n 18 /etc/services
查詢實時日志時可用此命令