css常見選擇器和屬性
閱讀目錄
閱讀目錄
20200727
回到目錄1|0Linux目錄結構
返回頂部基本介紹
- Linux的檔案系統是採用層級式的樹狀結構,在此結構中的最上層是
/
根目錄 - tip1:在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:
這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以通過直接訪問這個目錄來獲取系統資訊。 -
/root:
該目錄為系統管理員,也稱作超級許可權者的使用者主目錄。 -
/sbin:
s就是Super User的意思,這裡存放的是系統管理員使用的系統管理程式。 -
/selinux:
這個目錄是Redhat/CentOS所特有的目錄,Selinux是一個安全機制,類似於windows的防火牆,但是這套機制比較複雜,這個目錄就是存放selinux相關的檔案的。 -
/srv:
該目錄存放一些服務啟動之後需要提取的資料。 -
/sys:
這是linux2.6核心的一個很大的變化。該目錄下安裝了2.6核心中新出現的一個檔案系統 sysfs 。
sysfs檔案系統集成了下面3種檔案系統的資訊:針對程序資訊的proc檔案系統、針對裝置的devfs檔案系統以及針對偽終端的devpts檔案系統。
該檔案系統是核心裝置樹的一個直觀反映。
當一個核心物件被建立的時候,對應的檔案和目錄也在核心物件子系統中被建立。
-
/tmp:
這個目錄是用來存放一些臨時檔案的。 -
/usr:
這是一個非常重要的目錄,使用者的很多應用程式和檔案都放在這個目錄下,類似於windows下的program files目錄。 -
/usr/bin:
系統使用者使用的應用程式。 -
/usr/sbin:
超級使用者使用的比較高階的管理程式和系統守護程式。 -
/usr/src:
核心原始碼預設的放置目錄。 -
/var:
這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌檔案。 -
/run:
是一個臨時檔案系統,儲存系統啟動以來的資訊。當系統重啟時,這個目錄下的檔案應該被刪掉或清除。如果你的系統上有 /var/run 目錄,應該讓它指向 run。
2|0遠端登陸配置
- 配置遠端登陸之前,需要在Linux上需要開啟sshd服務,該服務監聽22號埠
3|0Vi和Vim
- 所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。
- 但是目前我們使用比較多的是 vim 編輯器。
- vim 具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。
Vim
- Vim是從 vi 發展出來的一個文字編輯器。程式碼補完、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。
- 簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程式開發者的一項很好用的工具。
模式分辨
- 基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。
命令模式
-
使用者剛剛啟動 vi/vim,便進入了命令模式。
-
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下i,並不會輸入一個字元,i被當作了一個命令。
-
以下是常用的幾個命令:
- i切換到輸入模式,以輸入字元。
- x刪除當前游標所在處的字元。
- :切換到底線命令模式,以在最底一行輸入命令。
-
若想要編輯文字:啟動Vim,進入了命令模式,按下i,切換到輸入模式。
-
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
輸入模式
- 在命令模式下按下i就進入了輸入模式。
- 在輸入模式中,可以使用以下按鍵:
- 字元按鍵以及Shift組合,輸入字元
- ENTER,回車鍵,換行
- BACK SPACE,退格鍵,刪除游標前一個字元
- DEL,刪除鍵,刪除游標後一個字元
- 方向鍵,在文字中移動游標
- HOME/END,移動游標到行首/行尾
- Page Up/Page Down,上/下翻頁
- Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
- ESC,退出輸入模式,切換到命令模式
底線命令模式
- 在命令模式下按下:(英文冒號)就進入了底線命令模式。
- 底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。
- 在底線命令模式中,基本的命令有(已經省略了冒號):
- q 退出程式
- w 儲存檔案
- 按ESC鍵可隨時退出底線命令模式。
使用示例
- 建立或者修改某檔案
vim filename
(進入一般模式) - 在一般模式之中,只要按下 i, o, a 等字元就可以進入輸入模式了!
- 輸入完成按下
esc
之後輸入:wq(:q!)
儲存並退出 (不儲存退出)
Vim按鍵說明
移動游標的方法 | |
---|---|
h 或 向左箭頭鍵(←) | 游標向左移動一個字元 |
j 或 向下箭頭鍵(↓) | 游標向下移動一個字元 |
k 或 向上箭頭鍵(↑) | 游標向上移動一個字元 |
l 或 向右箭頭鍵(→) | 游標向右移動一個字元 |
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動游標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)後,按下動作即可! | |
[Ctrl] + [f] | 螢幕『向下』移動一頁,相當於 [Page Down]按鍵 (常用) |
[Ctrl] + [b] | 螢幕『向上』移動一頁,相當於 [Page Up] 按鍵 (常用) |
[Ctrl] + [d] | 螢幕『向下』移動半頁 |
[Ctrl] + [u] | 螢幕『向上』移動半頁 |
+ | 游標移動到非空格符的下一行 |
- | 游標移動到非空格符的上一行 |
n | 那個 n 表示『數字』,例如 20 。按下數字後再按空格鍵,游標會向右移動這一行的 n 個字元。例如 20則游標會向後面移動 20 個字元距離。 |
0 或功能鍵[Home] | 這是數字『 0 』:移動到這一行的最前面字元處 (常用) |
$ 或功能鍵[End] | 移動到這一行的最後面字元處(常用) |
H | 游標移動到這個螢幕的最上方那一行的第一個字元 |
M | 游標移動到這個螢幕的中央那一行的第一個字元 |
L | 游標移動到這個螢幕的最下方那一行的第一個字元 |
G | 移動到這個檔案的最後一行(常用) |
nG | n 為數字。移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的第 20 行(可配合 :set nu) |
gg | 移動到這個檔案的第一行,相當於 1G 啊! (常用) |
n | n 為數字。游標向下移動 n 行(常用) |
搜尋替換 | |
/word | 向光標之下尋找一個名稱為 word 的字串。例如要在檔案內搜尋 vbird 這個字串,就輸入 /vbird 即可! (常用) |
?word | 向光標之上尋找一個字串名稱為 word 的字串。 |
n | 這個 n 是英文按鍵。代表重複前一個搜尋的動作。舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字串,則按下 n 後,會向下繼續搜尋下一個名稱為 vbird 的字串。如果是執行 ?vbird 的話,那麼按下 n 則會向上繼續搜尋名稱為 vbird 的字串! |
N | 這個 N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。 例如 /vbird 後,按下 N 則表示『向上』搜尋 vbird 。 |
使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重複的找到一些你搜尋的關鍵詞! | |
:n1,n2s/word1/word2/g | n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 並取代為 VBIRD 則: 『:100,200s/vbird/VBIRD/g』。(常用) |
:1,$s/word1/word2/g或:%s/word1/word2/g | 從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !(常用) |
:1,$s/word1/word2/gc或:%s/word1/word2/gc | 從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !且在取代前顯示提示字元給使用者確認 (confirm) 是否需要取代!(常用) |
刪除、複製與貼上 | |
x, X | 在一行字當中,x 為向後刪除一個字元 (相當於 [del] 按鍵), X 為向前刪除一個字元(相當於 [backspace] 亦即是退格鍵) (常用) |
nx | n 為數字,連續向後刪除 n 個字元。舉例來說,我要連續刪除 10 個字元, 『10x』。 |
dd | 刪除遊標所在的那一整行(常用) |
ndd | n 為數字。刪除游標所在的向下 n 行,例如 20dd 則是刪除 20 行 (常用) |
d1G | 刪除游標所在到第一行的所有資料 |
dG | 刪除游標所在到最後一行的所有資料 |
d$ | 刪除遊標所在處,到該行的最後一個字元 |
d0 | 那個是數字的 0 ,刪除遊標所在處,到該行的最前面一個字元 |
yy | 複製遊標所在的那一行(常用) |
nyy | n 為數字。複製游標所在的向下 n 行,例如 20yy 則是複製 20 行(常用) |
y1G | 複製遊標所在行到第一行的所有資料 |
yG | 複製遊標所在行到最後一行的所有資料 |
y0 | 複製游標所在的那個字元到該行行首的所有資料 |
y$ | 複製游標所在的那個字元到該行行尾的所有資料 |
p, P | p 為將已複製的資料在游標下一行貼上,P 則為貼在遊標上一行! 舉例來說,我目前游標在第 20 行,且已經複製了 10 行資料。則按下 p 後, 那 10 行資料會貼在原本的 20 行之後,亦即由 21 行開始貼。但如果是按下 P 呢? 那麼原本的第 20 行會被推到變成 30 行。 (常用) |
J | 將游標所在行與下一行的資料結合成同一行 |
c | 重複刪除多個數據,例如向下刪除 10 行,[ 10cj ] |
u | 復原前一個動作。(常用) |
[Ctrl]+r | 重做上一個動作。(常用) |
這個 u 與 [Ctrl]+r 是很常用的指令!一個是復原,另一個則是重做一次~ 利用這兩個功能按鍵,你的編輯,嘿嘿!很快樂的啦! | |
. | 不要懷疑!這就是小數點!意思是重複前一個動作的意思。 如果你想要重複刪除、重複貼上等等動作,按下小數點『.』就好了! (常用) |
進入輸入或取代的編輯模式 | |
---|---|
i, I | 進入輸入模式(Insert mode): i 為『從目前游標所在處輸入』, I 為『在目前所在行的第一個非空格符處開始輸入』。 (常用) |
a, A | 進入輸入模式(Insert mode): a 為『從目前游標所在的下一個字元處開始輸入』, A 為『從游標所在行的最後一個字元處開始輸入』。(常用) |
o, O | 進入輸入模式(Insert mode): 這是英文字母 o 的大小寫。o 為『在目前游標所在的下一行處輸入新的一行』; O 為在目前游標所在處的上一行輸入新的一行!(常用) |
r, R | 進入取代模式(Replace mode): r 只會取代游標所在的那一個字元一次;R會一直取代游標所在的文字,直到按下 ESC 為止;(常用) |
上面這些按鍵中,在 vi 畫面的左下角處會出現『--INSERT--』或『--REPLACE--』的字樣。 由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案裡面輸入字元時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔! | |
[Esc] | 退出編輯模式,回到一般模式中(常用) |
指令行的儲存、離開等指令 | |
---|---|
:w | 將編輯的資料寫入硬碟檔案中(常用) |
:w! | 若檔案屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案許可權有關啊! |
:q | 離開 vi (常用) |
:q! | 若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。 |
注意一下啊,那個驚歎號 (!) 在 vi 當中,常常具有『強制』的意思~ | |
:wq | 儲存後離開,若為 :wq! 則為強制儲存後離開 (常用) |
ZZ | 這是大寫的 Z 喔!如果修改過,儲存當前檔案,然後退出!效果等同於(儲存並退出) |
ZQ | 不儲存,強制退出。效果等同於:q!。 |
:w [filename] | 將編輯的資料儲存成另一個檔案(類似另存新檔) |
:r [filename] | 在編輯的資料中,讀入另一個檔案的資料。亦即將 『filename』 這個檔案內容加到遊標所在行後面 |
:n1,n2 w [filename] | 將 n1 到 n2 的內容儲存成 filename 這個檔案。 |
:! command | 暫時離開 vi 到指令行模式下執行 command 的顯示結果!例如 『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案資訊! |
vim 環境的變更 | |
:set nu | 顯示行號,設定之後,會在每一行的字首顯示該行的行號 |
:set nonu | 與 set nu 相反,為取消行號! |
4|0關機
sync 將資料由記憶體同步到硬碟中。 shutdown 關機指令,你可以man shutdown 來看一下幫助文件。例如你可以執行如下命令關機: shutdown –h 10 ‘This server will shutdown after 10 mins’ 這個命令告訴大家,計算機將在10分鐘後關機,並且會顯示在登陸使用者的當前螢幕中。 shutdown –h now 立馬關機 shutdown –h 20:25 系統會在今天20:25關機 shutdown –h +10 十分鐘後關機 shutdown –r now 系統立馬重啟 shutdown –r +10 系統十分鐘後重啟 reboot 就是重啟,等同於 shutdown –r now halt 關閉系統,等同於shutdown –h now 和 poweroff- 最後總結一下,不管是重啟系統還是關閉系統,首先要執行sync命令,把記憶體中的資料寫到磁碟中。
- 關機的命令有shutdown –h now halt poweroff和init 0, 重啟系統的命令有shutdown –r now reboot init 6。
5|0使用者管理
返回頂部使用者的登出登陸
- 在真實的專案開發中儘量避免使用root賬號登陸,因為該使用者的許可權太高,避免一些誤操作二而造成一些無法挽回的損失
- 登出使用者
logout
- tip:圖形介面沒有效果,在執行級別3下有效
使用者和使用者組管理
基本瞭解
- Linux系統是一個多使用者多工的分時作業系統,任何一個要使用系統資源的使用者,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。
- 使用者的賬號一方面可以幫助系統管理員對使用系統的使用者進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助使用者組織檔案,併為使用者提供安全性保護。
- 每個使用者賬號都擁有一個唯一的使用者名稱和各自的口令。
- 使用者在登入時鍵入正確的使用者名稱和口令後,就能夠進入系統和自己的主目錄。
- 實現使用者賬號的管理,要完成的工作主要有如下幾個方面:
- 使用者賬號的新增、刪除與修改。
- 使用者口令的管理。
- 使用者組的管理
新增使用者
-
語法:
useradd 選項 使用者名稱
-
引數說明:
-
選項:
- -c comment 指定一段註釋性描述。
- -d 目錄 指定使用者主目錄,如果此目錄不存在,則同時使用-m選項,可以建立主目錄。
- -g 使用者組 指定使用者所屬的使用者組。
- -G 使用者組,使用者組 指定使用者所屬的附加組。
- -s Shell檔案 指定使用者的登入Shell。
- -u 使用者號 指定使用者的使用者號,如果同時有-o選項,則可以重複使用其他使用者的標識號。
-
使用者名稱:
指定新賬號的登入名。
-
-
示例:
useradd –d /home/sam -m sam
- 此命令建立了一個使用者sam,其中-d和-m選項用來為登入名sam產生一個主目錄 /home/sam(/home為預設的使用者主目錄所在的父目錄)。
-
示例2:
useradd -s /bin/sh -g group –G adm,root gem
- 此命令新建了一個使用者gem,該使用者的登入Shell是
/bin/sh
,它屬於group使用者組,同時又屬於adm和root使用者組,其中group使用者組是其主組。 - 這裡可能新建組:
#groupadd group及groupadd adm
- 增加使用者賬號就是在/etc/passwd檔案中為新使用者增加一條記錄,同時更新其他系統檔案如/etc/shadow, /etc/group等。
- Linux提供了整合的系統管理工具userconf,它可以用來對使用者賬號進行統一管理。
- 此命令新建了一個使用者gem,該使用者的登入Shell是
刪除賬號
- 如果一個使用者的賬號不再使用,可以從系統中刪除。刪除使用者賬號就是要將/etc/passwd等系統檔案中的該使用者記錄刪除,必要時還刪除使用者的主目錄。
- 刪除一個已有的使用者賬號使用
userdel
命令userdel 選項 使用者名稱
- 常用的選項是-r,它的作用是把使用者的主目錄一起刪除。
- 此命令刪除使用者在系統檔案中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除使用者的主目錄。
修改賬號
- 修改使用者賬號就是根據實際情況更改使用者的有關屬性,如使用者號、主目錄、使用者組、登入Shell等。
- 修改已有使用者的資訊使用
usermod
命令usermod 選項 使用者名稱
- 常用的選項包括
-c, -d, -m, -g, -G, -s, -u以及-o等
,這些選項的意義與useradd
命令中的選項一樣,可以為使用者指定新的資源值。 - 另外,有些系統可以使用選項:-l 新使用者名稱,這個選項指定一個新的賬號,即將原來的使用者名稱改為新的使用者名稱。
- 常用的選項包括
- 示例:
usermod -s /bin/ksh -d /home/z –g developer sam
- 此命令將使用者sam的登入Shell修改為ksh,主目錄改為/home/z,使用者組改為developer。
使用者口令的管理
- 使用者管理的一項重要內容是使用者口令的管理。使用者賬號剛建立時沒有口令,但是被系統鎖定,無法使用,必須為其指定口令後才可以使用,即使是指定空口令。
- 指定和修改使用者口令的Shell命令是
passwd
。超級使用者可以為自己和其他使用者指定口令,普通使用者只能用它修改自己的口令。命令的格式為:passwd 選項 使用者名稱
- 可使用的選項:
- -l 鎖定口令,即禁用賬號。
- -u 口令解鎖。
- -d 使賬號無口令。
- -f 強迫使用者下次登入時修改口令。
- 如果預設使用者名稱,則修改當前使用者的口令。
使用者組的管理
- 每個使用者都有一個使用者組,系統可以對一個使用者組中的所有使用者進行集中管理。不同Linux 系統對使用者組的規定有所不同,如Linux下的使用者屬於與它同名的使用者組,這個使用者組在建立使用者時同時建立。
- 使用者組的管理涉及使用者組的新增、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group檔案的更新。
增加新的使用者組
- 格式:
groupadd 選項 使用者組
- 可以使用的選項有:
- -g GID 指定新使用者組的組標識號(GID)。
- -o 一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同。
- 預設新組的組標識號是在當前已有的最大組標識號的基礎上加1
- 可以使用的選項有:
- 示例:
groupadd -g 101 group2
- 此命令向系統中增加了一個新組group2,同時指定新組的組標識號是101。
刪除一個已有的使用者組
- 格式:
groupdel 使用者組
修改使用者組的屬性
- 格式:
groupmod 選項 使用者組
- 常用的選項有:
- -g GID 為使用者組指定新的組標識號。
- -o 與-g選項同時使用,使用者組的新GID可以與系統已有使用者組的GID相同。
- -n新使用者組 將使用者組的名字改為新名字
- 常用的選項有:
- 示例:
groupmod –g 10000 -n group3 group2
- 此命令將組group2的標識號改為10000,組名修改為group3。
切換當前使用者組
- 如果一個使用者同時屬於多個使用者組,那麼使用者可以在使用者組之間切換,以便具有其他使用者組的許可權
- 使用者可以在登入後,使用命令newgrp切換到其他使用者組,這個命令的引數就是目的使用者組。例如:
newgrp root
- 這條命令將當前使用者切換到root使用者組,前提條件是root使用者組確實是該使用者的主組或附加組。類似於使用者賬號的管理,使用者組的管理也可以通過整合的系統管理工具來完成。
與使用者賬號相關的系統檔案
- 完成使用者管理的工作有許多種方法,但是每一種方法實際上都是對有關的系統檔案進行修改。
- 與使用者和使用者組相關的資訊都存放在一些系統檔案中,這些檔案包括/etc/passwd, /etc/shadow, /etc/group等。
/etc/passwd檔案是使用者管理工作涉及的最重要的一個檔案。
-
Linux系統中的每個使用者都在/etc/passwd檔案中有一個對應的記錄行,它記錄了這個使用者的一些基本屬性。
這個檔案對所有使用者都是可讀的
# cat /etc/passwd root:x:0:0:Superuser:/: daemon:x:1:1:System daemons:/etc: bin:x:2:2:Owner of system commands:/bin: sys:x:3:3:Owner of system files:/usr/sys: adm:x:4:4:System accounting:/usr/adm: uucp:x:5:5:UUCP administrator:/usr/lib/uucp: auth:x:7:21:Authentication administrator:/tcb/files/auth: cron:x:9:16:Cron daemon:/usr/spool/cron: listen:x:37:4:Network daemon:/usr/net/nls: lp:x:71:18:Printer administrator:/usr/spool/lp: sam:x:200:50:Sam san:/home/sam:/bin/sh -
/etc/passwd中一行記錄對應著一個使用者,每行記錄又被冒號(:)分隔為7個欄位,其格式和具體含義為:
使用者名稱:口令:使用者標識號:組標識號:註釋性描述:主目錄:登入Shell
-
詳解:
1)"使用者名稱"是代表使用者賬號的字串。
通常長度不超過8個字元,並且由大小寫字母和/或數字組成。登入名中不能有冒號(