Linux——bash的简单使用

bash及其特性:

1、bash实质上是一个可执行的程序,一个用户的工作环境。

2、每一个shell下可以再打开一个shell,新打开的shell称为子shell,每一个shell之间相互独立。

3、可以使用pstree命令查看当前shell下的子shell个数

使用:

1、光标跳转:

  Crtl + a : 跳到命令行行首

  Crtl + e : 跳到命令行行尾

  Crtl + d : 删除光标所在字符

  Crtl + u : 删除光标到命令行行首的字符

  Crtl + k :删除光标到命令行行尾的字符

  Crtl + l : 清屏

  Crtl + "左/右箭头" : 跳过整个单词

2、命令历史

  bash会自动记录过去执行的命令,并缓存进内存。

  查看历史命令: history

  清空历史:-c

  删除从第n个命令开始的m个字符,m默认为1:-d + n m

  保存命令历史到历史文件:-w

  显示并执行第n条命令: !n

  执行历史命令中倒数第n条命令:! -n

  执行上一条命令: !!

  执行命令历史中的最近一个以指定字符串开头的命令:!+"",例如之前有一条命令:source /etc/profile ,想再次执行时只需: ! source 即可。

  引用上一个命令的最后一个参数: !$

  当用户正常退出时,内存中的命令历史会被保存到用户目录中的bash history文件中,这是一个隐藏文件,bash history保存的历史命令数量是有限的,最大为1000条,HISTSIZ 这是一个环境变量,表示命令历史缓存区大小。

3、命令别名

  alias设置命令别名,例如 alias cls= 'clear'

  alias NAME = COMMAND [option] 相当于变量赋值。只能在当前shell声明周期内有效,要想永久生效,需修改root下的.bashrc 文件,vi /root/.bashrc 然后把 alias cls= 'clear' 添加进去,再执行命令 souce /root/.bashrc(是修改立即生效) 即可。

  alias : 查看所有已经定义的命令别名

  ualias : 取消已经定义的命令别名

  如果加一个命令别名与一个命令的名称相同,则使用时shell下运行的是该别名表示的命令,如果想要使用原命令,则使用\COMMAND表示命令本身。

4、命令替换

  将命令中的某个子命令替换为它的执行结果

  表示形式:command $(子命令) ,command `子命令` 此处是单反引号而不是单引号

  bash支持的引号:` ` 反引号,用于命令替换。" " 双引号,弱引用,可以实现变量替换。' ' 单引号,强引用,不能实现变量替换。

5、文件通配   

  * 用于表示任意长度的任意字符串,任意长度包括0
  ? 用于表示任意单个字符
  [] 匹配任意指定范围内的任意单个字符串
  [:space:]表示空白符号
  [:punct:]表示标点符号
  [:lower:]表示小写字母
  [:upper:]表示大写字母
  [:alpha:]表示所有大小写字母
  [:digit:]表示数字
  [:alnum:]表示数字和字母
  [^] 表示匹配任意指定范围外的单个字符

时间

#!/bin/bash
time=$(date "+%Y年%h%d日%H时%M分%S秒")
echo "hello world !开始执行 ${time}"

Linux中bash的一些命令的更多相关文章

  1. [转]linux中强大的screen命令

    [转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...

  2. Linux中W与Who命令的使用

    踢掉一个从某个终端连上的用户pkill -kill  -t pts/0 ---------------------------------------------------------------- ...

  3. 【日常小记】linux中强大且常用命令:find、grep【转】

    转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...

  4. Linux 中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:    find命令        f ...

  5. 【转载】Linux中强大且常用命令:find、grep

    转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...

  6. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  7. linux中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们. 本文结构如下: find命令 find命令的一般形 ...

  8. Linux中find、grep命令详细用法

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...

  9. Linux中rz和sz命令用法详解

    http://www.111cn.net/sys/linux/67810.htm 在linux中rz 和 sz 命令允许开发板与主机通过串口进行传递文件了,下面我们就来简单的介绍一下rz 和 sz 命 ...

随机推荐

  1. [Firefox附加组件]0003.弹出对话框

    Firefox中使用面板(panel)模块来显示弹出对话框,面板的内容通过HTML编写.你可以在面板上运行content script,尽管在面板里的脚本无法直接访问插件代码,但是你可以在面板脚本和插 ...

  2. [Objective-C] 019_UIVIewController

    UIViewController是iOS程序中的一个重要组成部分,对应MVC设计模式的C,它管理着程序中的众多视图,何时加载视图,视图何时消,界面的旋转等. 1.UIViewController 创建 ...

  3. Spring_配置Bean & 属性配置细节

    1.Spring容器 在 Spring IOC 容器读取 Bean 配置创建 Bean 实例之前, 必须对它进行实例化. 只有在容器实例化后, 才可以从 IOC 容器里获取 Bean 实例并使用.Sp ...

  4. git status 命令详解

    git status命令表示:文件,文件夹在工作区,暂存区的状态,下图就是文件,文件夹三种状态: Changes to be committed: (use "git restore --s ...

  5. PAT1090 危险品装箱 (25分) ——值得留意的map用法(int型与vector型的关联)

    1090 危险品装箱 (25分)   集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里.比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸. 本题给定一张不相容物品的清单,需要你 ...

  6. Spring boot Sample 003之spring-boot-configuration-properties

    一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 通过properties文件配置spring boot 属性文件 三.步骤 3.1.点击File -> New Pro ...

  7. Java并发编程 (十) 多线程并发拓展

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.死锁 1.死锁的定义 所谓的死锁是指两个或两个以上的线程在等待执行的过程中,因为竞争资源而造成的一种 ...

  8. Java实现 LeetCode 739 每日温度(暴力循环)

    739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temper ...

  9. Java实现 LeetCode 396 旋转函数

    396. 旋转函数 给定一个长度为 n 的整数数组 A . 假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的"旋转函数" F 为: F(k) = 0 * B ...

  10. Java实现 LeetCode 330 按要求补齐数组

    330. 按要求补齐数组 给定一个已排序的正整数数组 nums,和一个正整数 n .从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums ...