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 12:06
下一篇 2016-08-15 12:06

相關推薦

  • Linux的哲學思想第二篇

    Linux的哲學思想 一切皆文件 物理終端 物理終端指的是顯示器等硬件終端設備,文件存在于 /dev/console 這個路徑下 虛擬終端 虛擬終端指的是在linux命令行連接的終端,文件存在于 /dev/tty# [1,6] 這個路徑下 串行終端 指的是使用計算機串行端口連接的終端設備,文件存在于 /dev/ttyS# 這個路徑下 偽終端 指的是在Xshe…

    2018-02-26
  • LVM管理

    LVM管理

    2017-12-28
  • My Blog Testing!

    My Blog Testing!

    Linux干貨 2016-08-08
  • 14程序包的編譯安裝

    在有些源代碼程序沒有被編譯成rpm的時候,或者其他人寫了一個源代碼程序,要把它安裝在服務器上要怎么做呢? 那就需要對源代碼進行編譯安裝了。 C代碼編譯安裝三步驟: 1、./configure: (1)通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in文件生成makefile (2) 檢查依賴到的外部環境,如依賴的軟件…

    Linux干貨 2016-11-27
  • Linux用戶和組管理

        登錄Linux時我們都需要輸入賬號和密碼,但Linux只會識別賬號所對應用ID號,這個ID號就稱為UID。     同理每個用戶組也都擁有相對應的組ID號,即GID。     Linux根據/etc/passwd文件的內容來查找當前…

    Linux干貨 2015-04-26
  • 第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]\+@#&@g 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的…

    Linux干貨 2017-03-03
欧美性久久久久