馬哥linux課堂筆記

0805課堂筆記

基本權限

讀,寫,執行

 

對于文件的讀權限,能否查看文件內容.(文件內容需不需要看,如果是文本就需要看,如果是二進制就不需要看)

對于文件的寫權限,能否修改文件內容,不能修改文件名,不能刪除文件.(如果需要修改文件內容和文件名,必須在其父目錄增加寫權限和執行權限)

對于文件的執行權限,能否運行他.

 

對于目錄的讀權限,能否查看目錄中的文件列表,如果只有讀權限,也只能看到文件列表的名稱,如果沒有執行權限,將只能查看文件列表,而不能查看其內容,所以必須要配合執行權限

大寫X權限如果作用在目錄上,加上-R選項,將會遞歸在該目錄下的所有文件,這時候X就會判斷父目錄下的所有文件或目錄,如果是目錄就會帶x權限,如果是文件將會判斷其是否有X權限,如果有則會加,沒有則無X權限.(大X權限只能使用模式法,不能使用數字法)

 

數字法讀寫執行權限對應數字

讀read 4

寫write 2

執行executo 1

 

指定文件的所屬組所有者

更改所有者

chown

(chown同樣可以修改所屬組.如:chown :g1 file 偶然

dir 這種寫法就可以修改所屬組為g1)

更改所屬組

chgrp

 

修改權限命令

chmod

 

新建文件的權限由umask決定

root的umask 022

user:002

越大的umask值權限越小.

 

文件的默認權限

file default = 666-umask

奇數+1

如果是奇數將會屏蔽不掉x權限,而umask的作用就是為了屏蔽掉x權限.

目錄的默認權限

dir default = 777-umask

 

umask的定義可以在家目錄下的.bash_profile或.bashrc中

全局定義在/etc/bashrc或/etc/profile

 

chattr

+i 不能更改或刪除

+a 只能增加

+A Access訪問時間鎖定

 

lsattr

查看文件附加權限

 

特殊權限

suid 工作在二進制文件,必須是文件,不能是目錄(因為如果工作在目錄將沒有意義),普通用戶運行這個文件將會繼承文件所有者的身份,所以所有者身份必須帶有x權限.

sgid 可以作用與文件或者目錄,作用在文件上跟suid差不多,但是繼承的是文件所屬組的權限,作用在目錄上的話,

sticky可以作用與目錄上,其作用就是只有root和普通用戶才能刪除目錄中所有者是自己的文件.

(文件擁有Suid,Sgid,Skicky位時,必須擁有X權限,如果沒有,將會顯示大寫的SST,因為如果沒有那么suid和sgid,skicy將沒有意義)

 

文件權限的應用順序

所有者,自定義的ACL記錄(自定義用戶,自定義組),group(定義了ACL之后組就是mask),other

 

訪問控制列表(ACL)

getfacl file|directory  查看文件或目錄的ACL權限

setfacl –m u:wang:rwx file | directory 增加文件用戶wangACL權限

setfacl –Rm g:sales:rwX directory 遞歸ACL權限給sales組到這個目錄

setacl –M file.acl file|directory 通過文本模式增加ACL權限給文件或目錄

setfacl –m g:salegroup:rw file:directory 增加文件或目錄salegroup組的ACL權限

setfacl –m d:u:wang:rx directory 增加某個目錄下新建文件默認的ACL權限是rx

setfacl –x u:wang file |directory 根據指定ACL權限來刪除

setfacl –X file.acl directory 通過文本模式刪除acl權限

setfacl –b file|directory 清空所有acl權限和記錄

 

 

文本處理工具

 

抽取文本內容:less和cat

more:分頁查看文件

more [OPTIONS…]FILE…

-d 顯示翻頁及退出提示

 

less:一頁一頁地查看文件或STDIN輸出

查看時有用的命令包括

/文本 搜索 文本

n/N 跳到下一個 or 上一個匹配

less 命令是man命令使用的分頁器

 

文件查看命令:cat,tac,rev

-E 顯示行結束符$

-n 對顯示的每一行進行編號

-A 顯示所有控制符 是-vET的組合

-b 非空行編號

-s 壓縮的連續的空行成一行

-T 查看Tap符號^I

-v 查看windows下的回車^M

tac 按行來倒置顯示

rev 按行來反向顯示每一個字符

如: cat f1

1234

abcd

tac f1

abcd

1234

rev f1

4321

dcba

 

hexdump  查看文件十六進制編碼

 

文件截取:head和tail

head 查看文件內容前幾行

head –n 3 查看內容前3行

tail –n 3 查看內容后3行

不帶選項的默認查看前10行或后10行

tail –f 跟蹤顯示文件新追加的內容,常用日志監控(缺點無法在進行其他的工作)

在后面增加&可以在后臺執行

tail –n 0 var/message &

fg將后臺執行的命令放到前臺來關閉他

-c 顯示最后幾個字節

 

按列抽取:cut

cut [OPTION…] [FILE…]

-d DELIMITER:指明分隔符,默認tab

-f FILEDS:

#:第#個字段

#,#[,#]:離散的多個字段,例如1,3,6

#-#: 連續的多個字段,例如1-6

-c 按字符切割

–output-delimiter=STRING知道你跟輸出分隔符

 

顯示文件或STDIN數據的指定列

cut –d: -f1 /etc/passwd

取passwd文件中以:分隔符取第一列內容

cat /etc/passwd | cut –d: -f7

取passwd文件中以:分隔符第七列內容

cut –c2-5 /usr/share/dict/words

取words 文件中 字符2-5列的內容

 

paste 合并兩個文件同行號的列到一行

paste [OPTION]… [FILE]…

-d 分隔符:指定分隔符,默認用TAB

paste f1 f2

-s: 所有行合成一行顯示

paste –s f1 f2

馬哥linux課堂筆記

 

文本數據的統計工具

wc(word count)

-m 統計字符

 

整理文本:sort

把整理過的文本顯示在STDOUT,不改變原始文件

sort [options] files

常用選項

-r 執行反方向(由上至下)整理

-n 執行按數字大小整理

-f 選項忽略(fold)字符串中的字符大小寫

-u 選項(獨特,unique)刪除輸出中的重復行

-t c 選項使用c作為字段界定符

-k X 選項按照使用c字符分隔的X列來整理能夠使用多次

 

uniq命令:從輸入中刪除重復的前后相接的行

uniq [OPTIONS]… [FILE]…

-c 顯示每行重復出現的次數

-d 僅顯示重復過的行

-u 僅顯示不曾重復的行

常和sort命令一起配合使用:

sort userlist.txt | uniq –c

 

 

比較文件:diff和patch

 

diff 命令的輸出被保存在一種叫做”補丁”的文件中

使用-u 選項來輸出”同意的(unifed)”diff格式文件,最適用于補丁文件

 

patch 命令復制在其他文件中進行的改變(要謹慎使用!)

適用-b 選項來自動備份改變了的文件

 

diff –u foo.conf-broken foo.conf-works > foo.patch

patch –b foo.conf-broken foo.patch

 

按關鍵字抽取:grep

linux上文本處理三劍客:grep,sed,awk

 

grep:文本過濾(pattern)工具;

gred,egrep,[fgrep(不支持正則表達式搜索)]

 

正則表達式

REGEXP:由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義.而表示控制或通配的功能

程序支持:grep,vim,less,nginx等

分兩類:

基本正則表達式: BRE

擴展正則表達式:ERE

grep –E,egrep

正則表達式引擎:

采用不同算法,檢查處理正則表達式的軟件模塊

PCRE(Perl Compatible Regular Expressions)

元字符分類:字符匹配,匹配字數,位置錨定,分組

man 7 regex

 

grep的工具名Global search Regular expression and Printout the line (全局搜索正則表達式并且打印出相印的行)

作用:文本搜索工具,根據用戶指定的”模式”對目標文本逐行進行匹配檢查:打印匹配到的行;

模式:由正則表達式字符及文本字符所編的過濾條件

grep [OPTIONS] PATTERN[FILE…]

grep rot /etc/passwd

grep “$USER”/etc/passwd

grep ‘$USER’/etc/passwd

grep `whoami` /etc/passwd

 

-v 顯示不能夠被patern匹配到的行

-I 忽略字符大小寫

-n 顯示匹配到的行號

-c 統計匹配的行數

-o 僅顯示匹配到的字符串

-q 靜默模式,不輸出任何信息

grep –q root /etc/passwd

找到找不到都不顯示,配合echo $? 使用,如果顯示0說明找到,如果顯示為1說明沒找到

馬哥linux課堂筆記

 

-A #:after,后#行

-B #:before,前#行

-C #:context,前后各#行

-e 實現多個選項間的邏輯or關系

grep –e `cat` -e `dog` file

-w整行匹配整個單詞

-E 使用ERE

 

字符匹配:

. :匹配任意單個字符

[]:匹配指定范圍內的任意單個字符

[^]:匹配指定范圍外額任意單個字符

[:digit:][:lower:][:upper:][:alpha:][:alnum:][:punct:][:space:]

 

匹配次數:用在要指定次數的字符后面,用于指定前面的字符要出現的次數

*: 匹配前面的字符一次,包括0次

貪婪模式:盡可能長的匹配

.*:任意長度的任意字符

\?:匹配其前面的字符0或1次

\+:匹配其前面的字符至少1次

\{n\}:匹配前面的字符n次

\{m,n\}:匹配前面的字符至少m次,至多n次

\{,\n}:匹配前面的字符至多n次

\{n,\}:匹配前面的字符至少n次

 

sed:stream editor,文本編輯工具

awk: linux上的實現gawk,文本報告生成器

 

 

 

原創文章,作者:Kartik,如若轉載,請注明出處:http://www.www58058.com/31865

(0)
KartikKartik
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • 8.1作業

    8月1日作業 創建testuser uid 1234,主組:bin,輔助組:root,ftp,shell:/bin/csh home:/testdir/testuser [root@localhost ~]# useradd -u 1234 -g bin -G root,ftp&…

    Linux干貨 2016-08-04
  • N25-第二周博客作業

    1.linux上的文件管理命令:   cp命令:copy                 源文件;目標文件;  單源復制:cp [option]… [-T]  SOURCE DEST       &…

    Linux干貨 2016-12-12
  • kickstart+http+dhcp+tftp實現centos7的無人值守安裝

    環境:IP: 172.16.0.11 centos 7.2 一. tftp 安裝tftp服務端和客戶端 [root@localhost ~]# yum -y install tftp tftp-server 啟動tftp [root@localhost ~]# systemctl start tftp.socket [root@localhost ~]# s…

    Linux干貨 2017-06-03
  • varnish淺述

    安裝varnish,安裝包需要到官網下載http://www.varnish-cache.org/releases/index.html varnish的程序環境: /etc/varnish/varnish.params:配置varnish服務進程的工作特性,例如監聽的地址、端口及緩存機制等; /etc/varnish/default.vcl:配置各Chil…

    2016-11-15
  • history          每打開一個終端都會從文件(.bash_history)中加載歷史記錄           不同終端歷史記錄不同彼此終端不共享 …

    2017-07-15
  • 第一天參與馬哥linux運維面授

    很高興認識大家,介紹一下,我叫袁亞瓊,來自美麗的云南。我是一個隨和而又不隨性95年女子,喜歡運動,擅長田徑。學食品檢測的,上學期間沒怎么接觸計算機,現在又來學專業計算機,內心還是有幾絲恐慌,希望在今后的學習路上得到各位學友和老師的指導和幫助。等工作穩定,可以去云南放松一下,云南是個吃喝玩樂的好地方,同時也是個感受慢節奏生活的佳地。云南歡迎您哦! 選擇學習li…

    Linux干貨 2018-03-26
欧美性久久久久