文件系統層次結構分析、目錄管理、文件管理、日期管理常用命令使用

 在LINUX系統管理中,我們常常管理目錄(mkdir、rmdir 、tree、ls、cd)文件管理(touch 、rm、cp、mv、stat),時鐘管理(date、clock、hwclock)讓我們一起來學習Linux吧。。。

 

  1.  Linux的基本原則:  

  2.  

  3. 1、由目的單一的小程序組成;組合小程序完成複雜任務;  
  4. 2、一切皆文件;  
  5. 3、儘量避免捕獲用戶接口;  
  6. 4、配置文件保存爲純文本格式;  
  7.  
  8. GUI接口:  
  9. CLI接口:  
  10.     命令提示符,prompt, bash(shell)  
  11.         #: root  
  12.         $: 普通用戶  
  13.     命令:  
  14.  
  15. 命令格式:  
  16.     命令  選項  參數  
  17.         選項:  
  18.             短選項: -  
  19.                 多個選項可以組合:-a -b = -ab  
  20.             長選項: --  
  21.         參數:命令的作用對象   
  22.  
  23.  
  24. su: switch user 
  25. # su [-l] 用戶名  
  26.  
  27. passwd:  
  28.     功能:設置密碼  
  29. 密碼要求:  
  30. 1、使用4種類別字符中至少3種;  
  31. 2、足夠長,大於7位;  
  32. 3、使用隨機字符串;  
  33. 4、定期更換;  
  34. 5、循環週期足夠大;  
  35.  
  36.  
  37.  
  38. Shell:  
  39. GUI: Graphic User Interface  (圖形用戶界面)  
  40.     Windows  
  41.     Linux:X-Window  (X指的是協議)  
  42.         Gnome:C  
  43.         KDE:C++  
  44.         Xface <輕量級>  
  45. CLI: Command Line Interface  (命令行界面)  
  46.     sh  
  47.     bash  
  48.     csh  
  49.     ksh  
  50.     zsh  
  51.     tcsh  
  52.  
  53. login:  
  54.     用戶名:用戶ID  
  55. 用戶名的命名規則:  
  56.     1、長度不能超過255個字符;  
  57.     2、不能使用/當文件名  
  58.     3、嚴格區分大小寫  
  59.       
  60. 認證機制:Authentication  
  61. 授權:Authorization 
  62. 審計:Audition (日誌)  
  63.  
  64.  
  65. 獲得命令的使用幫助:  
  66. 內部命令:  
  67.     help COMMAND  
  68. 外部命令:  
  69.     COMMAND --help  
  70.       
  71. 命令手冊:manual  
  72. man COMMAND  
  73.  
  74. whatis COMMAND  
  75.     顯示命令摘要信息。  
  76.     man date 
  77. DATE(1)  
  78.     分章節:  
  79. 1:用戶命令(/bin, /usr/bin, /usr/local/bin):用戶可以操作的命令或可執行文件。  
  80. 2:系統調用:system call:系統核心可調用的函數與工具等。  
  81. 3:庫用戶:一些常用的函數(function)與函數庫(library)  
  82. 4:特殊文件(設備文件):設備文件的說明。  
  83. 5:文件格式(配置文件的語法):設置文件或某些文件格式。  
  84. 6:遊戲  
  85. 7:雜項(Miscellaneous)  
  86. 8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin):系統管理員可用的管理命令。
  87.  
  88. MAN:      
  89.     man page的內容頁分成好幾個部分來介紹。前面man date的表格內,以NAME作爲開始,以一個SEE ALSO作爲結束。  
  90.       
  91.     NAME:命令名稱及功能簡要說明  
  92.     SYNOPSIS:用法說明,包括可用的選項  
  93.     DESCRIPTION:命令功能的詳盡說明,可能包括每一個選項的意義  
  94.     OPTIONS:說明每一個選項的意義  
  95.     COMMANDS:當這個程序在執行的時候,可以在此程序(軟件)中發出的命令  
  96.     FILES:此命令相關的配置文件  
  97.     BUGS:是否有相關的錯誤  
  98.     EXAMPLES:使用示例  
  99.     SEE ALSO:另外參照(與這個命令或數據相關的其它參考說明)  
  100.  
  101. 翻屏:  
  102.     向後翻一屏:SPACE(空格鍵)  
  103.     向前翻一屏:b  
  104.     向後翻一行:ENTER  
  105.     向前翻一行:k  
  106.  
  107. 查找:  
  108. /KEYWORD: 向後  
  109. n: 下一個  
  110. N:前一個   
  111.  
  112. ?KEYWORD:向前  
  113. n: 下一個  
  114. N:前一個   
  115.  
  116. 當我們不再使用當前manpage文檔時,可選擇q鍵退出。  
  117.  
  118.  
  119. 在線文檔:  
  120. info COMMAND  
  121.  
  122. 文檔:/usr/share/doc  
  123.  
  124. prompt,命令提示符:  
  125.     # command  options...  arguments...  
  126.  
  127. 選項:修改命令執行的特性  
  128.     短選項  
  129.     長選項  
  130. 參數:指定命令作用對象  
  131.  
  132.  
  133. 文件系統(File system)  
  134.     Linux目錄配置標準:  
  135.                     FHS(Filesystem Hierarchy Standard文件系統層次標準)  
  136. /boot: 系統啓動相關的文件,如內核、initrd,以及grub(bootloader)  
  137. /dev: 設備文件  
  138.     設備文件:字符設備、塊設備  
  139.         塊設備:(硬盤、光盤)隨機訪問,數據塊  
  140.         字符設備:(鍵盤、鼠標)線性訪問,按字符爲單位  
  141.         設備號:主設備號(major device number)和此設備號(minor device number)  
  142.             系統核心就是通過這兩個號碼來判斷設備的。  
  143. /etc:配置文件  
  144. /home:默認用戶的家目錄,每一個用戶的家目錄通常默認爲/home/USERNAME  
  145.         ~:表示當前用戶的家目錄  
  146.         ~USERNAME:則表示USERNAME的家目錄  
  147. /root:管理員的家目錄;  
  148. /lib:系統使用的函數庫目錄  
  149.     靜態庫,  .a  
  150.     動態庫, Windows(.dll), Linux(.so:shared object)  
  151.     /lib/modules:內核模塊文件  
  152. /media:掛載點目錄,移動設備  
  153. /mnt:掛載點目錄,額外的臨時文件系統  
  154. /opt:可選目錄,第三方程序的安裝目錄   -> /usr/local/  
  155. /proc:僞文件系統,內核映射文件  
  156. /sys:僞文件系統,跟硬件設備相關的屬性映射文件  
  157. /tmp:臨時文件, /var/tmp  
  158. /var:系統執行過程中經常變化的文件  
  159. /bin: 可執行文件, 用戶命令  
  160. /sbin:管理命令  
  161. /lost+found:系統發生錯誤時,會將一些遺失的片段放置此目錄  
  162. /usr:shared, read-only (全局共享只讀)  
  163.         系統主要程序、圖形界面所需要的文件、額外的函數庫、本機自行安裝的軟件、共享目錄與文件  
  164.     /usr/bin、/usr/sbin:一般身份和管理員可執行的文件  
  165.     /usr/lib:各應用軟件的函數庫文件  
  166.       
  167. /usr/local:  
  168.     /usr/local/bin  
  169.     /usr/local/sbin  
  170.     /usr/local/lib  
  171.     
  172. date:時間管理  
  173. Linux: rtc  
  174.  
  175.     硬件時鐘:clock hwclock  
  176.     系統時鐘: date 
  177.       
  178. hwclock  
  179.     -w: 以系統時間爲準,將硬件時間改爲系統時間。  
  180.     -s: 以硬件時間爲準,將系統時間改爲硬件時間。  
  181. For example:
  182. 如果系統時間是準確的,硬件時間是不準確的,那我們如何將系統時間和硬件時間改爲一致呢
  183. # hwclock -w 即可將硬件時間改爲系統時間。
  184. cal: calendar  
  185.     顯示日曆  
  186. 查看2013年2月份的日曆  
  187.     # cal  2  2013    
  188.       
  189.       
  190. list: ls   (列出指定路徑所有子目錄或文件)  
  191.          列出,列表  
  192.            
  193. # ls -l  
  194. -rw------- 1 root root  1473 Feb 26 01:01 anaconda-ks.cfg  
  195.     -l:長格式(顯示完整信息)  
  196.         文件類型:  
  197.             -:普通文件 (f)  
  198.             d: 目錄文件  
  199.             b: 塊設備文件中可供存儲的接口設備(block)  
  200.             c: 字符設備文件,如:鍵盤、鼠標 (character)  
  201.             l: 符號鏈接文件(symbolic link file)  
  202.             p: 命令管道文件(pipe)  
  203.             s: 套接字文件(socket)  
  204.         文件權限:9位,每3位一組 rwx(讀(read),寫(write),執行(excute))  
  205.             第一組:擁有者的權限(owner)  
  206.             第二組:同組的權限(group)  
  207.             第三組:其它非本用戶組的(other)  
  208.         文件硬鏈接的次數  
  209.         文件的屬主(owner)  
  210.         文件的屬組(group)  
  211.         文件大小(size),單位是字節  
  212.         時間戳(timestamp):最近一次被修改的時間  
  213.             訪問:access  
  214.             修改:modify,文件內容發生了改變  
  215.             改變:change,metadata,元數據  
  216.     -h:做單位轉換(KB、GB)  
  217.     -a: 顯示以.開頭的隱藏文件  
  218.         . 表示當前目錄  
  219.         .. 表示父目錄  
  220.     -A:除.和..以外的當前目錄的所有文件(包括隱藏文件)。  
  221.     -d: 顯示目錄自身屬性  
  222.     -i: index node, inode   顯示文件的索引節點  
  223.     -r: 逆序顯示  
  224.     -R: 遞歸(recursive)顯示(將當前目錄中的子文件及子目錄顯示)  
  225.     -S:按文件大小排序  
  226.     --full-time:以完整的時間模式(年、月、日、時、分)輸出  
  227. cd: Change Directory  
  228.      功能:切換工作目錄  
  229.      選項:  
  230.         ~USERNAME: 進入指定用戶的家目錄  
  231.         -: 表示前一個工作目錄  
  232.         .:表示當前目錄  
  233.         ..:表示上一層目錄  
  234.         ~:表示“當前用戶身份”所在的家目錄
  235. For example
  236. 如果我們當前處在的目錄是/root,我現在想進入/home目錄,該如何操作?
  237. # cd /home
  238. # cd ../home 兩者都可以進入/home目錄
  239.  
  240. pwd: Printing Working directory  
  241.      功能:顯示當前工作目錄  
  242.      選項:  
  243.         -P:顯示出實際路徑,而非使用連接(link)路徑
  244.  
  245. 命令類型:  
  246.     內置命令(shell內置),內部,內建  
  247.     外部命令:在文件系統的某個路徑下有一個與命令名稱相應的可執行文件  
  248.  
  249. type: Bash Shell的內置命令   
  250.     -t:type會顯示name是外部命令還是bash內部命令  
  251.     file:表示爲外部命令  
  252.     alias:表示命令爲命令別名所設置的名稱  
  253.     builtin:表示該命令爲bash內置的命令名稱  
  254.     -a:在PATH變量定義的路徑中,列出所有含有name的命令,包含alias  
  255. type也可以用來查找命令,類此which命令的作用  
  256. For example:  
  257. [root@station16 ~]# type -p touch  
  258. /bin/touch  
  259.       
  260. file命令及其用法。  
  261.     辨別文件內容類型  
  262.     -b:列出辨別結果時,不顯示文件名稱。  
  263.     -c:詳細顯示指令執行過程,便於排錯或分析程序執行的情形。  
  264.     -v:顯示版本信息。  
  265. For example
  266. 我想查看/etc/passwd文件的類型
  267. # file -b /etc/passwd
  268. /etc/passwd: ASCII text 表示/etc/passwd是純文本文件
  269.           
  270. 目錄創建和刪除  
  271.  
  272. mkdir:(make directory)  
  273.     功能:創建空目錄  
  274.     選項:  
  275.         -p(parents):若所要建立目錄的上層目錄尚未建立,則會一併建立上層目錄。  
  276.         -v(verbose):執行時顯示詳細的信息  
  277.         -m(mode):設置目錄權限  
  278.           
  279. For example:
  280. 一、在/mnt/test/aa/bb,cc目錄並顯示詳細信息
  281. # mkdir -pv /mnt/text/{aa/bb,cc}
  282. 二、創建a_b,a_c,d_b,d_c
  283. # mkdir -pv {a,d}_{b,c}
  284. # tree:查看目錄樹  
  285.  
  286. rmdir:(remove directory)  
  287.     功能:刪除空目錄  
  288.     選項:  
  289.         -p(parents):刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除。  
  290.  
  291.       
  292. 文件創建和刪除  
  293.  
  294. touch:  
  295.     功能:修改文件的時間戳  
  296.     選項:  
  297.         -a: 只更改訪問時間  
  298.         -m:只更改修改時間  
  299.         -t:修改指定時間,而非現在時間  
  300.         -c:不建立任何文件  
  301. stat  
  302.     功能:顯示文件或文件系統狀態  
  303.       
  304. 刪除文件:rm  
  305.     -i:交互式模式,刪除前詢問是否操作  
  306.     -f:強制刪除文件或目錄  
  307.     -r:遞歸刪除  
  308.       
  309. 複製(copy)和移動文件(move)  
  310.     功能:複製文件或目錄,還可以建立連接文件(快捷方式)  
  311.         cp  SOURCE  DEST  
  312.         cp  file1  file2   file3  
  313.             文件   文件     目錄  
  314.     選項:  
  315.         -r:遞歸處理(將指定目錄下的文件與子目錄)  
  316.         -i(interactive):交互:覆蓋前詢問  
  317.         -f:  
  318.         -u:目標文件與源文件有差異時,才複製  
  319.         -l:建立硬鏈接(hard link)的連接文件,而非複製文件本身  
  320.         -s:複製成符號連接文件(symbolic link),即快捷方式  
  321.         -p:與文件的屬性一起復制,而非默認屬性  
  322.         -a:歸檔複製,常用於備份  
  323. For example:
  324. 複製文件/etc/passwd文件到/tmp目錄下,並將它做成軟連接lpasswd
  325. # cp -s /etc/passwd /tmp/lpasswd
  326. [root@localhost tmp]# cp -s /etc/passwd /tmp/lpasswd
    [root@localhost tmp]# ll
    total 4
    lrwxrwxrwx 1 root root 11 Feb 27 19:06 lpasswd -> /etc/passwd
    [root@localhost tmp]#
  327.       
  328.  
  329. mv: move 
  330.     功能:移動文件與目錄、重命名  
  331.     選項:  
  332.         -f:強制直接移動而不詢問  
  333.         -i:若目標文件(destination)已經存在,就會詢問  
  334.         -u:若目標文件存在,且源文件比較新,纔會更新(update)  
  335.         -t DEST SRC  
  336. For example:
  337. 將/tmp/passwd命名爲password
  338. # mv passwd password
  339.  
  340.  
  341. du:(estimate file space usage)  
  342.     功能:判斷文件空間使用功能  
  343.     選項:  
  344.         -s(summarize):僅顯示總計  
  345.         -h(human-readable):以K、M、G爲單位顯示  
  346.         -m(megabytes):以MB爲單位顯示  
  347.         -a(all):顯示目錄中文件的大小 
  348. For example:
  349. 查看/etc下所有目錄文件總大小
  350. # du -sh /etc
  351. 112MB /etc
  352.  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章