一切皆文件

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
下一篇 2017-04-01

相關推薦

  • Linux文件查找之find命令詳解

    文件查找 文件查找就是在在文件系統上查找符合條件的文件; 文件查找分為: 實時查找:遍歷所有文件進行條件匹配 非實時查找:根據所以查找 locate: 1、查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db 2、locate屬于非實時查找,依賴于事先構建的索引; 索引的構建是在系統較為空閑時自動進行(周期性任務);管理員手…

    Linux干貨 2016-08-18
  • 8月9日vim作業

    復制/etc/rc.d/init.d/functions文件至/tmp目錄;替換/tmp/functions文件中的/etc/sysconfig/init為/var/log; :%s@/etc/sysconfig@/var/log@ 刪除/tmp/functions文件中所有以#開頭,且#后面至少有一個空白字符的行的行首的#號 :%s@^#\([[:spac…

    Linux干貨 2016-08-10
  • 揭開鏈接文件的面紗——從根本上剖析硬鏈接與軟鏈接異同

    在linux的學習過程中,鏈接文件的學習讓不少人頭疼,很多同學往往分不清什么是硬鏈接,什么是軟鏈接,對于兩者的概念和區別常常容易混淆、搞不清楚。今天我們就從原理、從根本上為大家辨析一些兩者之間的區別,相信大家在看完這篇文章之后對鏈接文件會有一個清晰正確的認識。 1、在實現原理上不同 硬鏈接,涉及到文件的底層模式,因此被稱為硬鏈接文件。硬鏈接文件只是一個指針指…

    Linux干貨 2016-10-20
  • 硬軟鏈接的區別 節點 以及重定向和管道

    INODE全稱叫index node 表中包含文件系統所有文件列表   一個節點是在一個表項 包含有關文件的信息 ( 元數據 ) 包括: 文件類型,權限,UID,GID 鏈接數(指向這個文件名路徑名稱個數) 該文件的大小和不同的時間戳 指向磁盤上文件的數據塊指針 有關文件的其他數 1 文件引用一個是 inode號   2 我們是通過文件名…

    Linux干貨 2016-08-12
  • PHP字符串的編碼問題

        大家都知道,不同字符編碼,其在內存占用的字節數不一樣。如ASCII編碼字符占用1個字節,UTF-8編碼的中文字符是3字節,GBK為2個字節。     PHP 也自帶幾種字符串截取函數,其中常用到的就是 substr 和 mb_substr。     使用substr截取中…

    Linux干貨 2015-10-22
  • 細說linux上的特殊權限位

    linux上的文件的權限 linux的哲學思想之一就是一切皆文件。這樣說來,每臺安裝了linux的主機上,就會有大量的文件。而另一方面,linux在安全方面有著極為出色的表現。眾所周知,linux是一個多用戶的系統,因此為一個文件加上合適的權限為顯得非常有必要了。linux上的基本權限我就不一一介紹了,請不熟悉的同學自行百度腦補。我們來說說linux上文件和…

    Linux干貨 2017-04-10
欧美性久久久久