一切皆文件

Linux

  • Linux內一切皆文件;表現之一:硬件設備也通過文件表示
    物理終端:/dev/console
    虛擬終端: /dev/tty#[1,6]
    串行終端:/dev/ttyS#
    偽終端: /dev/pts/#
    注意:在啟動設備之后,在其上關聯一個用戶接口程序,即可實現與用戶交互,交互式程序有兩類:GUI(圖形化界面)和CLI(命令行界面)。

    • 查看終端設備:
      ~]# tty
      查看接口程序:
      ~]# echo #SHELL
      啟動GUI接口:
      在某一虛擬終端接口運行命令:startx &

命令提示符:

  • [root@magedu ~]# COMMAND
    我們稱之為PS1,顯示組成部分使用命令:

    echo $PS1
    [\u@\h \W]\$

  • root : 當前登錄的用戶
    magedu:當前主機的主機名,非完整格式;
    ~:用戶當前所在的目錄,也成為工作目錄;相對路徑
    #:命令提示符(#:管理員、$:普通用戶)
    注意:生產環境下建議使用普通用戶賬號登錄;
    執行管理操作使用 su 臨時切換至管理員,操作完成即退回。

命令的格式:

  • COMMAND [OPTIONS … ] [ARGUMENTS … ]
    命令 選項 參數
    選項:用于啟用或關閉命令的某個或些功能。
    參數:命令的作用對象(向命令提供數據的),命令的參數可以有多個。
    注:多個命令放在同一行執行可以使用分號;隔開,但是前面命令執行成功與否跟后面命令沒關系。
    \ :命令太長需要換行
    && :如果需要命令同時執行成功
    || :如果有一個命令執行成功 那么其他命令就不再執行
    && 邏輯與 ; || 邏輯或。

Linux命令:

help
  • help COMMAND
    help可以查看:內部命令、外部命令
    內部命令(shell內嵌命令):help COMMAND
    外部命令:
    1、COMMAND –help; COMMAND -h;
    2、man COMMAND
    3、info COMMAND

[s@magedu test]PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/s/bin

注:查找過程時有順序的,自左向右,直到查找到為止,如果一個命令存在于多個路徑中,只匹配第一個找到的路徑,所以其先后次序是很關鍵滴。

man
  • 查看man手冊頁:man [章節] keyword
    列出所有幫助: man -a keyword
    搜索手冊:man -k (使用whatis數據庫)
    查看某個命令在哪個章節 (相當于whatis) : man – f keyword
    man配置文件的路徑:CentOS 6:/etc/man.config ;CentOS 7:/etc/man db.conf
  • man中有一些符號標記的內容,這些符號的意義:
    [ ] :可選內容
    < >?。罕仨殐热?
    |?。憾x一
    … :同類內容可以有多個
    { }?。悍纸M

  • man命令的操作方法:

    • /keyword :向下搜索,n向下,N向上
      ?keyword?。合蛏纤阉?
      b :向文件首部翻屏
      空格?。合蛭募膊糠?
    • #G :回到文件首部
      G?。悍廖募膊?
info
  • info [ 命令 ]
    info使用幫助:
    方向鍵,PgUp,PgDn
    Tab 鍵,移動到下一個鏈接
    d 顯示主題目錄
    Home 顯示主題首部
    Enter 進入選定鏈接
    n/p/u/l 進入下/前/上一層/最后一個鏈接
    s 文字,文本搜索
    q 退出 info
echo
  • 回顯命令
    -e 轉義符
    echo -e “\a” ;
    echo -e “good\c” ;
    echo -e “good\tgood” ;
    echo -e “good\ngood”;

echo “$VAR_NAME” 雙引號表示弱引用;單引號表示強引用;不加引號默認雙引號
echo ‘$VAR_NAME’ 括號、反引號,命令的替換,把結果作為輸出;
反引號、( ):命令的替換,把結果作為輸出

which
  • which COMMAND
    顯示應用程序文件的位置
    如果想看文件本身,而非別名,使用:which –skip-alias COMMAND
whatis
  • 顯示命令的幫助信息的位置
    CentOS 6:使用makewhatis 命令可將當前系統上的所有幫助手冊及與之對應的關鍵字創建為一個數據庫;
    CentOS 7:使用mandb命令
hash
  • 記錄和顯示程序的位置(可執行程序的位置)
    -l :顯示緩存
    -p :起別名,暫時性
    -t name 打印
    -d name 清除nanme緩存
    -r 清除緩存
    history 管理命令歷史,每次執行的命令都會放置在內存的緩存當中,直到退出當前終端后會被保存在命令歷史文件當中。家目錄下有個隱藏文件 .bash_history,可查看該文件的內容獲取歷史命令。
history

查看或設置命令歷史相關參數

  • history [-c] [-d offset] [n]
    history -anrw [filename]
    history -ps arg [arg…]
    -d:刪除歷史命令指定的命令
    -c:清空命令歷史
    -a:手動追加當前會話緩沖區的命令歷史至命令歷史文件中
    -w:保存到文件中
    history # :顯示最近#條命令
  • 該命令所對應的環境變量:
    $HISTSIZE 修改history存儲條數
    $HISTFILE 指定歷史文件的存放位置(~/.bash_history)
    $HISTFILESIZE 指定歷史文件的命令的存儲條數
    HISTTIMEFORMAT=“%F %T “ 顯示每條命令的具體執行時間
    HISTIGNORE= 把某些命令敏感的字符串給屏蔽掉不予顯示
    環境變量:HISTCONTROL (在/etc/profile配置文件中控制)
    ignoredups 默認,忽略重復的命令,連續且相同為“重復”
    ignorespace 忽略所有以空白開頭的命令
    ignoreboth 相當于ignoredups, ignorespace的組合
    erasedups 刪除重復命令
    修改環境變量:export 變量名 = “值”
    export magedu=123 頂一個環境變量
    注:history 默認最多只能記錄1000命令
    命令歷史一般記錄在.bash_history文件中
    當前shell中的歷史記錄會被記錄在內存中,只有退出之后才會保存在.bash_history中

  • 調用歷史中的命令:
    ! # :重復執行第#條命令
    !! :重復執行上一條命令
    !string:重復執行最近一次以string開頭的命令
    !?string 重復前一個包含string的命令
    ^string 刪除上一條命令中的string

  • 調用上一條命令的最后一個參數:
    ! $
    esc . 有些終端還可以使用 Alt+
command !^ : 利用上一個命令的第一個參數做cmd的參數 ls /tmp /opt ls !^
command !$ : 利用上一個命令的最后一個參數做cmd的參數 ls /tmp /opt/ ls !$
command !* : 利用上一個命令的全部參數做cmd的參數 ls /tmp /opt ls !*
command !:n : 利用上一個命令的第n個參數做cmd的參數 ls /tmp /opt ls !:1
command !n:^ 調用第n條命令的第一個參數 ls !505:^
command !n:$ 調用第n條命令的最后一個參數 ls !505:$
command !n:m 調用第n條命令的第m個參數 ls !505:2
command !n:* 調用第n條命令的所有參數 ls !505:*
command !string:^ 從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個參數 ls !ls:^
command !string:$ 從命令歷史中搜索以 string 開頭的命令,并獲取它的最后一個參數
[root@CentOS68 ~]# ls /tmp/ /opt/
/opt/:
rh
/tmp/:
epel.repo.bak         huan.txt orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBfln orbit-root  pulse-rnm429VarZOM
[root@CentOS68 ~]# ls !ls:$ ls /opt/
rh
command !string:n 從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個參數
[root@CentOS68 ~]# ls /tmp/ /opt/
/opt/:
rh
/tmp/:
epel.repo.bak         huan.txt orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBfln orbit-root  pulse-rnm429VarZOM
[root@CentOS68 ~]# 
[root@CentOS68 ~]# 
[root@CentOS68 ~]# ls !ls:2 ls /opt/
rh
command !string:* 從命令歷史中搜索以 string 開頭的命令,并獲取它的所有參數
[root@CentOS68 ~]# ls /tmp/ /opt/ /opt/:
rh /tmp/:
epel.repo.bak         huan.txt        orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBfln  orbit-root  pulse-rnm429VarZOM
[root@CentOS68 ~]#  [root@CentOS68 ~]# ls !ls:* ls /tmp/ /opt/ /opt/:
rh /tmp/:
epel.repo.bak         huan.txt        orbit-gdm   pulse-QRIoXpeAIz6g
functions-2017-03-23 keyring-BPBf
date、hwclock
  • date [OPTION]… [+FORMAT]
    顯示系統時間
    -s 修改系統時間
    date +%F 執行我們的時間格式
    +%Y +%y 年
    +%m 月
    +%d 日
    +%H 時
    +%M 分
    +%S 秒
    date +”%Y-%m-%d”
    –date=”” 生產環境保證時間準確性 ntp 定時同步互聯網上的時間服務器
  • hwclock clock :顯示硬件時鐘
    -s 以硬件時鐘為準,校正系統
    -w 以系統時鐘為準,校正硬件

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

(0)
ss
上一篇 2017-04-01 19:01
下一篇 2017-04-01 19:16

相關推薦

  • linux端口聚合

    一、bonding簡介 bonding是一個linux kernel的driver,加載了它以后,linux支持將多個物理網卡捆綁成一個虛擬的bond網卡。     我們在很多地方會使用到物理網卡端口匯聚的功能,比如我們想提升網絡速率,比如我們想提供熱備份,比如我們想把我們的主機配置成一個網橋,然而最重要的還…

    Linux干貨 2016-09-23
  • vim的使用

    vim 編輯器  vim的模式:      編輯模式      輸入模式      擴展編輯模式:在編輯模式中輸入:  ====================================   編輯模式轉換成輸入模式 &nbs…

    Linux干貨 2016-08-11
  • 馬哥教育21期網絡班—第12周課程+練習—-LAMP練習下

    在LAMP架構中,請分別以fpm工作為獨立守護進程的方式來支持http yum groupinstall "Development Tools" "Server Platform Development"——>安裝包組1、編譯安裝Apacheht…

    Linux干貨 2016-09-26
  • 文本處理工具和shell腳本基本編程

    文本處理工具 grep 對文本進行搜索獲取我們想要的行(關鍵信息) egrep 支持擴展正則表達式的grep fgrep 快速搜索不支持正則    -v 取反  找出不包含“pattern”的行  -i 忽略字符的大小寫  -n 顯示行號  -c 顯示統計到的行數,等同于wc -l  -o…

    2017-04-09
  • tomcat

      編程語言:硬件級:微碼編程,匯編語言系統級:C,C++,…應用級:Java, PHP, Python, Ruby, Perl, C#, …Python: PVMStandard LibraryWeb Framework:Django, Flask, …Java:JVM,JDKbash:bash ex…

    Linux干貨 2017-05-22
  • N22+北京+張zhangzhang+第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d" " -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 id `who | cut -d" " -f1 | tail -1` 3、取出當前系統上被用戶當作其默認shell的最多的…

    Linux干貨 2016-09-05
欧美性久久久久