Linux系統上命令的使用格式

第一部分:Linux系統上命令的使用格式

命令的語法通用格式:

     COMMAND OPTIONS ARGUMENTS

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

     程序 —-> 進程

     靜態 —-> 動態 (有生命周期)

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

多數系統程序文件都存放在/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……….

     32位庫:/lib,/usr/lib,/usr/local/lib

     64位庫:/lib64,/usr/lib64,/usr/local/lib64

并非所有的命令都有一個在某目錄與之對應的可執行程序文件

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

[root@localhost ~]# 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.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped

命令分為兩類:

     由shell程序自帶的命令:內置命令(built-in)

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

shell程序是獨特的程序,負責解析用戶提供的命令:

     環境變量:

          PATH:從哪些路徑中查找用戶鍵入的命令字符串所對應的命令文件

[root@localhost /]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

例如,從左向右開始,一個一個找ls命令;從左向右,因此順序很重要;

PATH是針對外部命令而言的

SHELL自帶的命令是不需要PATH的

那么如何區分命令類型?

type COMMAND

例如:

[root@localhost /]# type type

type 是 shell 內嵌

因此,type是內置命令

OPTIONS:指定命令的運行特性,或者調整命令運行時所要執行的代碼和實現的功能

選項有兩種表現形式:

     長選項:–character,長選項一般不能合并

     短選項:-C等;同時使用多個短選項,一般可以合并,例如 ls -ld = ls -l -d

注意,有些選項可以自帶參數,選項參數,而不是命令參數

ARGUMENTS:命令的參數

     命令的作用對象:命令對什么生效

例如:ls -l -d /var /etc

第二部分:一些常見命令

#1 ifconfig – 用于配置網卡

語法:

ifconfig [interface]
ifconfig interface [aftype] options | address …

參數:

up 啟動指定網絡設備/網卡。
down 關閉指定網絡設備/網卡。該參數可以有效地阻止通過指定接口的IP信息流,如果想永久地關閉一個接口,我們還需要從核心路由表中將該接口的路由信息全部刪除。
arp 設置指定網卡是否支持ARP協議。
-a 顯示全部接口信息
-s 顯示摘要信息(類似于 netstat -i)
add 給指定網卡配置IPv6地址
del 刪除指定網卡的IPv6地址
<硬件地址> 配置網卡最大的傳輸單元
mtu<字節數> 設置網卡的最大傳輸單元 (bytes)
netmask<子網掩碼> 設置網卡的子網掩碼。掩碼可以是有前綴0x的32位十六進制數,也可以是用點分開的4個十進制數。如果不打算將網絡分成子網,可以不管這一選項;如果要使用子網,那么請記住,網絡中每一個系統必須有相同子網掩碼。
tunel 建立隧道
dstaddr 設定一個遠端地址,建立點對點通信
-broadcast<地址> 為指定網卡設置廣播協議
-pointtopoint<地址> 為網卡設置點對點通訊協議
multicast 為網卡設置組播標志
address 為網卡設置IPv4地址
實例:

<1> ifconfig  #用于查看網卡具體信息

<2> ifconfig eth0 up   #啟動eth0網卡

        ifconfig eth0 down  #關閉eth0網卡;注意,ssh登錄服務器操作要小心,關閉了就不能開啟了,除非有多網卡

<3> ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255   #配置IP地址

<4> ifconfig eth0 arp  #啟用ARP協議

        ifconfig eth0 -arp  #關閉ARP協議

#2 echo – 顯示一段文字,一般起到提示的作用

參數&舉例

-n:不自動進行換行操作

[root@localhost /]# echo -n 'hello world'

hello world[root@localhost /]#

-e:讓轉移符生效

[root@localhost /]# echo 'hello \nworld'

hello \nworld

[root@localhost /]# echo -e 'hello \nworld'   #注意-e的用法

hello

world

     \n:表示換行

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

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

          [root@localhost /]# echo '$SHELL'

          $SHELL

     雙引號:弱引用,變量引用會被替換

          [root@localhost /]# echo "$SHELL"

          /bin/bash

#3 startx – startx – initialize an X session

用于打開圖形化界面

#4 pwd – print working directory,顯示當前路徑

相關的環境變量:

     $PWD:當前工作目錄

     $OLDPWD:上一次工作目錄

#5 history – 顯示命令歷史

history 命令 – shell內嵌命令

定制history的功能,可以通過環境變量來實現

     HISTSIZE    #shell進程中history命令所保存的歷史的條數

    HISTFILE     #持久保存命令歷史的文件

          .bash_history    #保存在用戶家目錄中,存儲了歷史命令

     HISTFILESIZE   #命令歷史文件的大小

命令用法:

history [-c] [-d 偏移量] [n]

或 history -anrw [文件名]

或 history -ps 參數 [參數…]

參數:

-c:清空命令歷史(清空內存中的內容)

-d offset [n]:根據offset偏移量來刪除指定條目,如果添加[n],表示從指定位置開始刪除n個

-a:從內存到文件

-r:從文件讀取命令歷史至列表中  #如果history -c清空后,直接history -r,再history,可以讀取文件中的內容

-w:保存到文件中

 n:顯示最近的n條命令

調用命令歷史列表中的命令:

!# 再次執行歷史列表中的第#條命令

!!  再次執行上一條命令

!STRING    再次執行歷史列表中最近一個以STRING開頭的命令

     注意,命令的重復執行需要依賴于冪等性(可重復多次執行,例如刪除一個文件后,不能再次刪除相同的文件)

調用上一條命令的最后一個參數:

esc.    #按下esc,松開后再按.

!$     

控制命令歷史記錄的方式:

     環境變量:HISTCONTROL

          ignoredups:忽略重復的命令

          ignorespace:忽略以空白字符開頭的命令 

          ignoreboth:

#6 shutdown/poweroff/reboot

關機或重啟命令:shutdown

shutdown 

     -r 重啟

     -P 關機

     -c 取消操作

     -h 關機

TIME:

     now

     hh:mm

     +m

          +0 = now

WALL

     系統本身有wall指令,廣播消息

shutdown -h now   #馬上關機

shutdown -r +5      #5分鐘后關機,消息會廣播給所有用戶

shutdown -c           #取消關機操作

#7 hwclock = clock

clock:顯示硬件時鐘

hwclock:顯示硬件時鐘 — clock和hwclock是同一個指令

參數

     -s, –hctosys   #以硬件為準,將系統時鐘調整到與硬件時鐘一致

     -w, –systohc  #以系統為準

語法:

hwclock [function] [option…]

具體用法:

[root@localhost ~]# hwclock   #顯示硬件時間

2016年08月13日 星期六 03時54分48秒  -0.742017 秒

#8 date

date

     顯示時間 :date [OPTION]… [+FORMAT]

          FORMAT:顯示格式

               %F

               %m

               %s:從1970年1月1日(unix元年)0點0分0秒到命令執行那一刻經過的秒數

     date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

     設定日期時間

[root@localhost ~]# date 101008082013.08    月日小時分鐘年.秒鐘

2013年 10月 10日 星期四 08:08:08 CST

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

(0)
vincent_chenvincent_chen
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • 第一周

       注意:請同學們不要參考我這個,怕誤導,謝謝 A.計算機組成及其功能     1.計算機的組成分:硬件和軟件         硬件:CPU,存儲設備(內存,硬盤),輸入輸出設備(鍵盤,顯示器,鼠標)  &n…

    Linux干貨 2016-12-31
  • bash編程初體驗(一)

    bash編程初體驗(一) 認識bash編程 變量與賦值 算術與邏輯運算 條件測試與退出狀態 認識bash編程 Bash(GNU Bourne-Again Shell)是許多Linux發行版的默認Shell,我們要認識的bash中,就是在bash的環境下的一種編程。 眾所周知,程序=指令+數據,由此也決定了兩種不同的編程風格,過程過與對象式; 過程式:以指令為…

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

      用戶,是計算機識別使用者身份的一種唯一使用標識。 而現實生活中為了方便人類記憶使用等,用戶名往往是用便于人類識別的語言來記錄的。但事實上計算機并不對人類語言敏感,所以有必要把人類語言跟機器語言對應上。于是,linux給每一個創建用戶提供了一個UID。當使用用戶名登錄時,系統換自動對應UID來識別該用戶身份。 而用戶名與UID的對應信息就儲存在一…

    Linux干貨 2016-10-23
  • Shell編程之位置變量

           linux中命令可以接受參數,同樣的,shell腳本也可以接受參數。這些參數用$1、$2、$3…$n表示。       $0  表示腳本本身       $1  傳遞給腳本的第1個參數 $2  傳…

    Linux干貨 2016-08-12
  • 分布式系統的事務處理

    當我們在生產線上用一臺服務器來提供數據服務的時候,我會遇到如下的兩個問題: 1)一臺服務器的性能不足以提供足夠的能力服務于所有的網絡請求。 2)我們總是害怕我們的這臺服務器停機,造成服務不可用或是數據丟失。 于是我們不得不對我們的服務器進行擴展,加入更多的機器來分擔性能上的問題,以及來解決單點故障問題。 通常,我們會通過兩種手段來擴展我們的數據服務: 1)數…

    Linux干貨 2016-08-15
  • HAProxy實現請求的80端口轉發至后端的8000端口并實現動靜分離

    一 實驗目的 用HAProxy作為負載均衡器,實現把前端請求調度到后端,前端監聽80端口,轉發至后端的8000端口,并會對訪問資源進行判斷實現不同的訪問內容轉發至相對應的服務器。 二 實驗拓撲 三 實驗環境 IP 功能 192.168.20.108 HAProxy 192.168.237.129 Nginx 192.168.237.130 Nginx+PHP…

    Linux干貨 2016-12-19
欧美性久久久久