發表文章

讓/etc/passwd更利於閱讀

#!/bin/bash IFS=: echo "System User list:" echo "-------------------------------------" while read username shapass uid gid comm home shell do echo "UserName:$username" echo " 1.password:$shapass" echo " 2.uid:$uid" echo " 3.gid:$gid" echo " 4.comment:$comm" echo " 5.home:$home" echo " 6.default shell:$shell" echo "------------------------------------" done < /etc/passwd

IPv4 subnet matrix table

圖片

顯示所有在 Chrome 儲存的密碼

chrome://chrome/settings/passwords 就可以把儲存的網址、帳號都列出來,而且點選 "show",密碼還可以完整無缺的看到。

利用 dd 備份硬碟

將硬碟直接備份到另外一顆硬碟 # dd if=/dev/sda of=/dev/sdb # dd if=/dev/sda of=/dev/sdb bs=4096k # dd if=/dev/sda of=/dev/sdb conv=noerror,sync bs=4k bs 會影響速度, 沒設的話 default 是  512 , 很慢很慢 備份硬碟磁區 # dd if=/dev/sda1 of=/dev/sda5 建立硬碟的映像檔 在此處,用dd 來製作一個第一部硬碟的影像檔,並且將其結果導入gzip壓縮程式。其產生的壓縮結果則被置於另一磁碟的一個檔案中。反向的程序方法 # dd if=/dev/sda | gzip > /mnt/sdb1/backup.img.gz 解開影像檔到硬碟 # gzip -dc /mnt/sdb1/backup.img.gz | dd of=/dev/sda Reference:http://wiki.ubuntu-tw.org/index.php?title=Dd

Git Autocomplete for Bash Shells

wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -O ~/.git-completion.bash 1.  Add this line to your ~/.bash_profile source ~/.git-completion.bash 2. In your terminal, type: source ~/.bash_profile

將 Debian 的開機 log 改到 RS232 顯示

一般的 pc linux 都是利用螢幕顯示所有資訊,如果要將訊息利用 RS232 顯示,該如何做? Debian 利用 grub 做開機管理。所以要從 grub 下手。 有 3 個步驟: 1 . Modify file containing grub configuration in Debian: /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT = "console=tty0 console=ttyS0, 115200 n8" GRUB_TERMINAL =serial GRUB_SERIAL_COMMAND = "serial --speed= 115200 --unit=0 --word=8 --parity=no --stop=1" 2 . update-grub after change 3 . edit /etc/inittab to allow logins over Serial Console T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100 reference:http://grindelsack.blogspot.tw/2011/06/debian6-with-grub2-and-serial.html

sed 單行腳本快速參考

# 在每一行後面增加一空行 sed G # 將原來的所有空行刪除並在每一行後面增加一空行。 # 這樣在輸出的文本中每一行後面將有且只有一空行。 sed '/^$/d;G' # 在每一行後面增加兩行空行 sed 'G;G' # 將第一個腳本所產生的所有空行刪除(即刪除所有偶數行) sed 'n;d' # 在匹配式樣“regex”的行之前插入一空行 sed '/regex/{x;p;x;}' # 在匹配式樣“regex”的行之後插入一空行 sed '/regex/G' # 在匹配式樣“regex”的行之前和之後各插入一空行 sed '/regex/{x;p;x;G;}' 編號: -------- # 為文件中的每一行進行編號(簡單的左對齊方式)。這裡使用了“製表符” # (tab,見本文末尾關於'\t'的用法的描述)而不是空格來對齊邊緣。 sed = filename | sed 'N;s/\n/\t/' # 對文件中的所有行編號(行號在左,文字右端對齊)。 sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /' # 對文件中的所有行編號,但只顯示非空白行的行號。 sed '/./=' filename | sed '/./N; s/\n/ /' # 計算行數(模擬"wc -l") sed -n '$=' 文本轉換和替代: -------- # Unix環境:轉換DOS的新行符(CR/LF)為Unix格式。 sed 's/.$//' # 假設所有行以CR/LF結束 sed 's/^M$//' # 在bash/tcsh中,將按Ctrl-M改為按Ctrl-V sed 's/\x0D$//' # ssed、gsed 3.02.80,及更高版本 # Unix環境:轉換Unix的新行符(LF)為DOS格式。 sed "s/$/`echo -e \\\r...