Linux系統學習-第二周

學習筆記

一、Linux上文件管理類的命令及常見使用方法

ls 命令列出文件和目錄的命令,?常見參數:

-a 列出全部的文件,連同隱藏文件( 開頭為 . 的目錄)
-l? ? 依長數據串行的形式列出,包含文件的屬性等等數據
-d 僅列出目錄本身,而不是列出目錄內的文件數據

mkdir 創建目錄 ,? 常見參數:

-m  配置文件目錄的權限!我們可以自己設定自己想要的權限 
-p  幫助你直接將所需要的目錄遞歸建立起來!
-v  顯示命令執行的詳細結果,通常與-p一同使用

mkdir -pv /tmp/a/b/c/d? 在/tmp目錄下創建多層子目錄a/b/c/d

rmdir 刪除空目錄 , 常見參數:

-p 遞歸刪除,刪除空目錄后,若父目錄也為空,也將被刪除,依此類推,直到上級為非空目錄截止。

cp 復制命令, 常見參數:

-a  :相當于 -pdr 的意思;
         -d  :若來源文件為鏈接文件的屬性(link file),則復制鏈接文件屬性而非檔案本身;
         -f  :為強制 (force) 的意思,若有重復或其他疑問時,不會詢問使用者,而強制復制;
         -i  :若目的文件(destination)已經存在時,在覆蓋時會先詢問是否真的動作!
         -l  :進行硬式連結 (hard link) 的連結文件建立,而非復制文件本身;
         -p  :連同文件的屬性一起復制過去,而非使用默認屬性;
         -r  :遞歸持續復制,用于目錄的復制行為;
         -s  :復制成為符號鏈接文件 (symbolic link),亦即『快捷方式』文件;
         -u  :若 destination 比 source 舊才更新 destination !
         最后需要注意的,如果來源檔有兩個以上,則最后一個目的文件一定要是『目錄』

mv 移動或重命名命令

單源移動 | mv [OPTION]… [-T] SOURCE DEST
多源移動 | mv [OPTION]… SOURCE… DIRECTORY
多源移動 | mv [OPTION]… -t DIRECTORY SOURCE…
別名:alias mv=’mv -i’

單源移動(單個源 –> 單個目標)
如果目標不存在,則事先創建此文件,并復制源文件的數據流至目標中,然后將源文件刪除;
如果目標存在,且目標是非目錄文件,則覆蓋目標文件,然后將源文件刪除;
如果目標存在,且目標是目錄文件,則現在目標目錄下創建一個與源文件同名的文件,并將源文件數據流復制到新創建的目標文件中,然后將源文件刪除。

多源移動(多個源 –> 目錄)
如果目標不存在,則會報錯;
如果目標存在,但目標不是目錄,則也會報錯;
如果目標存在,且目標是目錄,則會分別復制源文件中的每一個文件至目標目錄中,并保持原名,然后將源文件刪除。

移動命令常用選項

-i | 交互式移動,即覆蓋之前提醒用戶確認
-f | 強制覆蓋目標文件,即不需要用戶再次確認
示例:

強行移動/web/http到/tmp目錄下

rm 刪除文件或目錄命令 , 常見參數

-i? 交互式刪除,即刪除之前提醒用戶確認
-f? 強制性刪除,即不再需要提醒用戶確認,直接進行刪除操作
-r, -R, –recursive? ?遞歸刪除目錄

 

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

bash的工作特性有:命令補全和路徑補全 (tab鍵)、命令歷史?(history),命令別名(alias),快捷(Ctrl+a跳轉至命令行行首? ? ? ?Ctrl+e跳轉至命令行行尾? 等等?)

還有以下特性:

命令執行狀態返回值:

在bash中使用一個特殊的變量$?來保存上一個命令的執行狀態結果。

其中 0表示成功, 1-255表示失敗

[alex@localhost ~]$ mkdir /tmp/abc ;echo $?
0
[alex@localhost ~]$ mkdir /tmp/abc/ ;echo $?
mkdir: 無法創建目錄”/tmp/abc/”: 文件已存在
1
[alex@localhost ~]$ mkdirr /tmp/abc/ ;echo $?
bash: mkdirr: 未找到命令…
相似命令是: ‘mkdir’
127

bash中命令行展開:

以某些bash能夠解釋的符號來代替命令中的某些參數

#? ? ~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

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

例如:/tmp/{a,b} 相當于 /tmp/a /tmp/b

 

三、Bash的特性命令行展開練習

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

[alex@localhost ~]$ touch /tmp/{a,b}_{c,d}

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

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

 

[alex@localhost tmp]$ mkdir -p /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}}

 

微信截圖_20180520141226

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98930

(0)
Alex WangAlex Wang
上一篇 2018-05-20
下一篇 2018-05-20

相關推薦

評論列表(2條)

  • 馬哥教育
    馬哥教育 2018-05-22 13:52

    最后一個題是不是跟要求的不一樣,/usr目錄下面的

欧美性久久久久