第二周作業

課后作業

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

cp:復制命令

三種常用方式:

cp[OPTION]...[-T] SOURCE DEST
cp[OPTION]...SOURCE...DIRECTORY
cp[OPTION]...-t DIRECTORY SOURCE

如果SRC是文件,

(1)如果DEST不存在:新建DEST,并將SRC中的內容填充至DEST中;

(2)如果DEST存在:

       若DEST是文件:將SRC中的內容覆蓋至DEST中;(可以使用-i來提醒用戶是否覆蓋)

       若DEST是目錄:在DEST下新建與源文件同名的文件,并將SRC中的內容填充至新文件中?!?/p>

常用選項:

i:交互式

在centos6.0版本后,原本的cp命令已經自帶cp -i,所以當出現復制的源文件會覆蓋掉已有目標文件時,就會出現交互命令。

[root@centPlinux ~]# alias cp
alias cp='cp -i'

[root@centPlinux ~]# cp /etc/rpc /tmp/111
cp:是否覆蓋"/tmp/111"?

r、R:遞歸復制目錄及內部的所有內容

做一個對比:

[root@centPlinux ~]# cp -r /etc/yum /tmp/222
[root@centPlinux ~]# ls /tmp/222
pluginconf.d  protected.d  vars  version-groups.conf
[root@centPlinux ~]# cp /etc/yum /tmp/222
cp: 略過目錄"/etc/yum"
[root@centPlinux ~]# ls /tmp/222
ls: 無法訪問/tmp/222: 沒有那個文件或目錄

a:歸檔,相當于-dR –preserve=all

d:不跟蹤符號鏈接所指向的源文件,只復制符號鏈接本身 –no-dereference –preserve=links

仍然做個對比:

[root@centPlinux tmp]# cp /etc/system-release /tmp
[root@centPlinux tmp]# ls /tmp
mylinux  system-release  yum.log
[root@centPlinux tmp]# cat /tmp/system-release
CentOS release 6.5 (Final)
[root@centPlinux tmp]# cp -d /etc/system-release /tmp
[root@centPlinux tmp]# ls /tmp
mylinux  system-release  yum.log
[root@centPlinux tmp]# cat /tmp/system-release
cat: /tmp/system-release: 沒有那個文件或目錄

preserve =   mode:權限

ownership:屬主屬組

timestamp:時間戳

links:鏈接

xattr:擴展屬性

context:安全標簽

all:以上所有屬性

f:強制覆蓋

v:顯示過程


mv:移動命令

用法基本等同于cp,常用選項也參考cp


rm:刪除命令

格式:rm [OPTION]…FILE…

常用選項:

i:交互式

f:強制刪除

r:遞歸刪除

刪除目錄:rm -rf /PATH/TO/DIR

注意:所有無用文件建議不要直接刪除,而是移動到某個指定目錄(用來模擬回收站),可設置定期刪除指定目錄里的無用文件。

touch:該命令是修改文件時間戳的命令,但當touch一個不存在的文件時,則會創造一個文件,所以可以用下面格式創建文件:

touch…FILE…

若不想創建文件,則touch加選項參數-c,即使如果文件不存在,也不創建該文件。

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

(1)命令執行狀態返回值

bash通過狀態返回值來輸出此結果,成功:0,失?。?-255

命令執行完成后,狀態返回值保存于bash的特殊變量$?中

[root@guolin ~]# ls
10:06:44  a_c              CST   install.log         Nov
25        anaconda-ks.cfg  $Fri  install.log.syslog
[root@guolin ~]# echo $?
0

[root@guolin ~]# lss
-bash: lss: command not found
[root@guolin ~]# echo $?
127

引用命令的執行結果,有以下兩種格式實現:

$(COMMAND)     'COMMADN'

[root@guolin ~]# mkdir /tmp/test_$(date +%H-%M-%S)
[root@guolin ~]# ls /tmp
test_19-45-16  wodediyigewenjian  yum.log

(2)命令行展開

~:展開為用戶的主目錄

~USERNAME:展開為指定用戶的主目錄

{ }:可承載一個以逗號分隔的列表,并將其展開為多個路徑

[root@guolin ~]# mkdir -v /tmp/{a,b}
mkdir: 已創建目錄 "/tmp/a"
mkdir: 已創建目錄 "/tmp/b"

3.請使用命令行展開功能來完成以下練習:

(1)、創建/tmp目錄下的:a_c,a_d,b_c,b_d

結果如下:

[root@centPlinux ~]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: 已創建目錄 "/tmp/a_c"
mkdir: 已創建目錄 "/tmp/a_d"
mkdir: 已創建目錄 "/tmp/b_c"
mkdir: 已創建目錄 "/tmp/b_d"
[root@centPlinux ~]# ls /tmp
a_c  a_d  b_c  b_d

(2)、創建/tmp/mylinux目錄下的:

種方法.png

結果如下:

[root@centPlinux ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}   
[root@centPlinux ~]# tree /tmp/mylinux
/tmp/mylinux
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│   └── local
│       ├── bin
│       └── sbin
└── var
    ├── lock
    ├── log
    └── run

24 directories, 0 files

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

元數據即為文件的屬性信息,其中三個時間戳,分別是

access timeatime:訪問時間,即通過使用cat,more等讀取內容的時間

modify timemtime:修改時間,即文件內容發生改變的時間

change timectime:改變時間,即元數據發生改變的時間

stat:查看文件時間戳

touch:修改時間戳信息

常用參數:

a:僅修改atime

m:僅修改mtime

t:設置時間 CCYYMMDDhhmm,ss

注意:只要修改時間戳,則ctime必定會改變,所以ctime不能指定修改,只能同atime、mtime一起修改成當前時間。故-c并不是修改ctime,而是在前文提到的,在touch到的文件不存在時,不創建該文件

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

alias:定義命令別名 alias NAME='COMMAND'(僅對當前shell進程有效)

引用命令的結果:使用$(COMMAND)'COMMAND'

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

ls -d /var/l*[[:digit:]]*[[:lower:]]

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

ls -d /etc/[[:digit:]]*[^[:digit:]]

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

ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

[root@centPlinux ~]# touch /tmp/tfile-$(date +%y-%m-%d-%H-%M-%S)
[root@centPlinux ~]# ls /tmp
a_c  a_d  b_c  b_d  mylinux  tfile-16-11-24-00-32-01  yum.log

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

mkdir /tmp/mytest1

cp -r /etc/p*[^[:digit:]] /tmp/mytest1/

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

mkdir /tmp/mytest2

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

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

mkdir /tmp/mytest3

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

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

(0)
gl693184974gl693184974
上一篇 2016-12-10
下一篇 2016-12-10

相關推薦

  • find 詳解

    find 命令基本用法:         find pathname [opotions] [-print | -exec | -ok …] 1、find 基本參數:         pa…

    Linux干貨 2016-12-26
  • linux中擴展swap分區和移動設備使用掛載以及常用的工具free、df 、du、dd命令

    swap分區 swap分區作用:內存不足時充當系統內存,所以swap盡量放在告訴硬盤上也就是盡量使用磁盤的第一個分區 動手創建swap分區       1、創建分區,將分區類型轉換成swap分區格式           &nbsp…

    Linux干貨 2016-08-29
  • Apache Httpd負載均衡Tomcat并實現Session Sticky和Session Cluster

    Apache Httpd負載均衡Tomcat并實現Session Sticky和Session Cluster 前言 實驗拓撲 實驗步驟 安裝配置tomcat 安裝配置Apache Httpd并測試 實現session sticky 實現Session Cluster 總結 前言 上篇文章我們介紹如何構建一個LANMT平臺并搭建一個jspxcms, 這次我們…

    2016-04-22
  • Python裝飾器與面向切面編程

    新年好~ 那么,很久沒有更新了,其實想想也沒多少可以寫的,因為Python的文檔似乎很全面的說……能做的差不多只有翻譯和整理了,英文過關的朋友不妨直接去doc.python.org這里查看相關資料 :) 轉載請注明原作者和原文地址,多謝! 今天來討論一下裝飾器。裝飾器是一個很著名的設計模式,經常被用于有切面需求的場景,較為經典的有插入日志、性能測試、事務處理…

    Linux干貨 2015-03-12
  • 一、循環語句:for, while, until 循環執行:將某代碼段重復運行多次重復運行多少次:循環次數事先已知循環次數事先未知有進入條件和退出條件 1.for……do……done for 變量 in 列表 ; do    循環體done 執行機制:依次將列表中的元素賦值給“變量名”; 每次賦值后即執行一次循環體; 直到列表中…

    Linux干貨 2016-08-19
  • 馬哥教育N22期第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 root@xuc-virtual-machine:/home/xuc# cp -r /etc/skel/ /home/tuser1 root@xuc-virtual-machine:/…

    Linux干貨 2016-09-06

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 15:55

    整體還是不錯的,第11、12題有點問題~再注意下整體排版風格會更好~加油~

欧美性久久久久