Do not like the silent dd on unix? Let’s add a progress bar for it. (Using pv)

Though dd is not efficient, it’s still widely used for many years until now, especially when we are “burning" the disk image of the famous Raspberry Pi or some related boards, the worst point I hate about dd is the silence, it makes me worried, we can not know the progress of the process, and if it takes too much time, we may start to think about if the computer hung, the SD card broken, or something else … until the process finished, that’s very bad.

I’ve found pv and also use it for a while, it’s the Pipe Viewer, a terminal-based tool for monitoring the progress of data through a pipeline, I know it’s not so famous and widely used, so I would like to share and talk about it, let’s start it!

pv is a OSI(Open Source Initiative, not the network Open Systems Interconnection model) certified open source software, here is the homepage of it:


The latest release until now is v1.6.0, the version in Ubuntu 14.04 LTS is v1.2.0, but still works well, I am going to use Raspbian Jessie, version February 2016 (Release date:2016-02-09) as the example image in this post, and writing an raw image to a microSD card as the scenario.

Traditionally, we use dd like this, dd in, dd out, with silence:



Linux 使用者群組設定、透過 group 來給 sudo 權限 (比改 sudoer 方便!)

一般要給使用者 root 權限必較常看到的好像是編輯 sudoer 、把對應的使用者帳號加入列表,不過每次開新帳號需要 sudo 權限的時候都要做 visudo 自己編輯 sudoer 很麻煩,量大的時候用群組來管理 sudo 權限好像會簡單一點,而且透過群組的方式還可以更容易地進行權限控管,未來要移除使用者時也不必再次編輯 sudoer 的紀錄!

sudoer(ubuntu上的版本1.8.9p5-1ubuntu1)裡 面的說明:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command

可以看的出有預設的群組可以用 (admin, sudo、不同的系統可能會有略有出入),如果不合用的話(例如預設的這兩個群組權限太高),也可以另外自己加規則限制能執行的命令,不過一般自己在使用的主機、甚至一些中小企業沒有嚴格進行權限控管時,權限通長應該是開到最大,所以直接加入 sudo 群組應該是最方便快速的。

修改使用者群組可以透過編輯 /etc/group 這個紀錄群組資訊的檔案,也可以透過簡單的命令操作來把使用者加入群組,以下使一些使用 usermod / useradd 把使用者加至群組的範例 (這邊不考慮使用 nis, yp 等控管使用者帳號的情況)



(groupname 代表群組名稱、username 代表使用者名稱,注意上下兩種用法的參數順序)





比較要注意的地方: 小寫 g 是指主群組,大寫 G 是指副群組

另外就是 sudoer 更改後基本上是馬上生效,因為 sudo 每次執行都會去檢查該設定,但透過 group 加群組之後使用者要重新登入才能讓群組生效!

如果在 FreeBSD 上要把某個 user 加入某個群組該怎麼做呢?


Facebook上的Linux/Unix-like OS相關中文社團整理

整理一些學習unix like作業系統可以發問及討論的社團

Debian Taiwan

Ubuntu 正體中文社團

openSUSE 正體中文社團

Fedora 中文社團

Linux Deepin 中文社團


SteamOS 中文社團