學習筆記(4)

學習筆記(4)

1. shell腳本中打印輸出內容時,若使用下面的格式要注意下面的EOF前面沒有空格
cat ?<<EOF
“**************************************************************************************”
“** This script can help your restart weblogic service and clear your weblogic cache. **”
“**************************************************************************************”
“Usage: ./RestartWeblogic_test.sh “
EOF
2.xargs 可以處理參數過長的問題,如 ls file* | xargs rm ? 如果file開頭的文件過多時,可以逐個刪除
? [root@centos6 zhanglei]#touch file{1..400000}
? -bash: /bin/touch: Argument list too long
? 此時可以使用 echo file{1..400000} | xargs rm ? xargs可以逐個刪除每個file
3.在tty的虛擬終端里面只需要使用Alt + f1(f2,f3) 就可以切換終端,無需使用Ctrl+Alt+f1(f2,f3),在圖形化界面里需要使用Ctrl + Alt + f1(f2,f3)
4.ctrl + c 關閉圖形化程序startx是在pts偽終端關閉的,而不是tty,圖形化程序與運行5級別有區別,5級別會運行一下其他的圖形化服務
5.使用vi編輯器打開多個文件可使用qall 全部關閉并且不保存,也可以使用wqall 全部保存并關閉
6.# sed -n ‘1~2p’ /etc/passwd ? ?打印奇數行,~2標示步進數,從第1行開始
7.# sed -n ‘2~2p’ /etc/passwd ? 打印偶數行,從第2行開始
8.watch -d -n 1 ‘ls -/home/zz’ ?實時查看zz某個目錄下變化情況,每一秒輸出一行
9.rename ‘hhh’ ‘HHH’ file* ? 將file開頭的文件名中包含的hhh修改成HHH
10.paste a b ? 將多個文件的內容合并,并用tab分隔符隔開
11.paste -d’+’ a b ?將多個文件的內容合并,并指定分割符為+號
12.cmd 2>all.log 1>&2 ?(cmd >all.log 2>&1) 兩種寫法均表示將正確重定向和錯誤重定向全部輸出至文件
13.tr -c ‘abc’ ‘123’ ?將非abc的字符全部轉成最后一個替換字符3
14 tr ‘a-z’ ‘A-Z’ file 將file中的小寫字母轉成大寫
? ?tr ‘abc’ ‘1234’ ? 將abc每個字符文件替換成123,4忽略
? ?tr -d ‘abc’ ? 刪除字符集中存在的abc字符
? ?tr -dc ‘abc’ ?刪除字符集中的非abc的字符
? ?tr -s ‘abc’ ? 壓縮字符集中連續的字符如aaa,bbb,cccc
15.cat > linux.txt 輸入內容至linux.txt文件,但是會清空源文件中的內容,若不相清空文件需要使用多行重定向 cat > linux.txt <<EOF 不保存退出使用Ctrl + c,保存退出使用 Ctrl + d
16.hexdump -C 1.txt 換行符對照ASCII碼,可以通過ASCii碼對照表查看特殊字符對應的10進制
17.tr -d ‘\15(\r)’ < win.txt > win2.txt ,tr不修改原文件,保留修改的后的內容需要使用重定向輸出
? ?tr -d ‘\r’ < win.txt |cat -A ?查看修改的后的文本內容
18.tr ‘\n’ ‘\t’ < linux.txt ?將文本內容的回車修改為水平制表符
19.tr -s ‘ ‘ < win3.txt ? 將文件中的內容多個空格壓縮成一個
? ?df |tr -s ‘ ‘ ‘:’| cut -d: -f1 將輸出的內容壓縮空格后將單個空格以:號替換,并打印:號分隔的第一列
20.tr -s ‘ ‘ ‘:’ < df.log ?壓縮字符集中的空格,并用:號分割
21.cat > f2 清空原文件,使用的是單行重定向,輸入過程中每一行會根據輸入回車來更新文件
22.<<EOF ?多行重定向,輸入的標記EOF左右無空格,通過輸入內容是否為標記符來判斷輸入內容是否完成,遇到標記符后才進行多行輸入至文件
? ?cat > A.txt <<EOF ?只有在輸入EOF之后才會將內容輸出至文件并保存
? ?mail -s “call” admin@localhost <<END(<file.txt 可以通過文件內容作為mail正文)
? ?mail -s “call” amdin@localhost ? 提示輸入正文,輸入.號表示輸入正文結束并發送郵件
? ?cat > f2 <<EOF 不會覆蓋原文件的內容,EOF結束標記的左右不能有空格,否則不算EOF結束符
23.tr ‘a-z’ ‘[:upper:]’ 不能混合使用,只能[:lower:] [:upper:] 或 ‘a-z’ ‘A-Z’
24.mail -s “help” root ?此命令以.結束輸入正文結束,正文可以存在變量,如$HOSTNAME,也可有命令替換,命令替換的均為發件人的信息
? ?mail -s “help” root 后面提示輸出的正文通過.來終止輸入并發送郵件
? ?使用mail查看郵件之后可使用q 來退出
25.管道是將前一個命令的標準輸出作為后一個命令的標準輸入,所以對于錯誤重定向需要使用2>&1 來轉換才可以作為下一條命令的輸入,也可以使用 |& 來實現
? ?ls /erro 2>&1 | tr ‘a-z’ ‘A-Z’ (|& ?centos6 版本以上) 將錯誤重定向和正確重定向管道至tr
26.echo {1..100} | tr ‘ ‘ + |bc (seq -s + 100 |bc) ?空格符號’ ‘ 不能使用[:space:]包括回車
27.管道中的 – 替換 如: tar -cvf – | tar -xvf – 打包以后再次拆包
28.ls | tee -a ls.log |tr -d ‘\n’ -a表示追加內容而不覆蓋,使用tee命令可以在保存輸出的情況下再此對輸出做進一步重定向
29.mail -s “help” root <<EOF ? 輸入mail郵件的正文并且以EOF判斷正文結束并發送郵件
30.ls | tr ‘\n’ ‘ ‘ 將ls輸出的內容中的回車 轉成空格符
31.cat -A win.txt ? -A選項查看特殊字取符集
32.tr -t ‘abcd’ ‘xyz’ -t選項會忽略后面無匹配項的d
? ?tr ‘abcd’ ‘xyz’ ?abc的匹配xyz,多出來的d也匹配z
33.openssl rand -base64 10 生成隨機數
? ?touch `openssl rand -base64 10 |tr -dc ‘[:alnum]’ | tr ‘[:upper:]’ ‘[:lower:]’`
34.wang g1 g2 g3 ?累加權限
35.pwunconv 密碼文件回復到源文件 pwconv
36.修改文件 重新登錄 獲取令牌,而非source
37.init=/bin/bash
? ?mount -o …
38.chfn wang 添加用戶描述
39.finger wang 查看用戶的描述信息,也可以使用 # cat /etc/passwd 查看
40.用戶家目錄的配置文件 .bash_profile ?.bashrc,配置文件來自 /etc/skel
41.cp -r ?/etc/skel/.* /data/wang ?此種寫法會包括..,因為..會將上一層的/etc所有為的文件拷貝過去,正確的寫法:cp -r /etc/skel/.[^.]* /data/wang
? ?注意:*號不包括隱藏文件
42.chsh -s /sbin/noglogin wang 為了安全,不能切換使用,鎖定可以,系統服務使用,修改shell類型,修改的就是passwd文件
43.net accounts ?windows 查看密碼有效期
44.authconfig –passalgo=sha256 –update 修改密碼策略其實修改的是配置文件是/etc/login.defs
45.openssl rand -base64 9 生成隨機密碼
46.shadow 中密碼位!!表示賬戶鎖定,刪除可!!可以直接登錄
47.usermod -U 賬號 ?去!號 rhel5可以 ??!雙保險,centos6以后不可以
48.usermod -L 鎖定可以切換,不能ssh登錄
49.passwd -e ?密碼立馬過期,登錄之后換密碼
50.change -d 0 用戶 口令立即失效
? ?chage wang ?chage -l wang
51./etc/default/useradd 有兩個字段?
52.useradd -N fastfs ?-N選項表示創建fastfs用戶并且不給出主組,直接使用默認的users組(cat /etc/default/useradd)
53.附加組 /etc/group ? ? groups root
54.id 、id root 顯示會有區別,id顯示的要比直接使用id root顯示的信息更加詳細
55.gpasswd mage
? ?newgrp mage
56.vipw vigr 帶語法檢測,防止語法錯誤無法開機,如沒有uid為0的賬戶
57.pwck ?grpck ?語法檢查 ?手動
? ?pwck -s ?可以按照uid的由小到大排序/etc/passwd文件,因為后加入的用戶不論uid大小均放到文件的最下面
? ?pwck -q ?做語法檢查時不輸出警告信息
? ?grpck -s ?可以按照gid的由小到大排序/etc/passwd文件
58.getent passwd(group) xixi ?直接查看passwd文件中的指定行(xixi用戶)
? ?getent group
? ?getent gshadow
? ?getent shadow
59.多服務器部署相同服務指定id號,所以可以指定創建用戶的uid號
60.id 命令會輸出用戶的安全上下文,id root不會輸出安全上下文
61.刪除用戶以后,用戶家目錄里面的文件的所屬組和所屬用戶的變為用戶的uid和gid
62.rpm -qp –scripts bind-9.9.4-37.el7.x86_64.rpm ?–scripts 查看軟件包安裝過程中的腳本
63.useradd -D ?顯示cat /etc/default/useradd 中的文件內容,也可以通過指定相應的參數來修改
64.echo $RANDOM ?輸出隨機數 (man bash) echo $[RANDOM%102+1]
65.newusers passwd 批量創建賬號
66.cat pass.txt | chpasswd ? 批量為用戶加口令,注意在pass.txt文件內容不允許有空格,創建的用戶不存在/etc/skel中的模板文件
? ?pass.txt 內容如下:用戶名和密碼用冒號分隔,并且每行一條
? ?username1: password1
? ?username2: password2
? ?cp -r /etc/skel/.[^.]* /home/zl1 來將模板文件拷貝至zl1中,注意要去除掉..,否則會將上級目錄也拷貝至zl1目錄中
? ?chown -R zl1:zl1 /home/zl1 將目錄及目錄下的文件用戶屬性和所屬組屬性全部修改成zl1
67.usermod -G “” wang (usermod -G wang wang)用于將wang賬戶中的附加組清空
68.id -gn wang ?id -Gn wang ? 顯示wang賬戶中的私有組或附加組
69.使用不完全切換需要使用當前目錄的情況下可以不用切換目錄,否則變成指定用戶的家目錄
70.su – root -c ‘ls’ ?切換用戶 并執行切換后用戶的命令
71.主組在有用戶存在的情況下不能刪除 ,因為每一個用戶必須屬于一個主組
72.groupmems -l -g g1 顯示組g1中有哪些用戶
73.groupmems -a wang -g g1
74.gpasswd -d wang g1
75.groups username 查看username中的組,包括主組和附加組
76.userdel -r zl -r選項不僅僅刪除用戶的家目錄還包括用戶的郵件
77.authconfig –passalgo=sha256 –update 修改密碼加密方法,默認是sha512(cat /etc/login.defs)
? ?useradd -u 1000 -c “test user” -d ?/data/zl zl 創建用戶之后查看 /etc/shadow文件對應的行
78.shadow 文件的格式
? ?zl:$5$0OAxljIs$Za5.tY3FFsS68dcF3GZ8qqaXfxdyj.yEOPjmLhlBcp4:17624:0:99999:7:3:100:
? ?root:用戶名
? ?$5$0OAxljIs$Za5.tY3FFsS68dcF3GZ8qqaXfxdyj.yEOPjmLhlBcp4:經過sha256加密的密碼(已經使用authconfig –passalgo=sha256 –update 修改)
? ? 5:表示的是經過的sha256加密
? ? $0OAxljIs$: 兩個$$之間的是salt ,即使用加密算法時添加的隨機數,所以相同的密碼后面的加密字符不會相同
? ?17624:表示上一次修改密碼的時間,即為距離1970.1.1至修改時間所過去的天數
? ? date +%s 查看現在時間距離1970.1.1過去的秒數
? ? 使用bc命令
? ? 1522724532/3600/24 = 17624 便可以計算出哪一天修改的密碼
? ?0: 表示密碼使用的最短日期,如果為3,則表示密碼最少要使用3天,0表示密碼隨時可以修改
? ?99999: 表示密碼的最長時間 99999表示密碼永遠不過期
? ?7:表示密碼即將過期的第7天發送提示信息
? ?3:表示密碼在過期之后還可以使用3天,但3天過后賬戶被鎖定
? ?100:表示多少天后賬號失效
79.chfn 提示輸入用戶的個人信息,修改完成后可以使用cat /etc/passwd 來查看
80.chsh 可以切換shell類型,修改的就是/etc/passwd指定的shell類型
? ?chsh -s /bin/csh zhanglei ? ?要是用shell類型的全路徑 cat /etc/shells
81.groupdel
82.groups 可以查看指定用戶的組,包括主組和附加組
? ?groups zl
83.groupmems -l -g zl 查看zl組內的成員用戶
84.gpasswd 為組添加密碼
85.newgrp ?當用戶具有多個組的時候可以使用newgrp來切換組
86.常用的配置文件路徑:
? ?cat /etc/skel
? ?cat /etc/default/useradd
? ?cat /etc/login.defs
87.gpasswd 為組添加密碼,任何一個用戶只要知道密碼都可以切換至該組,如果不設置組密碼則用戶不能使用newgrp來切換組,但是屬于同一個用戶的不同組可以使用newgrp來切換且不需要密碼
88.cat /etc/passwd |wc -l (sed -n ‘$=’ /etc/passwd) 都可以計算文件的行數
89.安全3A Authentication: 認證 ?Authorization: 授權 ?Audit 審計
90.在cp拷貝所有文件的時候要注意* 號不能匹配路徑匯總的隱藏文件

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96807

(0)
滌生滌生
上一篇 2018-04-22
下一篇 2018-04-22

相關推薦

  • 7月2日~7月8日作業

    1、列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。 ~]# who | cut -d ?‘ ?’ ? -f1 ?| ?sort ?-u 2、取出最后登入到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當作默認shell的最多的那個shell. 4、將/etc/passwd中的第三個字段數值最大的后10個用戶信息全…

    2018-07-07
  • 馬哥Linux云計算面授班第1天課堂筆記

    開班典禮,規章制度,自我介紹,寫博客

    2018-03-26
  • Linux系統啟動相關

    Linux系統啟動相關

    2018-04-13
  • shell腳本編程

    shell腳本基礎篇——簡單介紹腳本的書寫規范

    2018-04-12
  • 進程管理工具

    進程管理工具

    Linux筆記 2018-04-20
  • 課堂筆記

    cat— 文本文件 1.cat/etc/centos/—release看到發行版名稱 lsb—releas—a ? ? ? ? ? ? ? ? ?? 看到發行版名稱 (centors? 7上如果看不到發行版名稱,并不是沒有,而是沒有安裝對映的軟件,生產環境中都是最小化安裝,默認安裝是最小文件) 2.sz/etc/centos—release傳到w…

    Linux筆記 2018-07-24
欧美性久久久久