Linux文件及目錄管理

Linux 文件管理

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

目錄管理類命令:mkdir,rmdir

mkdir [OPTION]... DIRECTORY...
-p:自動按需創建父目錄;
-v顯示詳細過程;
-m MODE直接給定權限;

rmdir 移除空目錄
rmdir [OPTION]... DIRECTORY...
-p:刪除某目錄后,如果其父目錄為空,則一并刪除之
-v:顯示過程

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

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

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

tree命令

~]#tree [options] [directory]
-L level:指定要顯示的層級

文件管理命令:cp,mv,rm

cp命令

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

常用選項:

-i:交互式復制,即覆蓋之前提醒用戶確認
-f:強制覆蓋目標文件
-r,-R:遞歸復制目錄
-d:復制符號鏈接文件本身,而非其指向的源文件
-a:-dR --preserve=all,archive,用于實現歸檔;
--preserv=
         mode:權限
         ownership:屬主和屬組
         timestamps:時間戳
         context:安全標簽
         xattr:擴展屬性
         links:符號鏈接
         all:上述所有屬性

mv命令

~]#mv [OPTION]... [-T] SOURCE DEST
~]#mv [OPTION]... SOURCE... DIRECTORY
~]#mv [OPTION]... -t DIRECTORY SOURCE..

常用選項:

-i:交互式,移動前需要用戶確認
-f:force

rm命令

~]#rm [OPTION]... FILE...

常用選項:

-i:交互式,移除前需要用戶確認
-f:強制執行
-r:遞歸目錄及目錄中的文件

文件查看類命令:cat,tac,head,tail,more,less,stat

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

命令執行的狀態結果
成功:0
失?。?-255
狀態返回值保存于bash的特殊變量$?中

引用命令執行結果 $(COMMAND) 或COMMAND 引用可以強引用‘’,可以弱引用“”,命令引用“

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

(1)創建/tmp目錄下的:ac,ad,bc,bd

~]#mkdir -pv /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

~]#mkdir -pv /tmp/mylink/{bin,boot/grup,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,
             lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

(1)文件的元數據信息,使用stat命令查看,包含信息如下

~]# stat dipweb2245_20161008.log 
File: “dipweb2245_20161008.log”
Size: 220552        Blocks: 440        IO Block: 4096   一般文件
Device: fd00h/64768d    Inode: 35488299    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  501/      r7)   Gid: (  501/      r7)
Access: 2016-10-08 14:21:36.000000000 +0800
Modify: 2016-10-08 20:45:37.000000000 +0800
Change: 2016-10-09 14:06:46.000000000 +0800

(2)如何修改文件的時間戳信息

~]#touch [OPTION]... FILE...
            -c: 指定的文件路徑不存在時不予創建;
            -a: 僅修改access time;
            -m:僅修改modify time;
            -t STAMP
                [[CC]YY]MMDDhhmm[.ss]
示例:
script]# touch -t 201610091714.30 sh19.sh 
script]# stat sh19.sh 
文件:"sh19.sh"
大?。?65          塊:8          IO 塊:4096   普通文件
設備:fd00h/64768d Inode:5975708     硬鏈接:1
權限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
環境:unconfined_u:object_r:default_t:s0
最近訪問:2016-10-09 17:14:30.000000000 +0800
最近更改:2016-10-09 17:14:30.000000000 +0800
最近改動:2016-10-09 17:15:16.479993932 +0800
創建時間:-

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

查看別名
~]#alias
設置別名
~]#alias als_cat='cat'
取消別名
~]#unalias als_cat

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

可以通過`command`或者$(command)進行引用
示例1:
script]# cat `find ./ -name "sh09.sh"`
#!/bin/bash
    # program:
#   Check $1 is equal to "hello"
# History:
# 2016/08/18 huox first release

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH

if [ "$1" == "hello" ]; then
    echo "hello,how are you"

elif [ "$1" == "" ]; then
    echo "You MUST input parameter, ex> {$0 someword}"

else 
    echo "The only parameter is 'hello', ex> {$0 hello}"
fi

示例2
script]# cat $(find ./ -name "sh09.sh")
#!/bin/bash
# program:
#   Check $1 is equal to "hello"
# History:
# 2016/08/18 huox first release

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH

if [ "$1" == "hello" ]; then
    echo "hello,how are you"

elif [ "$1" == "" ]; then
    echo "You MUST input parameter, ex> {$0 someword}"

else 
    echo "The only parameter is 'hello', ex> {$0 hello}"
fi

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

~]#ls -d /var/1*[0-9]*[a-z]

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

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

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

~]#ls /etc/[^[:alpha:]][:alpha:]*

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

tmp]#touch tfile-$(date +%Y-%m-%d-%H-%M-%S)

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

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

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

~]#cp /etc/*.d /tmp/mytest2

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

~]#cp /etc/[lmn]*.conf /tmp/mytest3

原創文章,作者:282265970@qq.com,如若轉載,請注明出處:http://www.www58058.com/50413

(0)
282265970@qq.com282265970@qq.com
上一篇 2016-10-09
下一篇 2016-10-09

相關推薦

  • SHELL流程控制之循環

    當進行腳本編程時,語句執行的流程控制通常有三種: l  順序執行 l  選擇執行 l  循環執行   條件選擇if: if語句可以進行嵌套 if 判斷條件;then          條件為真的分支代碼 elif  判斷條件;th…

    Linux干貨 2016-08-18
  • 馬哥教育網絡班第22期+第14周作業

    week14: 系統的INPUT和OUTPUT默認策略為DROP; 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒; web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機; 2、在工作時間,即周一到周五的8:30-18:00,開放本機的ftp服務給172.16.0.0網絡中的主機訪問; 數據…

    Linux干貨 2016-12-12
  • 由tty命令產生的好玩的想法

    昨天看了馬哥Linux視頻的前兩天內容,里面講了到終端的概念,回顧一下:  物理終端:是直接接入本機的顯示器和鍵盤設備。/dev/console  虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端,CentOS 6默認啟動6個虛擬終端 Ctrl+Alt+F#: [1,6] 圖形終端:附加在物理終端之上的以軟件方式…

    Linux干貨 2016-05-16
  • linux —————-目錄配配置【FHS】

    linux 目錄配配置【FHS】 /根目錄的意義與內容 根目錄是整個系統最重要的一個目錄;根目錄與開機、還原、系統修復等操作有關 FHS建議標準: 根目錄所在的分區應該越小越好,且應用程序所安裝的軟件最好不要與根目錄放在同一個分區內,保持根目錄越小越好 FHS定義的目錄含義 /bin :系統存放執行文件的目錄,但是bin比較特殊【bin放置的是在單用戶維護?!?/p>

    Linux干貨 2017-04-17
  • liunx文本處理三劍客及文本處理工具的使用與練習。

    linux文本處理三劍客: grep ==擅長過濾,把想要的或者不想要的分離開。linux三劍客 老三  -A: 除了顯示匹配的一行之外,并顯示該行之前的num行;-B:除了顯示匹配的一行之外,并顯示該行之后的num行;-C:除了顯示匹配的一行之外,并顯示該行之前后各num行     sed==擅長取行、替換。三劍客老…

    2017-07-28
  • 磁盤管理

    一、知識整理 1、每個扇區:512字節;每個柱面:256個磁頭*63個扇區*512字節,大概為8M。centos6中分區使用起始結束柱面;centos7中分區使用起始結束扇區。EBR:擴展分區的第一個扇區。 2、MBR:master root record,1982年,使用32位表示扇區數,分區不超過2T。其中,一共512bytes字節,446bytes為b…

    Linux干貨 2016-08-29
欧美性久久久久