好康道相報
※加入部落軌道,讓你的部落格有更多人知道 《按此加入》《使用心得
※欲轉貼本站文章者,只要註明出處及網址即可,不需我同意了,謝謝您的配合
※留悄悄話的網友請注意:如果您非痞客邦會員(包含使用FB/Google+帳號),是看不到回覆的喔
※痞客邦會自動將疑似廣告留言隱藏,因此若留言後看不到,可能是被系統自動隱藏了,由於我現在很久才會開一次網誌,有看到時我才會將非廣告留言解開,敬請見諒

下禮拜事情好多,Linux要交作業,網競要找資料,研究計畫連個影都沒有
該怎麼分配時間捏...

《proc》
cd /proc;ls

proc資料夾裡面的東西不是檔案,是記憶體
包含著作業系統的整個環境
當device driver接到命令,會動態產生狀態

以下介紹幾個常見的內容
cat cpuinfo - 可看CPU資料
最底下的那個bogomips是把CPU速度化為數值,可簡單度量速度

 

cat cmdline - 看開機的指令
cat mount - 看掛載什麼東西(前提是你有開啟光碟機)
cat meminfo - 看記憶體儲存的內容

 

每個process執行會有個PID,代號1稱為init
所有底下的程式都是由init fork出來的
ps l - 看到b自己的PID
cd 5253 - 進入PID代表的目錄
cat environ - 看自己的環境變數

 

封包經過 kernal 都會被iptables看一下
 可以過濾不想要的網路封包(詳請可在鳥哥的Linux私房菜看)

cd sys/net/ipv4 - 底下是網路的各種狀態
cat ip_forward - 看這台電腦能不能做ip forward功能
一般來說會顯示0代表他不能做轉寄或ip forward的功能
要改變的話請先轉到root權限
輸入echo 1 > ip_forward修改

 

cat uptime - 看電腦開了多少秒(如下圖723.16代表12分3秒)
w - 看電腦開了多少天

 

du - 沒抄到,下次再查什麼意思

嫌Xubuntu畫面太小?按下F11換到全螢幕

===
ch 4  我又跳到第四章了
===


‧args.c
args.c要自己判斷前面有沒有-,非常麻煩
所以用getopt,他會真的去改變argument
但getopt只能用short option,longopts就能宣告long options

locale - 看環境變數
看到時間顯示部分老師因習慣改成LC_TIME=POSIX
如果想自行改成中文文法顯示,輸入以下指令修改
LC_TIME="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"


echo $PS1 - 終端機每行前面顯示的內容
修改PS1可以更改顯示,這些東西稱為環境變數



補充教學
Mono是.Net跨平台NET OS的實作(維基百科介紹
可以在Linux、Mac、Unix等作業系統執行VB或C#的程式
目前推出2.0 alpha版,號稱跟VS2005完全相容
實際上雖然可跑但還是有些問題

下載版本分很多,live CD可以直接在光碟上執行,但是不能儲存
建議可以下載VMware版,轉成Virtual Box在裡面執行

‧environ.c
輸入./environ AAA csim
會看到畫面上出現AAA=csim
但再次./environ AAA,發現AAA又沒有了
因為他只有在程式執行的那段時間改變,改完就沒有了

詳請請用man看以下說明
man 3 setenv - 設定environ
man 3 getenv - 讀取environ



以下指令不明(沒聽到說明,下次補充)
ins strace
P strace
upd


‧envtime.c
將envtime.c的內容改成time(tm)
結果出現segment error
用strace就可以找到錯誤在哪
原來在tm=null



‧gmtime.c
後面增加以下兩行,可以多顯示目前是今年第幾週跟第幾天
printf("day of week: %d\n", tm_ptr->tm_wday);
printf("day of year: %d\n", tm_ptr->tm_yday);


輸入man gmtime看gmtime還可以顯示什麼時間



以上在課本P.151

將gmtime(&the_time);修改成localtime(&the_time);
會變成本地時間

‧ctime.c
ctime
- 輸出成字串
跟date指令的內容很像
下方看起來不像的原因是我前面把LC_TIME改成utf-8格式了



‧strftime.c
可以讓時間依照指定格式顯示出來
輸入man strftime看他的格式



《Temporary Files》
有兩個,一個比較舊不建議
範例是tmpnam.c
另一個比較建議的是maketmp???

本週有課堂(點名)作業,顯示系統資訊(像是時間、CPU之類的)
可直接拿ctime.c等範例合併即可

C語言輸入system("cat /proc/cpuinfo");
可直接在螢幕上秀出CPU資訊
其實不是寫程式抓硬體資料,只是下一行指令罷了
cat改成grep就可直接顯示某一條資訊

蕭雲 發表在 痞客邦 PIXNET 留言(3) 人氣()


留言列表 (3)

發表留言
  • humd1022
  • 小綠我可以問一下
    你整理這樣一篇大概要花多久的時間呢?
  • 你確定要知道嗎= =
    上次看了一下時間,抓圖+寫作是兩個小時
    這篇篇幅還算短的
    之前篇幅長的時候曾經寫過四個小時(不誇張)

    蕭雲 於 2008/10/28 09:37 回覆

  • 櫻桃小丸子
  • 小綠,我很好奇想問你
    你都覺得時間不夠分配了
    為何還要花這麼多時間寫這些,值得嗎?
  • 當然值得啊
    因為這些都是上課內容,也是以後考試會考到的內容
    幫自己的筆記整理,不但可以讓自己更印象深刻
    也可以幫助到其他沒有接觸過Linux程式設計的網友
    你不覺得這是個很有意義的事嗎?
    而且作這類型的課後複習,難道就不是讀書嗎?

    蕭雲 於 2008/11/06 21:27 回覆

  • this man
  • 推樓上原po所回的,這是一件助人助己的好事,只是還蠻耗時間的,而且需要毅力才能持續,辛苦了。
  • 能幫到人的話,辛苦就值得了

    蕭雲 於 2010/03/23 13:34 回覆