Week 1–Linux基礎2

四. 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

(0)
KelvinKelvin
上一篇 2016-12-05
下一篇 2016-12-05

相關推薦

  • 8.5_Linux文本處理工具和grep之正則表達式的使用

    Linux文本處理工具使用 文件查看工具的使用 cat 命令的使用  此命令一般用于查看文件內容比較多 NAME        cat – concatenate files and print on the&…

    Linux干貨 2016-08-08
  • 淺談用戶和組相關配置文件

    用戶、組和權限的管理 Linux如何像Windows系統那樣,可以不輸入密碼直接進入圖形界面?那么如何如何自動登錄圖形界面呢?這就要用到編輯配置文件: nano  /etc/gdm/custom.cof  ,在里面加上   automaticLoginEnable=true automaticLogin=root 退出…

    Linux干貨 2016-10-23
  • 第十周

    請詳細描述CentOS的啟動流程     啟動第一步–加載BIOS         當打開計算機電源,計算機會首先加載BIOS信息,BIOS信息是如此的重要,以至于計算機必須在最開始就找到它,這是因為BIOS中包含了CPU的相關信息、設備啟動順序信息、硬盤信…

    Linux干貨 2017-01-03
  • Linux 別名與二進制的使用。

    二進制 一般二進制這個名詞聽上去高深莫測,然而當你了解它之后其實并不復雜,在計算機里處理數據一般都是由二進制處理。 平時我們計數都是以10為進制,比如平時數數:1、2、3、4、5、6、7、8、9,數到10時就會導致個位變成0,十位變成了1,因為9+1要向十位進一,十進制意味著數字的每一位最小為0,最大為9。同理,二進制意味著數字的每一位最小為0,最大為1,十…

    Linux干貨 2017-05-20
  • 批量部署lxc虛擬機

    前言:lxc是一種操作系統層虛擬化(Operating system–level virtualization)技術,為Linux內核容器功能的一個用戶空間接口。它將應用軟件系統打包成一個軟件容器(Container),內含應用軟件本身的代碼,以及所需要的操作系統核心和庫。通過統一的命名空間和共用API來分配不同軟件容器的可用硬件資源,創造出應用程…

    Linux干貨 2016-03-20
  • 10 文本處理のsed狗帶

    sed 介紹 工作原理 語法 參數選項:-n, -e, -r, -f, -i 地址定界 編輯命令 查找替換 空間操作 練習 參考文檔 sed介紹 sed是一個(stream editor)。         1) :使用sed只能在命令行下輸入編輯命令來編輯文…

    Linux干貨 2016-08-12

評論列表(2條)

  • 馬哥教育
    馬哥教育 2016-12-09 20:54

    總結的很好,有例子有說明,加油

欧美性久久久久