简单理解bash和常规操作

Posted tea-melon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单理解bash和常规操作相关的知识,希望对你有一定的参考价值。

1. 什么是bash?

Bash shell是一个命令解释器,它是操作系统的外壳程序,负责处理用户命令与操作系统内核之间的交互,当用户输入一个命令并执行时,shell会把命令解释并传递给内核,然后再把内核输出返回给用户,我们通过SSH远程连接linux系统时,Linux系统会自动打开一个默认的shell,如图是CentOS 7系统默认的shell,图中也显示了bash shell的版本信息。

技术图片

2. Bash能做什么?

大部分的Linux系统管理等事务都是在bash里处理

bash shell 可以做:
文件管理
权限管理
用户管理
磁盘管理
网络管理
软件管理...等等

3. Bash的执行方式?

bash 主要有两种命令执行的方式:

1.交互模式,命令以单条交互式执行,如图:

技术图片

2.编写shell脚本文件,通过预编辑好的脚本文件批量执行命令,如图是一个完整的shell脚本可执行文件,图中的脚本可以产生指定名称指定行数的文本文件

技术图片

4. Bash提示符各字段的释义,如图:

技术图片

注: 默认情况下,超级管理员(root)的标识符是符号‘‘#‘‘,普通用户为‘‘$‘‘,如果用户更改了环境变量“PS1”的值的话,其标识符最终显示可能有所不同。

5. Bash语法:

Command [-options...] [args]

命令 选项 参数

命令:一些具有特定功能的可执行文件(二进制可执行文件、脚本等)

选项:执行特定功能和操作所需要用户向命令传递的选项,命令通过此项可实现一些特定的功能

参数:命令所需的其他命令行参数(文件、路径等);如下图展示了‘ls’命令的一些常见用法及选项参数

下面是ls命令的一些常用操作:

1.列出当前目录下的文件

ls

技术图片

2.列出当前目录下的所有文件

ls -a

技术图片

3.列出当前目录下文件的详细信息

ls -l

技术图片

4.可以组合选项的方式执行命令

ls -la

技术图片

5.长格式选项

ls -all

技术图片

6.显示指定目录下的文件,选项后跟随命令行参数

ls -la /usr                                     #指定了要查看的目录

技术图片

注: 组合选项并不适用于所有命令;使用长格式选项与短格式选项取决于所使用的命令是否支持长格式选项以及用户的习惯,推荐短格式。方便易记!

6. Bash shell的特性

在输入长参数时,单靠一个词一个词的拼是慢且没效率的,使用TAB键的自动补全功能可以使我们输入参数或命令更快速、便捷!(尤其是遇到文件名很长的时候,这点尤为重要)但通常我们要给它提供足够的线索,补全功能才会生效,如果目录下具有较多类似文件时,按两次TAB键还可列出备选结果,如图:

技术图片

Bash shell有很多的快捷键,这些快捷键可以使我们的键入速度更快、更便捷!如图是一些常用的快捷键:
快捷键 作用
Ctrl+a 光标移到最左侧
Ctrl+e 光标移到最右侧
Ctrl+l 清屏(类似命令clear)
Ctrl+u 清除光标前的内容
Ctrl+k 清除光标后的内容
Ctrl+d 登出当前终端,断开会话(logout、exit)
Ctrl+c 结束当前运行的任务
Ctrl+w 按单词清除内容
Ctrl+z 挂起当前运行的任务
Ctrl+r 搜索已执行的命令

注: 命令前加‘‘#‘‘号可注释当前命令,回车后是不会执行的;输入一个命令按ESC键后按‘‘.‘‘可显示上一条命令的参数。

要查看命令执行的历史纪录,可使用history命令

history                                     #列出命令执行历史记录

技术图片

‘‘!+[numbers]‘‘"i+[string]" 语句可再次执行序号对应的命令

“!!” 可快速执行历史记录最后一条命令

history -w                          #将历史记录导出到.bash_history文件
history -c                          #清除命令执行的历史记录
history -d [number]                 #删除历史记录里指定行的记录

有些常用命令在使用时具有很多参数,输起来略有不便,可以使用alias命令添加别名,如图显示了系统自己创建的别名:

alias pdb='ping www.baidu.com'          #创建了ping www.baidu.com的别名

执行结果:

技术图片

alias                                   #不加参数执行时可显示系统和用户预定义的别名信息

执行结果:

技术图片

当需要解除某项别名时,可以用unalias命令解除别名。

unalias [name]                              #解除某项别名

执行结果:

技术图片

注: alias命令添加的别名只对当前会话有效,对其他会话无效,用户登出或重启后就失效了,若想使自定义的别名永久生效,可使用vim编辑器编辑/etc/bashrc文件,编辑后,重新登陆生效。

vim /etc/bashrc

技术图片

在不知道命令参数和格式时可用“[command] –help”查询帮助信息;也可用“man [command]”查看命令的完整手册了解命令相关信息,如图:

cat --help                                      #使用--help查看cat命令帮助

技术图片

man ls                                          #使用man查看ls指令的完整手册

技术图片

注: 可使用上、下、左、右、空格、回车键移动和翻页,按“q"可退出。

7. 扩展

给CentOS 7 系统更换国内的源

1.备份系统默认的源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
#其实是改名操作

技术图片

2.从任意开源镜像站下载配置文件,或直接用vim新建CentOS-Base.repo文件,将地址更新进去,这里以阿里开源镜像站的源为例:

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#或者使用
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

技术图片

3.执行yum makecache生成缓存

yum makecache

技术图片

以上是关于简单理解bash和常规操作的主要内容,如果未能解决你的问题,请参考以下文章

git bash 常规操作

sh Bash的代码片段

安全测试 web安全测试 常规安全漏洞 可能存在SQL和JS注入漏洞场景分析。为什么自己没有找到漏洞,哪么可能存在漏洞场景是?SQL注入漏洞修复 JS注入漏洞修复 漏洞存在场景分析和修复示例(代码片段

bash和mysql的代码一个低成本实用性能高的日志审计方案

ubuntu /bash 下递归重命名文件和目录

将片段显示为对话框或常规活动