1、顯示paswd文件第9行內(nèi)容
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供洛川網(wǎng)站建設(shè)、洛川做網(wǎng)站、洛川網(wǎng)站設(shè)計(jì)、洛川網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、洛川企業(yè)網(wǎng)站模板建站服務(wù),10余年洛川做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
#?sed?-n?'9p'?passwd?
vcsa:x:69:69:virtual?console?memory?owner:/dev:/sbin/nologin
2、顯示passwd文件,9至15行內(nèi)容
#?sed?-n?'9,15p'?passwd?
vcsa:x:69:69:virtual?console?memory?owner:/dev:/sbin/nologin
saslauth:x:499:76:"Saslauthd?user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated?SSH:/var/empty/sshd:/sbin/nologin
haproxy:x:500:500::/home/haproxy:/bin/false
ntp:x:38:38::/etc/ntp:/sbin/nologin
mysql:x:27:27:MySQL?Server:/var/lib/mysql:/bin/bash
3、顯示9與15行內(nèi)容
#?sed?-n?'9p;15p'?passwd?
vcsa:x:69:69:virtual?console?memory?owner:/dev:/sbin/nologin
mysql:x:27:27:MySQL?Server:/var/lib/mysql:/bin/bash
準(zhǔn)確的說是在VIM里面
你再Linux打開一個(gè)文件,用VIM打開,想顯示出行號(hào),就用:set nu
在輸入模式下有行號(hào)顯示,找起來方便,而且教學(xué)起來也方便。
還有直接用cat 命令看文件內(nèi)容,加上一個(gè)-n參數(shù)也是顯示行號(hào)
cat命令 – 在終端設(shè)備上顯示文件內(nèi)容 《Linux就該這么學(xué)》
[root@localhost ~]# ls -l
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
權(quán)限--引用計(jì)數(shù) 所有者 -- 所屬組--- 大小-- 文件修改時(shí)間 文件名
ls [選項(xiàng)] [文件名或目錄名]
選項(xiàng):
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習(xí)慣的顯示文件大小
-i :顯示文件的i節(jié)點(diǎn)號(hào)
-l:長格式顯示
pwd 命令是查詢當(dāng)前所在的目錄的絕對(duì)路徑
選項(xiàng):
-L (默認(rèn)值)打印環(huán)境變量"$PWD"的值,可能為符號(hào)鏈接。
-P 打印當(dāng)前工作目錄的物理位置。
mkdir 是創(chuàng)建目錄的命令
選項(xiàng):
-Z:設(shè)置安全上下文,當(dāng)使用SELinux時(shí)有效;
-m或--mode:建立目錄的同時(shí)設(shè)置目錄的權(quán)限;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會(huì)一并建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄
touch 是 創(chuàng)建空文件或修改文件的時(shí)間戳
[root@localhost ~]# touch [選項(xiàng)] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取時(shí)間;
-c:或--no-create 不建立任何文件;
-d:時(shí)間日期 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
-f:此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify 只更該變動(dòng)時(shí)間;
-r:參考文件或目錄 把指定文件或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文件或目錄的日期時(shí)間相同;
-t:日期時(shí)間 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間;
--help:在線幫助;
--version:顯示版本信息。
stat 是查看文件詳細(xì)信息的命令,而且可以看到文件的這三個(gè)時(shí)間戳
選項(xiàng):
-L:支持符號(hào)連接;
-f:顯示文件系統(tǒng)狀態(tài)而非文件狀態(tài);
-t:以簡潔方式輸出信息;
cat 命令用來查看文件內(nèi)容
選項(xiàng):
-A: 相當(dāng)于-vET 選項(xiàng)的整合,用于列出所有隱藏符號(hào)
-E: 列出每行結(jié)尾的回車符$
-n: 顯示行號(hào)
-T: 把 Tab 鍵用^I顯示出來
-v: 列出特殊字符
more 是分屏顯示文件的命令
less 是分行顯示文件的命令
用less命令顯示文件時(shí),用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應(yīng)按Q鍵。
選項(xiàng):
-e:文件內(nèi)容顯示完畢后,自動(dòng)退出;
-f:強(qiáng)制顯示文件;
-g:不加亮顯示搜索到的所有關(guān)鍵詞,僅顯示當(dāng)前顯示的關(guān)鍵字,以提高顯示速度;
-l:搜索時(shí)忽略大小寫的差異;
-N:每一行行首顯示行號(hào);
-s:將連續(xù)多個(gè)空行壓縮成一行顯示;
-S:在單行顯示較長的內(nèi)容,而不換行顯示;
-x數(shù)字:將TAB字符顯示為指定個(gè)數(shù)的空格字符。
head 是用來顯示文件開頭的命令
選項(xiàng):
-c --bytes=[-]NUM 顯示前NUM字節(jié);如果NUM前有"-",那么會(huì)打印除了文件末尾的NUM字節(jié)以外的其他內(nèi)容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認(rèn)的10行;如果NUM前有"-",那么會(huì)打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 總是打印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。
tail 是用來顯示文件末尾的命令
選項(xiàng):
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數(shù))個(gè)字節(jié)內(nèi)容。
-f, --follow[={name|descript}] 顯示文件最新追加的內(nèi)容?!皀ame”表示以文件名的方式監(jiān)視文件的變化。
-F 與 “--follow=name --retry” 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數(shù)字)行內(nèi)容。
--pid=進(jìn)程號(hào) 與“-f”選項(xiàng)連用,當(dāng)指定的進(jìn)程號(hào)的進(jìn)程終止后,自動(dòng)退出tail命令。
-q, --quiet, --silent 當(dāng)有多個(gè)文件參數(shù)時(shí),不輸出各個(gè)文件名。
--retry 即是在tail命令啟動(dòng)時(shí),文件不可訪問或者文件稍后變得不可訪問,都始終嘗試打開文件。使用此選項(xiàng)時(shí)需要與選項(xiàng)“--follow=name”連用。
-s, --sleep-interal=秒數(shù) 與“-f”選項(xiàng)連用,指定監(jiān)視文件變化時(shí)間隔的秒數(shù)。
-v, --verbose 當(dāng)有多個(gè)文件參數(shù)時(shí),總是輸出各個(gè)文件名。
ln 是用來為文件創(chuàng)建鏈接的命令
[root@localhost ~]# ln [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-s: 建立軟鏈接文件。如果不加“-s”選項(xiàng),則建立硬鏈接文件
-f: 強(qiáng)制。如果目標(biāo)文件已經(jīng)存在,則刪除目標(biāo)文件后再建立鏈接文件
-d, -F, --directory 創(chuàng)建指向目錄的硬鏈接(只適用于超級(jí)用戶)
-f, --force 強(qiáng)行刪除任何已存在的目標(biāo)文件
-i, --interactive 覆蓋既有文件之前先詢問用戶
-L, --logical 取消引用作為軟鏈接的目標(biāo)
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創(chuàng)建相對(duì)于鏈接位置的軟鏈接
-s, --symbolic 對(duì)源文件建立軟鏈接
硬鏈接特征:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
? 修改任意一個(gè)文件,另一個(gè)都改變
? 刪除任意一個(gè)文件,另一個(gè)都能使用
? 硬鏈接標(biāo)記不清,很難確認(rèn)硬鏈接文件位置,不建議使用
? 硬鏈接不能鏈接目錄
? 硬鏈接不能跨分區(qū)
軟鏈接特征:
? 軟鏈接和源文件擁有不同的 Inode 和 Block
? 兩個(gè)文件修改任意一個(gè),另一個(gè)都改變
? 刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
? 軟鏈接沒有實(shí)際數(shù)據(jù),只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
? 軟鏈接的權(quán)限是最大權(quán)限 lrwxrwxrwx.,但是由于沒有實(shí)際數(shù)據(jù),最終訪問時(shí)需要參考源文
件權(quán)限
? 軟鏈接可以鏈接目錄
? 軟鏈接可以跨分區(qū)
? 軟鏈接特征明顯,建議使用軟連接
rm 是強(qiáng)大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項(xiàng)] 文件或目錄
選項(xiàng):
d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對(duì)根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過程。
cp 是文件或目錄用于復(fù)制的命令
[root@localhost ~]# cp [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;
-d:當(dāng)復(fù)制軟鏈接時(shí),把目標(biāo)文件或目錄也建立為軟鏈接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對(duì)源文件建立硬連接,而非復(fù)制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對(duì)源文件建立軟鏈接,而非復(fù)制文件;
-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互對(duì)應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;
-S:在備份文件時(shí),用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細(xì)顯示命令執(zhí)行的操作。
mv 是用來對(duì)文件或目錄重新命名,或者將文件移動(dòng)至其他目錄
[root@localhost ~]# mv [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)文件;輸入”n”,表示取消對(duì)源文件的移動(dòng)。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“ / ”;
-S后綴:為備份文件指定后綴,而不使用默認(rèn)的后綴;
--target-directory=目錄:指定源文件要移動(dòng)到目標(biāo)目錄;
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí),才執(zhí)行移動(dòng)操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的權(quán)限位如果不計(jì)算最后的“.”,則共有 10 位。
第 2~4 位代表文件所有者的權(quán)限。
chmod 用來變更文件或目錄的權(quán)限
[root@localhost ~]# chmod [選項(xiàng)] 權(quán)限模式 文件名
選項(xiàng):
-c, --changes:當(dāng)文件的權(quán)限更改時(shí)輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認(rèn)選項(xiàng)。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數(shù)錯(cuò)誤消息的輸出。
-v, --verbose:無論文件是否更改了權(quán)限,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的權(quán)限來設(shè)置目標(biāo)文件或目錄的權(quán)限。
-R, --recursive:對(duì)目錄以及目錄下的文件遞歸執(zhí)行更改權(quán)限操作。
用戶身份
首先,讀、寫、執(zhí)行權(quán)限對(duì)文件和目錄的作用是不同的。
目錄的可用權(quán)限其實(shí)只有以下幾個(gè)。
chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項(xiàng)] 所有者:所屬組 文件或目錄
選項(xiàng):
-c或——changes:效果類似“-v”參數(shù),但僅回報(bào)更改的部分;
-f或--quite或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)軟鏈接的文件作修改,而不更改其他任何相關(guān)文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
-v或——version:顯示指令執(zhí)行過程;
--reference=參考文件或目錄:把指定文件或目錄的擁有者與所屬群組全部設(shè)成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個(gè)文件的所有者也不行
普通用戶可以修改所有者是自己的文件的權(quán)限
chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項(xiàng)] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似“-v”參數(shù),但僅回報(bào)更改的部分;
-f或--quiet或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不是該其他任何相關(guān)文件;
-H如果命令行參數(shù)是一個(gè)通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;
-L:遍歷每一個(gè)遇到的通到目錄的軟鏈接
-P:不遍歷任何符號(hào)鏈接(默認(rèn))
-v或——verbose:顯示指令執(zhí)行過程;
--reference=參考文件或目錄:把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同;
umask 是顯示或設(shè)置創(chuàng)建文件的權(quán)限掩碼。我們需要先了解一下新建文件和目錄的默認(rèn)最大權(quán)限。
我們?cè)谶@里按照權(quán)限字母來講解 umask 權(quán)限的計(jì)算方法。我們就按照默認(rèn)的 umask 值是 022來分別計(jì)算一下新建文件和目錄的默認(rèn)權(quán)限吧。
tail -n 20 filename
說明:顯示filename最后20行。
Linux下tail命令的使用方法。
linux tail命令用途是依照要求將指定的文件的最后部分輸出到標(biāo)準(zhǔn)設(shè)備,通常是終端,通俗講來,就是把某個(gè)檔案文件的最后幾行顯示到終端上,假設(shè)該檔案有更新,tail會(huì)自己主動(dòng)刷新,確保你看到最新的檔案內(nèi)容。關(guān)于這個(gè)linux系統(tǒng)的學(xué)習(xí),我一直看劉遄老師的書籍《linux就該這么學(xué)》
文件通配符
* 匹配零個(gè)或多個(gè)字符
? 匹配任何單個(gè)字符
~ 當(dāng)前用戶家目錄
~mage 用戶mage家目錄
~+ 當(dāng)前工作目錄
~- 前一個(gè)工作目錄
[0-9] 匹配數(shù)字范圍
[a-z]:字母(或的關(guān)系)就是表示中括號(hào)中的某一個(gè)字符
[A-Z]:字母
[a-c]:a A b B c
[A-C]:A b B c C,也就是[]在里面匹配字母時(shí)是以aAbB...這樣排序的
[wang] 匹配列表中的任何的一個(gè)字符
[^wang] 匹配列表中的所有字符以外的字符
{}花括號(hào)用來匹配一組用逗號(hào)分隔的字符串中的任一個(gè)。
左花括號(hào)之前的所有字符稱為前文(preamble),右花括號(hào)之后的所有字符稱為后文(preamble)。
前文和后文都是可選的?;ɡㄌ?hào)中不能包含不加引號(hào)的空白符
預(yù)定義的字符類:man 7 glob(通配符)
[:digit:]:任意數(shù)字,相當(dāng)于0-9
[:lower:]:任意小寫字母[:lower:] 這個(gè)只相當(dāng)于a-z,表示的時(shí)候必須要在加上中括號(hào)
[:upper:]: 任意大寫字母
[:alpha:]: 任意大小寫字母
[:alnum:]:任意數(shù)字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:標(biāo)點(diǎn)符號(hào)
[:print:]:可打印字符
[:cntrl:]:控制(非打?。┳址?/p>
[:graph:]:圖形字符
[:xdigit:]:十六進(jìn)制字符
ls命令的功能:
列出當(dāng)前目錄的內(nèi)容或指定目錄
ls命令的用法:
ls [options] [files_or_dirs]
示例:
ls -a 包含隱藏文件
ls -l 顯示額外的信息
ls -r 倒轉(zhuǎn)排序或者可以說是逆序排列
ls -R 目錄遞歸通過(遞歸會(huì)進(jìn)入到子目錄)
ls -ld 目錄和符號(hào)鏈接信息
ls -1? 文件分行顯示(列顯示)
ls –S? 按從大到小排序(按文件的大小排序)
ls –t? 按mtime排序(按文件的修改時(shí)間排序)
ls –u 配合-t選項(xiàng),顯示并按atime從新到舊排序
ls –U? 按目錄存放順序顯示(以創(chuàng)建文件的次序進(jìn)行顯示)
ls –X? 按文件后綴排序
ls -d? 列出目錄本身并不顯示內(nèi)容
ls -h? 單位換算
ls -I? --ignore(忽略)=PATTERN(模式)按著規(guī)定的模式去隱藏不進(jìn)行顯示
實(shí)例:
1、顯示/var目錄下所有以l開頭,以一個(gè)小寫字母結(jié)尾,且中間出現(xiàn)至少一位數(shù)
字的文件或目錄
ls -d /var/l*[0-9]*[[:lower:]]
2、顯示/etc目錄下以任意一位數(shù)字開頭,且以非數(shù)字結(jié)尾的文件或目錄
ls -d /etc/[0-9]*[^0-9]
3、顯示/etc/目錄下以非字母開頭,后面跟了一個(gè)字母及其它任意長度任意字符
的文件或目錄
ls -d /etc/[^[:alpha:]][[:alpha:]]*
4、顯示/etc/目錄下所有以rc開頭,并后面是0-6之間的數(shù)字,其它為任意字符
的文件或目錄
ls -d /etc/rc[0-6]*
5、顯示/etc目錄下,所有以.d結(jié)尾的文件或目錄
ls -d /etc/*.d
6、顯示/etc目錄下,所有.conf結(jié)尾,且以m,n,r,p開頭的文件或目錄
ls -d /etc/[mnrp]*.conf
7、只顯示/root下的隱藏文件和目錄
ls -d /root/.*
ls -aI "[^.]*"? 當(dāng)前目錄為/root
l. ls -d .* --color=auto 當(dāng)前目錄為/root
8、只顯示/etc下的非隱藏目錄
ls -d /etc/*/