一、常用命令
1.文件管理
20>sed 流編輯器混驰,一次處理一行內(nèi)容癞志,主要用來自動(dòng)編輯一個(gè)或多個(gè)文件
格式:[-nefr] [動(dòng)作] [文件] 選項(xiàng): -e<script>或--expression=<script>:以選項(xiàng)中的指定的script來處理輸入的文本文件硼砰; -f<script文件>或--file=<script文件>:以選項(xiàng)中指定的script文件來處理輸入的文本文件糠赦; -h或--help:顯示幫助碎罚; -n或--quiet或——silent:僅顯示script處理后的結(jié)果磅废; -V或--version:顯示版本信息。 -i :直接修改讀取的文件內(nèi)容荆烈,而不是輸出到終端拯勉。 參數(shù): 文件:指定待處理的文本文件列表。 命令: a\ 在當(dāng)前行下面插入文本憔购。 i\ 在當(dāng)前行上面插入文本宫峦。 c\ 把選定的行改為新的文本。 d 刪除玫鸟,刪除選擇的行导绷。 D 刪除模板塊的第一行。 s 替換指定字符 h 拷貝模板塊的內(nèi)容到內(nèi)存中的緩沖區(qū)屎飘。 H 追加模板塊的內(nèi)容到內(nèi)存中的緩沖區(qū)诵次。 g 獲得內(nèi)存緩沖區(qū)的內(nèi)容账蓉,并替代當(dāng)前模板塊中的文本。 G 獲得內(nèi)存緩沖區(qū)的內(nèi)容逾一,并追加到當(dāng)前模板塊文本的后面铸本。 l 列表不能打印字符的清單。 n 讀取下一個(gè)輸入行遵堵,用下一個(gè)命令處理新的行而不是用第一個(gè)命令箱玷。 N 追加下一個(gè)輸入行到模板塊后面并在二者間嵌入一個(gè)新行,改變當(dāng)前行號(hào)碼陌宿。 p 打印模板塊的行锡足。 P(大寫) 打印模板塊的第一行。 q 退出Sed壳坪。 b lable 分支到腳本中帶有標(biāo)記的地方舶得,如果分支不存在則分支到腳本的末尾。 r file 從file中讀行爽蝴。 t label if分支沐批,從最后一行開始,條件一旦滿足或者T蝎亚,t命令九孩,將導(dǎo)致分支到帶有標(biāo)號(hào)的命令處,或者到腳本的末尾发框。 T label 錯(cuò)誤分支躺彬,從最后一行開始,一旦發(fā)生錯(cuò)誤或者T梅惯,t命令宪拥,將導(dǎo)致分支到帶有標(biāo)號(hào)的命令處,或者到腳本的末尾铣减。 w file 寫并追加模板塊到file末尾她君。 W file 寫并追加模板塊的第一行到file末尾。 ! 表示后面的命令對(duì)所有沒有被選定的行發(fā)生作用徙歼。 = 打印當(dāng)前行號(hào)碼犁河。 # 把注釋擴(kuò)展到下一個(gè)換行符以前鳖枕。 sed替換標(biāo)記 g 表示行內(nèi)全面替換魄梯。 p 表示打印行。 w 表示把行寫入一個(gè)文件宾符。 x 表示互換模板塊中的文本和緩沖區(qū)中的文本酿秸。 y 表示把一個(gè)字符翻譯為另外的字符(但是不用于正則表達(dá)式) \1 子串匹配標(biāo)記 & 已匹配字符串標(biāo)記 sed元字符集 ^ 匹配行開始,如:/^sed/匹配所有以sed開頭的行魏烫。 $ 匹配行結(jié)束辣苏,如:/sed$/匹配所有以sed結(jié)尾的行肝箱。 . 匹配一個(gè)非換行符的任意字符,如:/s.d/匹配s后接一個(gè)任意字符稀蟋,最后是d煌张。 * 匹配0個(gè)或多個(gè)字符,如:/*sed/匹配所有模板是一個(gè)或多個(gè)空格后緊跟sed的行退客。 [] 匹配一個(gè)指定范圍內(nèi)的字符骏融,如/[ss]ed/匹配sed和Sed。 [^] 匹配一個(gè)不在指定范圍內(nèi)的字符萌狂,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一個(gè)字母開頭档玻,緊跟ed的行。 \(..\) 匹配子串茫藏,保存匹配的字符误趴,如s/\(love\)able/\1rs,loveable被替換成lovers务傲。 & 保存搜索字符用來替換其他字符凉当,如s/love/**&**/,love這成**love**树灶。 \< 匹配單詞的開始纤怒,如:/\<love/匹配包含以love開頭的單詞的行。 \> 匹配單詞的結(jié)束天通,如/love\>/匹配包含以love結(jié)尾的單詞的行泊窘。 x\{m\} 重復(fù)字符x,m次像寒,如:/0\{5\}/匹配包含5個(gè)0的行烘豹。 x\{m,\} 重復(fù)字符x,至少m次诺祸,如:/0\{5,\}/匹配至少有5個(gè)0的行携悯。 x\{m,n\} 重復(fù)字符x,至少m次筷笨,不多于n次憔鬼,如:/0\{5,10\}/匹配5~10個(gè)0的行。
#1.增加 #a,追加胃夏,a后面可以接字符串轴或,但是注意:新接的字符串會(huì)出現(xiàn)在下一行 # 不使用-i時(shí),sed操作結(jié)果不會(huì)寫入文件 yangyang@yangyang-virtualmachine:~$ cd Desktop/ yangyang@yangyang-virtualmachine:~/Desktop$ ls a a1.txt a2.txt a.txt b.txt yangyang@yangyang-virtualmachine:~/Desktop$ vim a1.txt yangyang@yangyang-virtualmachine:~/Desktop$ sed "/^text/a\pppppp" a1.txt #匹配后追加 this is a test text pppppp hello uuuu ppppp yangyang@yangyang-virtualmachine:~/Desktop$ sed -i "2a\python1805" a1.txt #第2行追加 yangyang@yangyang-virtualmachine:~/Desktop$ vim a1.txt #i,插入,和a之間的區(qū)別在于添加到了匹配到的行的前面 yangyang@yangyang-virtualmachine:~/Desktop$ sed "/^text/i\pppppp111" a1.txt #匹配后插入 this is a test pppppp111 text python1805 hello uuuu ppppp #2.刪除 #d,刪除仰禀,注意:所有d后面不接任何內(nèi)容 yangyang@yangyang-virtualmachine:~/Desktop$ sed "3d" a1.txt #刪除第3行 this is a test text hello uuuu ppppp yangyang@yangyang-virtualmachine:~/Desktop$ sed "1,3d" a1.txt #刪除1到3行 hello uuuu ppppp yangyang@yangyang-virtualmachine:~/Desktop$ cat a1.txt this is a test text python1805 hello uuuu ppppp yangyang@yangyang-virtualmachine:~/Desktop$ sed "1d;3d;5d" a1.txt #刪除1 3 5 行 text hello ppppp yangyang@yangyang-virtualmachine:~/Desktop$ cat a1.txt this is a test text python1805 hello uuuu ppppp #3.替換 #s 用exam替換text yangyang@yangyang-virtualmachine:~/Desktop$ sed "s/text/exam/" a1.txt this is a test exam python1805 hello uuuu ppppp yangyang@yangyang-virtualmachine:~/Desktop$ cat a1.txt this is a test
21>打包和壓縮
打包:將一大堆的文件或者目錄變成一個(gè)總的文件
壓縮:將一個(gè)較大的文件處理成一個(gè)較小的文件
操作:先打包【tar命令】-----》壓縮【gzip命令和bzip2等】
a.tar 可以把一大堆的文件和目錄全部打包成一個(gè)文件
-A或--catenate:新增文件到已存在的備份文件照雁;
-B:設(shè)置區(qū)塊大小答恶;-c或--create:建立新的備份文件饺蚊;
-c :建立一個(gè)壓縮文件的參數(shù)指令(create 的意思)萍诱;
-C <目錄>:這個(gè)選項(xiàng)用在解壓縮,若要在特定目錄解壓縮污呼,可以使用這個(gè)選項(xiàng)裕坊。
-d:記錄文件的差別;
-x或--extract或--get:從備份文件中還原文件燕酷;
-z或--gzip或--ungzip:通過gzip指令處理備份文件碍庵;
-Z或--compress或--uncompress:通過compress指令處理備份文件;
-f<備份文件>或--file=<備份文件>:指定備份文件悟狱;
-v或--verbose:顯示指令執(zhí)行過程静浴;
-r:添加文件到已經(jīng)壓縮的文件;
-u:添加改變了和現(xiàn)有的文件到已經(jīng)存在的壓縮文件挤渐;
-j:支持bzip2解壓文件苹享;
-v:顯示操作過程;
-l:文件系統(tǒng)邊界設(shè)置浴麻;
-k:保留原有文件不覆蓋得问;
-m:保留文件不被覆蓋;
-w:確認(rèn)壓縮文件的正確性软免;
-p或--same-permissions:用原來的文件權(quán)限還原文件宫纬;
-P或--absolute-names:文件名使用絕對(duì)名稱,不移除文件名稱前的“/”號(hào)膏萧;
-N <日期格式> 或 --newer=<日期時(shí)間>:只將較指定日期更新的文件保存到備份文件里漓骚;
--exclude=<范本樣式>:排除符合范本樣式的文件。演示命令: yangyang@yangyang-virtualmachine:~/Desktop$ ls a a1.txt a2.txt a.txt b.txt #創(chuàng)建一個(gè)打包文件,顯示進(jìn)度. yangyang@yangyang-virtualmachine:~/Desktop$ tar -cvf log.tar a1.txt a1.txt yangyang@yangyang-virtualmachine:~/Desktop$ rm -rf log.tar yangyang@yangyang-virtualmachine:~/Desktop$ tar -zcvf log.tar.gz a1.txt a1.txt yangyang@yangyang-virtualmachine:~/Desktop$ rm -rf log.tar.gz yangyang@yangyang-virtualmachine:~/Desktop$ tar -jcvf log.tar.bz2 a1.txt a1.txt
總結(jié):
-cvf:直接打包榛泛,但是不壓縮
-xvzf:解壓用tar壓縮的gz格式的包
-zcvf:.tar.gz代表的是使用gzip壓縮的包 (用得最多r蝓濉)
-jcvf:.tar.bz2代表的是使用bzip2壓縮的包
zcat xx.gz 查看gz壓縮包內(nèi)容
bzcat xx.bz2 查看bz2壓縮包內(nèi)容
b.gzip 對(duì)文件進(jìn)行壓縮和解壓縮,壓縮之后用“.gz”作為擴(kuò)展名
? 還可以和tar命令一起構(gòu)成Linux操作系統(tǒng)中比較流行的壓縮文件格式
-d或--decompress或----uncompress:解開壓縮文件曹锨;
-f或——force:強(qiáng)行壓縮文件孤个。不理會(huì)文件名稱或硬連接是否存在以及該文件是否為符號(hào)連接;
-l或——list:列出壓縮文件的相關(guān)信息沛简;
-L或——license:顯示版本與版權(quán)信息齐鲤;
-n或--no-name:壓縮文件時(shí),不保存原來的文件名稱及時(shí)間戳記椒楣;
-N或——name:壓縮文件時(shí)给郊,保存原來的文件名稱及時(shí)間戳記;
-q或——quiet:不顯示警告信息撒顿;
-r或——recursive:遞歸處理丑罪,將指定目錄下的所有文件及子目錄一并處理荚板;
-t或——test:測(cè)試壓縮文件是否正確無誤凤壁;
-v或——verbose:顯示指令執(zhí)行過程吩屹;
-V或——version:顯示版本信息;演示命令: angyang@yangyang-virtualmachine:~$ cd Desktop/ yangyang@yangyang-virtualmachine:~/Desktop$ gzip * #全部壓縮 yangyang@yangyang-virtualmachine:~/Desktop$ gzip -dv * #全部解壓 a1.txt.gz: 8.3% -- replaced with a1.txt a2.txt.gz: 9.1% -- replaced with a2.txt a.gz: 2.4% -- replaced with a a.txt.gz: 7.1% -- replaced with a.txt b.txt.gz: 0.0% -- replaced with b.txt yangyang@yangyang-virtualmachine:~/Desktop$ gzip * yangyang@yangyang-virtualmachine:~/Desktop$ gzip -l * #顯示壓縮后的信息 compressed uncompressed ratio uncompressed_name 69 48 8.3% a1.txt 35 11 9.1% a2.txt 60 41 2.4% a 76 56 7.1% a.txt 26 0 0.0% b.txt 266 156 -55.1% (totals) yangyang@yangyang-virtualmachine:~/Desktop$ mkdir check yangyang@yangyang-virtualmachine:~/Desktop$ cd check/ yangyang@yangyang-virtualmachine:~/Desktop/check$ touch a.txt yangyang@yangyang-virtualmachine:~/Desktop/check$ touch b.txt yangyang@yangyang-virtualmachine:~/Desktop/check$ touch c.txt yangyang@yangyang-virtualmachine:~/Desktop/check$ mkdir text yangyang@yangyang-virtualmachine:~/Desktop/check$ cd .. yangyang@yangyang-virtualmachine:~/Desktop$ gzip -rv check #遞歸壓縮并且顯示進(jìn)度 #注意:只是將目錄下的文件全部遞歸壓縮拧抖,對(duì)子目錄不做操作 check/a.txt: 0.0% -- replaced with check/a.txt.gz check/b.txt: 0.0% -- replaced with check/b.txt.gz check/c.txt: 0.0% -- replaced with check/c.txt.gz yangyang@yangyang-virtualmachine:~/Desktop$ gzip -dr check #遞歸解壓
2.vi和vim編輯器
vi命令是UNIX操作系統(tǒng)最通用的全屏幕純文本編輯器煤搜。Linux中的vi編輯器叫vim,它是vi的增強(qiáng)版(vi Improved)唧席,與vi編輯器完全兼容擦盾,而且實(shí)現(xiàn)了很多增強(qiáng)功能
vim編輯器工作模式有三種:命令模式,輸入模式【編輯模式】淌哟,末行模式
輸入模式:可以完成文本文檔的編輯操作
命令模式:可以完成對(duì)文本的操作命令
掌握:掌握三種工作模式之間的任意切換
進(jìn)入vi的命令 vim filename :打開或新建文件迹卢,并將光標(biāo)置于第一行首 ****** vi +n filename :打開文件,并將光標(biāo)置于第n行首 vi + filename :打開文件徒仓,并將光標(biāo)置于最后一行首 vi filename1 filename2 :同時(shí)打開多個(gè)文件 演示命令: yangyang@yangyang-virtualmachine:~/Desktop$ vim a1.txt yangyang@yangyang-virtualmachine:~/Desktop$ vim +3 a1.txt yangyang@yangyang-virtualmachine:~/Desktop$ vim + a1.txt 插入文本類命令 i :在光標(biāo)前 ****** I :在當(dāng)前行首 a:光標(biāo)后 ****** A:在當(dāng)前行尾 o:在當(dāng)前行之下新開一行 ****** O:在當(dāng)前行之上新開一行 r:替換當(dāng)前字符 R:替換當(dāng)前字符及其后的字符腐碱,直至按ESC鍵 s:刪除光標(biāo)所在的字符并開始插入 移動(dòng)光標(biāo) #在命令模式下使用 j或下箭頭 向下移動(dòng)一行 k或上箭頭 向上移動(dòng)一行 h或左箭頭 左移一個(gè)字符 l或右箭頭 右移一個(gè)字符 w 右移一個(gè)詞 W 右移一個(gè)以空格分隔的詞 b 左移一個(gè)詞 B 左移一個(gè)以空格分隔的詞 0 移到行首 Ctrl-F 向前翻頁 Ctrl-B 向后翻頁 nG 到第n行 ------》先按下數(shù)字,再按下G G 到最后一行 gg 第一行 -----》先按下g掉弛,再按下g n+ 光標(biāo)下移n行 n- 光標(biāo)上移n行 esc:退出輸入模式 :set number:在命令模式下症见,用于在最左端顯示行號(hào); :set nonumber:在命令模式下殃饿,用于在最左端不顯示行號(hào)谋作; 保存退出 :wq 執(zhí)行存盤退出操作; #對(duì)內(nèi)容做修改之后使用乎芳,保存退出 ***** :wq! #修改之后并且強(qiáng)制保存退出 :w 執(zhí)行存盤操作遵蚜; :w! 執(zhí)行強(qiáng)制存盤操作奈惑; :q 執(zhí)行退出vi操作谬晕; :q! 執(zhí)行強(qiáng)制退出vi操作携取; #如果沒有任何修改的時(shí)候使用 ****** :e文件名 打開并編輯指定名稱的文件攒钳; :n! 如果同時(shí)打開多個(gè)文件,則保存上個(gè)文件繼續(xù)編輯下一個(gè)文件雷滋; :f 用于顯示當(dāng)前的文件名不撑、光標(biāo)所在行的行號(hào)以及顯示比例; 刪除操作【注意:和上面的插入文本類沒有關(guān)系晤斩,進(jìn)入vim后直接使用】 #在命令模式下使用 x 刪除光標(biāo)處的單個(gè)字符 dd 刪除光標(biāo)所在行 dw 刪除當(dāng)前字符到單詞尾(包括空格)的所有字符 de 刪除當(dāng)前字符到單詞尾(不包括單詞尾部的空格)的所有字符 d$ 刪除當(dāng)前字符到行尾的所有字符 d^ 刪除當(dāng)前字符到行首的所有字符 J 刪除光標(biāo)所在行行尾的換行符焕檬,相當(dāng)于合并當(dāng)前行和下一行的內(nèi)容 替換操作 :s/old/new/ 將當(dāng)前行中查找到的第一個(gè)字符“old” 串替換為“new” :#,#s/old/new 在行號(hào)“#,#”范圍內(nèi)替換所有的字符串“old”為“new” :%s/old/new/g 在整個(gè)文件范圍內(nèi)替換所有的字符串“old”為“new” :s/old/new/c 在替換命令末尾加入c命令,將對(duì)每個(gè)替換動(dòng)作提示用戶進(jìn)行確認(rèn) 撤消操作 【注意:直接在輸入模式下使用】 u取消最近一次的操作澳泵,并恢復(fù)操作結(jié)果 ***** #可以多次使用u命令恢復(fù)已進(jìn)行的多步操作 U取消對(duì)當(dāng)前行進(jìn)行的所有操作 Ctrl + r對(duì)使用u命令撤銷的操作進(jìn)行恢復(fù)
3.用戶管理
用戶管理包括用戶和組賬號(hào)的管理
在Linux系統(tǒng)中实愚,每個(gè)系統(tǒng)都必須有一個(gè)賬號(hào),并且對(duì)于不同的系統(tǒng)資源的使用權(quán)限
root:超級(jí)管理員,通常用于系統(tǒng)的管理和維護(hù)腊敲,對(duì)Linux系統(tǒng)具有不受任何限制的操作權(quán)限
linux使用文件保存用戶信息 /etc/passwd 用戶賬戶信息击喂。 /etc/shadow 安全用戶賬戶信息。 /etc/group 組賬戶信息碰辅。 /etc/gshadow 安全組賬戶信息懂昂。 /etc/default/useradd 賬戶創(chuàng)建的默認(rèn)值。 /etc/skel/ 包含默認(rèn)文件的目錄没宾。 /etc/login.defs Shadow 密碼套件配置凌彬。
1>whoami 查看當(dāng)前系統(tǒng)當(dāng)前用戶的用戶名
演示命令: yangyang@yangyang-virtualmachine:/$ su root 密碼: root@yangyang-virtualmachine:/# whoami root
2>who 查看當(dāng)前所有登錄系統(tǒng)的用戶信息
-q:只顯示用戶的登錄賬號(hào)的和登錄用戶的數(shù)量 -u:顯示列標(biāo)題 演示命令: root@yangyang-virtualmachine:/# su yangyang yangyang@yangyang-virtualmachine:/$ who yangyang tty7 2018-06-28 08:54 (:0) yangyang@yangyang-virtualmachine:/$ who -q yangyang # 用戶數(shù)=1 yangyang@yangyang-virtualmachine:/$ who -u yangyang tty7 2018-06-28 08:54 02:42 8992 (:0)
3>exit 退出
如果切換后的用戶,則返回上一個(gè)登錄的賬號(hào)
演示命令: yangyang@yangyang-virtualmachine:/$ su root 密碼: root@yangyang-virtualmachine:/# exit exit yangyang@yangyang-virtualmachine:/$ su root 密碼: root@yangyang-virtualmachine:/# su yangyang yangyang@yangyang-virtualmachine:/$ su 密碼: root@yangyang-virtualmachine:/# exit exit yangyang@yangyang-virtualmachine:/$ su - #shell環(huán)境也換成root 密碼: root@yangyang-virtualmachine:~# exit 注銷
4>su 切換用戶
注意:如果不知名用戶名循衰,則默認(rèn)切換到root用戶
用法:
? su 用戶名
? su - 用戶名
演示命令: yangyang@yangyang-virtualmachine:/$ su - root 密碼: root@yangyang-virtualmachine:~# su - yangyang yangyang@yangyang-virtualmachine:~$ pwd /home/yangyang yangyang@yangyang-virtualmachine:~$
5>useradd 添加用戶
注意:添加普通用戶铲敛,只能通過root添加
-c 備注 加上備注。并會(huì)將此備注文字加在/etc/passwd中的第5項(xiàng)字段中
-d 用戶主文件夾会钝。指定用戶登錄所進(jìn)入的目錄原探,并賦予用戶對(duì)該目錄的的完全控制權(quán)
-e 有效期限。指定帳號(hào)的有效期限顽素。格式為YYYY-MM-DD咽弦,將存儲(chǔ)在/etc/shadow
-f 緩沖天數(shù)浆竭。限定密碼過期后多少天泵额,將該用戶帳號(hào)停用
-g 主要組。設(shè)置用戶所屬的主要組 www.cit.cn
-G 次要組犹菇。設(shè)置用戶所屬的次要組全蝶,可設(shè)置多組
-M 強(qiáng)制不創(chuàng)建用戶主文件夾
-m 強(qiáng)制建立用戶主文件夾闹蒜,并將/etc/skel/當(dāng)中的文件復(fù)制到用戶的根目錄下
-p 密碼。輸入該帳號(hào)的密碼
-s shell抑淫。用戶登錄所使用的shell
-u uid绷落。指定帳號(hào)的標(biāo)志符user id,簡(jiǎn)稱uid演示命令: #第一種方式添加用戶 yangyang@yangyang-virtualmachine:~$ su root 密碼: root@yangyang-virtualmachine:/home/yangyang# useradd zhangsan #添加用戶 root@yangyang-virtualmachine:/home/yangyang# su yangyang yangyang@yangyang-virtualmachine:~$ ls /home/ yangyang #本質(zhì)沒有添加進(jìn)來 yangyang@yangyang-virtualmachine:~$ su root 密碼: root@yangyang-virtualmachine:/home/yangyang# mkdir /home/zhangsan #在home目錄下創(chuàng)建一個(gè)和用戶同名的目錄 root@yangyang-virtualmachine:/home/yangyang# exit exit yangyang@yangyang-virtualmachine:~$ ls /home/ yangyang zhangsan yangyang@yangyang-virtualmachine:~$ ls -l /home/ 總用量 8 drwxr-xr-x 31 yangyang rock 4096 6月 28 11:13 yangyang drwxr-xr-x 2 root root 4096 6月 28 14:17 zhangsan yangyang@yangyang-virtualmachine:~$ sudo chown zhangsan:zhangsan /home/zhangsan #將新建的用戶和新建的用戶目錄聯(lián)系起來 [sudo] yangyang 的密碼: yangyang@yangyang-virtualmachine:~$ ls -l /home/ 總用量 8 drwxr-xr-x 31 yangyang rock 4096 6月 28 11:13 yangyang drwxr-xr-x 2 zhangsan zhangsan 4096 6月 28 14:17 zhangsan yangyang@yangyang-virtualmachine:~$ sudo passwd zhangsan 輸入新的 UNIX 密碼: 重新輸入新的 UNIX 密碼: passwd:已成功更新密碼 yangyang@yangyang-virtualmachine:~$ ls /home/ yangyang zhangsan yangyang@yangyang-virtualmachine:~$ su - zhangsan 密碼: $ ls $ su yangyang 密碼: yangyang@yangyang-virtualmachine:/home/zhangsan$ cd ../.. yangyang@yangyang-virtualmachine:/$ ls -a /home/yangyang/.bash* #查看配置文件 /home/yangyang/.bash_history /home/yangyang/.bashrc /home/yangyang/.bash_logout yangyang@yangyang-virtualmachine:/$ su - zhangsan 密碼: $ ls -a /etc/skel/ #查看配置文件 . .. .bash_logout .bashrc examples.desktop .profile $ cp /etc/skel/.bash* . #將查到的文件拷貝到當(dāng)前目錄下 $ ls -a . .. .bash_logout .bashrc $ 注銷 #按下ctrl+ d注銷用戶 yangyang@yangyang-virtualmachine:/$ sudo vim /etc/passwd #設(shè)置用戶密碼 yangyang@yangyang-virtualmachine:/$ su - zhangsan 密碼: zhangsan@yangyang-virtualmachine:~$ su - yangyang 密碼:
總結(jié):
1.useradd zhangsan #添加用戶
2.mkdir /home/zhangsan #在home目錄下創(chuàng)建一個(gè)和用戶同名的目錄
3.sudo chown zhangsan:zhangsan /home/zhangsan #將新建的用戶和新建的用戶目錄聯(lián)系起> >來
4.sudo passwd zhangsan #配置用戶的密碼
5.cp /etc/skel/.bash* . #將查到的文件拷貝到當(dāng)前目錄下,這個(gè)用戶才能正常使用
6.sudo vim /etc/passwd #將對(duì)應(yīng)的用戶名,最后改為/bin/bash
第二種方式添加用戶
創(chuàng)建用戶 并且會(huì)自動(dòng)創(chuàng)建home目錄,也會(huì)自動(dòng)拷貝配置文件過來. 高效,簡(jiǎn)潔方式.
yangyang@yangyang-virtualmachine:~$ sudo useradd -m -s /bin/bash lisi yangyang@yangyang-virtualmachine:~$ ls /home/ lisi yangyang zhangsan yangyang@yangyang-virtualmachine:~$ sudo useradd -m xiaoli yangyang@yangyang-virtualmachine:~$ ls /home/ lisi xiaoli yangyang zhangsan yangyang@yangyang-virtualmachine:~$ su - zhangsan 密碼:
權(quán)限不足的修改
zhangsan@yangyang-virtualmachine:~$ sudo useradd -m hello [sudo] zhangsan 的密碼: zhangsan 不在 sudoers 文件中始苇。此事將被報(bào)告砌烁。 zhangsan@yangyang-virtualmachine:~$ su - root 密碼: root@yangyang-virtualmachine:~# vim /etc/sudoers #添加 zhangsan ALL=(ALL) ALL root@yangyang-virtualmachine:~# #問題:按照第一種方式新增的用戶和正常用戶的使用有區(qū)別 #正常用戶:yangyang@yangyang-virtualmachine:~$ su - zhangsan #新增的用戶:$ ls #解決方案:需要手動(dòng)添加配置文件,過程如下: yangyang@yangyang-virtualmachine:/$ su - zhangsan 密碼: $ ls -a /etc/skel/ #查看配置文件 . .. .bash_logout .bashrc examples.desktop .profile $ cp /etc/skel/.bash* . #將查到的文件拷貝到當(dāng)前目錄下 $ ls -a . .. .bash_logout .bashrc $ 注銷 #按下ctrl+ d注銷用戶 yangyang@yangyang-virtualmachine:/$ sudo vim /etc/passwd #將用戶名最后路徑改為/bin/bash yangyang@yangyang-virtualmachine:/$ su - zhangsan 密碼: zhangsan@yangyang-virtualmachine:~$
6>userdel 刪除用戶
userdel -r zhangsan :刪除普通用戶催式,同時(shí)自動(dòng)刪除用戶所在的主目錄 userdel zhangsan:只是刪除普通用戶函喉,不會(huì)自動(dòng)刪除用戶所在的主目錄,需要手動(dòng) rm -rf zhangsan 演示命令: yangyang@yangyang-virtualmachine:~$ sudo userdel -r zhangsan [sudo] yangyang 的密碼: userdel: zhangsan 郵件池 (/var/mail/zhangsan) 未找到 yangyang@yangyang-virtualmachine:~$ ls /home/ yangyang
7>passwd 設(shè)置密碼
注意:一般配合useradd命令使用荣月,當(dāng)添加一個(gè)新的普通用戶時(shí)管呵,一般會(huì)緊接著設(shè)置該用戶的密碼
演示命令: yangyang@yangyang-virtualmachine:~$ sudo useradd -m abc #添加用戶 yangyang@yangyang-virtualmachine:~$ sudo passwd abc 輸入新的 UNIX 密碼: #需要設(shè)置的密碼 重新輸入新的 UNIX 密碼: passwd:已成功更新密碼 yangyang@yangyang-virtualmachine:~$ su - abc 密碼: #新用戶的密碼 abc@yangyang-virtualmachine:~$
8>查看用戶組
用戶組的作用:將多個(gè)用戶管理在同一個(gè)組下,方便管理哺窄,可以讓不同的用戶享用同種權(quán)限
演示命令: yangyang@yangyang-virtualmachine:~$cat /etc/group
9>groupadd 添加組
演示命令: yangyang@yangyang-virtualmachine:~$ sudo groupadd python1805 #創(chuàng)建一個(gè)新用戶python并且添加到python1805組中 yangyang@yangyang-virtualmachine:~$ sudo useradd -m python -g python1805 yangyang@yangyang-virtualmachine:~$ sudo passwd python 輸入新的 UNIX 密碼: 重新輸入新的 UNIX 密碼: passwd:已成功更新密碼 yangyang@yangyang-virtualmachine:~$ su - python 密碼: python@yangyang-virtualmachine:~$ ll 總用量 32 drwxr-xr-x 2 python python1805 4096 6月 28 15:23 ./ drwxr-xr-x 5 root root 4096 6月 28 15:23 ../ -rw-r--r-- 1 python python1805 220 9月 1 2015 .bash_logout -rw-r--r-- 1 python python1805 3771 9月 1 2015 .bashrc -rw-r--r-- 1 python python1805 8980 4月 20 2016 examples.desktop -rw-r--r-- 1 python python1805 655 6月 24 2016 .profile
10>usermod 修改用戶的基本信息
-c<備注> 修改用戶帳號(hào)的備注文字捐下。 -d登入目錄> 修改用戶登入時(shí)的目錄账锹。 -e<有效期限> 修改帳號(hào)的有效期限。 -f<緩沖天數(shù)> 修改在密碼過期后多少天即關(guān)閉該帳號(hào)坷襟。 -g<群組> 修改用戶所屬的群組奸柬。 -G<群組> 修改用戶所屬的附加群組。 -l<帳號(hào)名稱> 修改用戶帳號(hào)名稱啤握。 -L 鎖定用戶密碼,使密碼無效晶框。 -s<shell> 修改用戶登入后所使用的shell排抬。 -u<uid> 修改用戶ID。 -U 解除密碼鎖定授段。 演示命令: angyang@yangyang-virtualmachine:~$ ls -l /home/ 總用量 16 drwxr-xr-x 2 abc abc 4096 6月 28 14:59 abc drwxr-xr-x 2 jack jack 4096 6月 28 15:30 jack drwxr-xr-x 2 python python1805 4096 6月 28 15:23 python drwxr-xr-x 31 yangyang yangyang 4096 6月 28 14:36 yangyang yangyang@yangyang-virtualmachine:~$ sudo groupadd tom #創(chuàng)建用戶組 #修改用戶的用戶組 #將用戶jack修改組為tom yangyang@yangyang-virtualmachine:~$ sudo usermod -g tom jack yangyang@yangyang-virtualmachine:~$ ls -l /home/ 總用量 16 drwxr-xr-x 2 abc abc 4096 6月 28 14:59 abc drwxr-xr-x 2 jack tom 4096 6月 28 15:30 jack drwxr-xr-x 2 python python1805 4096 6月 28 15:23 python drwxr-xr-x 31 yangyang yangyang 4096 6月 28 14:36 yangyang yangyang@yangyang-virtualmachine:~$ sudo usermod -l newuser jack #修改用戶名 yangyang@yangyang-virtualmachine:~$ ls -l /home/ 總用量 16 drwxr-xr-x 2 abc abc 4096 6月 28 14:59 abc drwxr-xr-x 2 newuser tom 4096 6月 28 15:30 jack drwxr-xr-x 2 python python1805 4096 6月 28 15:23 python
11>groupdel 刪除組
演示命令: yangyang@yangyang-virtualmachine:~$ sudo groupdel abc groupdel:不能移除用戶“abc”的主組 yangyang@yangyang-virtualmachine:~$ sudo groupdel python1805 groupdel:不能移除用戶“python”的主組 yangyang@yangyang-virtualmachine:~$ sudo groupadd user11 yangyang@yangyang-virtualmachine:~$ sudo groupdel user11 #刪除沒有用戶的組 yangyang@yangyang-virtualmachine:~$ sudo userdel -r abc #刪除對(duì)于有用戶組 userdel: user abc is currently used by process 13160 yangyang@yangyang-virtualmachine:~$ 注銷 #如果用戶在使用中則使用ctrl+d注銷 yangyang@yangyang-virtualmachine:~$ sudo groupdel -r abc #注銷之后再刪除 #總結(jié): 如果組中存在用戶則不允許刪除.需要先將用戶刪除,才能刪除組
12>sudo 讓當(dāng)前用戶暫時(shí)以管理員的身份root來執(zhí)行命令
13>chmod 修改文件權(quán)限
drwxr-xr-x 31 yangyang yangyang 4096 6月 28 14:36 yangyang #權(quán)限的意義(重點(diǎn)) rwx r-x r-x 當(dāng)前用戶的權(quán)限 同組內(nèi)其他用戶的權(quán)限 其他組內(nèi)用戶的權(quán)限 r w x - 4 2 1 0 1 x 可執(zhí)行 2 w 可寫 3 w+x 可寫可執(zhí)行 4 r 可讀 5 x+r 可讀可執(zhí)行 6 r+w 可讀可寫 7 r+w+x 可讀可寫可執(zhí)行 u 代表當(dāng)前用戶. g 代表用戶組. o 代表其他. a 代表所有. 演示命令: #字母法修改文件權(quán)限 yangyang@yangyang-virtualmachine:~/Desktop$ ll 總用量 12 drwxr-xr-x 2 yangyang yangyang 4096 6月 28 15:47 ./ drwxr-xr-x 31 yangyang yangyang 4096 6月 28 15:47 ../ -rw-r--r-- 1 yangyang rock 20 6月 28 15:47 a.txt #讓當(dāng)前用戶條件執(zhí)行權(quán)限 yangyang@yangyang-virtualmachine:~/Desktop$ chmod u+x a.txt yangyang@yangyang-virtualmachine:~/Desktop$ ll 總用量 12 drwxr-xr-x 2 yangyang yangyang 4096 6月 28 15:47 ./ drwxr-xr-x 31 yangyang yangyang 4096 6月 28 15:47 ../ -rwxr--r-- 1 yangyang rock 20 6月 28 15:47 a.txt* #數(shù)字法修改文件權(quán)限 yangyang@yangyang-virtualmachine:~/Desktop$ touch b.txt yangyang@yangyang-virtualmachine:~/Desktop$ ll 總用量 12 drwxr-xr-x 2 yangyang yangyang 4096 6月 28 15:52 ./ drwxr-xr-x 31 yangyang yangyang 4096 6月 28 15:47 ../ -rwxr--r-- 1 yangyang rock 20 6月 28 15:47 a.txt* -rw-r--r-- 1 yangyang rock 0 6月 28 15:52 b.txt #修改b.txt的權(quán)限 #0 代表- 意思是文件,不是目錄 #7 4+2+1 rwx #6 4+2 rw #4 4 r yangyang@yangyang-virtualmachine:~/Desktop$ chmod 0764 b.txt yangyang@yangyang-virtualmachine:~/Desktop$ ll 總用量 12 drwxr-xr-x 2 yangyang yangyang 4096 6月 28 15:52 ./ drwxr-xr-x 31 yangyang yangyang 4096 6月 28 15:47 ../ -rwxr--r-- 1 yangyang rock 20 6月 28 15:47 a.txt* -rwxrw-r-- 1 yangyang rock 0 6月 28 15:52 b.txt*
14>chown 修改文件所有者
格式:chown 新的用戶 文件名
15>chgrp 修改文件所屬組
格式:chgrp 新的組 文件名
4.系統(tǒng)管理
1>date 顯示日期
日期格式化 %Y year %m month (01..12) %d day of month (e.g., 01) %H hour (00..23) %I hour (01..12) %M minute (00..59) %S second (00..60) 演示命令: date(有空格) +(這里沒空格)"%Y"
2>cal 顯示一個(gè)日歷
演示命令: yangyang@yangyang-virtualmachine:~/Desktop$ cal 六月 2018 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
3>ps 報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)
演示命令: yangyang@yangyang-virtualmachine:~/Desktop$ ps -u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND yangyang 13087 0.0 0.3 25248 6124 pts/4 Ss 14:56 0:00 bash yangyang 14078 0.0 0.1 39104 3284 pts/4 R+ 16:42 0:00 ps -u
4>kill 刪除執(zhí)行中的程序或工作
-a:當(dāng)處理當(dāng)前進(jìn)程時(shí)蹲蒲,不限制命令名和進(jìn)程號(hào)的對(duì)應(yīng)關(guān)系; -l <信息編號(hào)>:若不加<信息編號(hào)>選項(xiàng)侵贵,則-l參數(shù)會(huì)列出全部的信息名稱届搁; -p:指定kill 命令只打印相關(guān)進(jìn)程的進(jìn)程號(hào),而不發(fā)送任何信號(hào)窍育; -s <信息名稱或編號(hào)>:指定要送出的信息卡睦; -u:指定用戶 -9: 強(qiáng)制剎死進(jìn)程 演示命令: yangyang@yangyang-virtualmachine:~/Desktop$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
5>df 顯示磁盤分區(qū)上的可使用的磁盤空間
? 注意:默認(rèn)的單位為kb
演示命令: yangyang@yangyang-virtualmachine:~/Desktop$ df df: /mnt/hgfs: 協(xié)議錯(cuò)誤 文件系統(tǒng) 1K-塊 已用 可用 已用% 掛載點(diǎn) udev 982640 0 982640 0% /dev tmpfs 201812 8928 192884 5% /run /dev/sda1 16381864 8263340 7263332 54% / tmpfs 1009040 280 1008760 1% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 1009040 0 1009040 0% /sys/fs/cgroup tmpfs 201812 68 201744 1% /run/user/1000 yangyang@yangyang-virtualmachine:~/Desktop$ df -h df: /mnt/hgfs: 協(xié)議錯(cuò)誤 文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn) udev 960M 0 960M 0% /dev tmpfs 198M 8.8M 189M 5% /run /dev/sda1 16G 7.9G 7.0G 54% / tmpfs 986M 280K 986M 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 986M 0 986M 0% /sys/fs/cgroup tmpfs 198M 68K 198M 1% /run/user/1000
6>du 顯示文件的內(nèi)存大小
注意:與df命令不同的是du命令是對(duì)文件和目錄磁盤使用的空間的查看
7>free 顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)
演示命令: free -m total used free shared buff/cache available Mem: 1970 1103 144 15 722 638 Swap: 4093 5 4088 延時(shí)命令: total used free shared buff/cache available Mem: 1970 1103 144 15 722 638 Swap: 4093 5 4088 全部 已使用的 剩余的 共享的 緩存 total = used + free
8>其他
reboot:重啟 shutdown -h now :立即關(guān)機(jī) shutdown -r now :立即重啟 shutdown -h +1 :1分鐘之后重啟 clear :清屏漱抓,作用類似于ctrl+l init 0: 關(guān)機(jī) init 6: 重啟
9>ping 檢測(cè)網(wǎng)絡(luò)的連通性
10>ifconfig 查看網(wǎng)卡信息表锻,ip地址等,相當(dāng)于windows上的ipconfig
演示命令: 如果執(zhí)行失敗,需要先安裝. sudo apt-get install net-tools yangyang@yangyang-virtualmachine:~/Desktop$ ifconfig ens33 Link encap:以太網(wǎng) 硬件地址 00:0c:29:8c:1e:35 inet 地址:10.36.131.192 廣播:10.36.131.255 掩碼:255.255.255.0 inet6 地址: fe80::2025:7389:1aad:8cc8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 躍點(diǎn)數(shù):1 接收數(shù)據(jù)包:73625 錯(cuò)誤:0 丟棄:0 過載:0 幀數(shù):0 發(fā)送數(shù)據(jù)包:29011 錯(cuò)誤:0 丟棄:0 過載:0 載波:0 碰撞:0 發(fā)送隊(duì)列長(zhǎng)度:1000 接收字節(jié):9001772 (9.0 MB) 發(fā)送字節(jié):2018148 (2.0 MB) lo Link encap:本地環(huán)回 inet 地址:127.0.0.1 掩碼:255.0.0.0 inet6 地址: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 躍點(diǎn)數(shù):1 接收數(shù)據(jù)包:42021 錯(cuò)誤:0 丟棄:0 過載:0 幀數(shù):0 發(fā)送數(shù)據(jù)包:42021 錯(cuò)誤:0 丟棄:0 過載:0 載波:0 碰撞:0 發(fā)送隊(duì)列長(zhǎng)度:1000 接收字節(jié):3381269 (3.3 MB) 發(fā)送字節(jié):3381269 (3.3 MB)