1. 程式人生 > >Linux學習(二)檔案系統

Linux學習(二)檔案系統

一、檔案系統概述

檔案系統主要由3部分構成:與檔案管理相關的軟體、被管理的檔案、實施檔案管理所需的資料結構。

調整檔案系統的幾個步驟: (1)fdisk:在新的儲存裝置(硬碟)上建立分割槽。 (2)mkfs:在分割槽上建立檔案系統。 (3)mount:將該檔案系統掛載到相應目錄下。 (4)umount:使用完成後,拿走裝置前,需要解除安裝該檔案系統。

下面介紹Linux中常見檔案系統型別: (1)xfs:CentOS Linux7預設的檔案系統型別,一種高效能日誌檔案系統,擅長處理大資料。它的日誌功能保障了磁碟故障時可以迅速恢復磁碟資料。 (2)ext2:Linux自帶檔案系統型別。 (3)ext3

:ext2的升級版,區別在於ext3帶有日誌功能,即會跟蹤對磁碟的寫入操作並記錄於日誌,需要時可回溯查詢。 (4)Reiserfs:SUSE Linux預設的檔案系統型別,擅長處理小檔案和大數量的檔案,節約儲存空間,提高訪問效率。最重要的是它可以根據需要動態分配inode結點,而不是在檔案系統建立之初就分配完成,可擴充套件性更好。 (5)swap:作為交換分割槽的檔案系統使用。

二、Linux樹形目錄結構

大概就是下面這種: 在這裡插入圖片描述

1.下面來介紹一下幾個常用的目錄:

  • /bin:存放系統常用命令,這個目錄中的檔案都是普通使用者可以使用、執行的。
  • /dev:裝置檔案儲存目錄,比如:音效卡、磁碟檔案。
  • /boot:存放Linux核心及引導系統程式檔案。
  • /etc:存放系統配置檔案。
  • /home:普通使用者主目錄預設存放的位置。
  • /lib:庫檔案存放目錄。
  • /tmp:臨時檔案目錄。
  • /usr:系統存放程式的目錄。
  • /var:此目錄的內容經常變動。
  • /usr/sbin:存放可執行程式的目錄,只有root許可權可執行,/usr/bin普通使用者也有權執行。
  • /usr/src:存放核心原始碼。
  • . 當前工作目錄
  • . .父目錄
  • ~ 使用者主目錄
  • — 前一個工作目錄

2.絕對路徑和相對路徑

絕對路徑:以根目錄為起點 相對路徑:以當前目錄為起點

三、Linux的檔案管理命令

1.用mkdir建立目錄

在這裡插入圖片描述

2.用cd切換目錄

在這裡插入圖片描述

3.用pwd檢視當前路徑

在這裡插入圖片描述

4.用ls檢視當前目下的資訊

在這裡插入圖片描述

5.用touch建立/更新檔案

在這裡插入圖片描述

6.用cp複製檔案及目錄

 //將檔案file1複製到/home目錄下並重命名為file2
[[email protected] web]$ sudo cp file1 /home/file2  
[sudo] freya 的密碼:
[[email protected] web]$ ls
file1
[[email protected] web]$ cd ..
[[email protected] home]$ ls
file2  freya  web

//將work1目錄複製到/home目錄下
[[email protected] /]$ sudo cp -r work1 /home
[[email protected] /]$ ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr  work1
[[email protected] /]$ cd home
[[email protected] home]$ ls
file2  freya  web  work1

7.用mv移動/重新命名檔案及目錄

[[email protected] home]$ ls
file2  freya  web  work1
[[email protected] home]$ sudo mv file2 file2.3     //將檔案file2重新命名為file2.3
[[email protected] home]$ mv -b file2.3 /tmp/file3      //將檔案file2.3移動到/mnt目錄下並重命名file3,若已有file3則備份原來的
[f[email protected] home]$ sudo mv work1 /mnt    //將目錄work1移動到/mnt目錄下
[[email protected] home]$ sudo mv file2.3 /mnt/file3.3        //將檔案file2.3移動到/mnt目錄下並重命名為file2.3
[[email protected] home]$ cd ..
[[email protected] /]$ cd mnt
[[email protected] mnt]$ ls
file3  file3.3  work1

8.用rm刪除檔案

[[email protected] mnt]$ ls
file3.3  work1
[[email protected] mnt]$ sudo rm file3.3   //刪除file3.3
[[email protected] mnt]$ sudo rm -r work1   //刪除目錄work
[[email protected] home]$ ls
freya  web
[[email protected] home]$ sudo rm -rf web   //強制刪除目錄work
[[email protected] home]$ ls
freya

9.用rmdir刪除目錄

刪除物件必須是空目錄,且必須在上級目錄進行刪除

[[email protected] home]$ sudo rmdir web
[[email protected] home]$ ls
freya

10.用find查詢檔案

find     查詢目錄的路徑      查詢條件選項      對查詢條件的設定
[[email protected] home]$ sudo find /root -user root      //在/root目錄下,查詢檔案所有者是root的檔案,-user表示通過使用者名稱查詢。
[sudo] freya 的密碼:
/root
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/root/.cshrc
/root/.tcshrc
/root/anaconda-ks.cfg
/root/.bash_history
/root/.cache
/root/.cache/abrt
/root/.cache/abrt/lastnotification
/root/.config
/root/.config/abrt

[[email protected] home]$ sudo find /etc -name pass*     //查詢/etc目錄下所有以pass字串開頭的檔案,-name表示通過檔名查詢。
/etc/pam.d/passwd
/etc/pam.d/password-auth-ac
/etc/pam.d/password-auth
/etc/passwd-
/etc/passwd
/etc/openldap/certs/password
/etc/selinux/targeted/active/modules/100/passenger

10.獲取幫助

輸入man ls檢視手冊,q/h退出,或者輸入info。

四、使用vim編輯文件

1.vim編輯器

vim編輯器是Linux中功能最強大的全螢幕文字編輯器,可以完成輸出、刪除、查詢、替換、塊操作等文字操作。

vim編輯器有3中工作模式,分別是命令模式、輸入模式和末行模式。#vim進入命令模式,通過鍵入a,i,o進入輸入模式,esc退回;命令模式下鍵入:進入末行模式,通過wq\q\q!退出vim。

(1)命令模式

輸入vim命令,對檔案進行管理。 在這裡插入圖片描述 (2)輸入模式

該模式下,使用者輸入的內容成為檔案正文。 在這裡插入圖片描述 (3)末行模式

當操作命令比較複雜,需要回顯確認輸入時。在命令模式下按 Shift+: 切換到末行模式。 在這裡插入圖片描述 (4)示例:

在這裡插入圖片描述

2.檢視檔案內容命令

(1)more/less 瀏覽檔案全部內容

其中,more可以檢視檔案第一屏內容,空格下一屏。 less,按z向下翻頁,w向上翻頁,q退出。

(2)cat 檢視檔案內容

將檔案內容列印輸出至顯示器或終端視窗上。

(3)head/tail 顯示檔案頭部/尾部資訊

在這裡插入圖片描述

(4)grep 查詢字串 在這裡插入圖片描述

3.管道與重定向

(1)管道命令

管道命令“|”:即將多個命令連線在一起,每一個命令都獨立執行,每一個命令的執行結果都作為下一個命令的輸出。

格式:

cmd1|cmd2|...|cmd(n)

(2)重定向

stdin:標準輸入裝置埠,預設鍵盤; stdout:標準輸出裝置埠,預設控制檯的顯示屏; stderr:標準錯誤裝置埠,預設也是顯示屏。

重定向就是通過重新指定,讓命令從非預設的輸入/輸出裝置獲得或輸出資訊。

命令 說明
> 輸出重定向,會覆蓋
>> 輸出重定向,不覆蓋
< 輸入重定向
2> 錯誤重定向
&> 輸出重定向和錯誤重定向同時實現

例如:將 ls / 命令的執行結果記錄到list的檔案中。 在這裡插入圖片描述

3.使用U盤備份檔案

掛載U盤分為3步:mkdir 建立掛載點、fdisk 查詢裝置名、mount 掛載

[[email protected] /]# mkdir /mnt/usb             //建立目錄作為掛載點
[[email protected] /]# fdisk -l               //檢視系統分配的裝置名

磁碟 /dev/sda:21.5 GB, 21474836480 位元組,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0x000b16cb

   裝置 Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     4196351     2097152   82  Linux swap / Solaris
/dev/sda2   *     4196352    41943039    18873344   83  Linux

磁碟 /dev/sdc:32.2 GB, 32212254720 位元組,62914560 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 位元組 / 512 位元組
I/O 大小(最小/最佳):512 位元組 / 512 位元組
磁碟標籤型別:dos
磁碟識別符號:0xc3072e18

   裝置 Boot      Start         End      Blocks   Id  System
/dev/sdc1             224    62914559    31457168    c  W95 FAT32 (LBA)

[[email protected] /]# mount /dev/sdc1 /mnt/usb             //掛載
[[email protected] /]# cp hello /mnt/usb       //拷貝檔案到u盤
[[email protected] /]# umount /dev/sdc1      //解除安裝裝置,注意:解除安裝時要先退出掛載點目錄,不然會顯示 “目標忙”

可以通過history檢視歷史命令,同時 “ !<命令編號> ” 可以重新執行該命令。