命令列模式與線上說明
命令格式
- command options arguments
- 命令 選項 參數
- 每一各字串中,代有空白做分隔,在白板教學上我會以三角形作為記號。
- option 有時使用一個「-」 ex: -h -a -o -l 有時會使用二個「--」 ex:--help
- 使用Ctrl+C可以中斷指令的執行。
[mtchang@localhost ~]$ ls --help
用法:ls [選項]... [檔案]...
.....
[mtchang@localhost ~]$ ls -l -a -h
總計 216K
.....
- Arguments 通常是檔案名稱或是資料
- 如果有多個command需使用「;」做分隔。
[mtchang@localhost ~]$ ls -la ; df -lh
顯示語言的選擇
- Centos 支援19種語言
- 預設語言可以透過 system-config-language 指令選取
- system -> Administration -> language
- 預設語系設定檔在 /etc/sysconfig/i18n
# 顯示目前的語言設定
[root@server1 ~]# echo $LANG
en_US.UTF-8
# 不改變預設語系的下指令方式
[root@server1 ~]# LANG=zh_TW.UTF8 date
六 12月 15 21:31:19 CST 2007
# 直接改變預設語系,這會影響 /etc/sysconfig/i18n 檔案
[root@server1 ~]# LANG=zh_TW.UTF8
# 顯示目前語言設定
[root@server1 ~]# echo $LANG
zh_TW.UTF8
- 使用SCIM輸入法模組時,可以使用Ctrl_space切換輸入法模式。
一些簡單的命令
- date 顯示日期及時間
- cal 顯示日曆
- 使用前請先參考help說明 command --help
[mtchang@localhost ~]$ date
五 5月 18 06:28:51 CST 2007
[mtchang@localhost ~]$ date +%A%B%d
週五五月18
[mtchang@localhost ~]$ cal 5 2007
五月 2007
日 一 二 三 四 五 六
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
- 請試著顯示9 , 1752.的月曆
- 顯示目前的西元「年月日」的日期 如: 20090716201229 的格式(西元年月日時分秒)
[root@server1 ~]# cal 9 1752
September 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
The Gregorian Reformation is assumed to have occurred in 1752
on the 3rd of September.
By this time, most countries had recognized the reformation
(although a few did not recognize it until the early 1900’s.)
Ten days following that date were eliminated by the reformation,
so the calendar for that month is a bit unusual.
- Gregorian calendar(格里曆)是由義大利醫生兼哲學家里利烏斯(Aloysius Lilius)改革儒略曆制定的曆法,由Gregorian十三世(羅馬主教教宗)在1582年頒行。但因為宗教(非天主教國家)的關係,直到18世紀大英帝國,包括英格蘭、蘇格蘭、以及現在美國的一部份才採納格里曆,也就是儒略曆於1752年9月2日星期三的次日是格里曆1752年9月14日星期四,日期跳過11日。在 1752 年 9 月做了曆法的修正。在9月3日及以後10日不計,直接跳到 14 日。Unix出生於美國Bell LAB當然也就跟著美國的曆法來走。
取得輔助資訊
- whatis
- command --help
- man and info
- /usr/share/doc
whatis
- 使用關鍵字查詢 man 的檢索資料庫,將完全符合條件的資料輸出。whatis常用於準確的比對。
[root@server1 ~]# whatis cal
cal (1) - displays a calendar
cal (1p) - print a calendar
[mtchang@localhost ~]$ apropos man
acl_calc_mask (3) - calculate the file group class mask
AF_LOCAL [unix] (7) - Sockets for local interprocess communication
afs_syscall [unimplemented] (2) - unimplemented system calls
AF_UNIX [unix] (7) - Sockets for local interprocess communication
aliases (5) - Postfix local alias database format
anacron (8) - runs commands periodically
ata_id (8) - udev callout to read product/serial number from ATA
drives
atexit (3) - register a function to be called at normal process t
ermination
authconfig-gtk (rpm) - Graphical tool for setting up authentication from ne
twork services
autoconf (rpm) - A GNU tool for automatically configuring source code
.
autofs (rpm) - A tool for automatically mounting and unmounting fil
esystems.
automake14 (rpm) - A GNU tool for automatically creating Makefiles.
automake15 (rpm) - A GNU tool for automatically creating Makefiles.
automake16 (rpm) - A GNU tool for automatically creating Makefiles.
automake17 (rpm) - A GNU tool for automatically creating Makefiles.
automake (rpm) - A GNU tool for automatically creating Makefiles.
avahi (rpm) - Local network service discovery
avc_add_callback (3) - additional event notification for SELinux userspace
...(略)
使用 help 選項
- help可以可以列出常使用的選項,有時很短有時很長,就看負責的人員如何處理。
- 在([])裡面的為選擇性項目,可有可無。
- 在(....)表示是可以為隨心所欲的長度。
- 如果在選項中帶有(|)表示可以使用其中一個選項。x|y|z意為x or y or z。
- 如果在表示你要放一個檔案名稱給他。
- -abc 意為 -a, -b or -c 的其中任何的混合。
[mtchang@localhost ~]$ ls --help
用法:ls [選項]... [檔案]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort.
長選項必須用的參數在使用短選項時也是必須的。
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print octal escapes for nongraphic characters
--block-size=大小 區段以指定 <大小> 的位元組為單位
-B, --ignore-backups 不列出任何以 ~ 字元結束的項目
-c 配合 -lt:根據 ctime 排序及顯示 ctime
(檔案狀態最後更改的時間)
配合 -l :顯示 ctime 但根據名稱排序
否則 :根據 ctime 排序
-C list entries by columns
--color[=WHEN] control whether color is used to distinguish file
types. WHEN may be `never', `always', or `auto'
-d, --directory list directory entries instead of contents,
and do not dereference symbolic links
-D, --dired generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -lst
-F, --classify append indicator (one of */=>@|) to entries
--file-type likewise, except do not append `*'
--format=WORD across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C
--full-time like -l --time-style=full-iso
-g like -l, but do not list owner
-G, --no-group like -l, but do not list group
-h, --human-readable with -l, print sizes in human readable format
(e.g., 1K 234M 2G)
--si likewise, but use powers of 1000 not 1024
-H, --dereference-command-line
follow symbolic links listed on the command line
--dereference-command-line-symlink-to-dir
follow each command line symbolic link
that points to a directory
--hide=PATTERN do not list implied entries matching shell PATTERN
(overridden by -a or -A)
--indicator-style=WORD append indicator with style WORD to entry names:
none (default), slash (-p),
file-type (--file-type), classify (-F)
-i, --inode with -l, print the index number of each file
-I, --ignore=PATTERN do not list implied entries matching shell PATTERN
-k like --block-size=1K
-l 使用較長格式列出資訊
-L, --dereference 當顯示符號鏈結的檔案資訊時,顯示符號鏈結所指示
的目標而並非符號鏈結本身的資訊
-m 所有項目以逗號分隔,並填滿整行行寬
-n, --numeric-uid-gid like -l, but list numeric user and group IDs
-N, --literal print raw entry names (don't treat e.g. control
characters specially)
-o like -l, but do not list group information
-p, --indicator-style=slash
append / indicator to directories
-q, --hide-control-chars 以 ? 字元代替無法列印的字元
--show-control-chars 直接顯示無法列印的字元 (這是預設方式,除非調用
的程式名稱是‘ls’而且是在終端機畫面輸出結果)
-Q, --quote-name 將項目名稱括上雙引號
--quoting-style=方式 使用指定的 quoting <方式>顯示項目的名稱:
literal、locale、shell、shell-always、c、escape
-r, --reverse reverse order while sorting
-R, --recursive list subdirectories recursively
-s, --size with -l, print size of each file, in blocks
-S sort by file size
--sort=WORD extension -X, none -U, size -S, time -t,
version -v, status -c, time -t, atime -u,
access -u, use -u
--time=WORD with -l, show time as WORD instead of modification
time: atime, access, use, ctime or status; use
specified time as sort key if --sort=time
--time-style=STYLE with -l, show times using style STYLE:
full-iso, long-iso, iso, locale, +FORMAT.
FORMAT is interpreted like `date'; if FORMAT is
FORMAT1FORMAT2, FORMAT1 applies to
non-recent files and FORMAT2 to recent files;
if STYLE is prefixed with `posix-', STYLE
takes effect only outside the POSIX locale
-t sort by modification time
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u 配合 -lt:顯示存取時間而且依存取時間排序
配合 -l:顯示存取時間但根據名稱排序
否則:根據存取時間排序
-U 不進行排序;依檔案系統原有的次序列出項目
-v 根據版本進行排序
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
SELINUX options:
--lcontext Display security context. Enable -l. Lines
will probably be too wide for most displays.
-Z, --context Display security context so it fits on most
displays. Displays only mode, user, group,
security context and file name.
--scontext Display only security context and file name.
--help 顯示此求助說明並離開
--version 顯示版本資訊並離開
<大小> 可以是以下的單位 (單位前可加上整數):
kB=1000,K=1024,MB=1000*1000,M=1024*1024,還有 G/T/P/E/Z/Y 如此類推。
By default, color is not used to distinguish types of files. That is
equivalent to using --color=none. Using the --color option without the
optional WHEN argument is equivalent to using --color=always. With
--color=auto, color codes are output only if standard output is connected
to a terminal (tty). The environment variable LS_COLORS can influence the
colors, and can be set easily by the dircolors command.
Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.
請向 回報錯誤。
man
# Section 1 執行程式與shell命令
# Section 2 系統呼叫
# Section 3 函數與函數庫
# Section 4 驅動程式
# Section 5 設定檔案和檔案格式
# Section 6 遊戲
# Section 7 巨集和檔案格式
# Section 8 系統管理者命令
[root@server1 ~]# man man
man(1) man(1)
NAME
man - format and display the on-line manual pages
SYNOPSIS
man [-acdfFhkKtwW] [--path] [-m system] [-p string]
[-C config_file] [-M pathlist] [-P pager] [-B browser] [-H htmlpager]
[-S section_list] [section] name ...
DESCRIPTION
man formats and displays the on-line manual pages. I
f you specify section, man only looks in that section of
the manual. name is
normally the name of the manual page, which is
typically the name of a command, function, or file.
However, if name contains a slash
(/) then man interprets it as a file specification,
so that you can do man ./foo.5 or even man /cd/foo/bar.1.gz.
See below for a description of where man looks for
the manual page files.
OPTIONS
-C config_file
略....
[root@server1 ~]# man 1 crontab
# 顯示關於此命令該如何使用的方式
[root@server1 ~]# man 5 crontab
# 顯示關於crontab的設定檔用法及檔案的格式
[root@server1 ~]# man 1 uname
# 顯示關於uname此命令的用法
[root@server1 ~]# man 2 uname
# 顯示此命令在程式語言中的用法
[root@server1 ~]# whatis uname
# 顯示uname在系統中有哪些man手冊
uname (1) - print system information
uname (2) - get name and information about current kernel
uname (1p) - return system name
uname (3p) - get the name of the current system
# 其中有p的意思是說中此命令被列入在POSIX的man手冊中
- PgUP,PgDn上下翻頁
- / 搜尋某各文字
- ? 從游標處往後搜尋
- n 移動到下個搜尋的結果
- N 移動到上一個搜尋的結果
- q 離開man page
- 模糊搜尋man -k kerword 或 apropos keyword
[root@server1 ~]# man -k printf
vasprintf (3) - print to allocated string
vsnprintf (3) - formatted output conversion
vfwprintf (3) - formatted wide character output conversion
vsprintf (3) - formatted output conversion
snprintf (3) - formatted output conversion
swprintf (3) - formatted wide character output conversion
asprintf (3) - print to allocated string
vfprintf (3) - formatted output conversion
printf (3p) - print formatted output
sprintf (3p) [printf] - formatted output conversion
wprintf (3p) - print formatted wide-character output
vdprintf (3) - print to a file descriptor
fwprintf (3) - formatted wide character output conversion
sprintf (3) - formatted output conversion
dprintf (3) - print to a file descriptor
wprintf (3) - formatted wide character output conversion
printf (3) - formatted output conversion
swprintf (3p) [wprintf] - formatted wide character output conversion
printf (1p) - write formatted output
snprintf (3p) [printf] - formatted output conversion
fprintf (3p) [printf] - formatted output conversion
其他輔助功能
- tab 或是 ctrl+i 都可以達到一樣的效果。
- 把man page的內容轉存成文字檔,以crontab指令為例,轉存成crontab.txt
- man crontab | col -b > crontab.txt
- 在Linux裡面如果要使用翻譯的功能,可以使用yahoo或是google提供的翻譯服務,來達到翻譯的功能。
- yahoo字典 http://tw.search.yahoo.com/language/translate?doit=done&tt=text&intl=1&text=&lp=en_zt
- google翻譯 http://www.google.com/language_tools
使用info pages
- 類似 man page 通常有更深入的資訊
- 文件目錄在 /use/share/info/
- 操作命令與man類似
- 常用於Release Notes 和白皮書
- info pages 操作
- PgUP,PgDN 上下翻頁
- Tab 下個連結
- Enter 進入聯節點
- n/p/u 下一頁/上一頁/上一個節點
- s 文字搜尋
- q 離開info
額外的文件
- 如果有裝的話在這裡 /usr/share/doc/howto
- 你需要有安裝此套件才有說明檔通常文件包含
- Example configuation files
- HTML/PDF/PS documentation
- License details
- 台灣的Mirror ftp://ftp.isu.edu.tw/Linux/LDP/index.html
- /usr/share/doc/packages/套件名稱 每個套件的說明資訊
- CentOS上可以透過 system->help 叫出介面以供查詢
- http://www.google.com/linux
- http://www.linux.org
- http://www.cert.org/ -->台灣的 http://www.cert.org.tw/
- http://www.novell.com/linux/
- 網站 https://www.redhat.com/docs/
- 或是光碟片裡面
中文文件
實作
- 目標:能夠友善的使用Linux的命令資源,並且回答問題。
- 系統有一個帳號,名稱為「admin」密碼為「lccnet」。
commnad
- 使用man page指出C語言的basename函數的用法。
[mtchang@localhost ~]$ man 3 basename
[mtchang@localhost ~]$ man -k man
[mtchang@localhost ~]$ man -f man
- 使用ls指令列出目前目錄下較長的資訊內容,並顯示為人可以讀的資訊內容。(i.e., 6.8M instead of 6819467)
[mtchang@localhost ~]$ ls . -lh
總計 8.0K
drwxr-xr-x 2 mtchang mtchang 4.0K 3月 26 09:03 Desktop
foo -x|-y -[abcde] FILENAME...
- 答案
foo -y -abc one.txt two.txt
解決問題with man
- 題目:請你改變 /etc/issue 檔案,當你登入系統的時候,可以顯示這各系統的 hostname .
- 關於/etc/issue
# 先看看關於issue的資訊
[mtchang@localhost ~]$ man issue
# 再看mingetty的資訊
[mtchang@localhost ~]$ man 8 mingetty
# 跳到 /escape 的section
/ escape
- 「\n」
- 使用nano 修改/etc/issue把「\n」加入
[root@localhost ~]# nano /etc/issue
Welcome! \n
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel \r on an \m
- 檢查看console的登入畫面有沒有顯示hostname?
沒有留言:
張貼留言