速學linux命令教程

概述:用戶使用shell跟內(nèi)核交互,Linux中有很多命令,不同的命令有不同的功能。多個命令合起來可以完成一個大的功能。命令很多我們不可能記得每條命令的用法。
所以,我們必須有一種方法來快速知道一個命令是如何使用的,有什么作用。所以,幾乎所有的命令都提供了幫助手冊,告訴命令的使用者如何使用命令、命令 的作用等等。幫助手冊頁很長,我們不可能為了使用一個命令,而從頭到尾把幫助手冊讀完,這時候需要一種快速讀懂(有目的的去讀)命令的幫助手冊的方法。是如何實現(xiàn)的呢?管理整個計算硬件的其實是核心(kernel 計算要系統(tǒng)),通常用戶(user)都是以 shell 來與核心溝通,讓核心達到我們所想要實現(xiàn)的目的。
shell 就是一個應用程序,它讀入用戶鍵入的命令,把它轉(zhuǎn)換成 Linux 系統(tǒng)更易于理解的格式。它也包括一些基本的程序結(jié)構(gòu),讓用戶做選項、循環(huán),以及把值
存儲在變量中。
一、了解命令的基本格式
shell 執(zhí)行程序:
shell 負責執(zhí)行終端請求的程序。
用戶每次向 shell ” 命令提示符[root@Node1 ~]# ” 鍵入一行信息,shell 會在分析后決定做什么。 shell 所涉及到的每行信息都遵循相同的基本格式。如:
命令 選項 選項參數(shù) 命令參數(shù)(1) 命令參數(shù)(2)
命令,一般都會提供幫助文檔,只有了解了命令格式的各項意義,我們才可能很快學會新命令的使用。至少在命令行提示符中鍵入命令時,不會寫錯。
第一字段: command(命令) 可執(zhí)行文件
第二字段: 命令的選項,些命令的選項帶參數(shù),有些命令的選項不帶參數(shù)
中括號 [] 是可選擇項,在鍵入該命令的時候可以選擇是否省略命令的選項。
豎線 “|” 表示左右兩邊任選一個作為,命令選項的參數(shù)。
省略號“...” 表示該命令選項可以有多個,但是書寫時,要按照下面的格式。
選項又分為:
1、長選項,使用 --options 格式。 一般選項名稱是完整的。如果一個命令的長選項有多個,是不可以合并的。
2、短選項,使用 -options 格式, 一般是長選項名的簡寫格式。如果一個命令的短選項有多個,是可以合并的。
ls 命令的選項 -b 和 --escape 作用是一樣的。
[root@Node1 ~]# ls -b /root/
anaconda-ks.cfg install.log install.log.syslog
[root@Node1 ~]# ls --escape /root/
anaconda-ks.cfg install.log install.log.syslog
注意:長選項是不可以合并使用的,在命令行提示符中,鍵入的命令使用到多個長選項的時候要分開寫
[root@Node1 ~]# ls --allblock-size=1 /etc/
ls: unrecognized option '--allblock-size=1'
[root@Node1 ~]# ls --all --block-size=4 /root/
. .bash_history .bashrc install.log.syslog .tcshrc
.. .bash_logout .cshrc .lesshst .viminfo
anaconda-ks.cfg .bash_profile install.log .ssh
第三字段: 命令參數(shù)
命令參數(shù)有多個需要使用空格隔開。
當用戶按照上述描述的格式,在命令行提示符中鍵入命令以后,按 [Enter] 鍵后,shell 就分析執(zhí)行該命令。( Linux 中 [Enter] 為 <CR> 字符表示)shell 會先判斷該命令的類型,如果是內(nèi)部命令的話就直接執(zhí)行,否則的話,shell 會按照 $PATH 變量的值到磁盤搜索,用戶鍵入的命令。
1、如果搜索到用戶鍵入的命令,產(chǎn)生中斷,由內(nèi)核(kernel)負責把命令文件從磁盤中加載到內(nèi)存
中來,并開始執(zhí)行該命令。此時,命令就表示為一個進程。
2、如果 shell 按照 $PATH 變量的值到磁盤中找不到該命令的話,就會報錯。
[root@Node1 ~]# tree /etc
-bash: tree: command not found
說明:
命令的位置不在 $PATH 中 和 命令不存在,都會報“command not found”
如果,我們鍵入的命令的位置不在shell搜索 $PATH 路徑中,可以使用全路徑描述該命令,或把該
命令所在的路徑追加到 $PATH 變量中。
1、使用全路徑描述文件
[root@Node1 etc]# /usr/bin/tree /etc
2、把命令所在的路徑加到 $PATH 變量中。
1[root@Node1 ~]# vim /etc/profile
在 profile 文件中添加一行 $PATH=/path1/path2/:/path2/path3
如,在編譯安裝 MySQL 數(shù)據(jù)庫,MySQL提供的工具所在的路徑設置為,shell默認的搜索路徑
($PATH)。這樣使用MySQL提供的一些命令,對MySQL服務器操作維護時
就不需要輸入命令的全路徑了。這樣比較方便。在 profile 文件中添加一行
$PATH=/usr/local/mysql/bin 但是剛添加到 $PATH 中的路徑,shell并不知道。
我們要通知shell,重讀 profile 文件,方法是:
[root@Node1 etc]# . profile
二、我們怎么,知道一個命令的使用方法呢?
一般,命令都會提供幫助文檔,我們可以通過幫助文檔來查看一個命令的使用方法。我們的命令又分為: shell 內(nèi)置命令 和 外部命令。
命令的類型不同,獲取它的幫助文檔的方式也不同。所以,我們首先要判斷一個命令的類型?
判斷 command 類型,使用 【type】
[root@Node1 etc]# type cd
cd is a shell builtin
得知【cd】命令,是 shell 內(nèi)置命令,我們可以使用下述方法查看該命令使用方法
[root@Node1 etc]# help cd
cd: cd [-L|-P] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.
......
[root@Node1 etc]# type ls
ls is aliased to `ls --color=auto'
ls命令,是外部命令。我們使用 【command --help】或【man】命令來查看命令幫助文檔。man 中文意思"男人",在 Linux 世界中遨游,不懂就問“男人”。所以要學會 man 的使用。
我們非內(nèi)核命令的幫助文檔存放在,/usr/share 中。
【man】命令是如何工作的?
man 會按照它的配置文件 /etc/man.config 中 MANPATH 定義的路徑去搜索命令的幫助文檔,當我
們用【man】去查看 command 的幫助文檔時,如果 command 的幫助文檔不在man 程序的搜索路徑
中,man 是找不到 command 的幫助文檔的。所以,我們在編譯安裝源程序的時候,如果我們安裝的
程序的幫助文檔目錄不在【man】的默認搜索路徑下,則需要把程序的幫助文檔的路徑添加【man】
的索引路徑中。可以通過編譯 /etc/man.config 在 MANPATH 指令中添加上程序的幫助文檔的路徑
就可以了,如:把 MySQL 的幫助文檔的路徑添加到【man】的搜索路徑中
[root@node2 ~]# vim /etc/man.config
# MANBIN /usr/local/bin/man
#
# Every automatically generated MANPATH includes these fields
#
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH /usr/X11R6/man
MANPATH /usr/local/mysql/man/
我們的幫助文檔是分章節(jié)的,不同章節(jié)表示不同的意思。了解幫助文檔的不同章節(jié)的含義,我們才可以使用【man】命令快速定位到需要的內(nèi)容。
查看的內(nèi)容。
1、查看命令有哪些章節(jié)?使用【whatis】檢索 whatis databases 數(shù)據(jù)庫。而我們剛安裝的程序的幫助文檔不會記錄到數(shù)據(jù)庫里,Linux 系統(tǒng)使用【makewhatis】來生成數(shù)據(jù)庫的。系統(tǒng)把生成數(shù)據(jù)庫的動作做成了系統(tǒng)的周期性任務,“每周的星期天零晨4點22分”執(zhí)行一次生成 whatis 數(shù)據(jù)數(shù)據(jù)的任務。所以我們剛安裝的程序,使用【whatis command】是查不到命令有多少章節(jié)的。如果需要查看的話,我們可以手動執(zhí)行一下【makewhatis】命令,生成 whatis databases.
[root@node2 ~]# whatis shutdown
shutdown (2) - shut down part of a full-duplex connection
shutdown (3p) - shut down socket send and receive operations
shutdown (8) - bring the system down
2、如章節(jié)表示的意義如下所述
man1 用戶命令
man2 系統(tǒng)調(diào)用
man3 庫調(diào)用
man4 設備文件
man5 配置文件
man6 游戲
man7 雜項
man8 管理命令
2、使用【man N】來實現(xiàn)用戶隨意查看幫助文檔章節(jié)的內(nèi)容
[root@node2 ~]# man 8 shutdown
3、使用【help command】來查看 command 的使用方法,沒有 man 顯示那么詳細.
[root@node2 ~]# shutdown --help
shutdown: invalid option -- -
Usage: shutdown [-akrhHPfnc] [-t secs] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
應用程序的幫助文檔,通常是有不同的段落組成的。每個段落描述了應用程序的不同內(nèi)容。了解幫助文檔各段落表示的意義,我們可以快速找到我們想要讀取到的內(nèi)容。
手冊的段落:
1、NAME 命令名稱
2、DESCRIPTION 命令功能的詳細描述
3、OPTIONS 所有選項
4、FILES 與當前命令相關(guān)的配置文件
5、EXAMPLES 使用示例
6、SYNOPSIS 使用格式
7、SEE ALSO 可參考的其它手冊
說明:
如果,我們想快速知道 command 是怎么使用的,可以查看幫助手冊的 EXAMPLES 段。命令的幫助手冊有很多字符組成,那么我們?nèi)绾味ㄎ坏?EXAMPLES 字符呢?
當我們使用【man】打開查看命令的幫助手冊頁的時候,可以使用字符串搜索。
1、輸入"/keywork" 從文檔的首部向尾部搜索,搜索到指定的字符會高亮顯示。
2、輸入"?keywork" 從文檔的尾部向首部搜索,搜索到指定的字符會高亮顯示。
當我們搜索到字符在文檔中多處出現(xiàn)有的時候,可以按一些“鍵”來快速顯示下一個搜索到的字符。
1、N鍵: 跟搜索命令相反,顯示找到的下一個關(guān)鍵字
2、n鍵: 跟搜索命令相同,顯示找到的下一個關(guān)鍵字
相關(guān)文章
- LINUX系統(tǒng)怎么使用命令清理磁盤空間?LINUX系統(tǒng)中磁盤空間滿了,想要清除一下,該怎么清理呢?下面我們就來看看linux使用命令清理磁盤空間的教程,需要的朋友可以參考下2016-12-19
- 這篇文章主要介紹了linux sed命令互換包含指定關(guān)鍵字的行 ,需要的朋友可以參考下2016-12-04
- linux常怎么使用命令創(chuàng)建文件和文件夾?linux系統(tǒng)和windows不一樣,創(chuàng)建文件夾需要使用命令,下面我們就來看看linux創(chuàng)建文件和文件夾的教程,需要的朋友可以參考下2016-12-04
- Linux系統(tǒng)中怎么使用grep命令?Linux系統(tǒng)中有很多命令,想要使用grep命令搜索文本內(nèi)容呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2016-12-04
- Linux怎么使用壓縮和解壓到指定目錄的命令?Linux中有文件想要節(jié)假怎么才能使用命令設置解壓到指定的目錄下呢?請看下文詳細介紹,需要的朋友可以參考下2016-11-02
- 這里我收集了一些對系統(tǒng)有危害的Linux代碼,幫助你避免他們。請記?。哼@些代碼非常危險,甚至可以經(jīng)過修改,變得更加有危害性,希望大家能過來看一下,希望能對大家有一定2016-09-30
- 今天要講下用nc 傳輸文件,由于公司的設備sudo 后沒有ssh ,scp 等遠程接入命令,或host.deny 里面設置了ssh 的deny ,不管怎樣的原因,我今天跨過大家常用的scp, 來說明下一2016-08-28
- 在Linux上下載安裝應用程序除了使用包管理器外,最常用的就是wget命令了,wget支持多種網(wǎng)絡協(xié)議,簡單而強大,這里我們就來看一下Linux中的wget網(wǎng)絡下載命令使用全解:2016-07-05
GNOME桌面環(huán)境下設置彩色的Linux命令行終端界面的方法
我們經(jīng)??吹桨袳macs和Vim編輯器調(diào)成彩色的示例,而在GUI環(huán)境下Linux的Terminal界面調(diào)成彩色同樣簡單方便,這里我們就來為大家介紹GNOME桌面環(huán)境下設置彩色的Linux命令行終端2016-06-28Linux的CLI命令行界面系統(tǒng)操作基礎上手指南
以終端命令行方式操作是Linux系統(tǒng)的精華,因為Linux大多服役于服務器設備上,所以建議大家也是以CLI(command-line interface)來入門Linux,這里就來為大家Linux的CLI命令行界2016-06-16