Linux————bash的简单使用

对于一个操作系统来说,shell相当于内核kernel外的一层外壳,作为用户接口。
一般来说,操作系统的接口分为两类:
CLI:command line interface命令行接口
常见的有:sh  csh  ksh  zsh bash tcsh
GUI:graphical user interface 图形化用户接口
常见的有:Gnome  KDE  Xfce

bash及其特性:

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

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

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

使用:

命令行编辑:
    光标跳转:

        Ctrl + a:跳到命令行行首
Ctrl + e:跳到命令行行位
Ctrl + d:删除光标所在字符
Ctrl + u:删除光标到命令行首的所有字符
Ctrl + k:删除光标到命令行尾的所有字符
Ctrl + l:清屏
在使用模拟终端时,使用Ctrl加左右箭头,可以一次跳过一个单词

命令历史:
    bash会自动记录过去执行的命令,并缓存进内存。
   
    查看命令历史:history
    -c:清空命令历史
    -d + 偏移量n m:删除从第n个命令开始的m个字符,m默认为1
    -w:保存命令历史到历史文件

用户正常退出,内存中的命令历史会被保存到用户家目录中的bash history文件中
这是一个隐藏文件,bash history保存的历史命令数量是有限的,默认为1000

HISTSIZE:一个环境变量,表示命令历史缓冲区大小
     
命令历史的使用技巧:

    !n:显示并执行的第n条命令
!-n:执行命令历史中的倒数第n条命令
!!:执行上一次执行的命令
! + "":执行命令历史中的最近一个以指定字符串开头的命令
!$:引用上一个命令的最后一个参数

命令补全
    在命令路径下,在给出的字符串可以唯一表示该命令,按一下Tab键,会自动将命令补全
    如果不能唯一表示,则按两下Tab键,可以将以给出字符串开头的所有命令全部列出。

路径补全和命令补全类似

命令别名:
alias:设置命令别名
alias NAME = COMMAND [option],相当于变量赋值。
只能在当前shell声明周期中有效

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

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

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

命令替换:
将命令中的某个子命令替换为它的执行结果。
表示形式:
COMMAND $(子命令)
COMMAND `字命令`  注意,此处是反引号而不是单引号。

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

文件通配:globbing

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

Linux bash介绍与使用的更多相关文章

  1. 01 Linux入门介绍

    一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...

  2. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  3. Linux入门介绍

    Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以 ...

  4. 【转】Linux(BASH)命令搜索机制

    原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...

  5. Linux Bash脚本编程语言中的美学与哲学

    我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨Bash脚本语言中的美学与哲学. 这不是一篇Bash脚本编程的教程,但是却能让人更加深入地了解Bash脚本编程,更 ...

  6. Linux SELinux 介绍详解

    Linux SELinux 介绍详解 SElinux 简介 SElinux (Security Enhanced Linux)是由美国国家安全局(NSA)开发的.它已被植入到了Linux系统的内核当中 ...

  7. Linux Bash编程

    在Linux系统介绍中,介绍了shell的多个版本,现在的Linux发行版基本都默认使用bash(Bourne Again shell),兼容Bourne shell (sh),本文将简要介绍Bash ...

  8. 转: windows 10使用原生linux bash命令行

    转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...

  9. Linux Bash代码 利用for循环实现命令的多次执行

    Linux Bash代码 [yuanhao15@lu01 libsvm-rank-2.81]$ for ((i=0; i<=19; i++)) do ./svm-train -s 5 -c 10 ...

随机推荐

  1. java session cookie的使用

    Cookie; Session; URL重写; cookie在J2EE项目中的使用,Java中把Cookie封装成了java.servlet.http.Cookie类.每个Cookie都是该Cooki ...

  2. 【简●解】[ZJOI2005]午餐

    [简●解][ZJOI2005]午餐 [关键词] \(DP\) 排序/贪心 [分析] 首先,一个很明显的贪心思路,就是吃的慢的人先打饭.所以把数据按吃饭时间从大到小排一遍序. 根据\(dp\)的尿性,比 ...

  3. bzoj 1051 受欢迎的牛-tarjan

    https://www.lydsy.com/JudgeOnline/problem.php?id=1051 如果A喜欢B,那么A->B连边,那么整个图储存下来,如果有好多个牛是受欢迎的,那么他们 ...

  4. [MVC]View

    /Views/_ViewStart.cshtml 文件会在其他视图文档被加载之前被载入,代码如下: @{ Layout = "~/Views/Shared/_Layout.cshtml&qu ...

  5. Android开发——查询/杀死手机里正在运行的进程

    0. 前言 以前有同学好像做过一个叫"自习君"的App,开启后自动检测用户这一天的自习时间,在学校里宣传广告还打了不少.其实实现原理非常简单,在SQlite数据库(也可以通过文件) ...

  6. python编程之API入门: (二)python3中使用新浪微博API

    回顾API使用的流程 通过百度地图API的使用,我理解API调用的一般流程为:生成API规定格式的url->通过urllib读取url中数据->对json格式的数据进行解析.下一步,开始研 ...

  7. python024 Python3 实例

    Python3 实例 以下实例在 Python3.4.3 版本下测试通过: Python Hello World 实例 Python 数字求和 Python 平方根 Python 二次方程 Pytho ...

  8. 2016上海站EC-final总结!

    2016上海站EC-final总结 本想在知乎上发起一个话题:没有半点准备实力菜得抠脚的选手突然有机会参加final是什么体验.不过感觉这样太高调了,于是..... 以上说的就是事实,毫无准备.毫无状 ...

  9. Oracle 释放过度使用的Undo表空间

    故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃: 问题分析:产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况: ...

  10. hdu 3371

    #include<stdio.h> #include<stdlib.h> #define N 501 struct node { int x,y,dis; }road[N*N] ...