简单理解bash和常规操作

1. 什么是bash?

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

image001.png

2. Bash能做什么?

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

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

3. Bash的执行方式?

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

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

image003.png

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

image005.png

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

image007.png

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

5. Bash语法:

Command [-options...] [args]
命令- 选项- 参数
命令:一些具有特定功能的可执行文件(二进制可执行文件、脚本等)

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

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

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

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

ls

image009.png

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

ls -a

image011.png

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

ls -l

image013.png

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

ls -la                                      #显示全部文件及详细信息

image015.png

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

day2-ls-lr.png

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

day2-ls-lt.png

5.长格式选项

ls -all

image017.png

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

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

image019.png

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

6. Bash shell的特性

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

image021.png

注: 如果命令选项无法补全或无法显示备选时,可能时系统没有安装 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                                     #列出命令执行历史记录

image023.png

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

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

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

有些常用命令在使用时具有很多参数或参数较长,输起来略有不便,可以使用alias命令添加别名,如图:

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

执行结果:

image027.png

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

执行结果:

image025.png

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

unalias [name]                              #解除某项别名

执行结果:

image029.png

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

vim /etc/bashrc

image031.png

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

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

cat-help.png

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

cat-help.png

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

7. 其它

给CentOS 7 系统更换国内的源

1.备份系统默认的源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

image033.png

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

image035.png

3.执行yum makecache生成缓存

yum makecache

image037.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux虚拟机dhcp启动失败,Linux 的dhcp启动异常之No subnet declaration for eth1 (192.168.48.134)...

最近折腾Centos自动化安装,需要的dhcp服务,使用yum -y install dhcp安装dhcp、dhcp-common的rpm包,启动dhcp时异常报错,由于dhcp是及服务,关于dhcp启动失败可以查看操作系统日志/var/log/messages,使用serv…

Developer Express .Net 2005 V7.2.1 crack

Developer Express .Net 2005 V7.2.1破解及下载 http://www.sofitcn.net/ 破解需要注册后才能下载。不要广泛外传! 转载于:https://www.cnblogs.com/ainima/archive/2007/07/14/6331513.html

[vue] 使用vue渲染大量数据时应该怎么优化?说下你的思路!

[vue] 使用vue渲染大量数据时应该怎么优化?说下你的思路! 1.如果需要响应式,考虑使用虚表(只渲染要显示的数据); 2.如果不考虑响应式,变量在beforeCreated或created中声明(Object.f…

linux u盘 uid pid,linux下的pid文件的作用

在Linux系统的目录/var/run下面一般我们都会看到很多的*.pid文件。而且往往新安装的程序在运行后也会在/var/run目录下面产生自己的pid文件。那么这些pid文件有什么作用呢?它的内容又是什么呢?(1) pid文件的内容:pid文件为文本文件&#xff0…

学习进度第4周

时间30小时代码量2000行左右博客园2知识点 知识点&#xff1a;从最基本的jsp连接数据库学习。 List<类名> listnew ArrayList<>()&#xff1a;这就像是一个容器。能把数据储存在 list里。 ResultSet rs&#xff1a;创建rs结果集可以用来接受储存数据。 rs…

昨夜的雨图片

昨天趟着淹没到屁股的雨水回家的&#xff0c;今天才知道&#xff0c;这是一场非常可怕的暴雨.本来就吓的够戗,现在直接两腿发软&#xff0c;几欲要哭了。想想真是后怕. 朋友说&#xff0c;你可真大胆,那么大雨你也敢趟.其实不是胆大,而是我走着走着水没的越来越往上了.幸亏个子…

[vue] 你有使用过JSX吗?说说你对JSX的理解

[vue] 你有使用过JSX吗&#xff1f;说说你对JSX的理解 jsx不是一门新的语言&#xff0c;是一种新的语法糖。让我们在js中可以编写像html一样的代码。 允许XML语法直接加入到JavaScript代码中&#xff0c;让你能够高效的通过代码而不是模板来定义界面个人简介 我是歌谣&#x…

linux qtopia-2.2.0编译,qtopia-2.2.0在linux上的安装(基于mini2440)

环境&#xff1a;fedora9、ubuntu10.04x86-qtopia、arm-qtopiagcc-4.3.x、g-4.3.xarm-linux-4.3.2一、x86-qtopia的安装x86-qtopia的安装不管在哪一版本中的linux中&#xff0c;必须采用gcc-4.3.x、g-4.3.x的编译器(或以下&#xff0c;没测试过)&#xff0c;编译过程才不会莫名…

微信支付开发流程

记录下微信JSAPI支付的流程 1、判断是微信浏览器则直接请求微信授权的链接&#xff0c;需要传递给微信重定向回的页面&#xff0c;及订单id // 微信浏览器直接调用 if (this.isWeixin) {let redirectUri http://192.168.1.6/weChatwindow.location.href https://open.weixin.…

vb对数据库操作用存储过程

存储过程如下create proc sp_recordset bbb int as select * from aaa where bbb bbbvb代码如下&#xff1a; Dim cmd As ADODB.Command Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Dim ADOPrm Set ADOPrm New ADODB.Parameter Set rs New AD…

[vue] `<template></template>`有什么用?

[vue] <template></template>有什么用&#xff1f; 包裹嵌套其它元素&#xff0c;使元素具有区域性&#xff0c;自身具有三个特点&#xff1a; *隐藏性&#xff1a;不会显示在页面中 *任意性&#xff1a;可以写在页面的任意地方 *无效性&#xff1a; 没有一个根元…

linux域文件夹权限设置密码,如何配置Linux 文件权限(经典详细版本: rwxst)

在Linux中&#xff0c;Linux文件权限一共分为三种。本文将向读者展示如何正确配置Linux文件权限。三种特殊权限简介SUID当一个设置了SUID 位的可执行文件被执行时&#xff0c;该文件将以所有者的身份运行&#xff0c;也就是说无论谁来执行这个文件&#xff0c;他都有文件所有者…

ASP如何限定中英文混合的文字输出字数?

1<%2字符串截取函数&#xff0c;用于信息标题 3strWord需要截取的字符串 4intByteLength显示的字节长度&#xff0c;1个汉字两个字节 5intPadDotAmount背截取后尾部补充点的个数 6字符串截取函数&#xff0c;用于信息标题 7Function FixString()Function FixString(ByVal st…

【译】索引进阶(十一):SQL SERVER中的索引碎片【上篇】

原文链接&#xff1a;传送门。 第十章节我们分析了索引的内部结构。有了这些关于索引结构的知识&#xff0c;我们便可以分析索引碎片了&#xff1a;其产生的原因&#xff0c;如何防止&#xff0c;以及何时可以不去关注它们。 一些背景知识 / 复习 以下知识对于理解索引碎片来说…

linux备份mysql部分表数据,linux mysql 数据按表名称备份

1、按表名称备份#!/bin/bash#user#数据库用户dbuser"root"#数据库密码dbpassword"chenyong"#时间date$(date %Y%m%d)#数据库名称dbnamesungrowv3#备份数据保存的路劲url/home/test/sql/#指定数据库的所以表tables$(mysql -u$dbuser -p$dbpassword -ss -e &…

Maverick.Net介绍 (来自http://www.cnblogs.com/RicCC/archive/2006/09/17/506890.html)

Maverick.Net介绍 Maverick.Net是Java社区开源MVC Web框架Maverick的.Net版本&#xff0c;相关资料可以查看项目主页。不管Maverick.Net的是非好坏&#xff0c;了解一下它的思想还是不错的。下面的内容是对Maverick.Net整体做一个简单的介绍&#xff0c;以求能够从全局的角度了…

惊了!最通俗易懂的Djongo入门竟然在这里!

Django简介python下有多款不同的web框架&#xff0c;Django是最有代表行的一种。许多成功的网站和app都基于djanfo。django是一个开源的web应用框架&#xff0c;由python写成。django采用了MVC的软件设计模式&#xff0c;即模型M,视图V和控制器C。Django特点强大的数据库功能&a…

linux z是什么文件夹,Linux znew初学者命令实例教程

原标题&#xff1a;Linux znew初学者命令实例教程您是否知道Linux提供了一种将.Z文件重新压缩为.gz文件的方法&#xff1f; 是的&#xff0c;znew命令可以让你这样做。 在本教程中&#xff0c;我们将使用一些易于理解的示例讨论此命令行实用程序的基础知识。 但在我们这样做之前…