Linux文件管理


一 Linux文件管理

Linux中隊文件管理的命令主要有:mkdir rmdir mv rm cp touch file stat等命令

  • 創建目錄mkdir

 mkdir [OPTION]... DIRECTORY...
[root@MiWiFi-R3-srv testdir]# mkdir /root/dirtest  在/root下創建一個dirtest的目錄
常用選項:
    -p 如果父目錄不存在同事創建父目錄
    -v 顯示創建目錄的纖細信息
    -m 創建目錄時同時設置目錄的權限
[root@MiWiFi-R3-srv testdir]# mkdir -vpm 755 /root/dirtest/harry 當父目錄不存在先創建父目錄再創建子目錄並設置權限為755
mkdir: created directory ‘/root/dirtest’ 
mkdir: created directory ‘/root/dirtest/harry’
  • rmdir刪除目錄

rmdir [OPTION]... DIRECTORY...
[root@MiWiFi-R3-srv testdir]# rmdir /root/dirtest/harry/ 刪除一個目錄
  • mv移動文件或給文件重命名

   mv [OPTION]... [-T] SOURCE DEST
   mv [OPTION]... SOURCE... DIRECTORY
   mv [OPTION]... -t DIRECTORY SOURCE...  
[root@MiWiFi-R3-srv testdir]# mv /etc/fstab /root/  將/etc/fastab移動至/root
[root@MiWiFi-R3-srv testdir]# mv testfile mytestfile 將testfile重命名為mytestfile
  • cp復制文件或目錄

  cp [OPTION]... [-T] SOURCE DEST
  cp [OPTION]... SOURCE... DIRECTORY
  cp [OPTION]... -t DIRECTORY SOURCE...
 [root@MiWiFi-R3-srv testdir]# cp /etc/passwd /root/ 單源復制將/etc/passwd復制到/root目錄下
 [root@MiWiFi-R3-srv testdir]# cp /etc/fstab /etc/profile /root/多源復制將/etc下的fstab和profile復制到root目錄下
 常用選項:
    -i 交互復制,復制之前提醒用戶
    -f 強制復制目標文件
    -r 遞歸復制目錄,復制目錄及目錄中的文件
    -d 不復制符號鏈接的源文件,僅復制符號鏈接
    -a 保留文件或目錄原有屬性,進行歸檔
  • rm刪除文件或目錄

rm [OPTION]... FILE...
[root@MiWiFi-R3-srv testdir]# rm -rf /root/testdir/ 強制刪除該目錄以及目錄中的內容
常用選項:
       -i 交互式刪除
       -r 遞歸刪除
       -f 強制刪除

  • stat 顯示文件或文件系統狀態

[root@MiWiFi-R3-srv ~]# stat abc 顯示某文件的大小,塊大小訪問以及修改時間等
File: ‘abc’
Size: 0     Blocks: 0  IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 4186704 Links: 1
    Access: (0644/-rw-r--r--)  Uid: (0/root)   Gid: (0/root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-08-05 18:40:00.000000000 +0800
Modify: 2017-08-05 18:40:00.000000000 +0800
Change: 2017-08-05 18:47:05.289878820 +0800
  • touch 創建一個空文件或修改某個文件時間戳

touch [OPTION]... FILE...
[root@MiWiFi-R3-srv testdir]# touch /root/abc 創建一個abc的空文件
[root@MiWiFi-R3-srv ~]# touch -a abc 僅修改access時間
[root@MiWiFi-R3-srv ~]# touch -m abc  僅修改文件modify時間
[root@MiWiFi-R3-srv ~]# touch -t 201708051840 abc 修改為指定的時間
  • file顯示文件類型

[root@MiWiFi-R3-srv ~]# file /bin/ls 查看某個文件的類型
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

二 Linux的命令狀態返回值以及命令行展開

在bash中可通過查看命令狀態返回碼來判斷上一條的命令是否執行成功

  • 成功:0
  • 失敗:1-255

[root@MiWiFi-R3-srv ~]# date  輸入命令
Sat Aug  5 18:57:01 CST 2017
[root@MiWiFi-R3-srv ~]# echo $? 通過特殊變量查看上一條命令的執行狀態返回碼
0  代表成功執行
[root@MiWiFi-R3-srv ~]# dater   輸入錯誤命令狀態返回碼為127
[root@MiWiFi-R3-srv ~]# echo $?
127

bash特性之命令展開

  • ~:自行展開為用戶的家目錄,或指定用戶的家目錄
  • {}:可承載一個以逗號分隔的路徑列表,並能將其展開為多個路徑

練習 1 在/tmp 目錄下創建:a_c, a_d. b_c. b_d

[root@MiWiFi-R3-srv ~]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: created directory ‘/tmp/a_c’
mkdir: created directory ‘/tmp/a_d’
mkdir: created directory ‘/tmp/b_c’
mkdir: created directory ‘/tmp/b_d’*

練習2 在/tmp/mylinux目錄創建如下結構

[root@MiWiFi-R3-srv ~]# 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/{look,log,run}}
[root@MiWiFi-R3-srv ~]# 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
├── log
├── look
└── run

三 Linux文件的元數據

Linux中文件的元數據包含文件的權限,時間戳,iNode,塊大小,硬鏈接次數所屬者以及所屬組等等。可通過命令stat查看相信信息

[root@MiWiFi-R3-srv ~]# stat fstab       查看文件的元數據信息
  File: ‘fstab’
  Size: 617     Blocks: 8  IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 4186700 Links: 1
Access: (0700/-rwx------)  Uid: (0/root)   Gid: (0/root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2017-08-05 18:29:25.104977052 +0800
Modify: 2017-08-05 18:29:25.104977052 +0800
Change: 2017-08-05 18:29:25.104977052 +0800
[root@MiWiFi-R3-srv ~]# touch fstab  通過touch命令修改文件的時間戳
[root@MiWiFi-R3-srv ~]# touch -a fstab  僅修改access時間
[root@MiWiFi-R3-srv ~]# touch -m fstab  僅修改modify時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM