N25期—第二周作業

1、  Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。

  一、文件權限管理類命令

 chown:改變文件所有者

 chown [OPTION]… [OWNER][:[GROUP]] FILE…

 常用參數 -R:遞歸修改(改目錄就改目錄中的目錄及文件)

 示例:# chown -R root /tmp/issue

   # chown -R root:root /tmp/issue

 

 chown [OPTION]… –reference=RFILE FILE…

 示例:# chmod –reference=/tmp/issue /tmp/fstab

 

 chgrp:改變文件的所屬組

 用法,參數與chown基本相同:

 示例:# chgrp root /tmp/issue

 

 chmod:改變文件的權限

 chmod [OPTION]… MODE[,MODE]… FILE…

 MODE:修改一類的權限

 u=

 g=

 o=

 ug=

 u=,g=

 a=

 Note:u為屬主,g為屬組,o為其他,a為全部

 示例:# chmod a=rwx /tmp/issue

 

 修改一類用戶的某位或某些位權限

 u+

 u-

 …

 示例:# chmod u+x /tmp/issue

 

 chmod [OPTION]… OCTAL-MODE FILE…

 -R:遞歸修改(改目錄就改了目錄中包含的文件)

 示例:# chmod -R 777 /tmp/issue

 

 

 chmod [OPTION]… –reference=RFILE FILE…

 參考RFILE文件的權限,將FILE的修改為同RFILE:

 示例:# chmod -R –reference=/tmp/issue /tmp/fstab

 

 umask:文件或目錄創建時的遮罩碼(只對當前shell有效)

 目錄用777-umask  

 文件用666-umask

 注意:如果某類用戶的權限減得的結果中存在x權限,則其權限+1

 

 umask :查看

 umask #:設定

 

 二、文本處理工具

 wc命令:統計單詞數,行數,字節數

 wc [OPTION]… [FILE]…

 wc [OPTION]… –files0-from=F

 -l:line 顯示行數

 -w:words 單詞數

 -c:characters 字節數

 示例:wc /tmp/issue

 

 cut命令:切取文本

 cut OPTION… [FILE]…

 -d:指明分隔符  缺省為空格

 -f:指定顯示段落

 #:精確的第幾個字段

 #,#[,#]:離散的多個字段

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

 

 混合使用:1-3,7

 –output-delimiter=STRING

 示例:# cut -d: -f1-3 /etc/passwd

 

 sort命令:排序

 sort [OPTION]… [FILE]…

 sort [OPTION]… –files0-from=F

 

 -f, –ignore-case 忽略字符大小寫

 -r, –reverse  逆序

 -t DELIMITER:字段分隔符

 -k #:以指定字段排序

 -n:以數值大小進行排序

 -u:unip,去重顯示

 

 uniq命令:不排序只去重

 uniq [OPTION]… [FILE]…

 -d:–repeated 僅顯示重復的行

 -u:–unique 僅顯示不重復的行

 -c:–count 在前綴顯示重復的數量

 

 注意:連續且完全相同方為重復

 

 三、文件管理命令 cp,mv,rm

 cp:copy 復制命令

 cp [OPTION]… [-T] SOURCE DEST

 cp [OPTION]… SOURCE… DIRECTORY

 cp [OPTION]… -t DIRECTORY SOURCE…

 

 cp SRC DEST

 SRC是文件:

 如果目標不存在:新建DEST,并將SRC中內容填充至DEST中:

 如果目錄存在:

 如果DEST是文件:將SRC中的內容覆蓋至DEST中

     此時建議為CP命令使用-i選項:

 如果DEST是目錄:在DEST下新建與原文件同名的                                 文件,并將SRC中內容填充至新文件中

 

 cp SRC… DEST

 SRC…:多個文件

 DEST必須存在,且為目錄,其他情形均會出錯:

 

 cp SRC DEST

 SRC是目錄

 則使用選項:-r

 

 如果DEST不存在:創建目標目錄,復制SRC目錄中所有文件至DEST中

 如果DEST存在:

 如果DEST是文件,報錯

 如果DEST是目錄,復制到此目錄中

 

 常用選項:

 -i:交互式

 -r:遞歸復制目錄及目錄內的所有內容

 -a;歸檔備份(保存文檔的所有原屬性)相當于-dR –preserv-all

 -d:–no-dereference –preserv=links

 –preserv=[ATTR_LIST]

 mode:權限

 ownership:屬主屬組

 timestamp:時間戳

 links:

 xattr:

 context:

 all:

 -p:–preserv=mode,ownership,timestamp

 -v:–verbose 顯示詳細信息

 -t:原和目標可以放反

 -f:–force 強制

 

 mv:move 移動文件

 mv [OPTION]… [-T] SOURCE DEST

 mv [OPTION]… SOURCE… DIRECTORY

 mv [OPTION]… -t DIRECTORY SOURCE…

 

 常用選項:

 -f:–force 強制

 -i:交互式

 

 rm:remove 刪除

 rm [OPTION]… FILE…

 常用選項:

 -f:–force 強制

 -i:交互式

 -r:遞歸刪除

 

 rm -rf:強制刪除有文件的目錄

 

 

 四、文本文件查看類命令:cat,tac,more,less,tail,head

 cat(tac): 正向(反向)顯示

 cat [OPTION]… [FILE]…

 -E:顯示行結束符$

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

 

 nl:添加行號顯示

 

 more:一頁一頁翻屏

 more[OPTIONS…] FILE…

 -d:顯示翻頁及退出提示

 用法:

 space:向下翻頁

 Enter:向下翻一行

 b,carl+b:向回翻頁

 /STRING:向下查詢該字符串

 :f:顯示文件名及目前顯示的行數

 q:離開

 

 less:一頁一頁翻屏

 less[OPTIONS…] FILE…

 用法:

 Space,carl+V 或+f 或+F 向下翻頁

 b carl+B 向文件首部翻屏

 d carl+D 向文件尾部翻半屏

 u carl+U 向文件首部翻半屏

 Enter 或carl+N 或e 或carl+E 或j 或carl+]:向文件尾部翻一行

 y或carl+Y 或carl+P 或k 或carl+K :向文件首部翻一行

 q 退出

 

 #;跳轉至第#行

 1G:回到文件首部

 G:回到文件尾部

 

 head:查看前面#行

 head[OPTIONS…] [FILE…]

 -c #:指定獲取前#字節

 -n #:指定獲取前#行

 -#:指定獲取前#行

 

 tail:查看后面#行

 tail[OPTIONS…] [FILE…]

 -c #:指定獲取后#字節

 -n #:指定獲取后#行

 -#:指定獲取后#行

 -f:查看文件到尾部不退出,繼續觀察文件后續內容

 

 五、文件的時間戳管理工具:touch

 

 touch:修改文件時間或創建文件

 touch[OPTIONS…] FILE…

 -a:only atime

 -m:only mtime

 -t:STAMP

 年月日小時分鐘秒

 -c:如果文件不存在,則不予創建

 

 六、文件內容類型查看命令:file

file /PATH/TO/SOMEWHERE

 

 

 

2bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。

 

執行狀態返回值$?的數字含義為:

0:成功執行;

1-255:執行失敗。

其中1、2、127已經被系統占用了,如果用戶想自行定義執行狀態返回值,可以使用exit命令在腳本中定義腳本執行狀態返回值,如果不定義,腳本執行狀態返回值取決于腳本執行結束前最后執行的那條語句的狀態。

 

[root@localhost ~]# id root

1

uid=0(root) gid=0(root) groups=0(root)

 

[root@localhost ~]# echo $?

0

# root用戶存在,故$?值為0

 

[root@localhost ~]# echo $?

1

2

1

# $?值為1,說明不存在root用戶。

 

 

 2.jpg

(1)     mkdir /tmp/{a,b}_{c,d}

(2)     mkdir -pv /tmp/mylinux/{bin,/boot/grub,dev,etc/{rc.d/inint.d,sysconfig/network-scripts},/lib/modules,

lib64,proc,sbin,sys,tmp,/usr/local/{bin,sbin},/var/{lock,log,run}}

 

 

 

4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。

 

在Linux文件管理中,文件除了自身數據之外,還有附屬信息,即文件的元數據;這個元數據用于記錄文件的許多信息,比如文件大小,屬主,屬組,修改日期等等。元數據并不包含在文件數據中,由系統維護,也就是包含在inode中。每個inode有一個唯一的整數編號表示(inode number)。

 

如何查看文件的元數據信息: ls  -l , stat

 

# ls -l /etc/passwd

-rw-r–r–. 1 root root 2264 Nov  2 07:08 /etc/passwd

 

stat /etc/passwd

  File: ‘/etc/passwd’

  Size: 2264        Blocks: 8          IO Block: 4096   regular file

Device: fd00h/64768d  Inode: 68636662    Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Context: system_u:object_r:passwd_file_t:s0

Access: 2016-11-02 07:08:39.778000000 -0400

Modify: 2016-11-02 07:08:39.770000000 -0400

Change: 2016-11-02 07:08:39.772000000 -0400

 

修改文件的時間戳:

[root@linux ~]# touch [-acdmt] 文件
參數:
-a : 僅修改access time。
-c : 僅修改時間,而不建立文件。
-d : 后面可以接日期,也可以使用 –date="日期或時間"
-m : 僅修改mtime。
-t : 后面可以接時間,格式為 [YYMMDDhhmm]

 

 

 

 

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

指令:alias
設置指令的別名

語法:#  alias name='command line'

參數:
-p:    打印出現有的別名(唯一的參數)
若不加任何參數,則列出目前所有的別名設置

用法:
# alias cp='cp -i'或alias l='ll'

這樣就可以用cp來代替cp -i,而且cp -i這條命令依舊有效

 

查看alias:
列出目前所有的別名設置。
# alias    或    # alias -p

查看具體一條指令的別名
# alias cp

別名永久化:
alias的作用僅在該次登入的操作,即輸入一次alias后,這個修改只在當前的Shell生效。如果重新開啟一個 Shell,或者重新登錄,則這些alias將無法使用。好在linux中提供alias永久化的方法:
<1>.若要每次登入就自動生效別名,則把別名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc
<2>.若要讓每一位用戶都生效別名,則把別名加在/etc/bashrc最后面,然后# source /etc/bashrc

重新設置別名:
alias重置的方法與第一次設置的時候一樣
# alias cp='cp -i'

刪除別名:
格式:unalias name

#  unalias cp

如何在命令中引用另一個命令的執行結果

命令是ficonfig eth0,變量是ip,則:
#!/bin/bash
ip=`ifconfig eth0`
echo $ip
這樣就把命令生成的字符串賦值給ip了,echo $ip,看到的就是命令執行的結果

 

6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,中間出現至少一位數字(可以有其他字符)的文件或目錄

 # ls –d /var/l*[0-9]*[[:lower:]]

7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。

# ls –d /etc/[0-9]*[^0-9]

8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄

# ls –d /etc/[^[:alpha:]][[:alpha:]]*

9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22.

touch /tmp/tfile-$(date +"%F-%H-%M-%S")

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

cp -r /etc/p*[^0-9] /tmp/mytest1/

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

cp -r /etc/*.d /tmp/mytest2/

12、復制/etc/目錄下所有以lmn開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

cp -r /etc/[lmn]*.conf /tmp/mytest3/

 

 

 

 

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

(0)
victorli88victorli88
上一篇 2016-12-11
下一篇 2016-12-11

相關推薦

  • Linux文件系統-基礎學習-文件管理-20160727

    Linux文件系統–基礎學習–文件管理 Linux下的文件類型 –:普通文件 :這些文件一般是用一些相關的應用程序創建。它的第一個字符是 – d: 目錄文件 :目錄在Linux是一個比較特殊的文件。它的第一個字符是 d b: 塊設備 :這個種類的文件,是用mknode來創建,用rm來刪除,它的第一個字符是b c…

    Linux干貨 2016-08-04
  • Linux 進程及作業管理

    一 進程、線程、程序概念 1、進程(Process) 什么是進程,簡單的說,進程是程序的執行實例,即運行中的程序,同時也是程序的一個副本;程序是放置于磁盤的,而運行中的程序是位于內存中的。 2、線程(Thread) 一個進程至少包括一個線程,通常將該線程稱為主線程,所以線程是比進程更小的單位,是系統分配處理器時間資源的基本單元。一個進程要想同時在多顆CPU上…

    Linux干貨 2016-03-15
  • 命令組合

    1 取出當前已登陸的用戶名 2 取出最后登錄用戶的相關信息 3 取出默認shell最多的的類型   4 轉移    [redsun@jiange root]$ sort -t: -k3 -n -r  /etc/passwd | sed -n "1,+3p" | tr 'a-z' …

    Linux干貨 2016-11-13
  • python文件操作

    文件操作使用的函數open 打開read 讀write 寫close 關其他非常用的 seek 設置讀取指針 tell 讀取讀取指針位置 windows中def encode(self, encoding=’utf-8′, errors=’strict’)open 和它的參數open(file,mode=&#8…

    Linux干貨 2017-10-31
  • rpm管理包

    rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由于它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易于安裝,升級,間接提升了Linux的適用度。接下來聊一聊如何安裝、卸載、查詢、檢驗rpm類的軟件。 安裝:…

    2017-08-19
  • Linux權限管理與grep命令應用(第四周)

    第四周作業 1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ch…

    Linux干貨 2016-09-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 23:28

    贊,總結的比較詳細~~能注意下排版會更好~繼續加油~

欧美性久久久久