2016年6月28日 星期二

[Linux][Generate Random Mac Address]

echo -n 00:60:2F; dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 ":%02X"'

Output will be like "00:60:2F:7A:ED:D0".

If you want "00-60-2F-7A-ED-D0", just change the symbol ":" to "-" in the command.

Reference:
http://superuser.com/questions/218340/how-to-generate-a-valid-random-mac-address-with-bash-shell

2014年12月18日 星期四

[Windows][Create simple volume]

In fact, this method is try and error.

I'm now using Windows Server 2012, and, hmm, no need to say too much, just give the method.

1) Have two unused disks.

2) In "Disk Management", use "New Spanned Volume".

3) Use those two disks to create a volume. (Just default, default, next step, next step, finish)

4) Now we have a new volume which composed by two disks.

5) Use "Shrink Volume".

6) Enter a value which is bigger than the size of latter disk, for example, 20 GB + 20 GB, and the value may be 25 GB. Oh, the unit is MB.

7) Now we have a simple volume based on the former disk.

8) It doesn't matter to "Extend Volume" to re-allocate the un-allocated space to the simple volume, it will still be a simple volume. But if you select another disk, it will be spanned volume.

2014年10月21日 星期二

Timezone category.

Because of something, I make a comparison table between "GMT" and the areas in it.
* Not all, but I think it's sufficient.
* This is in Python dict format.
* I discard something like ".5" or ".8" and put those areas in the nearest ".0", such as "Caracas", "St_Johns" and so on.

timezone_list = {
    '-12': [],
    '-11': ['US/Samoa', 'Pacific/Midway', 'Pacific/Niue', 'Pacific/Pago_Pago', 'Pacific/Samoa', ],
    '-10': ['US/Aleutian', 'US/Hawaii', 'HST', 'Pacific/Honolulu', 'Pacific/Johnston', 'Pacific/Rarotonga', 'Pacific/Tahiti', ],
    '-9' : ['US/Alaska', 'America/Adak', 'America/Atka', 'America/Juneau', 'America/Nome', 'America/Yakutat', 'Pacific/Gambier', 'Pacific/Marquesas', ],
    '-8' : ['America/Anchorage', 'America/Dawson', 'America/Los_Angeles', 'America/Tijuana', 'America/Vancouver', 'America/Whitehorse', 'Pacific/Pitcairn', ],
    '-7' : ['US/Arizona', 'US/Mountain', 'US/Pacific', 'America/Dawson_Creek', 'America/Ensenada', 'America/Hermosillo', 'America/Inuvik', 'America/Mazatlan', 'America/Phoenix', 'America/Shiprock', 'America/Yellowknife', 'Canada/Pacific', 'Canada/Yukon', 'PST8PDT', 'Mexico/BajaNorte', ],
    '-6' : ['America/Belize', 'America/Boise', 'America/Cambridge_Bay', 'America/Chihuahua', 'America/Costa_Rica', 'America/Denver', 'America/Edmonton', 'America/El_Salvador', 'America/Guatemala', 'America/Indiana/Knox', 'America/Managua', 'US/Indiana-Starke', 'America/Menominee', 'America/Merida', 'America/Mexico_City',  'America/Monterrey', 'America/Rainy_River', 'America/Rankin_Inlet', 'America/Regina', 'America/Swift_Current', 'America/Tegucigalpa', 'America/Winnipeg', 'Canada/East-Saskatchewan', 'Canada/Mountain', 'Canada/Saskatchewan', 'MST', 'MST7MDT', 'Mexico/BajaSur', 'Pacific/Galapagos', 'US/Navajo', ],
    '-5' : ['US/Central', 'US/Eastern', 'US/Michigan', 'America/Bogota', 'America/Cancun', 'America/Cayman', 'America/Chicago', 'America/Eirunepe', 'America/Grand_Turk', 'America/Guayaquil', 'America/Havana', 'America/Indiana/Indianapolis', 'America/Indiana/Marengo', 'America/Indiana/Vevay', 'America/Iqaluit', 'America/Jamaica', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Knox_IN', 'America/Lima', 'America/Montreal', 'America/Nassau', 'America/New_York', 'America/Nipigon', 'America/Panama', 'America/Pangnirtung', 'America/Port-au-Prince', 'America/Porto_Acre', 'America/Thunder_Bay', 'Brazil/Acre', 'CST6CDT', 'Canada/Central', 'Chile/EasterIsland', 'Mexico/General', 'Pacific/Easter', ],
    '-4' : ['US/East-Indiana', 'America/Anguilla', 'America/Antigua', 'America/Aruba', 'America/Barbados', 'America/Boa_Vista', 'America/Caracas', 'America/Curacao', 'America/Detroit', 'America/Dominica',  'America/Fort_Wayne', 'America/Goose_Bay', 'America/Grenada', 'America/Guadeloupe', 'America/Guyana', 'America/Halifax', 'America/Indianapolis', 'America/La_Paz', 'America/Louisville', 'America/Manaus', 'America/Martinique', 'America/Montserrat', 'America/Port_of_Spain', 'America/Porto_Velho', 'America/Puerto_Rico', 'America/Santiago', 'America/Santo_Domingo', 'America/St_Kitts', 'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent', 'America/Thule', 'America/Tortola', 'America/Virgin', 'Antarctica/Palmer', 'Brazil/West', 'Canada/Eastern', 'Cuba', 'EST', 'EST5EDT', ],
    '-3' : ['America/Araguaina', 'America/Asuncion', 'America/Belem', 'America/Buenos_Aires', 'America/Catamarca', 'America/Cayenne', 'America/Cordoba', 'America/Cuiaba', 'America/Fortaleza', 'America/Glace_Bay', 'America/Godthab', 'America/Jujuy', 'America/Maceio', 'America/Mendoza', 'America/Miquelon', 'America/Montevideo', 'America/Paramaribo', 'America/Recife', 'America/Rosario', 'America/Sao_Paulo', 'America/St_Johns', 'Atlantic/Bermuda', 'Atlantic/Stanley', 'Canada/Atlantic', 'Chile/Continental', ],
    '-2' : ['America/Noronha', 'Atlantic/South_Georgia', 'Brazil/DeNoronha', 'Brazil/East', 'Canada/Newfoundland', ],
    '-1' : ['America/Scoresbysund', 'Atlantic/Cape_Verde', ],
    '+0' : ['Africa/Abidjan', 'Africa/Accra', 'Africa/Bamako', 'Africa/Bissau', 'Africa/Conakry', 'Africa/Dakar', 'Africa/Freetown', 'Africa/Lome', 'Africa/Nouakchott', 'Africa/Banjul', 'Africa/Monrovia', 'Africa/Ouagadougou', 'Africa/Sao_Tome', 'Africa/Timbuktu', 'Atlantic/Azores', 'Atlantic/Reykjavik', 'Atlantic/St_Helena', 'GMT', 'Greenwich', 'Iceland', 'UCT', 'UTC', 'Universal', 'Zulu',  ],
    '+1' : ['Africa/Algiers', 'Africa/Bangui', 'Africa/Brazzaville', 'Africa/Casablanca', 'Africa/Douala', 'Africa/Kinshasa', 'Africa/Lagos', 'Africa/Libreville', 'Africa/Luanda', 'Africa/Ndjamena', 'Africa/Niamey', 'Africa/Porto-Novo', 'Africa/Tunis', 'Africa/El_Aaiun', 'Africa/Malabo', 'Arctic/Longyearbyen', 'Atlantic/Canary', 'Atlantic/Faeroe', 'Atlantic/Madeira', 'Eire', 'GB', 'GB-Eire', 'Portugal', 'Europe/Belfast', 'Europe/Dublin', 'Europe/Lisbon', 'Europe/London', ],
    '+2' : ['Africa/Bujumbura', 'Africa/Cairo', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Kigali', 'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Maputo', 'Africa/Maseru', 'Africa/Tripoli', 'Africa/Windhoek', 'Africa/Blantyre', 'Africa/Ceuta', 'Africa/Gaborone', 'Africa/Mbabane', 'Asia/Gaza', 'Asia/Nicosia', 'Atlantic/Jan_Mayen', 'CET', 'Egypt', 'Libya', 'MET', 'Poland', 'WET', 'Europe/Amsterdam', 'Europe/Andorra', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Gibraltar', 'Europe/Ljubljana', 'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta', 'Europe/Monaco', 'Europe/Oslo', 'Europe/Paris', 'Europe/Prague', 'Europe/Rome', 'Europe/San_Marino', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Stockholm', 'Europe/Tirane', 'Europe/Vaduz', 'Europe/Vatican', 'Europe/Vienna', 'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zurich', ],
    '+3' : ['Africa/Addis_Ababa', 'Africa/Asmera', 'Africa/Dar_es_Salaam', 'Africa/Djibouti', 'Africa/Kampala', 'Africa/Mogadishu', 'Africa/Nairobi', 'Africa/Khartoum', 'Antarctica/Syowa', 'Asia/Aden', 'Asia/Amman', 'Asia/Baghdad', 'Asia/Beirut', 'Asia/Damascus', 'Asia/Jerusalem', 'Asia/Kuwait', 'Asia/Riyadh', 'Asia/Riyadh87', 'Asia/Riyadh88', 'Asia/Riyadh89', 'Asia/Bahrain', 'Asia/Istanbul', 'Asia/Qatar', 'Asia/Tehran', 'Asia/Tel_Aviv', 'EET', 'Iran', 'Israel', 'Turkey', 'Europe/Athens', 'Europe/Bucharest', 'Europe/Chisinau', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Minsk', 'Europe/Nicosia', 'Europe/Riga', 'Europe/Rome', 'Europe/Sofia', 'Europe/Tallinn', 'Europe/Tiraspol', 'Europe/Uzhgorod', 'Europe/Vilnius', 'Europe/Zaporozhye', 'Indian/Antananarivo', 'Indian/Comoro', 'Indian/Mayotte', ],
    '+4' : ['Asia/Baku', 'Asia/Dubai', 'Asia/Kabul', 'Asia/Muscat', 'Asia/Tbilisi', 'Asia/Yerevan', 'W-SU', 'Europe/Moscow', 'Europe/Samara', 'Europe/Simferopol', 'Indian/Mahe', 'Indian/Mauritius', 'Indian/Reunion', ],
    '+5' : ['Antarctica/Mawson', 'Asia/Aqtau', 'Asia/Aqtobe', 'Asia/Ashgabat', 'Asia/Ashkhabad', 'Asia/Calcutta', 'Asia/Colombo', 'Asia/Dushanbe', 'Asia/Karachi', 'Asia/Oral', 'Asia/Samarkand', 'Asia/Tashkent', 'Indian/Kerguelen', 'Indian/Maldives', ],
    '+6' : ['Asia/Almaty', 'Asia/Bishkek', 'Asia/Dacca', 'Asia/Dhaka', 'Asia/Kathmandu', 'Asia/Qyzylorda', 'Asia/Rangoon', 'Asia/Thimbu', 'Asia/Thimphu', 'Asia/Urumqi', 'Asia/Yekaterinburg', 'Indian/Chagos', 'Indian/Cocos', ],
    '+7' : ['Antarctica/Davis', 'Asia/Bangkok', 'Asia/Hovd', 'Asia/Jakarta', 'Asia/Novosibirsk', 'Asia/Omsk', 'Asia/Phnom_Penh', 'Asia/Saigon', 'Asia/Vientiane', 'Indian/Christmas', ],
    '+8' : ['Antarctica/Casey', 'Asia/Brunei', 'Asia/Chungking', 'Asia/Harbin', 'Asia/Hong_Kong', 'Asia/Kashgar', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Macao', 'Asia/Macau', 'Asia/Makassar', 'Asia/Manila', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Taipei', 'Asia/Ujung_Pandang', 'Asia/Ulaanbaatar', 'Asia/Ulan_Bator', 'Australia/Perth', 'Australia/West', 'PRC', 'ROC', 'Asia/Beijing', ],
    '+9' : ['Asia/Dili', 'Asia/Irkutsk', 'Asia/Jayapura', 'Asia/Pyongyang', 'Asia/Seoul', 'Asia/Tokyo', 'Australia/Darwin', 'Australia/North', 'Japan', 'ROK', 'Pacific/Palau', ],
    '+10': ['Antarctica/DumontDUrville', 'Asia/Yakutsk', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Broken_Hill', 'Australia/Lindeman', 'Australia/Queensland', 'Australia/South', 'Australia/Yancowinna', 'Pacific/Guam', 'Pacific/Port_Moresby', 'Pacific/Saipan', 'Pacific/Truk', 'Pacific/Yap'],
    '+11': ['Asia/Vladivostok', 'Australia/ACT', 'Australia/Canberra', 'Australia/Hobart', 'Australia/LHI', 'Australia/Lord_Howe', 'Australia/Melbourne', 'Australia/NSW', 'Australia/Sydney', 'Australia/Tasmania', 'Australia/Victoria', 'Pacific/Efate', 'Pacific/Guadalcanal', 'Pacific/Kosrae', 'Pacific/Norfolk', 'Pacific/Noumea', 'Pacific/Ponape', ],
    '+12': ['Antarctica/McMurdo', 'Antarctica/South_Pole', 'Asia/Anadyr', 'Asia/Kamchatka', 'Asia/Magadan', 'Pacific/Fiji', 'Pacific/Funafuti', 'Pacific/Kwajalein', 'Pacific/Majuro', 'Pacific/Nauru', 'Pacific/Tarawa', 'Pacific/Wake', 'Pacific/Wallis', ],
    '+13': ['NZ', 'NZ-CHAT', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Enderbury', 'Pacific/Fakaofo', 'Pacific/Tongatapu', ],
    '+14': ['Pacific/Apia', 'Pacific/Kiritimati', ],
}

If there's anything wrong, please inform me, thank you.

Reference:
http://localtimes.info/
http://www.timeanddate.com/worldclock/
http://www.zeitverschiebung.net/en/all-time-zones.html
http://www.travelmath.com/time-zone/
http://www.worldtimeserver.com/

2014年7月22日 星期二

[Linux][Samba][Get Whole Folder with Smbclient]

1. Connect to Samba by using Smbclient.

2. Go to the parent directory of the folder you would like to get.

3. smb: \> tarmode

4. smb: \> recurse

5. smb: \> prompt

6. smb: \> mget <Folder>

Ref: Indradjy's Blog

2014年5月15日 星期四

[Linux][Install PyCharm]

01. Download jdk from Oracle website.
02. tar zxvf jdk-7u55-linux-x64.tar.gz
03. sudo mkdir /usr/lib/jdk
04. cp -r jdk1.7.0_55 /usr/lib/jdk
05. sudo vi /etc/profile
      + export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_55
      + export JRE_HOME=/usr/lib/jdk/jdk1.7.0_55/jre
      + export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
      + export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
06. Change the default value.
      sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk1.7.0_55/bin/java 300
      sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk1.7.0_55/bin/javac 300
      sudo update-alternatives --config java
      sudo update-alternatives --config javac
07. Reboot
08. java -version
      java version "1.7.0_55"
      Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
09. Download PyCharm.
10. tar zxvf pycharm-community-3.1.3.tar.gz
11. sh pycharm-community-3.1.3/bin/pycharm.sh

2014年4月10日 星期四

[Script][Bash + AWK + CURL]

[抓副檔名]
FILE_EXT="`echo ${FILE} | awk -F '.' '{if (NF>1) {print $NF}}'`"

[抓名稱]
NAME="abcd"
NAME="`awk -F '=' '/NAME/ {print $2}' ${CFG} | xargs echo -e`"

[找 symlink]
find . -type l

[用 curl 透過 FTP 傳一整個資料夾到 FTP Server]
find <PATH TO DIR> -type f -exec curl -u <USER NAME>:<PASSWORD> --ftp-create-dirs -T {} ftp://<FTP IP>/{} \;

[用 curl 透過 FTP 刪除遠端資料]
curl -u <USER NAME>:<PASSWORD> -Q "DELE <PATH TO FILE FROM FTP ROOT>" ftp://<FTP IP>

[用 curl 透過 FTP 更改遠端資料權限]
curl -u <USER NAME>:<PASSWORD> -Q "SITE CHMOD 777 <PATH TO FILE FROM FTP ROOT>" ftp://<FTP IP>

[用 curl 獲取遠端有的資料並只刪掉 .tar.gz 檔]
Ref: http://help.directadmin.com/item.php?id=487 

[用 source 一次讀進所有設定檔]
<product.cfg 的內容>
NAME="zqpm"
AGE="26"

source product.cfg 會得到 NAME 和 AGE 兩個變數,並且各自有其值。

2013年11月24日 星期日

[Bash][Redirect 多了個 newline]

好久沒寫 Blog 了。(題外話)

這兩天在拿 The C Programming Language 的習題當練習。

碰到一個問題。

一個程式叫 TARGET 可以計算檔案的 blank、tab、newline、character 數。

我用 ./TARGET < test.txt 進行測試。

每次 newline 的個數都會多一。

不知道是不是 "<" 造成的。

=================================================================

後來乾脆直接把讀到的 char 進行判別後印出來。

發現用 "<" 的話會把 test.txt 的資料直接倒過去 TARGET,然後在最末端加上 newline。

所以用 "<" 或 ">" 時它不止幫忙把資料做 redirect,最後還會 "貼心" 的加個 newline。

好,問題解決。

2013年1月11日 星期五

[Linux][Ubuntu][Intel Audio HD no sound]

好,之前有台比較新的筆電,然後拿來灌 Ubuntu 10.04。

結果灌好後,喇叭沒有聲音.....

察看了下原因,原來是 10.04 的 sound driver 比較舊,所以,就更新 driver 吧。

到 ALSA Project 下載最新的 driver,包含 driver、lib、util 三個檔案。

依序解壓縮並且 sudo ./configure & make & make install 後重開機。
(configure driver 時得加上 --with-cards=hda-intel)

再用 cat /proc/asound/card0/codec#* | grep Codec 得出音效卡的 Module。

再依據 ALSA-Configuration.txt 裡的資料找到相對應的參數值。

接著,編輯 /etc/modprobe.d/alsa-base 這個檔案。

在檔案最尾端加上 options snd-hda-intel model=參數值,以我的為例,參數值是 snd-hda-intel。

接著,再重開機一次,應該就可以聽到聲音了。

Reference:
http://linux.chinaitlab.com/administer/742526.html
http://www.kernel.org/doc/Documentation/sound/alsa/ALSA-Configuration.txt

2012年11月7日 星期三

[Facebook][查 uid]

因為在玩的遊戲出了些問題,需要提供 uid 給遊戲管理者進行確認。

但現在 Facebook 通常在 URL 部份只會顯示英文名稱而已,

以往按自己的照片等方法已經沒辦法獲得 uid 這項資訊。

要查到自己的 uid 資訊,可以用 http://graph.facebook.com/ 後接使用者英文名稱。

如 http://graph.facebook.com/ABCD,就會顯示出 ABCD 這位使用者的 uid 等資訊。

2012年10月26日 星期五

[Ubuntu][一些測試]

[1] 在 Directory 中開啟新檔案,即使沒寫入任何內容,一樣會更動到 Directory 的 Last Modified Time。推測是因為編輯器(如 vim)會創建暫存檔(.swp)所以更動到 mtime。

2012年10月17日 星期三

[Ubuntu][Some problems met recently]

[1] Couldn't make x3270 because of "fatal error: X11/Intrinsic.h: No such file or directory"

sudo apt-get install apt-file
sudo apt-file update
apt-file search Intrinsic.h

X11/Intrinsic.h                     ->   libxt-dev
X11/Xaw/Command.h          ->   libxaw7-dev


2012年9月13日 星期四

[Ubuntu][把新硬碟設定成 NTFS 格式&改既有 NTFS partition 的 label]

標題有點怪,我知道 XD

最近新加了顆硬碟作為資料碟,因為電腦中還有 Win7,
希望能用 Windows 也能讀取的格式,所以想把資料碟用成 NTFS。

首先就是要把它格式改成 NTFS。

=================================================================

sudo fdisk /dev/sde
(sde 是新硬碟在我電腦裡的代號,請自行察看新硬碟在自己電腦中的代號)
=================================================================

在 fdisk 中建立 partition,因為我是想用整顆作為一個 partition,所以
就下指令 n 之後選 primary 後 default default 就建好了,情況像是下面:

=================================================================
Command (m for help): n        <---------------這個是我輸入的
Command action
   e   extended
   p   primary partition (1-4)
p                                              <---------------這個是我輸入的
Partition number (1-4): 1        <---------------這個是我輸入的
First cylinder (1-30401, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-30401, default 30401):
Using default value 30401
=================================================================

然後就順利的把 partition 切好了,可以輸入 p 看看狀況。

=================================================================
Command (m for help): p        <---------------這個是我輸入的

Disk /dev/sde: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xee202071

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1       30401   244196001   83  Linux
=================================================================

因為 System 預設是 Linux,所以現在我要把它改成 NTFS,就輸入 t,
然後 Hex code 輸入 7,當然也可以用 L 看有什麼樣的格式可以選,
因為列出來很難排版,所以有興趣的人再自己去看。然後再輸入 p 列出資訊,
已經把 System 改成 NTFS 了。

=================================================================
Command (m for help): t        <---------------這個是我輸入的
Selected partition 1
Hex code (type L to list codes): 7    <------這個是我輸入的
Changed system type of partition 1 to 7 (HPFS/NTFS)

Command (m for help): p        <---------------這個是我輸入的

Disk /dev/sde: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xee202071

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1       30401   244196001    7  HPFS/NTFS
=================================================================

然後完成了嗎?還沒。還沒把資訊寫進去,所以要用 w 把資訊寫入,
才是真正的把硬碟改成 NTFS 的。

=================================================================
Command (m for help): w        <---------------這個是我輸入的
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
=================================================================

然後就是要格式化它啦,這時可以設定 label 給那 partition,像是我用 Data。
格式化的時間有點長,因為要把 zero 寫入整個 partition 中。
這邊也可以設定 Cluster size,有興趣的自己 man。

=================================================================
sudo mkfs.ntfs -L Data /dev/sde1
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes:   3%
=================================================================

等到跑到 100% 了,新硬碟就可以用囉,至於 fstab 那些就自己設定吧。
或者像我用 Ubuntu 的 GUI,可以直接在系統列選 Places,中文翻位置吧,
裡面找到新硬碟,點下去就自動 mount 起來了。

另外要改 label 的話,先把那 partition umount,以我這邊的狀況是。

=================================================================
 sudo umount /media/Data
=================================================================

然後用 ntfslabel 改 label,像是改成 Fun。

=================================================================
sudo ntfslabel /dev/sde1 Fun
=================================================================

這樣就把 label 改掉了,然後再重新 mount 起來硬碟又可以用了。

2012年7月17日 星期二

[Latex][固定表格]

有時我們會希望能夠把表格固定在一段文章內容的後面,

不希望由 Latex 來幫我們做動態調整。

這時候就可以用這方法:

\usepackage{float}

然後在宣告表格時

\begin{table}[H]

這樣就可以讓表格固定在你編輯的位置。

2012年7月5日 星期四

[Linux][Ubuntu][一些好用小招]

(1)
在 CLI 時,要達到 clear 這指令的效用,可以直接用 ctrl + l。

(2)
要讓 shell 自動幫你補完(之前有輸入過的)指令時,可以用 ctrl + r。

(3)
與 (2) 類似的功能,是在 .bashrc 裡面 加上以下兩行:

bind '"\x1b\x5b\x41":history-search-backward'
bind '"\x1b\x5b\x42":history-search-forward'
然後就可以藉由輸入部份指令後按上下鍵來搜尋之前有輸入過的指令並補完。

(4)
在 GUI 時,可以用 ctrl + alt + t 叫出 Terminal,default pwd 為使用者
的 home directory。

(5)
要取一個檔案的 basename 可以用 basename 這條指令。
像是 info coreutils 'tee invocation' 中有給兩個範例:

basename include/stdio.h .h 會得到 stdio 這個結果,也就是說它會取到
路徑的最尾端的 filename,然後依照 argv[2] 所給的 SUFFIX 將其於
filename 中消除並輸出結果。不過測試結果看起來沒支援 *。

(6)
與 basename 相對的是 dirname。

直接舉例,dirname /usr/bin/sort 會得出 /usr/bin 這個結果。

2012年7月1日 星期日

[Linux][Ubuntu][gnome-open and xdg-open]

有時我用 command-line 切到某個 directory 底下時,想要開啟 gui 介面。

因為 gui 介面在整理東西時偶爾比較方便。

這時 gnome-open 這個指令就派上用場了。

像是

zqpm@MyMachine:~$gnome-open .

就會打開 zqpm 家目錄的資料夾圖形介面。

It's interesting.

或許改天我可以 bind 一個 key 給它,這樣就不用打一串指令了。

我還是會覺得 gnome-open 很長的,當我很懶時。(攤手)

xdg-open 也可以達到同樣的功能。

不過我沒有 KDE 介面(我是用 GNOME)。

所以不確定 xdg-open 可否在 KDE 時可以達到一樣的效果。(在 GNOME 上可)

Reference:
Domon

2012年6月14日 星期四

[Linux][Ubuntu][Xfig][Special Text]

Xfig 在 export 成 PDF/Latex 時可以將圖片上的字全部放到輸出的 Latex 檔案中。

這樣可以在被 input 進其他的 pdf 時,使圖跟文章內容的文字同款。

方法是在 Xfig 的操作介面左下角有個 "Edit",點選它後再將那隻手移到圖片上的文字處。

點一下,會出現那個字的 "Edit Panel",裡頭有個 "Special Flag"。

將原本的 "Normal" 改成 "Special",按上頭的 "Apply" 再按 "Done",就儲存設定了。

匯出時會看到生成的 PDF 檔中完全沒有文字,那些文字通通在 Latex 檔裡面。

檔名方面,PDF 會以 .pdf 作結尾,而 Latex 檔則是以 .pdf_t 作結尾。

在其他的 Latex 檔中 input 圖片時,舉例而言,input{fig/test.pdf_t} 時。

test.pdf_t 中有 includegraphics{test.pdf},要注意一下路徑的問題。

不然可能會產生編譯錯誤,找不到 test.pdf 這個檔案的情況。

另外如果不想要一個一個字去設定 "Special Flag" 的話,可以在 command line

輸入 "xfig -specialtext",以這個方法來開啟 Xfig,這樣的話 "Special Flag" 的

預設值就是 "Special" 了。

Reference:
子園

2012年4月26日 星期四

[Ubuntu][一些好用軟體]

Brasero
用來燒光碟的。

emesene
用來 msn 的,可以傳離線訊息真是幫大忙了。

KolourPaint
就小畫家啦。

htop
top 的進階版?可以看記憶體的使用程度。

Avidemux
用來剪輯影片的,剛剛才喀喀喀了一部影片 XD

2012年4月23日 星期一

[Latex][chapterbib]

耗了兩天,所以特地寫了篇心得文之類的?

Anyway,有時,像是在寫書時,會想要在各章後放各章的參考文獻,但是一般來說參考文獻都會被放在文件的最後面,如果想要在各章之後 show 出來的話該怎麼做呢?這時就要用 chapterbib 這個 package 了。

底下是我這次所測試出來可以用的例子。

Example/
  |-article.tex
  |-Chap01/
      |-reference.bib
      |-section01.tex
      |-section02.tex
  |-chap01.tex
  |-Chap02/
      |-reference.bib
      |-section01.tex
      |-section02.tex
  |-chap02.tex
  |-Makefile

[article.tex]
\documentclass{book}                   
\usepackage[sectionbib]{chapterbib}
\usepackage{CJKutf8}
\begin{document}
    \begin{CJK*}{UTF8}{bkai}
        \include{chap01} 
        \include{chap02}
    \end{CJK*}
\end{document}

[chap01.tex]
\chapter{Chapter 01}
    \input Chap01/section01.tex
    \input Chap01/section02.tex
    \newpage
    \bibliographystyle{plain}
    \bibliography{Chap01/reference.bib}


[chap02.tex]
\chapter{Chapter 02}
    \input Chap02/section01.tex
    \input Chap02/section02.tex
    \newpage
    \bibliographystyle{plain}
    \bibliography{Chap02/reference.bib}

[Makefile]
all:
    latex article
    bibtex chap01
    bibtex chap02
    latex article
    latex article
    pdflatex article

clean:
    rm -rf *.aux *.bbl *.blg *.dvi *.log *.pdf

如果不加上 sectionbib 的話,就會是在文件最後面才會依章列出所用的參考文獻。

Reference:
http://www.eng.cam.ac.uk/help/tpl/textprocessing/bibliographies.html

2012年4月19日 星期四

[Linux][RAM Info]

Here are some commands for query ram related information.

Q1. How many slots?
A1. sudo dmidecode | grep -P -A5 "Memory\s+Device" | grep Size | grep -v Range

Q2. The maximum capacity supported.
A2. sudo dmidecode | grep -P "Maximum\s+Capacity"

Q3. RAM frequency.
A3. sudo dmidecode | grep -A16 "Memory Device" | grep "Speed"

References:
http://linux.chinaitlab.com/command/837383.html

2012年4月18日 星期三

[Linux][gprof and gcov]

[gprof] performance analysis

flag used: -pg

gcc -pg test.c
./a.out
gprof a.out > test

[gcov] code coverage

flag used: -ftest-coverage

gcc -ftest-coverage test.c
./a.out
gcov test.c

References:
http://blog.superd.org/index.php/2004/11/02/39/
http://codingfreak.blogspot.com/2009/02/gcov-analyzing-code-produced-with-gcc.html