五.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 14:50
下一篇 2016-08-23 14:54

相關推薦

  • shell腳本總結

    shell進階:列表生成方式:列表生成方式:(1) 直接給出列表 以空白為間隔(2) 整數列表:(a) {start..end}(b) $(seq [start [step]] end)(3) 返回列表的命令$(COMMAND)(4) 使用glob,如:.sh(5) 變量引用;$@, $while read line(用法)(用于遍歷文件,進行處理…

    Linux干貨 2017-07-10
  • N22-妙手-第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。     網橋:         一種網絡設備,負責網絡橋接,將網絡的多個網段在數據鏈路層連接起來。     集線器: &…

    Linux干貨 2016-11-07
  • LVM2基本應用,擴展及縮減實現

    LVM(Logical Volume Manager,邏輯卷管理)是CentOS6中常用的磁盤管理的工具。常用于CentOS6上,提供了分區的動態擴展、縮減等功能。目前的常用版本為LVM2。 結構: 一、物理卷 LVM的物理卷以分區為單位。通常情況下,會以一個硬盤一個分區的情況下進行容量擴展。 在分區之后,要使用fisk命令來改變分區的類型,LVM的磁盤類型…

    Linux干貨 2016-02-25
  • 從Linux小白到大?!c狼共舞的日子6

    馬哥教育網絡班21期+第6周課程練習 請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit …

    Linux干貨 2016-10-31
  • 正則表達式詳解?

      正則表達式詳解 一、概述   GREP(global search regular expression(RE) and print out theline),是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。Unix的grep家族包括grep、egrep和fgrep。利用這些返回值就可進行一些自動化的文本處…

    Linux干貨 2015-05-11
  • 馬哥教育網絡班22期-第2周博客作業1

    1、Linux上的文件管理類命令都有哪些?其常用的使用方法及其相關示例演示。    文件管理類命令:cp、mv、rm 1.1 cp命令    cp – copy files and directories    復制文件或目錄 【SYNOPSIS】    單源復制:c…

    Linux干貨 2016-08-22
欧美性久久久久