五.Linux博客-2016年7月28日索引、硬鏈接、軟連接、inode表、file、重定向、tr、管道、用戶、組

格式說明:

操作

概念

命令

說明及舉例


五.索引、硬鏈接、軟連接、inode表、file、重定向、tr、管道、用戶、組


索引節點

原數據保存在inode table表中
每個文件或目錄都有一個獨立的inode number(節點編號在一個分區中是唯一的,每個分區都有自己的inode table)

ls -i 查看節點編號

硬鏈接

ln f1 dir/f11 為f1文件創建硬鏈接并放到dir文件夾下,名稱為f11.跨設備跨分區不能創建。

鏈接數=文件名字的數量,為一個文件創建多個硬鏈接相當于給一個文件取了多個名字,修改任何一個文件都等于全部修改,刪除其中一個硬鏈接,只相當于刪除了這文件的名字之一
目錄不能創建硬鏈接

軟連接(符號鏈接)

ln -s f2 f2kuaijiefangshi 為f2文件創建軟連接f2kuaijiefangsh

給文件創建軟連接,相當于給文件創建快捷方式,寫軟鏈接的時候,文件的路徑必須寫清楚(相對于軟連接的路徑,而不是當前工作目錄的路徑),軟連接的路徑無所謂

inode表結構

前12個是數據塊,每個存4k,第13個是指針快,不直接指向數據塊,可存4kx1024=4M文件;第14個是二重指針塊,后面跟兩個指針塊,可存4kx1024x024=4G文件,以此類推.

df -i 查詢每個分區最大節點數及已用節點數量

節點號消耗完也會提示磁盤空間滿了

練習:解釋cp rm mv命令的系統后臺動作

file命令

flie -f +文檔 把想查看的文件目錄寫到文檔里,可以都查看

標準輸入和輸出

標準輸出、錯誤

標準默認輸出在當前窗口,標準輸出錯誤也在當前窗口

重定向

ls > /dev/pts/0 在pts0窗口上顯示
ls > /testdir/ls.log 讓輸出內容重定向到ls.log文件中(沒有這個文件會創建,如果存在會覆蓋)
ls >> /testdir/ls.log 將信息寫到ls.log文件中,保留原有內容

>是重定向標準輸出的正確結果的; >=1>
2>是重定向錯誤信息的

ls /dev /ddd > /tesedir/dui.log 2> /testdir/cuo.log 將命令中正確信息寫到dui.log ,錯誤信息寫到cuo.log

ls /dev /ddd &> /tesedir/all.log 把命令中所有標準輸出都寫到all.log里
以上命令是覆蓋
以下命令是累加
ls /dev /ddd >> /tesedir/dui.log 2>> /testdir/cuo.log 將命令中正確信息寫到dui.log ,錯誤信息寫到cuo.log

ls /dev /ddd &>> /tesedir/all.log 把命令中所有標準輸出都寫到all.log里

多條命令重定向:用括號把多條命令括起來

標注輸入重定向

cat < f1 將f1里的信息輸出
cat < f1 > f2 將f1里的信息輸出到f2里
cat f1 f2 > f3 將f1 f2的內容輸出到f3里

mail -s hello wang 回車后寫內容,結束按.
wang 用戶 輸入mail
mail -s hello wang < f1.txt  將f1.txt中內容作為正文發送

多行重定向
cat <<E >f1 直到打結束的E 才重定向到f1中 (<<+關鍵字開始。再出現獨立的一行關鍵字結束)

tr命令

轉換和刪除字符

tr 'a-z' 'A-Z' 將所有輸入的小寫字母轉換成大寫字母    
tr 'a-z' 'A-Z' < f1 將f1 文件中所有小寫字母轉換為大寫
r 'a-z' 'A-Z' < f1 > f2 將f1 文件中所有小寫字母轉換為大寫并存到f2中(f1中內容不變)

tr 'abc' 'xyz'
tr 'abc' 'xy'
tr 'ab' 'xyz'

tr -c 'a-z' 取反
tr -d 'abc' 有a/b/c的都干掉
tr -d -c 'abc'  'xxx' < f1 將文件f1 中的除了abc以外的字符都換成xxx

tr -s  ‘x’  合并重復的x為1個

tr -d '\n' < f1 將f1文件中的換行都干掉
tr ' ' '\n' <f1 將f1文件中的空格轉換城換行

mail -s help root <<end
Hello,I am whoami
the system version is here,please help me to check it,thanks!
< /etc/issue
end

管道

管道接收的是標準輸出,不能是標準錯誤

練習用管道讀文檔發郵件

ls /err |& tr 'a-z' 'A-Z' 不管前面是否是錯誤,都處理(|&=2>&1)
ls |tee f2  將ls輸出內容存到f2文件,但是前臺也顯示
重定向輸出信息不想看的話最后加 /dev/null

用戶、組和權限

組的類別

用戶的主要組-主組
用戶必須屬于一個且只有一個主組
組名同用戶名,且僅包含,,, 
Linux中默認創建一個用戶wang,就會創建一個wang組,組里只有wang一個

查看命令 id

Linux用戶和組的配置文件

用戶配置文件

/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
/etc/shadow:用戶密碼及其相關屬性 
例:m:$6$8BhKzFY7Pl02tuZK$M9ppDJCf6Y8sSx/kFGbmG6Mat/Z2JE.OJ6Mao.izesjpwW0t5MiFxxrtzwLrAwfP6/xvlZ7MG8Y4LeGIAd6Me0:17001:0:99999:7:::

$6=sha512加密算法 $1=md5加密算法 后面兩個$中間的玩意($8BhKzFY7Pl02tuZK$)是加的延,目的是即使相同密碼加密后也看不出來是相同 ;17001代表時間,后面的0表示隨時可以改密碼,改成3就是3天以后才能改。后面難道99999代表有效期,7代表提前7天通知;倒數第二個可以填個數,代表此賬號的有效期,到時間自動鎖定,格式也是類似17001天。

組配置文件

/etc/group:組及其屬性信息 
/etc/gshadow:組密碼及其相關屬性

groups +用戶名 查看用戶屬于什么組
getent passwd 用戶名,查看某用戶的密碼信息

將用戶加到root組中,該用戶創建的文件所有者及所屬組依然是該用戶(其主組)

newgrp bin 將用戶的主組切換為bin 但是需要密碼
gpasswd bin 給組設置密碼

改密碼命令

vipw 改用戶密碼,格式改錯會報警用法等于 vim /etc/passwd
vigr 改組密碼。格式改錯會報警用法等于 vim /etc/group

原創文章,作者:自己泡面,如若轉載,請注明出處:http://www.www58058.com/39180

(0)
自己泡面自己泡面
上一篇 2016-08-23
下一篇 2016-08-23

相關推薦

  • Linux文件類型以及顏色標識

    1、Linux文件類型介紹   Linux系統不同于window系統,兩者文件類型也有很大的差異。Linux文件類型和Linux文件的文件名所代表的意義是兩個不同的概念。我們通過一般應用程序而創建的比如file.txt、file.tar.gz,這些文件雖然要用不同的程序來打開,但放在Linux文件類型中衡量的話,大多是常規文件(也被稱為普…

    Linux干貨 2016-10-17
  • Shell腳本編程—函數

    函數:     把一段獨立功能的代碼當作一個整體,并命名一個名字;命名的代碼段,此即為函數     由若干條shell命令組成的語句塊,實現代碼重用和模式化編程 函數的作用:     在某些場景下,我們可以將獨立功能的一段代碼定義為一個函數…

    Linux干貨 2016-08-24
  • 決不放棄

    堅持到底!

    Linux干貨 2017-11-17
  • LInux系統上的文件管理類型以及bash的基礎特性

    LInux系統上的文件管理類型以及bash的基礎特性

    2017-12-12
  • 雷人的程序注釋

    使用Google code search可以搜索到一些比較有趣的代碼注釋,呵呵。下面的這些程序注釋有搞笑的,也有粗口,看來寫程序本來也不是一件很枯燥的事,關鍵看你的心態如何了。讀到這些注釋的時候,只能想到一個詞,那就是“瘋狂的程序員”,哈哈。Have a Fun  ;-) 寫個程序時不忘表達自己的感情,以免以后忘了。 呵呵,看來自己也不是很自信。 …

    Linux干貨 2016-05-10
  • awk

    GNU awkGNU awk 2 本章內容 ?awk介紹 ?awk基本用法 ?awk變量 ?awk格式化 ?awk操作符 ?awk條件判斷 ?awk循環 ?awk數組 ?awk函數 ?調用系統命令 3 awk ?awk: Aho, Weinberger, Kernighan,報告生成器,格式化文本輸出 ?有多種版本:New awk(nawk),GNU awk…

    Linux干貨 2016-09-14
欧美性久久久久