您好,登錄后才能下訂單哦!
目錄
1.系統初始
1.1 廣播
1.2關機/重啟命令
1.3配置信息
2.終端terminal以及交互式接口
2.1終端terminal
2.2交互式接口
3.用戶登錄
4.bash shell
5.命令提示符
6.命令分類,查找,別名,優先級
6.1 命令分類
6.2 命令查找
6.3 命令別名
6.4 命令優先級
7.安裝VMware Tool
8.命令格式
9.簡單命令date,cal,clock,hwclock
10.簡單命令screen ,echo,文件名的顏色
10.1 安裝screen
10.2 screen會話命令:
10.3 簡單命令echo 命令
10.4 定義文件名的顏色
11.命令行擴展、被括起來的集合
11.1 命令替換(命令引用)
11.2括號擴展:{ }
12.Tab鍵
12.1命令補全
12.2路徑補全
13.獲得幫助
13.1 # whatis
13.2命令幫助
13.3--help 選項
13.4 man 命令及章節
13.5導覽man 手冊頁
13.6 man 命令
13.7 man 搜索
13.8 info
13.9 導航info頁
13.10 通過本地文檔獲取幫助
13.11 通過在線文檔獲取幫助
13.12 紅帽全球技術支持服務
13.13 網站和搜索
14.命令行歷史history
14.1重復前一個命令
14.2 方向鍵
14.3命令history
14.4命令歷史相關環境變量
14.5 bash 的快捷鍵
1.系統初始
1.1 廣播
echo hello > /dev/pts/1
[root@6 ~]# echo hello > /dev/pts/2 [root@6 ~]# tty /dev/pts/1 [root@6 ~]# hello [root@6 ~]# tty /dev/pts/2
1.2關機/重啟命令
# halt 關機不斷電
# poweroff 關機斷電
# init
關閉圖像界面 init 3
開啟圖像界面 init 5 重新啟動系統服務的,需要重新輸入用戶名和密碼登陸.
# startx 開啟圖像界面 以當前身份當前環境變理切到圖型
1.3配置信息
版本號
/etc/redhat-release
/etc/centos-release
[root@6 ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@6 ~]# cat /etc/centos-release CentOS release 6.8 (Final)
用戶提示
/etc/issue
[root@6 ~]# cat /etc/issue CentOS release 6.8 (Final) Kernel \r on an \m
#lsb_release
[root@6 ~]# lsb_release LSB Version::base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
2.終端terminal 以及交互式接口
2.1終端terminal
物理終端:直接接入本機的顯示器和鍵盤設備 單用戶模式
/dev/console
虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的
終端,設備文件路徑:/dev/tty#,
#Ctrl+Alt+F#: [1,6] 終端切換
# chvt n
[root@6 ~]# chvt 2 切換到某用戶 [root@6 ~]#
圖形終端:屬于虛擬終端,附加在物理終端之上的以軟件方式虛擬實現的終端,但額外會提供桌面環境;
模擬終端:圖形界面打開 的 命令行以及基于ssh 協議或telnet 協議等遠程打開的界面, 設備文件:/dev/pts/# [0, ∞ )
查看當前的終端設備:tty
[root@6 ~]# tty /dev/pts/1
# getent passwd ftp 察看系統的數據庫中的相關記錄 [root@6 ~]# getent passwd ftp ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
2.2交互式接口
交互式接口:啟動終端后,在終端設備附加一個交互式應用
程序
GUI :Graphic User Interface
Desktop:
GNOME (C, 圖形庫gtk)
KDE (C++, 圖形庫qt)
CLI :Command Line Interface
3.用戶登錄
#id -u UID
centos 6 普通用戶 500(初始值)
centos 7 普通用戶 1000(初始值)
[root@6 ~]# id -u lvasu 500 [root@7 ~]# id -u lvasu 1000
4.bash shell
GNU Bourne-Again Shell(bash) 是GNU 計劃中重要的工
是 具軟件之一,目前也是 Linux 標準的shell ,與sh 兼容。
CentOS 默認使用
顯示當前使用的shell: :
#echo $SHELL 查看用戶的shell [root@6 ~]# echo $SHELL /bin/bash
顯示當前系統使用的所有shell: :
#cat /etc/shells 查看系統shell [root@6 ~]# echo $SHELL /bin/bash [root@6 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh
5.命令提示符
命令提示符:prompt
[root@localhost ~]#
顯示提示符格式:
[root@localhost ~] :echo $PS1
prompt: :
管理員:#
普通用戶:$
[root@6 ~]# echo $PS1 [\u@\h \W]\$ [root@6 ~]# PS1={\u} {u} Last login: Sat Jul 23 00:37:09 2016 [root@6 ~]# Last login: Wed Jul 20 17:17:28 2016 [lvasu@6 ~]$
6.命令分類,查找,別名,優先級
6.1 命令分類
在shell 中可執行的命令有兩類:
內部命令:由shell 自帶的,而且通過某命令形式提供
enable 命令可以啟用或禁用 內部命令
外部命令:在當前系統的某文件系統路徑下有對應的可執
行程序文件;
6.2 命令查找
# which 外部命令的路徑 [root@6 ~]# which ls alias ls='ls --color=auto' [root@6 testdir]# which cd /usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) /bin/ls 內部命令的路徑查找不到
愛瘋
# whereis 文件的路徑以及幫助文檔 [root@6 ~]# whereis ls ls: /bin/ls /usr/share/man/man1p/ls.1p.gz/usr/share/man/man1/ls.1.gz
# type COMMAND 看命令類型 (外/內) [root@6 ~]# type cd cd is a shell builtin [root@6 ~]# type date date is /bin/date
禁用,啟用內部命令
# enable -n command 禁用內部命令 [root@6 testdir]# enable -n cd [root@6 testdir]# cd / -bash: cd: command not found [root@6 testdir]# enable -n ls -bash: enable: ls: not a shell builtin 外部命令提示錯誤
# enable command 啟用內部命令 [root@6 testdir]# enable cd [root@6 testdir]# cd / [root@6 /]#
hash 命令: 命令緩存
搜尋到的外部命令路徑結果緩存至 kv(key-value) 存儲中
hash 顯示hash存 緩存
[root@6 testdir]# hash hits command 1 /sbin/ifconfig 1 /bin/rm 1 /bin/touch 1 /bin/cp 3 /bin/ls
hash-d 刪除指定命令條
[root@6 testdir]# hash -d rm [root@6 testdir]# hash hits command 1 /sbin/ifconfig 1 /bin/touch 1 /bin/cp 3 /bin/ls
hash –r 清除緩存
[root@6 testdir]# hash -r [root@6 testdir]# hash hash: hash table empty
6.3 命令別名
# alias ls='ls --color=auto' 定義命令別名
[root@6 testdir]# alias lv='cat /etc/passwd' [root@6 testdir]# lv root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
# unalias 取消命令別名
[root@6 testdir]# unalias lv [root@6 testdir]# lv -bash: lv: command not found
執行原始命令
1.直接路徑
2.\command
3.'command'
[root@6 testdir]# which ls alias ls='ls --color=auto' /bin/ls [root@6 testdir]# /bin/ls lost+found VMware Tools [root@6 testdir]# \ls lost+found VMware Tools [root@6 testdir]# 'ls' lost+found VMware Tools
6.4 命令優先級
命令優先級
命令別名 > 內部命令 > 緩存命令 > 外部命令
#echo $PATH 命令文件夾位置
[root@6 bin]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@7 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@6 ~]# alias ls='cd' 命令別名>內部命令 [root@6 ~]# ls / [root@6 /]#
[root@7 ~]# enable -n cd 內部命令>外部命令 [root@7 ~]# cd [root@7 ~]# cd / [root@7 ~]# type cd cd 已被哈希 (/usr/bin/cd) [root@7 ~]# hash 命中 命令 3 /usr/bin/cd
[root@7 sbin]# !61 存命令>外部命令 echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@7 sbin]# cp -a /bin/yes /usr/local/sbin [root@7 sbin]# type yes yes 已被哈希 (/usr/bin/yes)
7.安裝VMware Tool
# cp -r /media/VMware\ Tool/ /testdir/
[root@6 ~]# cp -r /media/VMware\ Tool/ /testdir/
# tar xvf VMwareTools-10.0.1-3160059.tar.gz
[root@6 ~] # tar xvf VMwareTools-10.0.1-3160059.tar.gz
#./vmware-install.pl
[root@6 ~]#./vmware-install.pl
8.命令格式
COMMAND [OPTIONS...] [ARGUMENTS...]
選項:用于啟用或關閉命令的某個或某些功能;
短選項:-c, 例如:-l, -h
長選項:--word ,例如:--all, --human-readable
參數:命令的作用對象,比如文件名,用戶名等
注意:
1、多選項,以及多參數和命令之間使用空白字符分隔
[root@7 ~]# ls -h -l . /etc/ .: 總用量 8.0K -rw-------. 1 root root 1.8K 7月 21 01:43 anaconda-ks.cfg -rw-------. 1 root root 1.9K 7月 20 17:52 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 7月 20 17:54 公共 drwxr-xr-x. 2 root root 6 7月 20 17:54 模板 drwxr-xr-x. 2 root root 6 7月 20 17:54 視頻 drwxr-xr-x. 2 root root 6 7月 20 17:54 圖片 drwxr-xr-x. 2 root root 6 7月 20 17:54 文檔 drwxr-xr-x. 2 root root 6 7月 20 17:54 下載 drwxr-xr-x. 2 root root 6 7月 20 17:54 音樂 drwxr-xr-x. 2 root root 18 7月 22 15:22 桌面 /etc/: 總用量 1.4M drwxr-xr-x. 3 root root 97 7月 21 01:29 abrt -rw-r--r--. 1 root root 16 7月 21 01:42 adjtime -rw-r--r--. 1 root root 1.5K 6月 7 2013 aliases -rw-r--r--. 1 root root 12K 7月 20 17:51 aliases.db drwxr-xr-x. 2 root root 49 7月 21 01:29 alsa drwxr-xr-x. 2 root root 4.0K 7月 21 01:38 alternatives -rw-------. 1 root root 541 7月 27 2015 anacrontab -rw-r--r--. 1 root root 55 3月 6 2015 asound.conf -rw-r--r--. 1 root root 1 11月 20 2015 at.deny
2 、取消和結束命令執行:Ctrl+c ,Ctrl+d (退出logout)
root@7 ~]# yes y y y y ^C[root@7 ~]#
3 、多個命令可以用 ; 符號分開
[root@7 ~]# date;clock;hwclock 2016年 07月 23日 星期六 15:20:42 CST 2016年07月23日 星期六 23時13分43秒 -0.783823 秒 2016年07月23日 星期六 23時13分44秒 -1.001945 秒
4 、一個命令可以用 \ 分成多行
[root@7 ~]# cat anaconda\ > -ks\ > .cfg #version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Use graphical install
9.簡單命令date,cal,clock,hwclock,nano編輯器
date - 顯示日期和時間
-u:
date mmddHHMMYY.SS 修改系統時間
[root@7 ~]# date 2016年 07月 23日 星期六 15:24:50 CST [root@7 ~]# date -u 2016年 07月 23日 星期六 07:24:55 UTC [root@7 ~]# date 0801080008.00 2008年 08月 01日 星期五 08:00:00 CST
Linux 的兩種時鐘:
系統 時鐘:由Linux 內核通過CPU 的工作頻率進行 的;
硬件 時鐘:主板
hwclock ,clock: 顯示硬件時鐘
-s , --hctosys 以硬件時鐘為準,校正系統時鐘
-w, --systohc 以系統時鐘為準 , 校正硬件時鐘
[root@7 ~]# date 0801080008.00 2008年 08月 01日 星期五 08:00:00 CST [root@7 ~]# clock -s [root@7 ~]# date 2016年 07月 23日 星期六 23:18:45 CST [root@7 ~]# date 0723152716.25 2016年 07月 23日 星期六 15:27:25 CST [root@7 ~]# clock -w [root@7 ~]# clock 2016年07月23日 星期六 15時27分45秒 -0.600986 秒
cal - 顯示 日歷
#cal 08 2015
#cal 09 1752
[root@7 ~]# cal 七月 2016 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@7 ~]# cal 08 2015 八月 2015 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@7 ~]# cal 09 1752 九月 1752 日 一 二 三 四 五 六 1 2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
10.簡單命令screen ,echo,文件名的顏色
10.1 安裝screen
[root@7 Packages]# cd /run/media/root/CentOS\ 7\ x86_64/Packages/ [root@7 Packages]# rpm -i screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm
10.2 screen會話命令: 連接至同一個賬戶同一個會話
打開新的screen:
# screen
打開新的screen:
#screen –S [SESSION]
[root@7 ~]# screen -S 100
加 入會話:
#screen –x [SESSION]
[root@7 ~]# screen -x 100
退出并關閉screen:
# exit
[screen is terminating]
剝離當前screen:
Ctrl+a,d ctrl+d 關閉終端
[detached from 6907.20]
顯示所有已經打開的screen:
# screen -ls
恢復某screen
#screen -r [SESSION]
10.3 簡單命令echo 命令
功能:顯示字符
語法:echo [-neE][ 字符串]
說明:echo 會將輸入的字符串送往標準輸出。
輸出的字符串間以空白字符隔開, 并在最后加
上換行號
echo "$VAR_NAME": 變量會替換,雙引號表弱引用
echo '$VAR_NAME': 變量不會替換,強引用
$echo –e “Enter the file name: \c”
echo 命令選項:
-n 不在字符的最后 自動換行
-e 若字符串中出現以下字符,則特別加以處理,而
不會將它當成一般文字輸出: (弱引用)
\a 發出警告聲;
[root@7 ~]# echo -e "\a"
\b 退格鍵
[root@7 ~]# echo -e "abc\bd" abd
\c 最后不加上換行符號;而且刪除后面的內容 壓縮回車換行
[root@7 ~]# echo -e "\cabcd" [root@7 ~]# echo -e "abcd\c" abcd[root@7 ~]# echo -e "abc\cd" abc[root@7 ~]# echo -e "ab\ccd" ab[root@7 ~]#
\n 換行且光標移至行首;
a[root@7 ~]# echo -e "ab\ncd" ab cd [root@7 ~]# echo -e "a\nbcd" a bcd
\r 光標移至行首,但不換行;光標移至行首,將后面的替換前面的
[root@7 ~]# echo -e "a\rbcd" bcd [root@7 ~]# echo -e "ab\rcd" cd
\t 插入tab;
[root@7 ~]# echo -e "ab\tcd" ab cd
\\ 插入\ 字符;
ab[root@7 ~]# echo -e "abcd\\" abcd\
\0nnn 插入nnn (八進制)所代表的ASCII 字符
[root@7 ~]# echo -e '\0141' a
echo -e "\033[43;31mred color\033[0m"
\xHH 插入HH (十六進制)所代表的ASCII 字符
[root@7 ~]# echo -e "\xad"
10.4定義文件名的顏色
cat /etc/DIR_COLORS
cat
11.命令行擴展、被括起來的集合
11.1 命令替換(命令引用)
`command` 適用于命令引用
$(command)
[root@7 ~]# echo "echo $USER" 弱引用 echo root [root@7 ~]# echo 'echo $USER' 強引用 echo $USER [root@7 ~]# echo `echo $USER`
命令行擴展:$( ) 或 或 ``
把一個命令的輸出打印給另一個命令的參數
$ echo "This system's name is $(hostname ) "
This system's name is server1.example.com
$echo "i am `whoami ` "
i am root
11.2括號擴展:{ }
打印重復字符串的簡化形式
$ echo file{1,3,5}
file1 file3 file5
$ rm -f file{1,3,5}
12.Tab鍵
12.1命令補全
內部命令:
外部命令:bash 根據PATH環境變量定義的路徑,自左而
右在每個路徑搜尋以給定命令名命名的文件,第一次找到的命令
即為要執行的命令
用戶給定的字符串只有一條惟一對應的命令,直接補全
否則,再次Tab 會給出列表
12.2路徑補全
把用戶給出的字符串當做路徑開頭,并在其指定上級目錄
下搜索以指定的字符串開頭的文件名
如果惟一:則直接補全
否則:再次Tab 給出列表
13.獲得幫助
獲取幫助的能力決定了技術的能力!
多層次的幫助
whatis
command --help
man and info
/usr/share/doc/
Red Hat documentation
其它網站和搜索
13.1 # whatis
1.顯示命令的簡短描述
2.每晚使用一個數據庫更新
3.剛安裝后不可立即使用
# makewhatis (centos6)
# mandb (centos7) 制作數據庫
[root@7 ~]# mandb 正在刪除 /usr/share/man 里的舊數據庫條目... bash: makewhatis: 未找到命令... [root@6 ~]# makewhatis
whatis cal 或 man –f cal
[root@6 ~]# whatis cal cal (1) - displays a calendar cal (1p) - print a calendar
13.2命令幫助
內部命令 : #help COMMAND
#man bash
外部命令: (1) # COMMAND --help
# COMMAND -h
(2) 使用手冊(manual)
# man COMMAND
(3) 信息頁
# info COMMAND
(4) 程序自身的幫助文檔
README
INSTALL
ChangeLog
(5) 程序官方文檔
官方站點:Documentation
(6) 發行版的官方文檔
(7) Google
13.3--help 選項
顯示用法總結和參數列表
使用的大多數,但并非所有的
$ date --help
Usage: date [OPTION]... [+FORMAT] or: date [-
u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
1. [] 是可選的
2. CAPS 或 <> 是變量
3. ... 表示一個列表
4. x |y| z “ 的意思是“ x 或 y 或 z “
5. -abc的 的 意思是-a -b -c
13.4 man 命令及章節
1.提供命令幫助的文件
2.手冊頁存放在/usr/share/man
3.幾乎每個命令都有man 的“頁面”
4.man 頁面分組為不同的“章節”
5.統稱為Linux 手冊
6.man [ 章節] 命令
7.man 命令的配置文件:/etc/man.config | man_db.conf
8.MANPATH /PATH/TO/SOMEWHERE: 指明新手冊文件搜索位置
9.# man - M /PATH/TO/SOMEWHERE COMMAND : 到指定位置下搜
索 COMMAND 命令的手冊頁并顯示
man 章節
1: 用戶命令
2: 系統調用
3: C 庫調用
4: 設備文件及特殊文件
5: 配置文件格式
6: 游戲
7: 雜項
8: 管理類的命令
9 :Linux 內核API
[root@6 ~]# whatis passwd passwd (1) - update user's authentication tokens passwd (5) - password file passwd [sslpasswd] (1ssl) - compute password hashes [root@6 ~]# man 5 passwd PASSWD(5) Linux Programmer’s Manual PASSWD(5) NAME passwd - password file
13.5導覽man 手冊頁
1.查看man 手冊頁
2.SYNOPSIS 摘要:[] :可選內容
<>: 必選內容
a|b :二選一
...: 同一內容可出現多次
3.man –a keyword 列出所有幫助
4.搜索man 手冊
man -k keyword 列出所有匹配的頁面
使用 whatis 數據庫
13.6 man 命令
man 命令的操作方法:使用less 命令實現
Space, ^V, ^f, ^F: 向文件尾翻屏
b, ^B: 向文件首部翻屏
d, ^D: 向文件尾部翻半屏
u, ^U: 向文件首部翻半屏
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行
y or ^Y or ^P or k or ^K :向文件首部翻一行
q: 退出
# :跳轉至第#行 行
1G: 回到文件首部
G :翻至文件尾部
13.7 man 搜索
/KEYWORD:
以 以KEYWORD指定的字符串為關鍵字,從當前位置向文件
尾部搜索;不區分字符大小寫;
n: 下一個
N :上一個
?KEYWORD:
以 以KEYWORD指定的字符串為關鍵字,從當前位置向文件
首部搜索;不區分字符大小寫;
n: 跟搜索命令同方向,下一個
N :跟搜索命令反方向,上一個
13.8 info
1.man考 常用于命令參考 , ,GNU 工具info 適合通用文檔參考。
2. 沒有參數, 列出所有的頁面
3.info 頁面的結構就像一個網站
4.每一頁分為“節點”
5.前 鏈接節點之前 *
6.info [ 令 命令 ]
13.9 導航info頁
1.方向鍵,PgUp ,PgDn 導航
2.Tab鍵 鍵 移動到下一個鏈接
3.d 顯示主題目錄
4.Home 顯示主題首部
5.Enter入 進入 選定鏈接
6.n/p/u/l 進入下/ 前/ 上一層/ 最后一個鏈接
7.s 字 文字 文本搜索
8.q 出 退出 info
13.10 通過本地文檔獲取幫助
1. 點擊“系統”-> “文檔”:
提供的官方使用指南和發行注記
2. /usr/share/doc 目錄
多數安裝了的軟件包的子目錄, 包括了這些軟件的相關
原理說
不適合其它地方的文檔的位置
配置文件范例
HTML/PDF/PS 格式的文檔
授權書詳情
13.11 通過在線文檔獲取幫助
1. 第三方程序官方文檔
2. 通過發行版官方的文檔光盤或網站可以獲得
安裝指南
部署指南
虛擬化指南
紅帽知識庫和官方在線文檔
http://kbase.redhat.com
http://www.redhat.com/docs
http://access.redhat.com
13.12 紅帽全球技術支持服務
1. rhn.redhat.com 或者本地衛星服務器/ 代理服務器
基于網絡管理的機器
RHN 代理服務器為RHN 流量提供緩存
RHN 衛星服務器提供自主的RHN
2. RHN 賬戶
為及其注冊和基于網絡管理的RHN 用戶
用于系統自動驗證的系統ID
3. sosreport
收集所有系統上的日志信息的工具,并自動打成壓縮包,
方便技術支持人員和紅帽全球支持提供分析問題的依據
13.13 網站和搜索
1. http://tldp.org
2. http://www.slideshare.net
3.http://www.google.com
Openstack filetype:pdf
rhca site:redhat.com/docs
14.命令行歷史
登錄shell 時,會讀取命令歷史文件中記錄下的命令
~/.bash_history
登錄進shell 后新執行的命令只會記錄在緩存 中;這些命
令會用戶退出時“追加”至命令歷史文件中
14.1重復前一個命令
有4 種方法:
重復前一個命令 使用上方向鍵,并回車執行。
按 按 !! 并回車執行。
入 輸入 !-1 并回車執行。
按 按 Ctrl+p 并回車執行。
! 字符串: 重復前一個以“字符串”開頭的命令
!num: 按照history 命令輸出中的序號重復對應命令
!? 字符串: 重復前一個包含abc 的命令
!-n : 重復n 個命令之前的那個命令
14.2 方向鍵
使用up (向上)和down (向下)鍵來上下瀏覽從前輸入
的命令
鍵入ctrl-r 來在命令歷史中搜索命令
( (reverse-i-search )`’: :
要重新調用前一個命令中最后一個參數:
!$ 表示
Esc, . (點擊Esc擊 鍵后松開,然后點擊 . 鍵)
Alt+ . (按住Alt擊 鍵的同時點擊 . 鍵)
調用歷史參數
#cmd !^ : 利用上一個命令的第一個參數做cmd 的參數
#cmd !$ : 利用上一個命令的最后一個參數做cmd 的參數
#cmd !* : 利用上一個命令的全部參數做cmd 的參數
#cmd !:n : 利用上一個命令的第n 個參數做cmd 的參數
!n:^ 調用第n 條命令的第一個 參數
!n:$ 調用第n 條命令的最后一個 參數
!m:n 調用第m 條命令的第m條命令的 第n個 個 參數
!n:* 調用第n 條命令的所有參數
調用歷史參數
!string:^ 以 從命令歷史中搜索以 string 開頭的命令,并獲取
它的第 一個 參數
!string:$ 以 從命令歷史中搜索以 string 開頭的命令, 并獲取它
的 最后一個 參數
!string:n 以 從命令歷史中搜索以 string 開頭的命令,并獲取
它的第n個 個 參數
!string:* 以 從命令歷史中搜索以 string 開頭的命令,并獲取
它的 所有 參數
調用歷史參數
14.3命令history
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg...]
-c: 清空命令歷史
-d: 刪除歷史中指定的命令;
#: 顯示最近的# 條歷史
-a: 追加本次會話新執行的命令歷史列表至歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-p: 展開歷史參數成多個行,但不存在歷史列表中
-s: 展開歷史參數成一行,附加在歷史列表后
14.4命令歷史相關環境變量
HISTSIZE :命令歷史記錄的條數;
HISTFILE :指定歷史文件,默認為~/.bash_history; ;
HISTFILESIZE :命令歷史文件記錄歷史的條數;
HISTTIMEFORMAT=“%F %T“ 顯示時間
HISTIGNORE=“str1:str2:… “ 忽略string1,string2 歷史
控制命令歷史的記錄方式:
環境變量:HISTCONTROL
ignoredups :忽略重復的命令;連續且相同方為“重復”
ignorespace :忽略所有以空白開頭的命令
ignoreboth :ignoredups, ignorespace
erasedups: 刪除重復命令
export 變量名=" 值“
存放在 /etc/profile 或 或 ~/.bash_profile
14.5 bash 的快捷鍵
Ctrl+l 清屏,相當于clear 命令
Ctrl+c 取消命令的執行
Ctrl-a 會移動到命令行的最前面
Ctrl-e 會移動到命令行的最后面
Ctrl-u 會刪除到行首
Ctrl-k 會刪除到行尾
arrow ctrl-b ctrl-f 會向左或向右移動一個字符
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。