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                                      #显示全部文件及详细信息

ls -lr                                      #以文件夹名倒序显示详细信息

ls -lt                                      #以文件修改时间显示详细信息

5.长格式选项

ls -all

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

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

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

6. Bash shell的特性

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

注: 如果命令选项无法补全或无法显示备选时,可能时系统没有安装 bash-completion 这个包,可以执行yum install bash-completion -y 来安装,安装完成重新登陆终端即可!

Bash shell有很多的快捷键,这些快捷键可以使我们的键入速度更快、更准确!如图是一些常用的快捷键:
快捷键 作用
Ctrl+a 光标移到最左侧
Ctrl+e 光标移到最右侧
Ctrl+l 清屏(类似命令clear
Ctrl+u 清除光标前的内容
Ctrl+k 清除光标后的内容
Ctrl+d 登出当前终端,断开会话(logoutexit
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

转载于:https://www.cnblogs.com/tea-melon/p/10627692.html

简单理解bash和常规操作相关推荐

  1. python如何从一个dataframe提取相应的行组成一个新的dataframe_Python|专题(1)——数据处理常规操作集(1)...

    大家好!好久不见!适逢国庆,先祝我亲爱的祖国七十周年生日快乐! 这一系列文章是针对最近在实习中做的一些数据预处理操作的整理.我们希望通过它们,带领大家了解和熟悉一些python做数据清洗,数据整合等的 ...

  2. 对cpu和内存的简单理解

    对cpu和内存的简单理解 1.前端总线: cpu利用总线来跟内存,硬盘,输入输出设备等进行数据交流 总线:总线就是一根根导线的集合 总线的种类: 数据(进行传输的数据),地址(地址进行寻址操作),控制 ...

  3. android 点击事件消费,Android View事件分发和消费源码简单理解

    Android View事件分发和消费源码简单理解 前言: 开发过程中觉得View事件这块是特别烧脑的,看了好久,才自认为看明白.中间上网查了下singwhatiwanna粉丝的读书笔记,有种茅塞顿开 ...

  4. 图像腌膜Mask的常规操作你真的信手拈来吗?

    点击上方↑↑↑"视学算法"关注我 来源:公众号 行走的机械人 授权 我对图像腌膜的含义一直有些模糊,今天写了几行代码,证明了我这模糊的印象倒是正确的.今天借一个给图片添加水印的小例 ...

  5. 网工的常规操作:配置动态NAT

    网工常规操作:配置动态NAT 实验目的 1. 理解动态NAT的转换原理 2. 掌握动态NAT的配置方法 实验拓扑 实验需求 1. 根据实验拓扑图,完成设备的基本配置: 2. 在R2上创建Loopbac ...

  6. linun——SElinux的简单理解

    SElinux简单理解 一.什么是SElinux? SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Co ...

  7. git pull 是到工作区还是暂存区_每天一Git之简单理解工作区和暂存区

    每天一Git之简单理解工作区和暂存区 1. 工作区与暂存区命令初体验 1.1. 暂存区文件与文件夹管理 [root@number ~]# cd GitDir/git_learning/ [root@n ...

  8. QGraphicsScene 的简单理解--关于手册的简要翻译

    文章目录 QGraphicsScene 的简单理解--关于手册的简要翻译 简介: 一般操作: 关于scene's bounding rect: the location of items. scene ...

  9. QTextStream 的简单理解

    文章目录 QTextStream 的简单理解 QTextStream类提供了使用QIODevice读写文本的基本功能. 还有一种通常的用法就是控制台命令的读写 除了QTextStream的构造函数,还 ...

最新文章

  1. 收藏版超全机器学习资料合集
  2. 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
  3. foreach和IEnumerable+yield和IEnumerator
  4. gitlab修改用户密码_CRM用户模块(用户密码修改)
  5. Windows Server 2016多用户同时登录远程桌面
  6. 力扣题目——118. 杨辉三角
  7. 约束最优化方法 (三) 外部罚函数法
  8. 很多人已经不会用WINDOWS的命令行、DOS命令了
  9. OCR之Tesseract安装
  10. Unite Beijing 2018 | 技术专场部分精彩议题曝光
  11. bootstrap4 调整元素之间距离 margin 和padding
  12. 浅谈iPhone OS(iOS)架构
  13. TCP Data Flow and Window Management(1)
  14. 图像加噪与滤波【C#】
  15. 开发平台的优势在哪?
  16. 想要专升本你不得不看的全干货_吐血整理_专升本_计算机文化基础(一)
  17. 系统中有多个生产者进程和多个消费者进程,共享一个能存放1000件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;
  18. HBase配置web界面
  19. 重庆理工大学计算机学院学概率论,重庆理工大学概率论与数理统计参考附标准答案(a)...
  20. 一分钟速看:《永不止步的云上创新》——蒋江伟

热门文章

  1. mysql如何修改开启允许远程连接
  2. 求一个正整数是由哪几个连数(连续的正整数)相加
  3. [react] 在React中你有经常使用常量吗?
  4. 重学java基础第十八课:卸载jdk和安装jdk
  5. 重学java基础第十六课:jdk jre jvm
  6. 前端学习(3317):connect 2
  7. React开发(119):代码原因
  8. Taro+react开发(17)--注意编译
  9. 工作199:获取接口token
  10. 前端学习(2678):懂代码之表格BaseTable编辑操作