跳到內容

Linux 基礎/存檔、深入掛載

來自華夏公益教科書
  • 存檔,使用 tar 程式壓縮

列表

tar -tvf file.tar: 顯示 file.tar 的內容

tar -tvfz file.tar.gz: 顯示 mentes.tar.gz 的內容

tar -tvfj file.tar.bz2: 顯示 mentes.tar.bz2 的內容

tar -tvvf file.tar: 詳細列表,許可權,所有者等

壓縮

tar -cvf file.tar /to/path: 將資料壓縮到 tar 中的給定路徑。

tar -cvfz file.tar.gz /to/path: 將資料壓縮到 gzip 中的給定路徑。

tar -cvfj file.tar.bz2 /to/path: 將資料壓縮到 bz2 中的給定路徑。

解壓縮: tar -xvf file.tar: 解壓縮 file.tar 並將其放入 /file 資料夾

tar -xvfz file.tar.gz: 解壓縮 gz 然後解壓縮 tar 並將其放入 /file 資料夾

tar -xvfj file.bz2: 解壓縮 file.bz2 並將其放入 /file 資料夾

掛載 - 或將裝置連線到計算機。 那麼,如果它不能自動工作會怎樣,例如我們在安裝時沒有掛載硬碟驅動器?

這是 mount 命令的基本語法

mount -t type device mount_folder - if we want to mount manually
mount -ta device mount_folder - if we want to detect the file system automatically
  • 我們透過檢測來掛載

型別可以是

ext,ext2,ext3,ext4, fat, ISO9660, msdos, ntfs, udf, xfs 等

如果我想掛載 CD,那麼掛載會像這樣(一步一步來)

mount -t ISO9660 /dev/sr0 /media/cd

以前檔案被掛載到 /mnt,但現代系統將它們放入 /media 資料夾。

在 DVD 的情況下,它將是 udf。 你可能會問,但 DVD 也在 ISO 中,是的,只是在 ISO 中存在檔案大小限制,即 2/4 GB,因此在 DVD 的情況下,即使單層單面 DVD 的容量為 4.7 GB,也不可能寫入大於限制的檔案。

我們可以使用 -o 開關在掛載時給出特定引數,用逗號分隔它們(並非所有引數)(並非所有引數)

async – 非同步 I/O 操作 -> sync: 同步 I/O 操作

atime – 它在每次訪問時更新檔案系統中 inode 的訪問時間,這是核心預設值。

noatime – 它不會更新檔案系統中 inode 的訪問時間

auto – 在啟動時自動掛載分割槽(在非根驅動器的情況下,我們必須執行此操作),mount -a 也執行相同的操作

noauto – 它不會自動掛載,因此我們必須手動掛載它

defaults: rw, suid, dev, exec, auto, nouser, async, and relatime

remount – 嘗試重新掛載已掛載的檔案系統。

ro – 只讀

rw – 讀寫

dev – 解釋檔案系統上的字元或塊特殊裝置。

nouser – 禁止普通使用者(即非 root 使用者)掛載檔案系統。

relatime – 相對於修改或更改時間更新 inode 訪問時間。

suid – 允許 set-user-identifier 或 set-group-identifier 位生效。

其他引數: man mount 命令 / https://linux.die.net/man/8/mount

那麼它是如何工作的呢?

[編輯 | 編輯原始碼]

例如,我們想掛載一個裝置,該裝置是可寫的,只能由 root 掛載,並且我們不想在啟動時自動掛載它,它具有 ext4 檔案系統,我們想使用 setuid、setgid 位,它位於第一個硬碟的第一個分割槽,然後我必須鍵入以下內容

mount -t ext4 -o rw,noauto,nouser,suid /dev/sda1 /mnt/data

但首先,我們需要為要掛載的分割槽建立一個資料夾,否則命令會提醒沒有這樣的目錄。

sudo mkdir /mnt/data

然後我們使用例如 nano 編輯 /etc/fstab 檔案,並將第二行的內容新增到檔案中

# <file system>    <dir>    <type>   <options>            <dump> <pass>
/dev/sda1        /mnt/data  ext4    rw,noauto,nouser,suid  0     1

解釋

檔案系統 = 這意味著我們要掛載的分割槽

dir = 這意味著我們要掛載它的路徑

type = 檔案系統型別

options = 選項,如上所述

dump = dump 是否應該建立檔案系統的副本,0 表示不,1 表示是

pass = fsck 根據此決定它要以何種順序檢查檔案系統,1 是根的,2 是其他檔案系統的,如果為 0,則不會檢查特定檔案系統

解除安裝比掛載更容易,因為我們只需給出要刪除的內容

umount /dev/sda1 - we remove the first HDD/SSD's first partition.
華夏公益教科書