day2-Bash Shell

2019-07-25  本文已影响0人  恩楠

1. 什么是Shell?

Shell

命令解释器,将用户输入的命令翻译给内核,内核处理完成之后,将结果返回Bash。Shell充当的是人与内核之间的翻译官。

Linux系统的内核负责完成对硬件资源的分配、调度等管理任务。

2. Bash Shell能做什么?

Bash Shell几乎能完成所有的操作,例如:

3. 平时我们是如何使用Bash Shell ?

  1. 单条命令执行,效率低,适合少量的工作。
  2. Shell Script,效率高,适合复杂且重复性高的工作。
    例如通过脚本创建100个用户:
[root@node2 ~]# cat user.sh 
#!/bin/bash
for i in {1..100}
do
    useradd test$i
    echo "Create test$i Is Ok!"
done

4. Bash Shell登陆后的提示符是什么意思?

登陆后,默认提示符格式为:

[root@node2 ~]#

root: 当前登陆系统的用户。
@:分隔符。
node2:当前的主机名。
~:当前所在的位置,~表示用户的家目录。
#:一般情况下,#表示超级管理员;$表示普通用户。

5. Bash Shell的基础语法?

[root@node2 ~]# ls -a /tmp/

命令 [选项] [参数]
命令:主体。
选项:用来调节输出效果。
参数:文件或者路径。

6.Bash Shell常用特性

  1. Tab补全
    可通过Tab键补全命令、路径、选项。
    补全选项可能需要安装扩展程序,然后退出当前shell,重新登陆,具体命令如下:
[root@node2 ~]# yum install bash-completion
  1. 常用快捷键
组合键 作用
ctrl + c 终止当前正在运行的程序*
ctrl + l 清屏*
crtl + w 按单词或者空格进行向前删除*
ctrl + <- 光标向左移动一个单词*
ctrl + -> 光标向右移动一个单词*
ctrl + a 光标跳转至行首
ctrl + e 光标跳转至行尾
ctrl + z 暂停放入后台
ctrl + u 删除光标以前的所有内容
ctrl + k 删除光标以后的所有内容
ctrl + r 搜索此前执行过的命令
  1. 历史命令History,追溯之前发送的情况。(查找执行的命令历史纪录)

history常用参数及说明

选项 解释
-w 保存名利历史到历史文件
-c 清空命令历史纪录,但不会清空已保存的文件
-d 删除命令历史的第N条

举例

将本次登陆的历史命令写入到历史文件中,即~/.bash_history文件。

[root@node2 ~]# history -w
  1. 命令别名alias unalias
    查看系统内置的别名
[root@node2 ~]# 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 rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@node2 ~]# 

一次性设置别名

[root@node2 ~]# alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
[root@node2 ~]# wk
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=0e24ffd7-3fe6-4383-a28c-d8704cf3b373
DEVICE=ens32
ONBOOT=yes
IPADDR=10.0.0.201
PREFIX=24
GATEWAY=10.0.0.254
DNS1=114.114.114.114
IPV6_PRIVACY=no

取消别名(一次性)

[root@node2 ~]# unalias wk

永久设置或者取消别名需要修改~/.bashrc文件

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
#添加或删除别名。
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
上一篇下一篇

猜你喜欢

热点阅读