2015-04-02 32 views
0

我想通過關注這個頁面製作一個可引導的USB設備。 http://planet-lab.org/node/172在Linux終端中,「grep -q'/ dev/sda1'/ proc/mounts || ...」會做什麼?

它要求我做這些的步驟:

umount /dev/sda* 
grep -q /dev/sda1 /proc/mounts || dd if=PlanetLab-BootCD-3.3.usb of=/dev/sda1 

但它使我困惑。 因爲我認爲/ dev/sda是​​我的硬盤,所以我認爲它應該是unmount /dev/sdb*才能卸載USB設備。

我真的不明白grep -q /dev/sda1 /proc/mounts在做什麼。 它似乎檢查是否掛載了「/ dev/sda1」,但我不完全知道grep命令的兩個參數正在做什麼。我知道-q是安靜的。 而且我也知道dd可以將圖像寫入驅動器。

+1

[本站點](http://explainshell.com/)對於這樣的事情或者真正解釋任何shell命令都會非常有幫助。 – 2015-04-02 01:38:52

回答

2

的狀態指示

假定該設備被檢測爲/ dev/sda上

如果假設與實際不同的安裝點,則必須修改命令來匹配您的配置。

grep -q用於測試存在,而不會使屏幕與找到的文本混淆。這兩個參數是

  1. 文本尋求 「的/ dev/SDA1」,和
  2. 其中文本尋求 「的/ proc /安裝」 的文件。

在其他腳本中,你可以看到類似

grep /dev/sda1 /proc/mounts >/dev/null 

實現爲-q選項的效果相同。