第一周作業-02

Linux的命令格式

命令的語法通用格式:

   ~]# COMMAND OPTIONS ARGUMENTS

       COMMAND: 發起一命令:請求內核將某個二進制程序運行為一個進程;

           程序 –> 進程

           靜態 –> 動態(有生命周期)

           命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;

               多數系統程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin

                   普通命令:/bin, /usr/bin, /usr/local/bin

                   管理命令:/sbin, /usr/sbin, /usr/local/sbin

               共享庫:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

                   32bits的庫:/lib, /usr/lib, /usr/local/lib

                   64bits的庫:/lib64, /usr/lib64, /usr/local/lib64

           注意:

               1) 并非所有的命令都有一個在某目錄下與之對應的可執行程序文件,比如shell內嵌命令;

               2) 庫是應用程序的一部分,如果應用程序中調用了庫文件,運行時這些庫文件要和應用程序一并裝入內存中。

       OPTIONS:指定命令的運行特性;

           選項的表現形式:

               短選項:-C, 例如-l, -d

                   有些命令的選項可能沒有 – , 如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld

               長選項:–word, 例如–help, –human-readable

                   長選項不能合并.

           選項的參數:有些選項可以帶參數,稱為選項參數

               長選項的參數用 "=" 來指定,短選項的參數用 " " 來分割。

       ARGUMENTS:命令的作用對象,不同的命令的參數格式不同;有些命令可同時帶多個參數,多個之間以空白字符分隔

       注意:命令的參數和選項的參數不是一回事

命令的分類:

   1) 內置命令:由shell程序的自帶的命令;

   2) 外部命令:獨立的可執行程序文件,文件名即命令名。

   查看命令類型:type COMMAND

   實例:

   ~]# type file

   file is /usr/bin/file   #后面跟路徑表明file命令為外部命令

   ~]#

   ~]# type type

   type is a shell builtin  #后面跟shell builtin表明命令type為shell內嵌命令

Shell查找命令的路徑:

   shell程序是獨特的程序,負責解析用戶提供的命令,當用戶輸入某個特定命令時,shell通過遍歷指定目錄下的命令文件實現命令的查找,bash通過PATH變量存放可遍歷的目錄,查找次序是自左而右。

   實例:

   ~]# echo $PATH

       /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

命令的文件組織格式:

   命令必須遵循特定格式規范:exe(Windows), msi(Windows), ELF(Linux)

   查看文件格式的命令:file COMMAND

   實例:

    ~]# type file

   file is hashed (/usr/bin/file)  #查看file命令的可執行文件路徑

   ~]#

   ~]# file /usr/bin/file  #查看file命令的可執行文件組織格式,可以看到為ELF格式

   /usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x2b41e1e88b26311141384893b71fb1a7e86a5db9, stripped

在Linux上使用幫助的方法

獲取命令的使用幫助:

   內部命令:

       ~]# help COMMAND

   外部命令:

       (1) 命令自帶簡要格式的使用幫助

           ~]# COMMAND –help

       (2) 使用手冊manual,手冊位置:/usr/share/man,如果手冊目錄中沒有對應命令的手冊,則man COMMAND時是看不到使用手冊的

           ~]# man COMMAND

               SECTION:

                   NAME:功能性說明

                   SYNOPSIS:語法格式

                   DESCRIPTION:描述

                   OPTIONS:選項

                   EXAMPLES:使用示例

                   AUTHOR: 作者

                   BUGS: 報告程序bug的方式

                   SEE ALSO: 參考

                       …

               SYNOPSIS:

                   []:可選內容;

                   <>:必須提供的內容;

                   a|b|c:多選一;

                   …:同類內容可出現多個;

           manual的章節劃分

               man1:用戶命令,包括普通用戶和管理員使用的所有命令;

               man2:系統調用,system call幫助文件,編程人員常用;

               man3:C庫調用,C libraries call幫助文件,編程人員常用;

               man4:設備文件及特殊文件;

               man5:文件格式;(配置文件格式)

               man6:游戲使用幫助;

               man7:雜項;

               man8:管理工具及守護進行,即管理員命令;

               指定查看特定章節的manual:

                   ~]# man CHAPTER COMMAND

               查看COMMAND都在那些章節下存在幫助文件:~]# whatis COMMAND

               注意:

                   1) 其執行過程是查詢數據庫進行的;新安裝的軟件可能數據庫并未自動更新到最新,因此可以手動更新數據庫

                       手動更新數據庫命令你個:~]# makewhatis

                   2) 并非每個COMMAND在所有章節下都有手冊;

           man命令打開手冊以后的操作方法:

               翻屏:

                   空格鍵:向文件尾翻一屏;

                   b: 向文件首部翻一屏;

                   Ctrl+d:向文件尾部翻半屏;

                   Ctrl+u:向文件首部翻半屏;

                   回車鍵:向文件尾部翻一行;

                   k: 向文件首部翻一行;

                   G:跳轉至最后一行;

                   #G: 跳轉至指定行;

                   1G:跳轉至文件首部;

           man文本搜索:

               /keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;

               ?keyword:從文件尾部向文件首部依次查找;    

                   n: 下一個keyword,與查找命令方向相同;

                   N: 下一個keyword,與查找命令方向相反;

           退出:

               q: quit

           選項:

               -M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊并打開之;

       (3) info COMMAND

           獲取命令的在線文檔;

       (4) 很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION

           README:程序的相關的信息;

           INSTALL: 安裝幫助;

           CHANGES:版本迭代時的改動信息;

       (5) 主流發行版官方文檔

           http://www.redhat.com/doc

       (6) 程序官方的文檔:

           官方站點上的“Document”

       (7) 搜索引擎

           google

               keyword filetype:pdf

               keyword site:domain.tld

               …

Linux基本命令

type命令:查看命令類型

   用法:type COMMAND

       內部命令:顯示為shell builtin

       外部命令:顯示為命令的可執行文件路徑

   注意:命令可以有別名;別名可以與原名相同,此時原名被隱藏;此時如果要運行原命令,則使用\COMMAND;

   實例:

       ~]# type ls

       ls is aliased to `ls –color=auto'

       ~]# \ls

       ~]# type type

       type is a shell builtin

       ~]# type file

       file is hashed (/usr/bin/file)


whatis命令:查看命令manual存在于那些章節

   用法:whatis COMMAND

   實例:

       ~]# whatis ls

       ls (1)               – list directory contents

       ls (1p)              – list directory contents

which命令:顯示命令的可執行文件路徑

   用法:which [options] programname […]

       OPTIONS

           –skip-alias:忽略別名

               注:hich的別名與命令名相同,因此命令名被隱藏,且which命令不顯示別名,只是別名中加入了顯示別名的選項

   實例:

       ~]# which –skip-alias ls

       /usr/bin/ls

       ~]#

       ~]# which ls

       alias ls='ls –color=auto'

           /usr/bin/ls

       ~]#

       ~]# \which ls

       /usr/bin/ls

       ~]# alias which

       alias which='alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde'

whereis命令:顯示命令的可以行文件、源文件、手冊文件存放路徑

   用法:whereis [options] name…

       OPTIONS

           -b: 僅搜索二進制可執行文件路徑;

           -m:僅搜索使用手冊文件路徑;

           -s:僅搜索源文件路徑。

   實例:

       ~]# whereis ls

       ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

       ~]#

       ~]# whereis -b ls

       ls: /usr/bin/ls

       ~]#

       ~]# whereis -m ls

       ls: /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

who命令:顯示用戶登錄系統的情況

   用法:who [OPTION]…

       -b: 系統此次啟動的時間;

       -r: 運行級別。

   注:who命令可以看到那個用戶、在什么時間、通過什么終端、以什么源IP登錄的系統,通過本地虛擬終端登錄時不顯示登錄端IP地址。

   實例:

       ~]# who

       (unknown) :0           2016-09-06 20:15 (:0)

       root     pts/0        2016-09-06 20:18 (192.168.110.1)

       ~]#

       ~]# who -b

                system boot  2016-09-06 20:15

       ~]#

       ~]# who -r

                run-level 5  2016-09-06 20:15

w命令:顯示用戶登錄系統的情況及資源占用情況

   用法:w [options] user […]

   實例:

       ~]# w

        01:05:53 up  4:50,  3 users,  load average: 0.00, 0.01, 0.05

       USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

       root     pts/0    192.168.110.1    20:18    1.00s  0.45s  0.02s w

       user3    pts/1    192.168.110.1    01:05    9.00s  0.05s  0.05s -bash

       ~]#

       ~]# w user3

        01:05:58 up  4:50,  3 users,  load average: 0.00, 0.01, 0.05

       USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

       user3    pts/1    192.168.110.1    01:05   14.00s  0.05s  0.05s -bash

echo命令:回顯

   用法:echo [SHORT-OPTION]… [STRING]…

       SHORT-OPTION

           -n:輸出時不換行

           -e:讓轉義符生效

               \n:換行,在回顯的內容中,有\n則換行

               \t:制表,在回顯的內容中,有\t再加一個Tab,類似表格

               …

       STRING:可以使用引號,單引號和雙引號均可用;

           單引號:強引用,變量不執行值替換

           雙引號:弱引用,變量執行值替換

   實例:

       ~]# echo -e "hello\tworld"

       hello   world

       ~]#

       ~]# echo $?

       0

tty命令:輸出當前終端名稱

   用法:tty

   實例:

       local]$ tty

       /dev/pts/1

startx命令:啟動一個GUI窗口

   用法:startx

pwd命令:輸出工作目錄

   用法:pwd

cd命令:切換目錄

   用法:cd [/PATH/TO/SOMEDIR]

       cd: 切換回家目錄;

       cd ~:切換回自己的家目錄,bash中~表示家目錄;

       cd ~USERNAME:切換至指定用戶的家目錄;只有管理員才可以切換到其他用戶的家目錄中,管理員的家目錄為/root,普通用戶的家目錄為/home/USERNAME;

       cd -:在上一次所在目錄與當前目錄之間來回切換;因為有如下兩個環境變量對當前目錄和上一次工作目錄進行記錄;

           $PWD:當前工作目錄

           $OLDPWD:上一次的工作目錄

       .:當前目錄

       ..:父目錄

ls命令:列出指定目錄下的內容

   用法:ls [OPTION]… [FILE]…

       OPTIONS

           -a: 顯示所有文件,包括隱藏文件;

           -A:顯示除.和..之外的所有文件;

           -h, –human-readable:對文件大小單位換算;換算后結果可能會非精確值;

           -d:查看目錄自身而非其內部的文件列表;

           -r: reverse, 逆序顯示;

           -R: recursive,遞歸顯示;

           -l: –long, 長格式列表,即顯示文件的詳細屬性信息;

               -rw-r–r–. 1 root   root     8957 10月 14 19:34 boot.log

                   -:文件類型,-, d, b, c, l, s, p

                   rw-r–r–

                       rw-:文件屬主的權限;

                       r–:文件屬組的權限;

                       r–:其它用戶(非屬主、屬組)的權限;

                   1:數字表示文件被硬鏈接的次數;

                   root:文件的屬主;

                   root:文件的屬組;

                   8957:數字表示文件的大小,單位是字節,對于設備文件,此處為以 , 分割的兩位數字,表示設備的編號;

                   10月 14 19:34 :文件最近一次被修改的時間;

                   boot.log:文件名

cat命令:文本文件查看工具

   用法:cat [OPTION]… [FILE]…

       OPTIONS

           -n:給顯示的文本行編號;

           -E: 顯示行結束符$;

   實例:

       ~]$ tac -nE /etc/fstab

tac命令:文本文件查看工具,和cat顯示順序相反,tac為逆序顯示

   用法:tac /PATH/TO/FILENAME

file命令:查看文件內容組織格式

   用法:file [FILE]…

   實例:

       [hdctc@Y002 /]$ file /bin/ls

       /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

shutdown命令:關機或重啟

   用法:shutdown [OPTIONS…] [TIME] [WALL…]

       OPTINOS

           -h: halt

           -r: reboot

           -c: cancle

       TIME

           now: 立即關機

           hh:mm: 幾點幾分關機

           +m: 幾分鐘后關機

               +0: 立即關機

       WALL

   實例:

       ~]# shutdown -r +10 "hello world"  #在10min后重啟,并且發送hello world的wall

       ~]# shutdown -c  #取消之前設定的重啟操作


原創文章,作者:Yurnero,如若轉載,請注明出處:http://www.www58058.com/44979

(0)
YurneroYurnero
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • awk

    文本處理工具 文本處理三工具:grep,sed,awk grep,egrep,fgrep:文本過濾工具 sed:行編輯器 awk:報告生成器,格式化文本輸出; awk gawk – pattern scanning and processing language lrwxrwxrwx. 1 root root 4 May 17 19:23 /bi…

    Linux干貨 2017-05-21
  • iptables實戰筆記一

    iptables實戰 1.開啟防火墻 systemctl start firewalld 2.清空所有的默認規則,我們自己定義自己的規則 iptables -F 查看此時的iptables iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FOR…

    Linux干貨 2017-06-13
  • inode 是什么及絕對路徑和相對路徑和一些目錄相關命令總結

    inode是什么          每個分區又分兩個區,元數據區和數據區。     元數據區主要存儲文件的權限,屬主屬組,時間戳,文件的存儲位置指針….就如一本書有目錄頁和內容頁一樣,目錄頁上的記錄的是內容的頁數,可以通過目錄頁的頁數直接…

    Linux干貨 2016-08-02
  • linux用戶和組的配置文件

    1./etc/passwd:用戶及其屬性信息(用戶名,密碼,uid,gid,gecos注釋性描述信息,家目錄,登錄shell)在/etc/passwd文件中每個用戶都有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。系統管理員經常會接觸到這個文件的修改以完成對用戶的管理工作。這個文件對所有用戶都是可讀的。      …

    2017-07-22
  • 練習-vim的使用

    vi編輯器是linux上最常用的編輯器,vim是vi增強版, 一、vim的幾種模式     編輯模式、插入模式、命令行模式     編輯模式:可以進行光標移動,字符刪除,行的增刪復制粘貼等操作  插入模式:對字符進行編輯,  命令行模式:通過各種命令進行保存,查找,替換,環境設置等操作 &…

    Linux干貨 2016-07-04
  • CentOS的啟動流程

                      一個操作系統的開啟與關閉不是我們手動的打開與關閉電源那么簡單。這個過程中涉及太多的內部服務的打開與關閉。而在這個過程中如果出現什么問題,那么以后的某些服務…

    2017-09-01

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-27 09:43

    統一回復一下,可以在每個命令的常用參數下面寫一個例子來說明一下,是不是沒有做后面的題目???

欧美性久久久久