四. Linux系統命令使用格式:
但首先,在linux中我們要知道linux系統中基本的命令格式如下:
命令字 【命令選項】 【命令參數】
Command 【option】 【arguments】
在這里主要介紹這幾個命令的使用格式(Ifconfig,echo, tty, startx, export, pwd, history, shutdown, poweroff, reboot)
1. Ifconfig: 其實就是相關于Win的 Ipconfig.
此命令被用于配置和查看更改網絡接口的地址和參數,包括IP地址、網絡掩碼、廣播地址等的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啟后機器重啟后,配置就不存在。
概要:
Ifconfig(參數) [-a] [-v] [-s] <interface>;
Ifconfig [-v] interface [aftype] options | address…
格式: ifconfig -interface [options] address.
以下為主要參數選項(Options):
-a:顯示所有網絡接口;
-s:顯示摘要信息(類似于 netstat -i);
-interface:指定的網絡接口名,如eth0和eth1。
-up:激活指定的網絡接口卡。
-down:關閉指定的網絡接口。
-broadcast address:設置接口的廣播地址。
-pointopoint:啟用點對點方式。
-address:設置指定接口設備的IP地址。
-netmask address:設置接口的子網掩碼。
更多可man ifconfig查看說明。
例子:
1.如果要暫停某個網絡接口的工作,可以使用down參數:
[命令] [接口] [參數]
#ifconfig eth0 down
2.手工配置網絡, 給某個接口設置IP(10.200.60.200):
#ifconfig eth0 10.200.60.20 netmask 255.255.255.0 broadcast 10.200.60.255;
2. echo: 顯示一行文本.
概要:
Echo [short-option]…[string]…
Echo Long-option
格式: echo [ -n ] 字符串
其中選項n表示輸出文字后不換行;字符串能加引號,也能不加引號。用echo命令輸出加引號的字符串時,將字符串原樣輸出;用echo命令輸出不加引號的字符串時,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割。
語法:echo [-ne][字符串]或 echo [–help][–version]
補充說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號。
參數:
-n 不要在最后自動換行(與 -e 選項下的 \c 字符同意)
-E:關閉反斜線控制字符的轉換(預設如此)
-e:啟用反斜線控制字符的轉換,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:
\a 發出警告聲;
\b 刪除前一個字符;
\c 最后不加上換行符號;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\\ 插入\字符;
\nnn 插入nnn(八進制)所代表的ASCII字符;
–help 顯示幫助
–version 顯示版本信息
例子:
1.$ echo
$
只有一個空白行,然后又回到shell prompt(提示符)上了。這是因為 echo 在預設上,在顯示完argument之后,還會送出一個換行符號(new-line charactor)。上面的命令沒有任何的argument,結果就只剩下一個換行符號了。若要取消這個換行符號,可以利用echo的 -n option。
2.$ echo first line
first line
$ echo -n first line
first line $
在上兩個 echo 命令中,你會發現 argument 的部分顯示在你的屏幕,而換行符號則視 -n option的有無而別。很明顯的,第二個echo由于換行符號被取消了,接下來的shell prompt就接在輸出結果同一行了。
3.$ echo -e "Z\tX\tC\nA\tS\tD"
Z X C
A S D
了解 echo 的選項及控制字符,運用 \t 來區隔 ZXC 還有 ASD ,以及用 \n 將 ASD 換至下一行。
4.$ echo -ne "a\tb\tc\nd\te\bf\a"
a b c
d f $
因為 e 字母后面是刪除鍵(\b),因此輸入結果就沒有e了。
在結束時聽到一聲鈴響,那是\a的杰作!
由于同時使用了 -n 選項,因此 shell prompt 緊接在第二行之后。
若不用 -n 的話,那在\a后再加個\c,也是同樣的效果。
事實上,在日后的 shell 操作及 shell script 設計上,echo 命令是最常用的命令之一。
比方說,用 echo 來檢查變量值:
$ A=B
$ echo $A
B
$ echo $?
0
3. tty: 用于顯示終端機連接標準輸入設備的文件名稱。在Linux操作系統中,所有外圍設備都有其名稱與代號,這些名稱代號以特殊文件的類型存放于/dev目錄下。你可以執行tty(teletypewriter)指令查詢目前使用的終端機的文件名稱。
語法:tty [-s][–help][–version]
參數:
-s或–silent或–quiet 不顯示任何信息,只回傳狀態代碼。
-help 在線幫助。
-version 顯示版本信息。
簡單例子:
顯示當前終端
# tty
/dev/pts/4
4. startx: 用來啟動X Window,實際上啟動X Window的程序為xinit。
語法: startx(參數)
客戶端及選項:X客戶端及選項;
服務器及選項:X服務器及選項。
例子:
1. 要在工作站上或 X 終端上啟動 X 會話,請輸入:
startx
2. 要在工作站上強制啟動 X 會話,請輸入:
startx -w
3. 要為 X 終端啟動 X 會話,并注銷用戶的 telnet 會話,請輸入:
startx; kill -9 $$
5. export: 用于將shell變量輸出為環境變量,或者將shell函數輸出為環境變量。
語法: export(選項)(參數)
選項:
-f:代表[變量名稱]中為函數名稱;
-n:刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中;
-p:列出所有的shell賦予程序的環境變量。
參數:
變量:指定要輸出或者刪除的環境變量。
例子:
export PATH=$PATH:/usr/local/bin #將/usr/local/bin加入環境變量中。
6. Pwd: 顯示目前所在的目錄。
例子:
# pwd
/root # 表示現在所有的目錄為/root.
7. History: 用來顯示曾執行過的命令,也可以根據顯示的資料來重新執行需要的命令
參數:
-n: 顯示n個最近的記錄。(數字)
-a: 添加記錄。
-r: 讀取記錄,但不會添加內容記錄。
-w: 覆蓋原有的history 文件。
-c: 清除記錄。
-d<編號>[n]: 刪除指定n條記錄。
-n<文件>: 讀取指定文件。
-r<文件>: 讀取文件但不記錄。
-w<文件>:覆蓋原有文件。
例子:
#History 2
1 pwd
2 cd
8. Shutdown: 很簡單的,就是一個以安全方式關閉系統的命令。
參數:
-a: 使用 /etc/shutdown.allow 來驗證身份。
-t sec:(通知 init(8) 在轉換到其它運行級別前,發送警告 (warning) 信號后延時 (sec) 秒數后再發送關閉 (kill) 信號。)
-k: 并非真正關機,只向所有人顯示警告信息。
-r: 重啟。
-h: 關機。
-f: 重啟時跳過磁盤檢測。
-c: 取消運行中的 shutdown 進程。
例子:
time 關機時間。
#Shutdown -r now(馬上重啟)
9. poweroff: 用來關閉計算機操作系統并且切斷系統電源。
參數:
-n: 關于操作系統時不執行sync操作。
-w: 不真正關閉操作系統, 僅在日志文件 "/var/log/wtmp" 中。
-d: 關閉操作系統時,不將操作寫入日志文件"/var/log/wtmp"中。
-f: 強制關閉系統。
-i: 關閉操作系統之前關閉所有網絡接口。
-h: 關閉系統之前將系統中所有硬件設置為備用模式。
例子:
#Poweroff -f (強制關機)
10. reboot: 重啟
參數:
-d: 重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有"-n"參數的效果。
-f: 強制重新開機,不調用shutdown指令的功能。
-i: 在重開機之前,先關閉所有網絡界面。
-n: 重開機之前不檢查是否有未結束的程序。
-w: 僅做測試,并不真的將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
例子:
# reboot -f (強制重啟)
11. Hwclock: 顯示或設置硬件時鐘時間
參數:
-adjust: hwclock每次更換硬件的時鐘時, 會記錄在"/ect/adjtime" 文件中. 使用這個參數可使hwclock根據先前的記錄來估算硬件時鐘的偏差。 用來校正目前硬件時鐘.
-debug: 顯示hwclock執行時詳細的信息。
-hctosys: hwclock預設從"/dev/rtc"設備來存取硬件時鐘, 無法存取時, 用此參數直接以I/O指令來存取硬件時鐘。
-set -data=<日期與時間>: 將系統時間調整與目前的硬件時鐘一致。
-show: 顯示硬件時鐘的時間與日期。
-systohc: 將硬件時鐘調整為與目前的系統時鐘一致。
-test: 僅測試程序,而不會實際更改硬件時鐘。
-utc: 若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。
例子:
#hwclock (顯示當前硬件時鐘)
xxxx年xx月xx日 星期X xx時xx分xx秒 -x.xxxx 秒
11. Date: 顯示和設置系統日期與時間
參數:
-d<字符串>:顯示字符串所指的日期與時間。字符串前后必須加上雙引號
-s<字符串>:根據字符串來設置日期與時間。字符串前后必須加上雙引號
-u:顯示GMT
–help:在線幫助
–version:顯示版本信息
<+時間日期格式>:指定顯示時使用的日期時間格式
以下為日期格式字符串列表:
%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一為第一天)
%y 年的最后兩個數字(1999則是99)
例子:
#date + %Y-%m-%d (格式化輸出)
XXXX-XX-XX(如2016-12-4)
五. Linux使用幫助命令的方法
主要有以下幾種幫助命令: man、help、whatis、info、apropos.
先介紹其他幾種,主要講Man, 這是我個人認為比較好用的。
Help:
-h 或者 –help 幫助命令的使用詳解
查看shell內置命令的幫助,可以使用-h或者 –help
#wget –help
或者為了方便查看,和less命令一起使用
#wget –help | less
或者是我直接查看我想用的參數的用法和解釋:
#wget –help | grep proxy
#help cd
info:
可能有的命令沒有man手冊又或者不在指定的地方,此時,可能這個命令有info文檔。
#info tar
apropos:
#apropos network(等同于man -k 命令,用關鍵字模糊搜索相關的命令,比如,我要搜索與網絡相關的命令)
當然,這需要先建立建立搜索使用的數據庫,當使用者命令發生錯誤時,就是whatis database沒有建立。輸入:
#makewhatis(建立搜索用的數據庫)
whatis:
#whatis ls(獲得索引的簡短說明信息)
當然,這需要先建立建立搜索使用的數據庫,當使用者命令發生錯誤時,就是whatis database沒有建立。輸入:
#makewhatis(建立搜索用的數據庫)
man:
相對其他幾個幫助手冊,我覺得(man)是比較豐富齊全的。man是manual的縮寫,man 本身也提供自己的幫助手冊,通過man就可以查看。
man page大致分為一下部分:
NAME:簡單命令、數據名稱說明
SYNOPSIS:簡短的命令語法(sysntax)簡介
DESCRIPTION:較為完整的說明,需要認真閱讀
OPTION:針對SYNOPSIS中列舉的所有可用選項說明
COMMANDS:當這個軟件在執行的時候,可用在此軟件中使用命令
FILES:這個軟件或數據所使用或參考或鏈接到的文件
SEE ALSE:可以參考的,與這個命令有關的其他說明
EXAMPLE:一些可以參考的范例,這個最好用
BUGS:是否有相關的bug
導出man手冊:
man ls | col -bfp > ls.txt(導出ls命令的man手冊)
1. man手冊分為多個section, 每個Section用一個字符表示。(這里的section可以理解為類別,例如:man 1 passwd 和 man 5 passwd是不一樣的類別(詳細見表一)。通常我們使用man passwd,這個時候man就按照預先設置的搜索路徑和順序去搜索passwd,當搜索到一個就停止繼續搜索并將結果顯示出來,如果我們指定了section,那么man只會在指定的section里去查找man幫助頁。)
Section | Name | Explain
1 | 用戶命令 | 用戶可以操作的指令.
2 | 系統調用 | 內核提供的函數.
3 | 庫調用 | 常用的函數庫.
4 | 特殊文件 | 通常是/dev 下的文件.
5 | 文件格式 | 對一些文件進行解釋.
6 | 游戲 | 應該沒人玩,不會用到.
7 | 雜項 | 例如宏命令包, 協定等.
8 | 系統管理員命令 | 通常只有系統管理員(root)可以使用
9 | 內核相關的文件 |
n | new 新文檔 | 新的、尚未歸入上述1-9的section的幫助文件
o | old 老文檔 | 可能會在一段期限內保留
l | local 本地文檔 | 與本特定系統有關的
(表一)
man 命令是按照章節存儲的,linux的man手冊共有以下幾個章節:
章節編號 | 章節名稱 | 章節主要內容
1 | General Commands | 用戶在shell中可以操作的指令或者可執行文檔
2 | System Calls | 系統調用的函數與工具等
3 | Sunroutines | C語言庫函數
4 | Special Files | 設備或者特殊文件
5 | File Formats | 文件格式與規則
6 | Games | 游戲及其他
7 | Macros and Conventions | 表示宏、包及其他雜項
8 | Maintenence Commands | 表示系統管理員相關的命令
man命令后面可以加一個數字參數,表示具體的范圍定位:
數字“1”表示用戶命令
數字“2”表示系統調用
數字“3”表示C語言庫函數
數字“4”表示設備或特殊文件
數字“5”表示文件格式和規則
數字“6”表示游戲及其他
數字“7”表示宏、包及其他雜項
數字“8”表示系統管理員相關的命令
知道了這些,我就可以用man 2 write來查看關于write系統調用的幫助信息了。
例子:
比如你man named,你觀察屏幕左上角會發現NAMED(8)的字樣,這就說明這個named是包含在“系統管理員相關的命令”之中的。
再比如man yum.conf,你會發現yum.conf(5) ,我想你現在應該知道它的寓意了。下次你可以直接man 5再加一個配置文件,來查查這個文件的配置方法了。
六. Linux 發行版的基礎目錄名稱和命令規則,功能規定
1. 版本命名規則:
內核版本由三部分組成:主版本號、次版本號、末版本號
開發版本:第二位數字是奇數
穩定版本:第二位數字是偶數
2. 文件與目錄命名規則:
文件名:字母、數字、下劃線、圓點
普通文件 – (黑色)
目錄文件 d (藍色)
鏈接文件 l (亮藍色)
特殊文件 cd (黃色)
配置文件 .conf
日志文件 .log
系統日志文件 .syslog
系統配置文件 .cfg
系統文件 .i386
腳本文件 .sh
3. 基礎目錄和功能
/bin集中存放一些必要的命令工具,最好不要單獨掛載,否則會找不到那些所需的實用程序
/boot包含Linux的啟動文件及其內核
/dev集中存放各類設備驅動程序,該分區不要單獨掛載
/etc集中存放一些基本的配置文件
/home集中存放用戶的主目錄
/lib內核和實用程序的編譯庫文件,該分區不要單獨掛載
/proc集中存放當前內核相關進程及其內核配置信息服務
/usr集中存放一些對所有用戶可用的小程序,包含許多系統管理命令和實用程序
/var集中存放可變數據,如日志和打印機緩沖文件等等
/mnt老的用于移動介質的掛載點
/misc使用automounter掛載本地目錄的標準掛載點
/net使用automounter掛載網路目錄的標準掛載點
/smb使用automounter掛載遠程共享Microsoft網絡目錄的標準掛載點
/media可移動介質的掛載點
/sbin集中存放一些系統管理命令,該分區不要單獨掛載
/selinux與安全升級Linux相關的當前配置
/tmp集中存放臨時文件,默認情況下,RedHat會自動周期性地清空該目錄
原創文章,作者:Kelvin,如若轉載,請注明出處:http://www.www58058.com/62754
總結的很好,有例子有說明,加油
@馬哥教育:我會努力的!