成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面Unix程序說明

系統 其他OS
我們在文章中,我們會講解一下關于Unix程序說明的知識。該程序是一個類似于Unix命令ls 的小工具(取文件名為lx,為了簡單起見,此Unix程序只讀取了文件的字節數,即st_size)。

我們知道隨著Unix系統的不斷普及,使用Unix系統的單位和個人也越來越多,特別是Linux的推出,更是風靡全球?;赨nix系統的編程也愈顯重要。今天,我們就來學習一個Unix程序的知識。

該程序是一個類似于Unix命令ls 的小工具(取文件名為lx,為了簡單起見,此Unix程序只讀取了文件的字節數,即st_size)。它可以接受一個參數:指定的目錄;也可以不帶參數,則默認為當前目錄。Unix程序列出指定目錄及其子目錄中所包含的所有文件的文件名和文件的字節數,并計算出指定目錄所占磁盤空間的大小。

Unix程序詳細說明如下(程序清單見附錄):
1-5行:包含在程序中要用到的一些頭文件。

6行:定義常數TABSPACES為TAB鍵所跳過的空格數,用于規整后面顯示語句的屏幕格式。

11行:定義一個變量dir_size用于存放指定目錄所占磁盤空間的大小。

12、13行:判斷命令行如果沒有帶參數,則調用list函數,將指定目錄置為當前目錄,并將返回的目錄大小存入變量dir_size中。

14-18行:如果命令行帶的參數大于一個,則在屏幕上顯示出此命令的簡要語法并退出Unix程序。

19、20行:如果命令行只帶一個參數,則將此參數作為指定目錄調用list函數,同時也返回目錄的大小并存入變量dir_size中。

21行:打印出指定目錄及其子目錄所占磁盤空間的大小。

23行:定義list函數,該函數采用遞歸法列出字符串name所指定的目錄及其子目錄中所包含的文件名和文件的大小,并計算name所指定的目錄所占用的磁盤空間。

26-32行:定義函數中要用的變量并賦初值。

33行:打印當前所操作目錄的目錄名。

34行:開始一個循環次數為2的for循環。第1次循環找出目錄中包含的所有文件,第2次循環找出目錄中包含的所有子目錄。

36-40行:打開指定的目錄,如果打開成功則返回指向此目錄的指針,否則返回NULL。Unix程序打印出出錯信息并退出。

41行:開始一個while循環,每循環一次讀出目錄中的一個文件或子目錄,直到讀出目錄中所有的文件或子目錄,readdir返回NULL表示已讀到此目錄的尾部。

43、44行:判斷讀出的文件的I標識號,如果為0,則表示該文件已被刪除。Unix程序繼續執行并讀取下一個文件。

45-47行:在讀出的文件名前加上絕對或相對路徑,以使Unix程序能正確的從文件系統中訪問指定的文件。

48-52行:調用lstat獲取指定文件的信息,將獲取的信息存儲到結構sbuf中。如果出錯則退出Unix程序。

53行:判斷讀出的文件是否是一個目錄,這個條件用語句(sbuf.st_mode&S_IFMT)==S_IFDIR實現。其它三個條件用于濾除符號鏈接、目錄本身和上一級目錄,以避免出現死循環。

55-60行:如果是第2次for循環則遞歸調用list函數,列出相應的子目錄,同時累加目錄所占磁盤空間的大小。

63-71行:如果是第1次for循環則打印出文件名和文件所占用的字節數,同時累加所占磁盤空間的大小。用三條打印語句是因為文件名長度不一致,為了打印出的屏幕美觀。

75行:關閉相應的目錄。

77行:返回本目錄所占用的磁盤空間。

本Unix程序在Turbo Linux 4.0和FreeBSD 3.0上調試運行通過。

【編輯推薦】

  1. Unix系統文件系統知識簡介
  2. Hp unix rm文件空間不釋放問題解決
  3. Hp unix中問題解決方案講解
  4. 時間帶給Unix操作系統了什么
  5. Unix操作系統但用戶模式講解
責任編輯:小霞
相關推薦

2010-04-07 17:51:34

Unix命令

2010-04-16 16:25:43

2010-05-07 13:43:27

Unix Shell

2010-04-07 16:46:08

Unix命令

2010-07-22 12:38:35

Unix telnet

2010-05-06 16:40:47

Unix SUID

2009-12-01 17:01:17

備份路由器

2009-07-12 11:10:39

系統安全UNIX系統賬戶

2010-04-14 12:46:31

2010-11-29 11:35:09

安裝Sybase數據庫

2010-04-09 16:52:36

Unix操作系統

2009-12-23 14:43:25

Fedora GCC

2010-07-16 10:14:09

Perl子程序

2010-02-07 09:30:39

Android 程序

2010-04-16 18:02:30

Unix操作系統

2010-08-04 14:15:43

Flex應用程序

2010-01-19 17:54:47

C++程序

2010-02-22 14:28:10

Python程序

2009-12-21 10:47:27

ORACLE .NET

2010-03-03 17:29:30

Android程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩日一区二区 | 亚洲情综合五月天 | 精品伊人| 精品国产高清一区二区三区 | 毛色毛片免费看 | 亚洲国产精品第一区二区 | www.成人免费视频 | 91操操操 | 丁香综合 | 日韩欧美精品在线播放 | 亚洲一区二区免费看 | 91.xxx.高清在线| 久久久亚洲一区 | www.v888av.com| 九九导航| 91porn国产成人福利 | 免费观看一级黄色录像 | 99久久久国产精品免费消防器 | 久草热视频| a黄毛片| 久久成人一区 | 九九热免费视频在线观看 | 亚洲欧美综合精品另类天天更新 | 国产99视频精品免视看9 | 日韩中文字幕一区 | 久久精品久久久久久 | 在线中文字幕av | 国产伦精品一区二区三区四区视频 | 亚洲国产精品一区二区久久 | 精品一区国产 | av免费看在线 | 第四色播日韩第一页 | 久草精品视频 | 欧美精品一区三区 | 成人免费在线视频 | caoporn地址 | 精品国产乱码久久久久久久久 | 国产精品色| 国产va| 不卡一区 | 日韩在线欧美 |