(八)文件系統(tǒng)操作與磁盤管理

一、實驗介紹

1.1 實驗內容

本節(jié)實驗的文件系統(tǒng)操作的內容十分簡單亚脆,只會包含幾個命令的幾個參數(shù)的講解,但掌握這些也將對你在學習 Linux 和實驗樓后續(xù)其他課程的過程中有極大幫助抵屿。
因為本課程的定位為入門基礎摹恰,盡快上手,故沒有打算涉及太多理論內容硼婿,前面省略了關于 Linux 文件系統(tǒng)的一些基本知識锌半,也因為我們是在線實驗環(huán)境,所以也避開了很少一部分但又十分重要的關于硬件的內容寇漫,我們只能期待用戶能夠抱著提高自學能力的心態(tài)自己去補充相關的知識刊殉。

1.2 實驗知識點

df,du州胳,mount
命令的使用
磁盤相關知識學習

二记焊、基本操作

2.1 查看磁盤和目錄的容量

使用 df 命令查看磁盤的容量

$ df

在虛擬云主機的環(huán)境中你將看到如下的輸出內容:

但在實際的物理主機上會更像這樣:

一般使用情況下,我們更多只是關心第一行的內容也就是環(huán)境中的rootfs或者物理主機上的/dev/sda2
"rootfs" : (Root File System)它是 Ramfs(Ramfs 是一個非常簡單的 Linux 文件系統(tǒng)用于實現(xiàn)磁盤緩存機制作為動態(tài)可調整大小的基于 ram 的文件系統(tǒng))或者 tmpfs 的一個特殊實例栓撞,它作為系統(tǒng)啟動時內核載入內存之后遍膜,在掛載真正的磁盤之前的一個臨時文件系統(tǒng)碗硬。通常的主機會在系統(tǒng)啟動后用磁盤上的文件系統(tǒng)替換,只是在一些嵌入式系統(tǒng)中會只存在一個 rootfs 瓢颅,或者像我們目前遇到的情況運行在虛擬環(huán)境中共享主機資源的系統(tǒng)也可能會采用這種方式恩尾。

物理主機上的 /dev/sda2 是對應著主機硬盤的分區(qū),后面的數(shù)字表示分區(qū)號惜索,數(shù)字前面的字母 a 表示第幾塊硬盤(也可能是可移動磁盤)特笋,你如果主機上有多塊硬盤則可能還會出現(xiàn) /dev/sdb,/dev/sdc 這些磁盤設備都會在 /dev 目錄下以文件的存在形式巾兆。
接著你還會看到"1k-blocks"這個陌生的東西猎物,它表示以磁盤塊大小的方式顯示容量,后面為相應的以塊大小表示的已用和可用容量角塑,在你了解 Linux 的文件系統(tǒng)之前這個就先不管吧蔫磨,我們以一種你應該看得懂的方式展示:

$ df -h

現(xiàn)在你就可以使用命令查看你主機磁盤的使用情況了。
使用 du 命令查看目錄的容量
這個命令前面其實已經用了很多次了:

# 默認同樣以 blocks 的大小展示
$ du
# 加上`-h`參數(shù)圃伶,以更易讀的方式展示
$ du -h 

-d參數(shù)指定查看目錄的深度

# 只查看1級目錄的信息
$ du -h -d 0 ~
# 查看2級
$ du -h -d 1 ~

常用參數(shù)

du -h #同--human-readable 以K堤如,M,G為單位窒朋,提高信息的可讀性搀罢。
du -a #同--all 顯示目錄中所有文件的大小。
du -s #同--summarize 僅顯示總計侥猩,只列出最后加總的值榔至。

來自: http://man.linuxde.net/du

du查看目錄大小,df查看磁盤使用情況欺劳。

du(estimate file space usage)命令與df(report file system disk space usage)只用一字只差唧取,首先就希望注意不要弄混淆了,以可以像我這樣從man手冊中獲取命令的完整描述,記全稱就不會搞混了划提。

三枫弟、簡單的磁盤管理

下面涉及的命令具有一定的危險性,操作不當可能會丟失你的個人數(shù)據(jù)鹏往,初學者建議在虛擬環(huán)境中進行操作
通常情況下淡诗,這一小節(jié)應該直接將如何掛載卸載磁盤,如何格式化磁盤伊履,如何分區(qū)袜漩,但如你所見,我們的環(huán)境中沒東西給你掛湾碎,也沒東西給你分宙攻,所以首先我們會先創(chuàng)建一個虛擬磁盤來進行后續(xù)的練習操作

3.1 創(chuàng)建虛擬磁盤

dd 命令簡介
dd命令用于轉換和復制文件,不過它的復制不同于cp介褥。之前提到過關于 Linux 的很重要的一點座掘,一切即文件递惋,在 Linux 上,硬件的設備驅動(如硬盤)和特殊設備文件(如/dev/zero和/dev/random)都像普通文件一樣溢陪,只要在各自的驅動程序中實現(xiàn)了對應的功能萍虽,dd 也可以讀取自和/或寫入到這些文件。這樣形真,dd也可以用在備份硬件的引導扇區(qū)杉编、獲取一定數(shù)量的隨機數(shù)據(jù)或者空數(shù)據(jù)等任務。dd程序也可以在復制時處理數(shù)據(jù)咆霜,例如轉換字節(jié)序邓馒、或在 ASCII 與 EBCDIC 編碼間互換。
dd的命令行語句與其他的 Linux 程序不同蛾坯,因為它的命令行選項格式為選項=值光酣,而不是更標準的--選項 值
-選項=值dd默認從標準輸入中讀取脉课,并寫入到標準輸出中救军,但可以用選項if(input file胀蛮,輸入文件)和of(output file莹妒,輸出文件)改變。
我們先來試試用dd命令從標準輸入讀入用戶輸入到標準輸出或者一個文件:

# 輸出到文件
$ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin of=test bs=10 count=1
# 輸出到標準輸出
$ dd if=/dev/stdin of=/dev/stdout bs=10 count=1
# 注在打完了這個命令后兜畸,繼續(xù)在終端打字呈驶,作為你的輸入

上述命令從標準輸入設備讀入用戶輸入(缺省值拷泽,所以可省略)然后輸出到 test 文件,bs(block size)用于指定塊大小缺省單位為 Byte俐东,也可為其指定如'K','M'订晌,'G'等單位)虏辫,count用于指定塊數(shù)量。如上圖所示锈拨,指定只讀取總共 10 個字節(jié)的數(shù)據(jù)砌庄,當我輸入了“hello my lod”之后加上空格回車總共 12個字節(jié)(一個英文字符占一個字節(jié))內容,顯然超過了設定大小奕枢。

使用du和cat命令看到的寫入完成文件實際內容確實只有 10 個字節(jié)
(有的情況會出現(xiàn)黑百分號娄昆,那個黑底百分號表示這里沒有換行符),而其他的多余輸入將被截取并保留在標準輸入。
前面說到dd在拷貝的同時還可以實現(xiàn)數(shù)據(jù)轉換缝彬,那下面就舉一個簡單的例子:將輸出的英文字符轉換為大寫再寫入文件:

$ dd if=/dev/stdin of=test bs=10 count=1 conv=ucase

你可以在man文檔中查看其他所有轉換參數(shù)萌焰。使用 dd 命令創(chuàng)建虛擬鏡像文件通過上面一小節(jié),你應該掌握了dd的基本使用谷浅,下面就來使用dd命令來完成創(chuàng)建虛擬磁盤的第一步扒俯。
從/dev/zero設備創(chuàng)建一個容量為 256M 的空文件:

$ dd if=/dev/zero of=virtual.img bs=1M count=256$ du -h virtual.img

然后我們要將這個文件格式化(寫入文件系統(tǒng))奶卓,這里我們要學到一個(準確的說是一組)新的命令來完成這個需求。
使用 mkfs 命令格式化磁盤(我們這里是自己創(chuàng)建的虛擬磁盤鏡像)你可以在命令行輸入 sudo mkfs 然后按下Tab鍵撼玄,你可以看到很多個以 mkfs 為前綴的命令夺姑,這些不同的后綴其實就是表示著不同的文件系統(tǒng),可以用 mkfs 格式化成的文件系統(tǒng)掌猛。我們可以簡單的使用下面的命令來將我們的虛擬磁盤鏡像格式化為ext4文件系統(tǒng):

$ sudo mkfs.ext4 virtual.img

可以看到實際 mkfs.ext4 是使用 mke2fs 來完成格式化工作的盏浙。mke2fs 的參數(shù)很多,不過我們也不會經常格式化磁盤來玩荔茬,所以就掌握這基本用法吧废膘,等你有特殊需求時,再查看 man 文檔解決兔院。
更多關于文件系統(tǒng)的知識殖卑,請查看wiki:文件系統(tǒng)ext3,ext4
如果你想知道 Linux 支持哪些文件系統(tǒng)你可以輸入

ls -l /lib/modules/$(uname -r)/kernel/fs

uname -r查看系統(tǒng)信息命令
使用 mount 命令掛載磁盤到目錄樹用戶在 Linux/UNIX 的機器上打開一個文件以前,包含該文件的文件系統(tǒng)必須先進行掛載的動作坊萝,此時用戶要對該文件系統(tǒng)執(zhí)行 mount 的指令以進行掛載孵稽。該指令通常是使用在 USB 或其他可移除存儲設備上,而根目錄則需要始終保持掛載的狀態(tài)十偶。又因為 Linux/UNIX 文件系統(tǒng)可以對應一個文件而不一定要是硬件設備菩鲜,所以可以掛載一個包含文件系統(tǒng)的文件到目錄樹。
Linux/UNIX 命令行的 mount 指令是告訴操作系統(tǒng)惦积,對應的文件系統(tǒng)已經準備好接校,可以使用了,而該文件系統(tǒng)會對應到一個特定的點(稱為掛載點)狮崩。掛載好的文件蛛勉、目錄、設備以及特殊文件即可提供用戶使用睦柴。
我們先來使用mount來查看下主機已經掛載的文件系統(tǒng):

mount

輸出的結果中每一行表示一個設備或虛擬設備,每一行最前面是設備名诽凌,然后是 on 后面是掛載點,type 后面表示文件系統(tǒng)類型坦敌,再后面是掛載選項(比如可以在掛載時設定以只讀方式掛載等等)侣诵。
那么我們如何掛載真正的磁盤到目錄樹呢,mount命令的一般格式如下:mount [options] [source] [directory]

一些常用操作:
mount [-o [操作選項]] [-t 文件系統(tǒng)類型] [-w|--rw|--ro] [文件系統(tǒng)源] [掛載點]

我們現(xiàn)在直接來掛載我們創(chuàng)建的虛擬磁盤鏡像到/mnt目錄:
mount -o loop -t ext4 virtual.img /mnt # 也可以省略掛載類型狱窘,很多時候 mount 會自動識別
# 以只讀方式掛載
 mount -o loop --ro virtual.img /mnt
# 或者mount -o loop,ro virtual.img /mnt

使用 umount 命令卸載已掛載磁盤
# 命令格式 sudo umount 已掛載設備名或者掛載點杜顺,
umount /mnt

另外關于 loop 設備,你可能會有諸多疑問,那么請看下面來自維基百科/dev/loop的說明:

在類 UNIX 系統(tǒng)中蘸炸,/dev/loop(或稱vnd (vnode disk)躬络、lofi(循環(huán)文件接口))是一種偽設備,這種設備使得文件可以如同塊設備一般被訪問搭儒。
在使用之前洗鸵,循環(huán)設備必須與現(xiàn)存文件系統(tǒng)上的文件相關聯(lián)越锈。這種關聯(lián)將提供給用戶一個應用程序接口,接口將允許文件視為塊特殊文件(參見設備文件系統(tǒng))使用膘滨。因此甘凭,如果文件中包含一個完整的文件系統(tǒng),那么這個文件就能如同磁盤設備一般被掛載火邓。
這種設備文件經常被用于光盤或是磁盤鏡像丹弱。通過循環(huán)掛載來掛載包含文件系統(tǒng)的文件,便使處在這個文件系統(tǒng)中的文件得以被訪問铲咨。這些文件將出現(xiàn)在掛載點目錄躲胳。如果掛載目錄中本身有文件,這些文件在掛載后將被禁止使用纤勒。

使用 fdisk 為磁盤分區(qū)(關于分區(qū)的一些概念不清楚的用戶請參看主引導記錄

# 查看硬盤分區(qū)表信息
fdisk -l
虛擬云主機中
虛擬機中的linux

輸出結果中開頭顯示了主機上的磁盤的一些信息坯苹,包括容量扇區(qū)數(shù),扇區(qū)大小摇天,I/O 大小等信息粹湃。
我們重點看一下中間的分區(qū)信息,/dev/sda1泉坐,/dev/sda2 為主分區(qū)分別安裝了 Linux 操作系統(tǒng) linux擴展为鳄,/dev/sda3 為交換分區(qū)(可以理解為虛擬內存)

# 進入磁盤分區(qū)模式
 fdisk virtual.img

在進行操作前我們首先應先規(guī)劃好我們的分區(qū)方案,這里我將在使用 128M(可用 127M 左右)的虛擬磁盤鏡像創(chuàng)建一個 30M 的主分區(qū)剩余部分為擴展分區(qū)包含 2 個大約 45M 的邏輯分區(qū)腕让。操作完成后輸入p查看結果如下:

最后不要忘記輸入w寫入分區(qū)表孤钦。使用 losetup 命令建立鏡像與回環(huán)設備的關聯(lián)同樣因為環(huán)境原因中沒有物理磁盤,也沒有 loop device 的原因我們就無法實驗練習使用該命令了纯丸,下面我將以我的物理主機為例講解偏形。

$ sudo losetup /dev/loop0 virtual.img
# 如果提示設備忙你也可以使用其它的回環(huán)設備,"ls /dev/loop*"參看所有回環(huán)設備# 解除設備關聯(lián)
$ sudo losetup -d /dev/loop0

然后再使用mkfs格式化各分區(qū)(前面我們是格式化整個虛擬磁盤鏡像文件或磁盤)觉鼻,不過格式化之前俊扭,我們還要為各分區(qū)建立虛擬設備的映射,用到kpartx工具滑凉,需要先安裝:

$ sudo apt-get install kpartx
$ sudo kpartx -av /dev/loop0# 取消映射
$ sudo kpartx -dv /dev/loop0

接著再是格式化统扳,我們將其全部格式化為 ext4:

$ sudo mkfs.ext4 -q /dev/mapper/loop0p1
$ sudo mkfs.ext4 -q /dev/mapper/loop0p5
$ sudo mkfs.ext4 -q /dev/mapper/loop0p6

格式化完成后在/media目錄下新建四個空目錄用于掛載虛擬磁盤:

$ mkdir -p /media/virtualdisk_{1..3}
# 掛載磁盤分區(qū)
$ sudo mount /dev/mapper/loop0p1 /media/virtualdisk_1
$ sudo mount /dev/mapper/loop0p5 /media/virtualdisk_2
$ sudo mount /dev/mapper/loop0p6 /media/virtualdisk_3# 卸載磁盤分區(qū)
$ sudo umount /dev/mapper/loop0p1
$ sudo umount /dev/mapper/loop0p5
$ sudo umount /dev/mapper/loop0p6

然后:

$ df -h

輕松一下cowsay命令喘帚,可以讓你在終端里以一種動物說話的形式打印出一段話畅姊。
我這邊用的centos 將apt-get install換成yum install

# 安裝
$ sudo apt-get install cowsay   # 默認是一只牛
$ cowsay hello shiyanlou
# 加上'-l'參數(shù)打印所有支持的動物(其實不只是動物)種類
$ cowsay -l  # 使用'-f'參數(shù)選擇動物種類
$ cowsay -f elephant hello shiyanlou
# 此外它還可以結合我們之前的作業(yè)講過的 fortune 命令一起使用
$ cowsay -f dragon-and-cow I want to eat you

四、作業(yè)

小明在管理服務器的時候發(fā)現(xiàn)空間不足了吹由,他找到了一個目錄若未,這個目錄占用的空間異常的大,他需要找到這個目錄中占用最大的前10個文件倾鲫,但是這個目錄下面的內容太多了粗合,或許一條命令就能夠幫助到他萍嬉,這條命令該怎么寫呢?
簡而言之 找出當前目錄下面占用最大的前十個文件

目前沒有單個命令來完成查找的工作隙疚,通橙雷罚可以使用一些命令的組合來幫助您找出磁盤上比較占用空間的文件或者文件夾。主要用到下面的三個命令:
du : 計算出單個文件或者文件夾的磁盤空間占用.
sort : 對文件行或者標準輸出行記錄排序后輸出.
head : 輸出文件內容的前面部分.
用下面的命令組合就可以完成上述查找工作:
1 # du -a -h /var | sort -n -r | head -n 10

head用法
用法:head [選項]... [文件]...  
將每個指定文件的頭10 行顯示到標準輸出供屉。  
如果指定了多于一個文件行冰,在每一段輸出前會給出文件名作為文件頭。  
如果不指定文件伶丐,或者文件為"-"悼做,則從標準輸入讀取數(shù)據(jù)。  
  
長選項必須使用的參數(shù)對于短選項時也是必需使用的哗魂。  
  -c,  --bytes=[-]K     顯示每個文件的前K 字節(jié)內容肛走;  
                        如果附加"-"參數(shù),則除了每個文件的最后K字節(jié)數(shù)據(jù)外  
                        顯示剩余全部內容  
  -n, --lines=[-]K      顯示每個文件的前K 行內容录别;  
                        如果附加"-"參數(shù)朽色,則除了每個文件的最后K 行外顯示  
                        剩余全部內容  
  -q, --quiet, --silent 不顯示包含給定文件名的文件頭  
  -v, --verbose         總是顯示包含給定文件名的文件頭  
      --help            顯示此幫助信息并退出  
      --version         顯示版本信息并退出  
  
K 后面可以跟乘號:  
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,  
GB 1000*1000*1000, G 1024*1024*1024, 對于T, P, E, Z, Y 同樣適用。  
sort(選項)(參數(shù)) 選項
 -b:忽略每行前面開始出的空格字符庶灿;
 -c:檢查文件是否已經按照順序排序纵搁;
 -d:排序時,處理英文字母往踢、數(shù)字及空格字符外腾誉,忽略其他的字符;
 -f:排序時峻呕,將小寫字母視為大寫字母利职;
 -i:排序時,除了040至176之間的ASCII字符外瘦癌,忽略其他的字符猪贪;
 -m:將幾個排序號的文件進行合并;
 -M:將前面3個字母依照月份的縮寫進行排序讯私;
 -n:依照數(shù)值的大小排序热押;
 -o<輸出文件>:將排序后的結果存入制定的文件; 
-r:以相反的順序來排序斤寇; 
-t<分隔字符>:指定排序時所用的欄位分隔字符桶癣; 
+<起始欄位>-<結束欄位>:以指定的欄位來排序,范圍由起始欄位到結束欄位的前一欄位娘锁。

如果需要輸出可讀性高的內容牙寞,請使用如下命令:
1 cd /path/to/some/where 2 du -hsx * | sort -rh | head -10

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子间雀,更是在濱河造成了極大的恐慌悔详,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惹挟,死亡現(xiàn)場離奇詭異茄螃,居然都是意外死亡,警方通過查閱死者的電腦和手機连锯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門责蝠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人萎庭,你說我怎么就攤上這事霜医。” “怎么了驳规?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵肴敛,是天一觀的道長。 經常有香客問我吗购,道長医男,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任捻勉,我火速辦了婚禮镀梭,結果婚禮上,老公的妹妹穿的比我還像新娘踱启。我一直安慰自己报账,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布埠偿。 她就那樣靜靜地躺著透罢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冠蒋。 梳的紋絲不亂的頭發(fā)上羽圃,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音抖剿,去河邊找鬼朽寞。 笑死,一個胖子當著我的面吹牛斩郎,可吹牛的內容都是我干的脑融。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼孽拷,長吁一口氣:“原來是場噩夢啊……” “哼吨掌!你這毒婦竟也來了半抱?” 一聲冷哼從身側響起脓恕,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤膜宋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后炼幔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秋茫,經...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年乃秀,在試婚紗的時候發(fā)現(xiàn)自己被綠了肛著。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡跺讯,死狀恐怖枢贿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情刀脏,我是刑警寧澤局荚,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站愈污,受9級特大地震影響耀态,放射性物質發(fā)生泄漏。R本人自食惡果不足惜暂雹,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一首装、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杭跪,春花似錦仙逻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至现斋,卻和暖如春喜最,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庄蹋。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工瞬内, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人限书。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓虫蝶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親倦西。 傳聞我的和親對象是個殘疾皇子能真,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容

  • Linux系統(tǒng)磁盤基本管理命令掛載文件系統(tǒng)――mount mount命令語法: mount [參數(shù)] [設備名稱]...
    LaLaLaLaAAA閱讀 2,529評論 0 1
  • 目錄磁盤結構磁盤分區(qū)磁盤分區(qū)管理文件系統(tǒng)管理掛載 一、磁盤結構 (一)設備文件 設備文件:linux系統(tǒng)下一切皆文...
    哈嘍別樣閱讀 990評論 0 0
  • feisky云計算、虛擬化與Linux技術筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,815評論 0 5
  • 觀其大綱 第1部分Linux的基礎知識第1章Linux概述第2章Linux系統(tǒng)的安裝KickStart開始自動安裝...
    周少言閱讀 1,457評論 1 10
  • 我不見你的身影 我苦苦追尋 從明媚天空 到清澈湖水 我試圖 去 相信自己 相信你 棕櫚樹的背影里 那是我的卑微 ...
    孫滸胡閱讀 288評論 5 10