中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Bash基礎特性 -- 卷一

發布時間:2020-06-07 22:36:45 來源:網絡 閱讀:517 作者:元嬰期 欄目:建站服務器

                                                    Linux Bash的基礎特性

一、history(命令歷史記錄)

    1、語法與常用參數

        history

            列出當前shell的所有history

        history [-c]

            將當前shell的所有 history 清除

        history [n]

            n為數字,列出最近的n條記錄

        history [-raw] histfiles

            -a [HISTFILES] :手動追加當前會話緩沖區的命令歷史至文件中,如果histfiles事先不存在,則創建, 如果不指定histfiles文件,則默認寫入~/.bash_history中

            -r HISTFILES : 將histfiles中的內容讀取到當前shell的history中

            -w HISTFILES : 將當前shell 的history寫入之histfiles文件中

    

    2、環境變量

        HISTSIZE:命令歷史記錄的條數,默認為1000條

        HISTFILE~/.bash_history

           HISTFILESIZE:命令歷史文件記錄歷史的條數

[root@Nginx ~]# echo $HISTFILE
/root/.bash_history
[root@Nginx ~]# echo $HISTSIZE
1000
[root@Nginx ~]# echo $HISTFILESIZE
1000


    

    3、history的調用

        !#:重復執行第#條命令

        !!:執行上一條命令

        !string:執行最近一條包含指定字符串的命令

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

[root@Nginx ~]# history 10
 1019  history -a 11.txt
 1020  cat 11.txt 
 1021  echo $HISTSIZE
 1022  ls
 1023  echo $HISTFILESIZE
 1024  history
 1025  ping baidu.com
 1026  alias
 1027  ls
 1028  history 10
#####!#
[root@Nginx ~]# !1026
alias
alias cdnet='cd /etc/sysconfig/network-scripts'
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
#####!!
[root@Nginx ~]# !!
alias
alias cdnet='cd /etc/sysconfig/network-scripts'
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
#####!string
[root@Nginx ~]# !ping
ping baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=66.8 ms
64 bytes from 111.13.101.208: icmp_seq=2 ttl=128 time=66.9 ms
64 bytes from 111.13.101.208: icmp_seq=3 ttl=128 time=66.9 ms
64 bytes from 111.13.101.208: icmp_seq=4 ttl=128 time=67.4 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7408ms
rtt min/avg/max/mdev = 66.844/67.046/67.480/0.253 ms
#####!$
[root@Nginx ~]# ping -c 1 !$
ping -c 1 baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=67.4 ms

--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 4071ms
rtt min/avg/max/mdev = 67.433/67.433/67.433/0.000 ms

    4、控制命令歷史的記錄方式

        環境變量:HISTCONTROL

            ignoredups:忽略重復的命令,連續且相同的命令

            ignorespace:忽略所有以空白開頭的命令

            ignoreboth: 以上兩條均生效

        修改環境變量:

[root@Nginx ~]# export HISTCONTROL=ignoreboth
[root@Nginx ~]# echo $HISTCONTROL
ignoreboth


    

二、命令與路徑補全

    1、命令補全

        bash執行命令,在用戶給定的字符串只有唯一對應的命令時,直接Tab補全;如果不唯一,則再次Tab會給出匹配到的命令列表。bash根據PATH變量中定義的路徑自左向右尋找唯一匹配字符串的命令,第一次找到的即為要執行的命令

    2、路徑補全

        把用戶給出的字符串當作路徑開頭,并在其指定的上級目錄下搜索以指定的字符串開頭的文件名,如果唯一,直接補全;否則再次Tab,給出列表


三、命令行展開

        ~:展開為用戶的主目錄

        ~USERNAME:展開為指定用戶的主目錄

        {}:可承載一個以逗號分隔的列表,并將其展開為多個路徑

[root@Nginx ~]# mkdir -pv /tmp/{1{1.1,1.2},2}/{a,b}
mkdir: 已創建目錄 "/tmp/11.1"
mkdir: 已創建目錄 "/tmp/11.1/a"
mkdir: 已創建目錄 "/tmp/11.1/b"
mkdir: 已創建目錄 "/tmp/11.2"
mkdir: 已創建目錄 "/tmp/11.2/a"
mkdir: 已創建目錄 "/tmp/11.2/b"
mkdir: 已創建目錄 "/tmp/2"
mkdir: 已創建目錄 "/tmp/2/a"
mkdir: 已創建目錄 "/tmp/2/b"


四、命令的執行狀態結果

    程序執行有兩類結果;一類是返回值,一類是執行狀態結果

    bash的特色標量$?,保存最近一條命令的執行狀態結果

        0:成功

        1-255:失敗

[root@Nginx ~]# date
2017年 07月 09日 星期日 17:39:35 CST
[root@Nginx ~]# echo $?
0
[root@Nginx ~]# data
-bash: data: command not found
[root@Nginx ~]# echo $?
127

五、alias(命令別名)

    1、語法與常用參數

alias[-p] [name[=value] ... ]
    -p:打印已設置的命令別名

        alias:顯示當前shell進程所有可用的命令別名

        alias NAME='VALUE':定義別名NAME,相當于執行VALUE。

            注意:VALUE中有空格等要帶引號


    2、alias配置

        (1)在命令行中定義的別名,僅對當前shell有用

        (2)定義在~/.bashrc中對當前用戶有效

        (3)定義在/etc/bashrc中對所有用戶有效

        (4)配置完成后,重讀配置文件可立即生效

                source /etc/bashrc

    3、unalias(撤銷別名)      

unalias[-a] name [name ...]
    -a:撤銷所有別名
注意:如果別名同原命令的名稱,則如果要執行原命令,可使用"\COMMAND":



向AI問一下細節
推薦閱讀:
  1. bash及其特性
  2. bash 基礎

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨山| 西乡县| 大石桥市| 西吉县| 芜湖市| 三原县| 丰原市| 白沙| 汉沽区| 武川县| 嘉定区| 广州市| 历史| 伽师县| 全南县| 梨树县| 探索| 容城县| 武宣县| 蒙城县| 涿州市| 双桥区| 牡丹江市| 石林| 开封市| 子洲县| 盘山县| 西昌市| 凤山市| 沈阳市| 云南省| 加查县| 麻江县| 温泉县| 玉门市| 宕昌县| 中方县| 北海市| 平和县| 绥棱县| 喀什市|