︿
Top

執行指令

Linux 系統指令語法如下,欲一次執行多個指令可在指令與指令之間加上分號 (;) 即可。


 command    options    arguments
     指令        參數         敘述
      ls         -l        /root


上述中 參數、敘述 皆為非必需,也就是說沒有參數及敘述 (單純指令) 即可,而敘述的內容可以是檔案、資料夾、或其它必須指令。

查詢系統時間 - date,下列為透過 date 指令查詢目前系統時間。
date
 Mon Aug  3 09:53:58 CST 2009

查詢萬年曆 - cal,下列為透過 cal 指令查詢指定年份及月份日曆,為何下列顯示月曆中少了 3 ~ 13 日? 詳細內容可參考 1752 - Wikipedia, the free encyclopedia
cal 9 1752
    September 1752
 Su Mo Tu We Th Fr Sa
        1  2 14 15 16   //少了 3 ~ 13 日?
 17 18 19 20 21 22 23
 24 25 26 27 28 29 30




獲得幫助

您可透過下列方式來獲得可能的幫助。
  • command --help: 顯示指令幫助頁面 (並非每個指令都支援)。
  • whatis command: 顯示指令用途 (用一句簡短的話說明)。
  • man command: 顯示指令 Manual Pages (Man Pages)。
  • info command: 顯示指令詳細說明 (手冊 HandBook)。
  • /usr/share/doc: 於此路徑下有各式各樣的說明文件。
  • Red Hat Document: Red Hat 官方說明文件。

以下說明為適用於 --help 及 man 所顯示的項目。
  • [ ]: 中括號內為 選項 (可要可不要)。
  • < >: 此選項內為 變數
  • ...: 表示可使用 多個
  • a|b|c: 表示為 ,也就是 a or b or c 即可。
  • -abc: 表示為 混合,也就是 -a -b -c。

以下範例為嘗試利用上述方式來獲取指令 cal 相關資訊。

command --help

cal --help
 cal: invalid option -- -                           //此指令未支援 --help 參數
 usage: cal [-13smjyV] [[month] year]


whatis command

可透過指令 make whatis 來更新 whatis 資料庫 (man 也共用此資料庫)。!
whatis cal
 cal                  (1)  - displays a calendar    //一句簡短話說明此指令功能
 cal                  (1p)  - print a calendar


man command

man cal       //顯示 cal 指令 Man Pages 內容
 CAL(1)                    BSD General Commands Manual                   CAL(1)
 NAME
     cal - displays a calendar
 SYNOPSIS
     cal [-smjy13] [[month] year]
 DESCRIPTION
     Cal displays a simple calendar.  If arguments are not specified, the current month is displayed.  The
     options are as follows:
     -1      Display single month output.  (This is the default.)
 ...略...

有些指令因用途及使用功能性不同可利用加上數字選項來查看不同的 Man Pages,例如 man 1 passwd 及 man 5 passwd,而其數字所查看的 Manual Sections 如下:
  1. User commands (常用)
  2. System calls
  3. Library calls (適用於開發時)
  4. Special files
  5. File formats (常用)
  6. Games
  7. Miscellaneous
  8. Administrative commands (常用)

可使用 -k 參數來尋找 Manual Pages 關鍵字 (共用 whatis 資料庫)。
man -k date
 acl_valid            (3)  - validate an ACL
 APR::Date            (3pm)  - Perl API for APR date manipulating functions
 asctime              (3p)  - convert date and time to a string
 asctime [ctime]      (3)  - transform date and time to broken-down time or ASCII
 ...略...


info command

info cal    //顯示 cal 指令 HandBook 內容
 File: libc.info,  Node: Allocating Cleared Space,  Next: Efficiency and Malloc,  Prev: Changing Block Size,  Up: Unconstrained Allocation
 3.2.2.5 Allocating Cleared Space
 ................................
 The function `calloc' allocates memory and clears it to zero.  It is
 declared in `stdlib.h'.
 -- Function: void * calloc (size_t COUNT, size_t ELTSIZE)
     This function allocates a block long enough to contain a vector of
     COUNT elements, each of size ELTSIZE.  Its contents are cleared to
     zero before `calloc' returns.
 ...略...


/usr/share/doc

此路徑下為延伸文件,若安裝套件有相關文件時將存放於此資料夾下,例如查看此資料夾下 vim 內容。
ls /usr/share/doc/vim-common-7.0.109/
 Changelog.rpm  docs  README_lang.txt  README_src.txt  README.txt  README_unix.txt


Red Hat Document




Lab

Lab1.利用現有學到的指令及上述幫助方式,使用 date 指令改變系統時間?

Ans:
相信從 man 及 info 中可查尋到有關於如何透過指令 date 來改變系統時間的用法。

將目前系統時間 調快 / 慢 2分鐘 其指令如下:
date --set='+2 minutes'     //調快 2 分鐘
date --set='-2 minutes'     //調慢 2 分鐘

將目前系統時間 往前 / 後調 2 天 其指令如下:
date --date='2 days ago'    //往前調 2 天
date --date='2 days'         //往後調 2 天

將目前系統時間 往前 / 後調 3 個月 其指令如下:
date --date='3 months ago'`   //往前調 3 個月
date --date='3 months'`       //往後調 3 個月

將目前系統時間 調整至指定時間 其指令如下:
date -s '20:03:40 7/29/2009'
date -s '20:03:40 7/30/2009'
date -s '20:03:40 7/31/2009'

將目前系統時間 調整至指定時間 (特殊字) 其指令如下:
date --date=today        //設定為今天
date --date=tomorrow     //設定為明天
date --date=yesterday    //設定為昨天




Lab2. 利用現有學到的指令及上述幫助方式,配合 date 指令顯示指定日期於輸出的檔案名稱上?

Ans:
此實作目的在於當進行備份或或其它需要用到日期來方便辨別時即可使用此方式來達成 (假定今天日期為 2009 年 7 月 30 日)。
date '+%F'       //顯示為 2009-07-30
date '+%D'       //顯示為 07/30/09
date '+%Y%m%d'   //顯示為 20090730

所以例如我們想將 ls 結果,輸出到一個名為 ls.日期.out 的檔案上,可輸入如下指令:
ls > ls.`date '+%Y%m%d'`.out
ls
 ls.20090730.out




Lab3. 利用現有學到的指令及上述幫助方式,使用 rm 指令刪除特殊名稱檔案?

Ans:
下列操作中您會發現無法使用 rm 指令來刪除特殊名稱檔案 (-13_1),參考過 man 及 info 後可發現刪除此類檔案方式如下。
rm -13_1        //直接使用 rm 指令發現無法刪除
 rm: invalid option -- 1
 Try `rm ./-13_1' to remove the file `-13_1'.
 Try `rm --help' for more information.
rm -- -13_1     //刪除方式一
rm ./-13_1      //刪除方式二
文章標籤: