1. 程式人生 > 實用技巧 >Linux中的命令、bash特性、使用者及許可權筆記day03

Linux中的命令、bash特性、使用者及許可權筆記day03

Linux的發行版、核心的關係

LFS(Linux From Scratch)、Gentoo、RedHat、SUSE、Debian

目錄管理命令:ls、cd、pwd、mkdir、rmdir、tree

檔案管理命令:touch、stat、file、rm、cp、mv、nano

日期時間管理命令:date、clock、hwclock、cal

檢視文字:cat、tac、more、less、head、tail

wKioL1fvdnDhTI89AAAgN-1TM8o112.png


文字處理:cut、join、sed、awk、grep、

wKiom1fvfCqSv542AAApuscWA6s760.png

wKioL1fvfDqBhLOUAAARuZu4kCE615.png

cut:-d指定欄位分隔符,預設是空格

-f指定要顯示的欄位


文字排序:sort、

sort:-n(數值排序)、-r(數值降序)、-t(欄位分隔符)、-k(以哪個欄位為關鍵字進行排序)、-u(排序後相同的行只顯示一次)、-f(排序時忽略字元大小寫)

wKiom1fvfkWDf4aoAAASpAG5ru0369.png


uniq:-c(顯示檔案中進行重複的次數)、-d(只顯示重複的行)

wKioL1fvggvxPnetAAARtn9b_Js791.png


文字統計:wc(word count)

字元處理命令:tr(轉換或刪除字元)


bash及其特性:

shell:外殼,是一種應用程式

GUI:Gnome、KDE、Xfce

CLI:sh、csh、ksh、bash、tcsh、zsh


bash:

1、命令歷史、命令補全

2、管道、重定向

3、命令別名

4、命令列編輯

5、檔名通配

6、變數

7、程式設計

8、命令列展開


命令列編輯:

Ctrl+a:跳轉到命令列首

Ctrl+e:跳轉到命令列尾

Ctrl+u:刪除游標至命令列首的內容

Ctrl+k:刪除游標至命令列尾的內容

Ctrl+l:清屏


命令歷史:

檢視命令歷史:history

-c:清空命令歷史

-dOFFSET [n]:刪除指定位置的命令

-w:儲存命令至歷史檔案中


環境變數:

PATH:命令搜尋路徑

HISTSIZE:命令歷史緩衝區大小


命令歷史的使用技巧:

!n:執行命令歷史中的第n條命令

!-n:執行命令歷史中的倒數第n條命令

!!:執行上一條命令

wKiom1fv0sPzv0jDAAAz0rsYbWs190.png


!string:執行命令歷史中最後一個以指定字串開頭的命令

!$:引用前一個命令的最後一個引數

Esc, .:

Alt+.:


命令補全:

PATH:

路徑補全:


命令別名:

aliasCOMMAND='COMMAND[options][arguments]'

在shell定義中的別名僅在當前的shell生命週期中有效,別名的有效範圍僅為當前shell程序。

unaliasCMDALIAS撤銷別名

wKiom1fv14KgxWq1AAARrmHzktQ449.png


命令替換$(COMMAND):把命令中某個字命令替換為其執行結果的過程

wKiom1fv2aDj9x_LAAAKwAZvyx8153.png

反引號:`COMMAND`

bahs支援的引號:

‘’:命令替換

“”:弱引用,可以實現變數替換

``:強引用,不完成變數替換


檔名通配:globbing

*:可以匹配任意長度的任意字元

wKioL1fv21Xym8JiAAAUBeUz-us147.png

?:匹配任意單個字元

wKiom1fv3IainzshAAAKwAZvyx8855.png

[]:匹配指定範圍內的任意單個字元[abc],[a-z],[A-Z],[0-9,a-z,A-Z]

[:space:]:空白字元

[:punct:]:標點符號

[:lower:]:小寫字母

[:upper:]:大寫字母

[:alpha:]:大小寫字母

[:digit:]:數字

[:alnum:]:數字和大小寫字母

可以是命令man7glob

wKiom1fv3z-gUf99AAB_E1qqPbU946.png

wKioL1fv4DDhAQ-JAAAlweix2aA390.png


[^]:匹配指定範圍外的任意單個字元


使用者、組、許可權

許可權:r(可讀,可以使用類似cat等命令檢視檔案的內容)、w(可寫,可以編輯或者刪除此檔案)、x(可執行,excutable,可以命令提示符下當作命令交給核心執行)

使用者:就是獲取資源或服務的識別符號而已。

使用者裝在容器中,容器關聯許可權:使用者組,方便地指派許可權,使用者組也是識別符號

安全上下文(securecontext)

不同使用者訪問同一個命令,比如ls,它們的訪問許可權是不一樣的,訪問許可權取決於ls檔案所屬主和組的許可權。而不同使用者它們的許可權是不一樣的。


目錄:

r:可以對此目錄執行ls以列出內部的所有檔案。

w:可以在此目錄建立檔案

x:可以使用cd切換進此目錄,也可以使用ls-l檢視內部檔案的詳細資訊。


rwx:

r--:可讀

r-x:可讀和執行

---:無許可權


0000---:無許可權

1001--x:執行

2010-w-:寫

3 011-wx:寫和執行

4100r--:只讀

5101r-x:讀和執行

6110rw-:讀寫

7111rwx:讀寫執行

rw-rw----:660


使用者:UIDetc/passwd

組:GIDetc/group


影子口令 :

使用者:etc/shadow

組:etc/gshadow


使用者型別:

管理員:0

普通使用者:1~65535

系統使用者:1~499

一般使用者:500~60000


使用者組型別:

管理員組:

普通組:

系統組:

一般組:


使用者組類別:

基本組:使用者的預設組

私有組:建立使用者時,如果沒有為其指定所屬組,系統會自動為其建立一個與使用者名稱同名的組

附加組:額外組,預設組以外的其它組。

/etc/passwd的檔案資訊:

wKioL1fwePLDmElRAABHEEni0Wg278.png

account:登入名

password:密碼

UID:

GID:基本組ID

comment:註釋

HOMEDIR:家目錄

SHELL:使用者的預設shell


/etc/shadow的檔案資訊

wKiom1fwenXSs4qRAAAK0si1BgI863.png

wKioL1fwe46hEUlNAAA1hTcsogs515.png

account:登入名

encrytedpassword:加密的密碼


加密方法:

對稱加密:加密和解密都要使用同一個密碼。

公鑰加密:每個密碼都要成對出現,一個為私鑰(securekey),一個為公鑰(publickey)。

單向加密:雜湊加密,提前資料的特徵碼,常用於資料完整性加密。能加密不能解密

1、雪崩效應(初始量的微小變化,引起結果的巨大改變)

2、定長輸出

比較常用的有:MD5(MessageDigest)128位定長輸出;SHA1(SecureHashAlgorithm),160位定長輸出。

wKioL1fwgjCCk3dHAABKBEFhdVQ587.png

wKioL1fwg0_DTBUZAAAhbxgiXfk733.png

wKioL1fwg5uR-GTuAAAHbV5LvUM506.png


轉載於:https://blog.51cto.com/shenlibing666/1858295