變量:
PS1
PATH
PWD
OLDPWD
HISTSIZE
SHELL
3A:
Authentication 認證
Authorization ?授權
Accouting|Audition 審計
token|identity 令牌
命令被另一個命令引用,需要“反向單引號
cat > f1 建立一個空文件,回車即開始輸入內容
hexdump -C f1.txt 查看某個文件的八進制內容
openssl rand -base64 12 隨機生成12個字符
tr命令:
tr ‘a-z’?‘A-Z’?命令小寫替換成大寫
tr ‘a-z’?‘A-Z’?< anaconda-ks.cfg > f1將某文件作為標準輸入,執行tr命令并最終輸出到f1文件
tr -s 壓縮
tr -c 取補集
\r 回車
\n換行
tr -d 刪除
tr -dc ‘abc’?回車后即需輸入待執行的字符串,最后按ctrl +d結算并退出
tr 命令接受通配符
<<end 多行輸入時,可設置終止詞
mail -s ‘hello’?wang 給wang賬戶發送郵件,寫完用 . 結束書寫;而收信者在登錄用戶后,輸入mail可查詢郵件,并輸入對應數字,可查看郵件內容,quit退出查看郵件
例如:mail -s ‘hello’?wang ?<<end
管道:
cmd1 | cmd2 利用管道,意為將cmd1的stdout(標準輸出)作為cmd2的stdin(|后面可不空格)
例如:ls /boot /error 2>&1 | tr ‘a-z’?‘A-Z’?等價于ls /boot /error |& tr ‘a-z’?‘A-Z’?偶有一些老版本不支持|&寫法
tar -cvf -/home | tar -xvf – 打包/home里的文件并作為管道后面的stdin,-表示前一個命令的stdout,因此不需要臨時file了
tee 命令同時實現ls和ls >file.log 即顯示,又重定向到file.log文件中
例如:ls | tee -a file.log 其中-a表示追加,并不覆蓋
seq 10 列出1到10,之間以回車隔開
seq -s + 100 |bc 也可以自動算1到100累加,等同于:echo {1..100} | tr ‘?’?‘+’?|bc
權限:
Username/UID 用戶權限
primary group 主要組:用戶必須有且僅有一個
supplementary group 附加組
例如:
如下圖,id默認只查詢自己的id數據:
第一行為用戶id的id名字和用戶編號;第二行為用戶所屬的組id名稱和組id的編號;第三行為上下文
如果有附加組,則會有groups=(gid)
Linux用戶和組的主要配置文件:
/etc/passwd 用戶及其屬性信息(名稱、UID、主組ID等)
/etc/group 組及其屬性信息
/etc/shadow 用戶密碼及其相關屬性
/etc/gshadow 組密碼及其相關屬性
chfn 用戶名 :添加用戶的一些信息(全名,辦公室,電話等)
finger 用戶名 :查看上面添加的用戶信息
chsh -s /bin/bash 用戶名 :為該用戶修改shell類型
passwd 用戶名,回車,輸入兩次新密碼:修改某用戶密碼
passwd -e 用戶名 :該用戶密碼立即過期
chage -d 0 用戶名 :同上
gpasswd 用戶名 :給該用戶加口令
newgrp 用戶名 :用戶加組
useradd 用戶名 :創建用戶
vipw :文本編輯器,相當于vi /etc/passwd 其中vi=nano,便于編輯用戶配置文件
vigr :編輯組配置文件的工具
pwck :檢查用戶配置文件格式是否有錯誤
grpck :檢查組配置文件
cat /etc/passwd :查看所有用戶的配置信息
getent passwd xx :只查看名為xx的用戶的配置信息
cat /etc/default/useradd :顯示創建用戶的相關默認信息
useradd -D :同上
newsusers /data/userlist.txt :相當于批量創建里面新添加的所有用戶
cat pass.txt |chpasswd :文件中格式為(用戶名:密碼,回車繼續下一個),批量修改密碼
su :切換用戶(不完全切換)
su – wang :完全切換用戶,沒有殘留!
文件的權限:
read :讀權限r
write :寫權限w
excute :執行權限x
chown chenjia f1 :把f1文件的所有者改為chenjia
chgrp chenjia f1 :把f1文件的所屬組改為chenjia
chown chenjia.g1 f1 :同時修改f1文件的用戶和組
groupmems -a chenjia -g g1 :將chenjia用戶增加到g1組
usermod -aG g2 chenjia :同上,加a是為了不覆蓋以前的附屬組g1
gpasswd -a chenjia g1 :將用戶加入g1組
用戶可以將屬于自己的文件拉入自己所在的所屬組,不能操作所有者不是自己的文件
chmod :修改權限
方法一 :chmod chenjia+|-|=rwx f1
例如:chmod chenjia u+r,g-r,o=r f1
方法二 :八進制數字授權
rwx=111 —=000
r– :4
-w- :2
–x :1
奇數必有執行權限
chmod –reference=f1 f2 f3 :參考f1文件的權限設置f2和f3的權限
chmod -R a+x dir1 :R表示遞歸,a表示all
用戶可以修改自己的文件的權限
管理員root不受r和w權限的控制
刪除某文件需要該文件所屬文件對應目前用戶有w權限,因為文件夾也算是文件,刪除其中的文件相當于刪除普通文件的某個字符,自然就需要該文件的w權限
獲取權限的順序:先看u權限,再看g,最后o
umask :查詢當前目錄下默認權限default的掩碼,意為取消對應的權限
umask+default=file666/dir777
對于文件:default=666-umask:對結果觀察,如果有奇數則+1,偶數不變
例如:執行umask 251
則接下來建立的文件夾默認權限為:777-251=526
文件默認權限為:666-251=415,426
若想永久有效,需寫入該用戶的.bashrc文件中
umsak -p :顯示為umask+掩碼
umask -S :查詢當前權限,并以字母模式顯示
umask u=rwx,g=r,o= : 也可以這樣設置權限
suid :繼承二進制所有者的權限;s=S+x;suid=4
sgid :繼承二進制所有組的權限;sgid=2
當作用于文件夾上時,意為該文件夾下創建的文件自動加入該文件夾的所屬組
sticky1 :粘滯位;作用在文件夾上:o+t,則在該目錄下,每個用戶只能刪除屬于自己的文件t=1
chattr +i dir :鎖定該目錄,不能刪除改名,修改;解鎖-i
chattr +a :只能追加內容
chattr +A :鎖定atime讀時間
lsattr dir :查看上面被鎖定的目錄的鎖定信息
ACL權限:
setfacl -m u:chenjia:rw f1 : 設置文件的附加用戶權限;沒有權限則寫0
getfacl f1 : 查看ACL權限
當某用戶同時屬于多個附加組時,所屬所有附加組權限疊加
setfacl -x g:g2 f1 : 刪除f1中g2組的ACL權限
setfacl -m mask::r f1 :對f1中除了user和other之外的所有用戶,設置最高權限
在設置了mask權限后,執行chmod g=rw f1 則是修改的mask權限,而不是組權限
setfacl -b f1 :清空所有ACL權限,變為普通權限
getfacl f1 | setfacl –set-file=- ?f2 :復制f1的權限給f2
備份與還原ACL
getfacl -R /tep/dir1 >acl.txt :備份權限到acl.txt文件
setfacl -R –set-file=acl.txt /tmp/dir1 : 用dir1還原ACL權限
setfacl –restore acl.txt : 用備份的acl.txt 文件還原ACL權限
tac :為cat的倒敘,列倒敘
rev :為行反轉
more : 一頁一頁看,q退出
less : 也可以分頁顯示,支持上下翻
head -n 3 /etc/passwd : 顯示前三行(默認顯示前十行)*支持標準輸入
head -c3 : 顯示前3個字節
tail :顯示后數十行,語法同head
tailf :等價于tail -f 跟蹤某個文件;-F跟蹤監控的比較全面
cut -d: -f 1 /etc/passwd : 以:為分隔符,截取文件中的第一列;空格用“ ”
制定輸出分隔符可后面接:–output-delimiter=STRING
paste f1 f2 :橫向合并兩個文件
paste -s f1 f2 :合并為同一行再合并兩個文件
paste -d”:”?f1 f2 :將默認用的tab鍵改為冒號
cat !* :縱向合并兩個文件
centos6 上執行: service iptables stop 關閉防火墻和:chkconfig iptables off 開機不啟動防火墻
centos7 上執行:sysytemctl stop firewalld 關閉防火墻和:systemctl disable firewalld 開機不啟動防火墻
wc f1 :word count簡寫,默認顯示文件默認顯示的行、單詞(不嚴謹)、字節
wc -l :看有多少行
wc -w :看有多少單詞
wc -c :看字節
wc -L :最長的那行有多少字節(長度)
pv page view :查看網站訪問數
sort -t: -k3 -nr / :t是識別分隔符,k是針對第幾列,n是當數字排序(默認是按照字母排序),r是倒敘
sort -u :刪除重復的
sort -R : 隨機排序
uniq :刪除相連的重復行 *支持標準輸入?。。?/p>
uniq -c f1 :顯示重復數
last :查看日志的命令,查詢用戶成功登陸的信息
diff -u f1 f2 >f3:比較兩個文件的不同,u可以看其他的一些區別,并將不同記入f3,用于恢復
patch -b :利用上面的f3可以恢復f1或者f2
gerp :文本三劍客之一,文本過濾工具
grep(支持正則表達式),egrep(-E支持擴展正則表達式),fgrep(-F不支持正則表達式)
alias grep=’grep –color=auto’?:寫入.bashrc中,改變過濾顏色,易于查看
grep -v : 排除搜索的字符串之外的
grep -i : 忽略大小寫
grep -n : 編輯出行號
grep -c : 顯示有該字符串的共幾行
grep -o : 只顯示字符串本身
grep -nA3 :A 為after,后面三行也顯示,B是before,前后都要為C
grep -e -e -e … : 或者關系,搜索多個關鍵詞的時候可用
grep -w :搜索單詞字符串
grep具有貪婪模式
通配符用于文件名,正則表達式用于文件內容
正則表達式:元字符分類:
字符匹配:
.表示任意單一字符
\轉義,轉換為本身的含義
[] 表示其中任意的一個字符,其中可加^表示除了指定字符
匹配次數:
*表示前面出現的字符任意次,包括0
.*表示任意長度的字符
\?表示前面字符0或1次
\+表示前面字符至少1次
\{n\} : 匹配前面字符n次
\{m,n\} : 匹配前面字符至少m次,至多n次
\{,n\} : 至多n次
\{n,\} : 至少n次
位置錨定:
^ : 行首錨定
$ : 行尾錨定
\< : 單詞的開頭
\> : 單詞的結尾
\b : 單詞的邊界
分組:
\(\) : 把多個字符當做一個整體進行處理
后向引用:
分組后可接\1表示第一個分組再次出現
或者:\|
cat /etc/redhad-release : 查看版本信息
vi:文本編輯工具
vim是vi的升級版
vim +10 :直接從第十行開始編輯
vim -d f1 f2 : 比較兩個文件
i鍵進入可插入模式,esc退回到默認命令模式,大寫的i跳行首
A鍵去行尾
o下一行開始輸入,O上一行開始輸入
命令模式下:進入ex模式:w存盤,q退出,q!不保存退出
w f3 : 另存到f3
w!強制覆蓋
r f3 : 將f3的文件寫入
x :刪除光標所在的字符
~ :轉換大小寫
J : 刪除行后的換行符
r :替換一個字符
y :復制
c $ :修改后進入插入模式
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95536