什么是bash shell喉酌?
命令解釋器完箩,將用戶輸入的命令翻譯給內(nèi)核,內(nèi)核處理完成之后宽闲,將結(jié)果返回Bash癌佩。Shell充當(dāng)?shù)氖侨伺c內(nèi)核之間的翻譯官。
Linux系統(tǒng)的內(nèi)核負(fù)責(zé)完成對(duì)硬件資源的分配便锨、調(diào)度等管理任務(wù)。
Bash Shell能做什么我碟?
Bash Shell幾乎能完成所有的操作放案,例如:
文件管理 (創(chuàng)建、移動(dòng)矫俺、復(fù)制吱殉、刪除、編輯等)
用戶管理 (創(chuàng)建厘托、刪除等)
磁盤管理
網(wǎng)絡(luò)管理
進(jìn)程管理
平時(shí)我們是如何使用Bash Shell ?
單條命令執(zhí)行友雳,效率低,適合少量的工作铅匹。
Shell Script押赊,效率高,適合復(fù)雜且重復(fù)性高的工作包斑。
例如通過腳本創(chuàng)建100個(gè)用戶:
[root@zhao ~]# cat user.sh
#!/bin/bash
for i in {1..100}
do
useradd test$i
echo "Create test$i Is Ok!"
done
Bash Shell登陸后的提示符是什么意思流礁?
登陸后,默認(rèn)提示符格式為:
[root@node2 ~]#
root: 當(dāng)前登陸系統(tǒng)的用戶罗丰。
@:分隔符神帅。
node2:當(dāng)前的主機(jī)名。
:當(dāng)前所在的位置萌抵,表示用戶的家目錄找御。
一般情況下元镀,#表示超級(jí)管理員;$表示普通用戶霎桅。
常用快捷鍵
組合鍵 | 作用 |
---|---|
ctrl + c | 終止當(dāng)前正在運(yùn)行的程序* |
ctrl + l | 清屏* |
crtl + w | 按單詞或者空格進(jìn)行向前刪除* |
ctrl + <- | 光標(biāo)向左移動(dòng)一個(gè)單詞* |
ctrl + -> | 光標(biāo)向右移動(dòng)一個(gè)單詞* |
ctrl + a | 光標(biāo)跳轉(zhuǎn)至行首 |
ctrl + e | 光標(biāo)跳轉(zhuǎn)至行尾 |
ctrl + z | 暫停放入后臺(tái) |
ctrl + u | 刪除光標(biāo)以前的所有內(nèi)容 |
ctrl + k | 刪除光標(biāo)以后的所有內(nèi)容 |
ctrl + r | 搜索此前執(zhí)行過的命令 |
歷史命令History
w 保存名利歷史到歷史文件 (~/.bash_history文件)
-c 清空命令歷史紀(jì)錄栖疑,但不會(huì)清空已保存的文件
-d 刪除命令歷史的第N條
[root@zhaoshuang ~]#history
43 nmuit
44 nmtui
45 nmtui--systemctl restart NetworkManager --- systemctl restart network
46 sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
47 systemctl stop/disable NetworkManager
48 systemctl restart network
49 ipa
命令別名alias unalias
查看系統(tǒng)內(nèi)置的別名
[root@zhaoshuang ~]#alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rl='trashlist'
alias rm='trash'
alias ur='undelfile'
alias 臨時(shí)設(shè)置別名
[root@zhaoshuang ~]#alias eth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@zhaoshuang ~]#eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.11
PREFIX=24
GATEWAY=10.0.0.254
DNS1=1.2.4.8
臨時(shí)取消別名
unalias eth0
[root@zhaoshuang ~]#unalias eth0
[root@zhaoshuang ~]#
永久修改別名
[root@zhaoshuang ~]#cat /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'