linux中管道重定向
Linux 給程序提供三種I/O設備: 查看是否成功 echo $? 需要再執行命令后直接使用
標準輸入:0
標準輸出: 1
標準錯誤: 2
> 把輸出的信息重定向到文件
2> 把錯誤的輸出信息重定向到文件
&> 所有輸出都重定向到文件
注意: >> 代表的是追加重定向,單獨一個>會覆蓋原有文件
examp: ls /root /ada 2>> /dev/app #列出錯誤信息(沒有第二個目錄) 追加輸出到/dev/app, 這樣屏幕就不會顯示
tr:轉換和刪除字符
[:alnum:] :字母和數字 [:alpha:] :字母 [:digit:]字 :數字 [:lower:] :小寫字母
[:print:] : 可打印字符 [:punct:]:標點符號 [:space:] :空白符 [:upper:]:大寫字母
通過一個列子就就可以看明白了:
ls /roo >/app/ls | tr -dc ‘[:alnum:] # 前面是重定向到文本,再管道替換,-d是刪除 -c是取反,本來是刪除文本的alnum.
加了-c代表保留alnum,其他的都刪除了。
標準輸入的例子: tr –d abc < /etc/fstab # 刪除fstab 文件中的所有abc 這里直接導入了文件,不需要再手動輸入了
tr –d abc <<end #這表示想手動輸入,輸完后需要單獨輸一行end結束退出 這也叫多行重定向;
<< 終止詞
Cat > filea < fileb # 這里本來是要輸入信息到filea,但是后面用文本fielb代替了輸入,就不用再手動輸入
注意兩者文件名不能相同,否則會導致文件破壞。
管道:命令1 | 命令2 | 命令3 | …
意思就是把命令1的輸出結果作為命令2的輸入,命令2的輸出結果作為命令3的輸入,以此類推;
如果命令1發生錯誤,則不執行,想執行可以使用 |& 實行
exam:
ls /root /ls &| tr ‘a-z ‘A-Z’ #如果不加&,則只會把ls /root 的輸出信息換成大寫,
加上&,會把錯誤的ls /ls的錯誤結果一同換成大寫輸出顯示
用戶的組管理和權限管理說明: 一個用戶能使用什么權限,id說了算,root id 為0
centos6: 系統用戶id(1-499) 普通用戶id(500-65535)
centos7: 系統用戶id(1-999) 普通用戶 1000+
管理員組的id和上面一樣的劃分;
Linux 安全上下文:
運行中的程序、進程,以進程發起者的身份運行:進程所能夠訪問資源的權限取決于進程的運行者的身份
我的理解是:誰發起procsee,就使用誰的權限,比如是發起者是屬組權限,那么就只有process的屬豬權限,木有屬主的權限
除非是process的屬主發起,那么就擁有所有的權限。
★用戶必須屬于一個且只有一個主組; 組名同用戶名,且僅包含一個用戶:私有組也就是附加組可以多個
用字符代替就是:u : g : o
配置文件信息: /etc/passwd
/etc/shadow 這里存放的是用戶的密碼信息
/etc/group
/etc/gshadow 這里存放的是用戶的組密碼信息
passwd的文件格式: username:passwd:uid:gid:用戶的注釋信息:home directory:shell 用冒號分割七段,其中密碼信息保存在另外位置
shadow就是真正的密碼保存位置:
username:passwd:密碼最近修改時間:密碼再過幾天可以被變更;0表示隨時可被變更:密碼過期時間;999表示永不過期
:過期前提醒時間(默認一周):密碼過期后幾天鎖定:密碼失效日期:
這個記不住就cat /etc/shadow ; 通過里面一行行的信息對比,記得0是隨時更改,999999永不過期,
原創文章,作者:shewei,如若轉載,請注明出處:http://www.www58058.com/69614