from 網路
http://omusico.pixnet.net/blog/post/25368607-gcc指令筆記%5B轉載%5D
2012年2月8日 星期三
2012年2月7日 星期二
Linux 改背景顏色
再寫 C /C ++ 得時候 有時候看不清楚註解
如何更改註解顏色
方法如下
vim 的 config 檔在以下
整體 vim 的設定值一般是放置在 /etc/vimrc 這個檔案,不過,不建議你修改他! 你可以修改 ~/.vimrc 這個檔案 (預設不存在,請你自行手動建立!),將你所希望的設定值寫入! 舉例來說,可以是這樣的一個檔案:
set bg=dark
即可
詳細的操作 請參考
鳥哥私房菜 !
http://linux.vbird.org/linux_basic/0310vi.php#vim_set
如何更改註解顏色
方法如下
vim 的 config 檔在以下
整體 vim 的設定值一般是放置在 /etc/vimrc 這個檔案,不過,不建議你修改他! 你可以修改 ~/.vimrc 這個檔案 (預設不存在,請你自行手動建立!),將你所希望的設定值寫入! 舉例來說,可以是這樣的一個檔案:
set bg=dark
即可
詳細的操作 請參考
鳥哥私房菜 !
http://linux.vbird.org/linux_basic/0310vi.php#vim_set
2012年2月6日 星期一
2012年2月1日 星期三
sed 指令使用
如何使用 sed
sed 是用來 排序的指令
例如說
一筆資料 data
1
2
3
4
5
cat data |sed '3d'
會顯示
1
2
4
5
[root@www ~]# nl /etc/passwd | sed '2,5d'
1 root:x:0:0:root:/root:/bin/bash
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
若是要刪除第 3 到最後一行,則是『 nl /etc/passwd | sed '3,$d' 』的啦,那個錢字號『 $ 』代表最後一行!
範例三:在第二行後面加入兩行字,例如『Drink tea or .....』與『drink beer?』
[root@www ~]# nl /etc/passwd | sed '2a Drink tea or ......\
> drink beer ?'
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
Drink tea or ......
drink beer ?
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
範例四:我想將第2-5行的內容取代成為『No 2-5 number』呢?
[root@www ~]# nl /etc/passwd | sed '2,5c No 2-5 number'
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(後面省略).....
範例五:僅列出 /etc/passwd 檔案內的第 5-7 行
[root@www ~]# nl /etc/passwd | sed -n '5,7p'
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
範例六 取代字串
sed 's/要被取代的字串/新的字串/g'
ex
[Andy@ed520-RAID project1]$ cat sort
Ka123456789 line1
Ka987654321 line2
Ka555555555 line3
Ka135798642 line4
Ka246810951 line5
[Andy@ed520-RAID project1]$ cat sort |sed 's/Ka/Andy/g'
Andy123456789 line1
Andy987654321 line2
Andy555555555 line3
Andy135798642 line4
Andy246810951 line5
事實上 沒有寫g 好像也會自動替代
.....(後面省略).....
sed 是用來 排序的指令
例如說
一筆資料 data
1
2
3
4
5
cat data |sed '3d'
會顯示
1
2
4
5
[root@www ~]# nl /etc/passwd | sed '2,5d'
1 root:x:0:0:root:/root:/bin/bash
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
若是要刪除第 3 到最後一行,則是『 nl /etc/passwd | sed '3,$d' 』的啦,那個錢字號『 $ 』代表最後一行!
範例三:在第二行後面加入兩行字,例如『Drink tea or .....』與『drink beer?』
[root@www ~]# nl /etc/passwd | sed '2a Drink tea or ......\
> drink beer ?'
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
Drink tea or ......
drink beer ?
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
範例四:我想將第2-5行的內容取代成為『No 2-5 number』呢?
[root@www ~]# nl /etc/passwd | sed '2,5c No 2-5 number'
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(後面省略).....
範例五:僅列出 /etc/passwd 檔案內的第 5-7 行
[root@www ~]# nl /etc/passwd | sed -n '5,7p'
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
範例六 取代字串
sed 's/要被取代的字串/新的字串/g'
ex
[Andy@ed520-RAID project1]$ cat sort
Ka123456789 line1
Ka987654321 line2
Ka555555555 line3
Ka135798642 line4
Ka246810951 line5
[Andy@ed520-RAID project1]$ cat sort |sed 's/Ka/Andy/g'
Andy123456789 line1
Andy987654321 line2
Andy555555555 line3
Andy135798642 line4
Andy246810951 line5
事實上 沒有寫g 好像也會自動替代
.....(後面省略).....
Linux sort 使用
[root@www ~]# sort [-fbMnrtuk] [file or stdin]
選項與參數:
-f :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b :忽略最前面的空白字元部分;
-M :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n :使用『純數字』進行排序(預設是以文字型態來排序的);
-r :反向排序;
-u :就是 uniq ,相同的資料中,僅出現一行代表;
-t :分隔符號,預設是用 [tab] 鍵來分隔;
-k :以那個區間 (field) 來進行排序的意思
範例一:個人帳號都記錄在 /etc/passwd 下,請將帳號進行排序。
[root@www ~]# cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
# 鳥哥省略很多的輸出~由上面的資料看起來, sort 是預設『以第一個』資料來排序,
# 而且預設是以『文字』型態來排序的喔!所以由 a 開始排到最後囉!
範例二:/etc/passwd 內容是以 : 來分隔的,我想以第三欄來排序,該如何?
[root@www ~]# cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
# 看到特殊字體的輸出部分了吧?怎麼會這樣排列啊?呵呵!沒錯啦~
# 如果是以文字型態來排序的話,原本就會是這樣,想要使用數字排序:
# cat /etc/passwd | sort -t ':' -k 3 -n
# 這樣才行啊!用那個 -n 來告知 sort 以數字來排序啊!
範例三:利用 last ,將輸出的資料僅取帳號,並加以排序
[root@www ~]# last | cut -d ' ' -f1 | sort
選項與參數:
-f :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b :忽略最前面的空白字元部分;
-M :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n :使用『純數字』進行排序(預設是以文字型態來排序的);
-r :反向排序;
-u :就是 uniq ,相同的資料中,僅出現一行代表;
-t :分隔符號,預設是用 [tab] 鍵來分隔;
-k :以那個區間 (field) 來進行排序的意思
範例一:個人帳號都記錄在 /etc/passwd 下,請將帳號進行排序。
[root@www ~]# cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
# 鳥哥省略很多的輸出~由上面的資料看起來, sort 是預設『以第一個』資料來排序,
# 而且預設是以『文字』型態來排序的喔!所以由 a 開始排到最後囉!
範例二:/etc/passwd 內容是以 : 來分隔的,我想以第三欄來排序,該如何?
[root@www ~]# cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
# 看到特殊字體的輸出部分了吧?怎麼會這樣排列啊?呵呵!沒錯啦~
# 如果是以文字型態來排序的話,原本就會是這樣,想要使用數字排序:
# cat /etc/passwd | sort -t ':' -k 3 -n
# 這樣才行啊!用那個 -n 來告知 sort 以數字來排序啊!
範例三:利用 last ,將輸出的資料僅取帳號,並加以排序
[root@www ~]# last | cut -d ' ' -f1 | sort
用linux 系統去 compile
語法如下
假設有一個 檔案 名稱叫做 test.cpp
g++ test.cpp -lpthread (g++ 指的是compiler test.cpp 是被編譯的檔案 -lpthread 表示 把 library pthread 給 抓近來 'l'表示 library)
結束後 會產生 執行黨 a.out
1. gcc -o tutorial01 ./tutorial01.c -I. -L/usr/local/lib -lavcodec -l avformat -lavutil
-I : input directory (use . as current directory)
-L: link library directory
-l: link library name
預設的路徑是
一般而言
如果 在 linux 下寫 C/C++
它會自動去抓 library
而 通常 library 會放在 /usr/lib 或是 lib 中
至於 include
.h 檔案 通常都會存放在 /usr/include 裡面
所謂 .h 檔是指 一個頭的檔案 胎會去抓實體的code檔案
另外就是 所謂 .a 是指抽象檔案
.so 動態檔案
假設有一個 檔案 名稱叫做 test.cpp
g++ test.cpp -lpthread (g++ 指的是compiler test.cpp 是被編譯的檔案 -lpthread 表示 把 library pthread 給 抓近來 'l'表示 library)
結束後 會產生 執行黨 a.out
1. gcc -o tutorial01 ./tutorial01.c -I. -L/usr/local/lib -lavcodec -l avformat -lavutil
-I : input directory (use . as current directory)
-L: link library directory
-l: link library name
預設的路徑是
一般而言
如果 在 linux 下寫 C/C++
它會自動去抓 library
而 通常 library 會放在 /usr/lib 或是 lib 中
至於 include
.h 檔案 通常都會存放在 /usr/include 裡面
所謂 .h 檔是指 一個頭的檔案 胎會去抓實體的code檔案
另外就是 所謂 .a 是指抽象檔案
.so 動態檔案
訂閱:
文章 (Atom)