顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2011年4月26日 星期二

計算檔案行數

通常想到計算檔案行數 第一個想到的就是 wc 這支command(在linux上)

wc 我猜是word count的簡寫...當然他不只可以算字數 也可以算行數

對於沒事想要看看自己程式碼寫了多少行或是多少字的人 是個方便的工具

先來看看他的help

#wc --help

Usage: wc [OPTION]... [FILE]...
or: wc [OPTION]... --files0-from=F
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified. With no FILE, or when FILE is -,
read standard input.
-c, --bytes print the byte counts
-m, --chars print the character counts
-l, --lines print the newline counts
--files0-from=F read input from the files specified by
NUL-terminated names in file F;
If F is - then read names from standard input
-L, --max-line-length print the length of the longest line
-w, --words print the word counts
--help display this help and exit
--version output version information and exit

Report wc bugs to bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:
Report wc translation bugs to

簡單的說 要算某支檔案多少字 多少行 就用

#wc -w [file name] 或是 #wc -w * (表示目錄下所有檔案累計)

要算行數 也很簡單

#wc -l [file name] 或是 #wc -l * (表示目錄下所有檔案累計)

若是想要連sub-directory(所有子目錄都統計的話) 就用

#wc -l `find [folder name] -type f` 搭配find指令 可以視需求統計您需要的檔案類型

以上 應該是對於純文字檔比較適用

要用binary檔案來count 請自行想辦法~(阿 我也不知道你要count啥)


2009年11月4日 星期三

[課程重點] Linux 基礎指令班-2

上一篇介紹一些重要且常用的指令之後 這篇來討論一些小細節

(1) kill 指令-其實他只是送個signal給process 讓process作他需要做的事情.以下是常用的訊號
  • HUP/1: #> kill -HUP [ProcessID] or kill -1 [ProcessID] 將連線中的process 使其斷線
  • INT/2: 送出ctrl+C 中斷訊號
  • KILL/9: 若寫出一個無法正常結束的程式就用 #>kill -9 [ProcessID] 吧.強制終止
  • TERM/15: 這是送出一個正常結束的訊號. #default.
(2) mount/unmount指令-掛載檔案系統的指令, 掛載隨身碟/網路磁碟/光碟機/檔案系統檔案..
  • mount [options] device directory
  • 詳細檔案系統參數就 #> man mount 吧
(3) ln檔案連結指令, 用 #> ls -li來看他是否有作soft/hard link
  • #>ln [options] file link/directory
  • ex: #>ln -s test.c test_ln.c 建立一個類似捷徑的soft link, i-node#不會一樣.類似指標的意義
  • ex: #>ln -i test.c test_hln.c 產生出一個檔案大小一樣且i-node#一樣的檔案(ls -li第三個欄位有紀錄這個檔案有幾個hard link)
(4) du/df 檔案使用檢視指令
  • ex: #>du -m 當前目錄所有檔案使用空間情況(-m means 以MB為單位顯示)
  • ex: #>df -m 觀察硬碟空間使用情形(-m means 以MB為單位顯示)

[課程重點] Linux 基礎指令班-1

在2009/06/27-28 上的這門課 現在把重點精要寫在這邊

如果需要體驗的話 以下兩個方式可以在windows system下很迅速的體驗linux作業系統
1. 安裝 cygwin: 這個東西就是run在windows下的一套unix like環境.當然也可以很正常的利用這裡頭的tool來compile 程式碼, 作一些在linux的事情,詳情請見 http://www.cygwin.com/ 這個網址

2. 安裝virtual box虛擬機器環境並且在裡頭安裝一套linux OS, virtual box(http://www.virtualbox.org/) Ubuntu Linux OS (http://www.ubuntu-tw.org/)

安裝完上述的環境之後 就可以開始測試以下這些command囉, 節錄比較重要和常用的
1. 指令說明: man, info 這兩隻可以查指令的說明. 當然有時候也可以鍵入 #>指令 -help 或是 ?

2. 系統管理員指令: su/sudo, 通常建議不要用root login來做事.如果想要變身為root(超級使用者)用su指令

3. 系統訊息: dmesg 用這個指令可以看到目前driver是否有install以及一些系統訊息

4. 程序相關指令: ps(列出使用者所run的process), pstree(檢視父子process關係), kill(送訊號給process, 殺掉他也是送個訊號), fg/bg/job(將process切換至背景/前景模式), top(檢視目前系統process runnig資訊以及cpu/memory使用率)

5. 網路相關命令:ifconfig (跟windows的ipconfig相關且更強大), netstat/ping/route(檢視網路狀況)

6. 壓縮指令:壓縮 (tar -zcvf) 解壓縮(tar -zxvf)

7. 文字尋找,檔案搜尋: ls, find, grep 等等...

2009年7月30日 星期四

linux gdb常用指令速查

gdb:

list/l: list程式碼
list line#
list line# line#

break/b: set break point
break line#
break functionName

run
next/n
print/p: print value of variable
print variableName

display/d: add the variable to watch
display variable_name

cont: continue

quit

2009年7月7日 星期二

上完linux指令班的心得分享1

來寫一些分享 上完課的心得

info 以及 man 這兩隻程式要記得, 都是查一些指令的用法(manual)

例如 有個指令 ls (list 目錄下檔案)
可以在命令列打上 info ls 或是 man ls 就能查到他的用法
當然有的command會內建help 打上 command --help 也有辦法查到用法

用起來跟打dos command差不多 不過有更多command tool可以使用倒是不錯

介紹一下 一些相關系統指令. linux os 是一個作業系統 所以會有一些跟系統相關操作的指令
例如 login/logout (登入登出), reboot(重開機, root才能用), shutdown(關機, root 才能用)

也因為這是個多人多工的系統 還有一些跟使用者相關的指令

先介紹 root是啥好了 他是一個權限極高的 power user 通常我們不會用root來作遠端登入
而是會利用一個 alias 其他名字的user 遠端登入之後 在利用 sudo/su指令 變身為root使用者來對系統
作一些 configuration 或是系統維護方面的事情

跟user有關的指令很簡單 就是 useradd 以及 passwd 用來增加使用者還有給予密碼
#useradd hcliu (增加一個名為hcliu的使用者)
#passwd hcliu (賦予他登入的密碼)

而怎麼登入 下一篇來介紹安全登入的方式 今天先寫到這裡

2009年7月1日 星期三

Linux 指令初學班

上週六日(6/27.28)

找同事去上這堂課
雖然從大學到研究所都在碰linux
但想瞭解一下 外面在上都上什麼 加上只要$1000元
然後又可以找幾個有興趣的同事一起去聽 所以就去聽聽看囉

當然 還是有我所不足的地方 所以還是有收穫的

接下來8月到11月的假日 就要開始比較進階的課程了
希望我能撐住壓~

2009年6月12日 星期五

[工作] 為了增加一些競爭力 報名linux課程

做了 wince/windows mobile driver兩年
大致上瞭解這系統是什麼東西了 也很感謝microsoft弄了一堆架構
讓我們開發driver/BSP的人有可以依循的方式

想說 11月退伍的日子也快到了 想趁假日多補充自己的戰力~
就想去加強原本大學+研究所開發的linux環境 之前是在上面寫network server程式
以及一些application 今天我報名 傳識資訊 三門關於 Linux BSP的課

在這裡紀錄一下 以免我忘記要上課
1. Linux System Programming 8/15.16.22.23 共4個假日天 9:30-17:30 [課程資訊連結]

2. Bootloader 設計實務-以 Uboot 為例 9/26.27 共2個假日天 9:30-17:30[課程資訊連結]

3. Linux Device Driver 驅動程式設計 10/31 11/1.7.8 共4個假日天 9:30-17:30 [課程資訊連結]

希望以後有機會能夠加入開發android/linux 嵌入式裝置產品的公司壓