Bash概述
2020-07-30 20:21
701 查看
文章目录
1.Bash介绍
bash shell是一个命令解释器,负责跟系统的内核进行交互,在操作系统的最外层 bash能干什么 针对于操作系统 文件管理 目录管理 权限管理 用户管理 应用管理 软件管理 磁盘管理 网络管理 等等 执行方式: 命令执行 操作简单 针对简单的管理操作 脚本 script 操作复杂 操作一些复杂性比较大的操作
2.Bash特性
一.Tab键补全
#需要安装制定的软件包 重启生效 #yum install -y bash-completion 1. 命令补全 2. 选项补全 3. 参数补全 路径补全 #命令补全 [root@CentOS7 ~]# user #命令补全 useradd userdel usermod usernetctl users [root@qls ~]# s Display all 195 possibilities? (y or n) #以s开头的命令共有195个,是否显示 y 显示 n 不显示 #选项补全 [root@CentOS7 ~]# ls -- --all --indicator-style= --almost-all --inode --author --kibibytes --block-size= --lcontext #参数补全 文件或者目录的路径补全 [root@CentOS7 ~]# ls /etc/sysconfig/network-scripts/ifcfg- ifcfg-eth0 ifcfg-lo
二.命令行快捷键
#命令行快捷键 主要通过xshell secureCRT实现的 Ctrl + l #清除当前屏的内容 clear Ctrl + d #退出当前登录的用户 Ctrl + c #取消当前的操作 cancel Ctrl + a #将光标移动到当前行的行首 Ctrl + e #将光标移动到当前行的行尾 Ctrl + u #将当前光标到行首的内容进行剪切 Ctrl + y #粘贴当前粘贴板上面的内容 Ctrl + k #将当前光标到行尾的内容进行剪切 Delete键 #从前往后删除一个字符 Ctrl + r #搜索最近一次包含某个命令的指令 Ctrl + s #锁屏 输入内容不显示 危险 Ctrl + q #解锁 Ctrl + ←键 #将当前光标向左移动一组字符串,以空格为分隔符 Ctrl + →键 #将当前光标向右移动一组字符串,以空格为分隔符 Ctrl + w #删除当前光标向前一组字符串,以空格为分隔符 #以 ! 开头 ! #执行上一条所执行的指令 !ls #执行最近一次以ls开头的指令 Esc + . #获取上一条指令的参数或者内容
三.(1)alias 设置别名
[root@CentOS7 ~]# alias 别名='真实命令' [root@CentOS7 ~]# 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@CentOS7 ~]# alias baidu='ping baidu.com' #查看是否设置成功 [root@CentOS7 ~]# 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 baidu='ping baidu.com' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' #测试别名 [root@CentOS7 ~]# baidu PING baidu.com (39.156.69.79) 56(84) bytes of data. 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=33.5 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=56.9 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=128 time=31.0 ms 64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=128 time=29.3 ms ^C --- baidu.com ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5009ms rtt min/avg/max/mdev = 29.371/34.999/56.991/9.945 ms #让别名永久生效 把设置别名的命令写入到下面的文件中 [root@CentOS7 ~]# ls /etc/bashrc /etc/bashrc #针对整个系统所有用户的,为每一个运行bash shell的用户执行此文件 当bash shell被打开时,该文件被读取 [root@CentOS7 ~]# ls ~/.bashrc /root/.bashrc #是针对特定用户的,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次 #实现永久生效 [root@CentOS7 ~]# echo echo "alias baidu='ping baidu.com'" >>/etc/bashrc #将其配置文件重新加载生效 [root@CentOS7 ~]# source /etc/bashrc #退出重新登录测试 依然生效
三.(2)unalias 取消别名
unalias #取消别名 临时生效,退出既失效 #取消别名 [root@CentOS7 ~]# unalias baidu [root@CentOS7 ~]# 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@CentOS7 ~]# \baidu -bash: network: command not found #取消永久生效 [root@CentOS7 ~]# sed -i '/baidu/d' /etc/bashrc #退出重新登录测试,别名已取消
四.history 历史记录
history #查看历史执行过的命令 选项: -w # 保存历史命令到文件 ~/.bash_history -d # 删除指定ID的历史记录 -c # 清理历史命令 !num # 执行ID对应的指令 [root@CentOS7 ~]# history 1 ip a 2 ip a 3 cd 4 ll 5 ls -a [root@CentOS7 ~]# history | grep ip #查询以ip开头的历史记录 1 ip a 2 ip a [root@CentOS7 ~]# history -w #将当前的历史记录写入到默认的文件中 ~/.bash_history [root@CentOS7 ~]# history -d 2 #删除历史ID为2的记录 [root@CentOS7 ~]# history -c #清空历史记录 [root@CentOS7 ~]# history 1 ip a 2 ip a 3 cd 4 ll 5 ls -a [root@CentOS7 ~]# !4 #执行历史ID为4的指令 ll total 4 -rw-------. 1 root root 1458 Jul 6 09:34 anaconda-ks.cfg
相关文章推荐
- 【Linux学习笔记】24:Bash变量概述
- Shell基础之Bash的变量——变量概述、自定义变量(本地变量)、环境变量、位置参数变量、预定义变量(预定义变量和接收键盘输入)
- shell 与bash 之概述
- Shell脚本编程概述(四):bash内置字符处理工具
- BASH系列之一shell概述
- (转)ASP.NET 应用程序生命周期概述
- Linq To Xml学习 - 1.LINQ to XML 概述
- 集成IS-IS概述和术语
- 01.XML概述---目录
- 【问题解决】syntax error: unexpected end of file或-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No
- 索引的概述
- Spark PG1. 概述,连接Spark, 初始化,一些命令参数
- 跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)
- Android系统的5层架构简单概述
- 《Oracle Java EE编程指南》17:Ajax概述
- HTTP请求头概述(HttpServletRequese)
- BASH (1) 简单介绍
- 分布式视频编码概述与应用(来自百度百科)和Wyner-Ziv Coding算法
- 加密解密概述及openssl应用及其创建CA和签发证书的实现
- Linux基础:Linux(BASH)命令执行和搜索机制