bash特性及配置文件

bash配置文件

    兩類:

        profile:為交互式登錄shell提供配置

        bashrc:為非交互式登錄shell提供配置

    登錄類型:

        交互式登錄shell進程

            直接通過某終端輸入賬號和密碼登錄打開的shell進程   

            使用su – USERNAME或者使用su -l USERNAME執行的登錄切換

        非交互式登錄shell進程

            使用su命令:su USERNAME

            圖形界面下打開的終端

    profile類:

        全局:對所有用戶生效

            /etc/profile

            /etc/profile.d/*.sh

        局部:僅對當前用戶生效

            ~/.bash_profile

        功用:

            1.用于定義環境變量

            2.運行命令或腳本

    bashrc類:

        全局:對所有用戶都生效

            /etc/bashrc

        局部:僅對當前用戶生效

            ~/.bashrc

        功用:

            1.定義本地變量

            2.定義命令別名

    ~/.bash_logout:退出shell時所執行的腳本文件

配置文件執行順序:

    交互式登錄

        /etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc

    非交互式登錄

         ~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh


命令行中定義的特性,例如變量和別名僅對當前shell進程有效

配置文件中定義的特性,只對隨后新啟動的shell進程有效

讓通過配置文件定義的特性立即生效:

    (1)通過命令行重復定義一次

    (2)讓shell進程重讀配置文件

        ~]# source /PATH/FROM/CONF_FILE

        ~]# . /PATH/FROM/CONF_FILE

     

bash特性

    展開命令行

        命令行展開:~,{}

        命令別名:alias,unalias

        命令歷史:history

        文件名統配:*,?,[],[^]

        命令替換:$(),“

        快捷鍵:Ctrl+u,k,a,e,l

        路徑補全:tab

         命令補全

    防止擴展

        反斜線\:會使隨后的字符按愿意解釋

        加引號來防止擴展

            單引號'':防止所有擴展

            雙引號"":防止擴展,除一下條件以外

                $:變量擴展

                “:命令替換

                \:禁止單個字符擴展

                !:調用命令歷史

 

 

mktemp命令:創建臨時文件

    mktemp [OPTIONS] FILENAME

        FILENAME:filename.XXX

            X至少出現三次

    OPTIONS:

        -d:創建臨時目錄

        -p:指明臨時文件所存放的目錄位置

[root@CentOS7 ~]# mktemp tmp.XXX
tmp.Ny6
[root@CentOS7 ~]# mktemp tmp.XXXX
tmp.O2FW
[root@CentOS7 ~]# mktemp -d tmp.XXX
tmp.2Ne

install命令:復制文件或設置屬性

    OPTIONS:

        -d:復制目錄

        -m MODE:復制文件同時指定文件權限

        -o:復制文件同時指定文件的屬主

        -g:復制文件同時指定文件的屬組

[root@CentOS7 ~]# install /bin/chmod ./    #復制/bin/chmod文件到當前目錄
[root@CentOS7 ~]# ll chmod 
-rwxr-xr-x. 1 root root 58544 Aug 31 08:50 chmod
[root@CentOS7 ~]# install -m 644 /bin/chmod ./    #復制/bin/chmod文件并指定權限為644
[root@CentOS7 ~]# ll chmod 
-rw-r--r--. 1 root root 58544 Aug 31 08:50 chmod
[root@CentOS7 ~]# install -d /home/ ./    #復制目錄
[root@CentOS7 ~]# ll home/
total 0
[root@CentOS7 ~]# ll -d home/
drwxr-xr-x. 2 root root 6 Aug 30 05:31 home/
[root@CentOS7 ~]#

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

(0)
zhai796898zhai796898
上一篇 2016-08-31
下一篇 2016-09-01

相關推薦

  • Linux初識

    一 .計算機的關鍵部位 cpu(運算器 控制器):正給計算機的中樞神經,對程序控制信息的處理和 對數據的運算 存儲器:存儲程序數據和各種信息指令 Input:起到將各個外部信息傳遞給計算機的作用 output:將計算機內部的各個信號數據及計算結果輸出 二 .一些主流Linux發行版簡介 linux發行版:linux只是一個操作系統,搭配其它軟件發行的系統就是…

    Linux干貨 2016-10-30
  • shell腳本1——test測試

    程序:指令+數據 程序:算法+數據結構 shell腳本編程: 編程的語言分類:根據運行方式     編譯運行:源代碼——>編譯器——>程序文件     解釋運行:源代碼——>運行時啟動解釋器,由解釋器邊解釋邊執行 根據其編程過程中功能的實現是否調用庫還是調用外部…

    Linux干貨 2016-08-18
  • 【社招】【小米-北京】運維開發工程師

    【社招】【小米-北京】運維開發工程師 【工作地點】北京市海淀區安寧莊東路72號科利源大廈 【薪酬福利】15k-30k 期權獎勵、六險一金、水果花茶、班車、健身房、食堂 【投遞方式】郵件主題“崗位+姓名”發送至lipengcheng3@xiaomi.com   崗位職責: 提高系統運維的自動化,主要包括運維平臺、PaaS、監控系統,自動化部…

    Linux干貨 2017-07-28
  • CentOS6/7下不關機識別新添加的scsi硬盤

    1)需求說明 在虛擬機中,我們在服務器開機的狀態下添加新的磁盤或者說從存儲上映射某個LUN區域給服務器,不重啟系統的情況下,往往不能夠直接識別到磁盤,在遇到這種情況的時候,我們可以讓系統重新掃描讓服務器重新識別到磁盤。 2)處理步驟 下面看一下在系統不重啟的情況,如何讓系統認識新的磁盤,并能對其分區與格式化 1、在開機狀態下新增磁盤 2、執行下面的命令 ec…

    Linux干貨 2016-07-22
  • DHCP及自動化安裝Linux

    主機IP配置: 靜態指定 靜態IP 動態獲取: bootp:bootprotocol MAC與IP一一靜態對應 DHCP: Dynamic Host Configuration Protocol 動態主機配置協議基于UTP協議 主要用途:自動化分配IP地址,實現集中管理,解決IP地址不足的問題。 DHCP的4種報文 DHCP DISCOVER OFFER R…

    2017-09-18
欧美性久久久久