命令补全: tab

shell程序在接收到用户执行命令的请求,分析完成后,最左侧的字符串会被当做命令

命令查找机制:

查找内部命令:

根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名

给定的打头字符如果能唯一标识某命令文件程序,则直接补全

给定的打头字符如果不能唯一标识某命令文件程序,在一次tab,会给出列表

路径补全:tab

在给定的起始路径下,以对应路径下的打头字串来逐一匹配其实路径下的每个文件

如果能唯一标识,则直接补全

否则,再一次tab,给出列表

双击Tab:

/2Tab  显示所有根目录下一级目录,包括隐藏目录

./2Tab  当前目录下子目录,包括隐藏目录

*2Tab  当前目录下子目录,不包括隐藏目录

~2Tab  所有用户列表

$2Tab  所有变量

@2Tab  /etc/hosts记录   (CentOS7不支持)

=2Tab  相当于ls –A  (CentOS7 不支持)

mkdir:新建一个目录

mkdir -p:自动按需创建父目录

-v:显示详细过程

-m:直接给定权限

注意:路径基名方为命令的作用对象,基名之前的路径必须得存在

rmdir: 删除目录

rmdir -p:删除某目录后,如果其父目录为空,则一并删除

-v:显示过程

命令行展开:

~:自动展开为用户的家目录,或指定的用户的家目录

{}: 可承载一个以逗号分隔的路径列表,并能够将其展开多个路径

例如:/tmp/{a,b}相当于 /tmp/a /tmp/b

命令的执行状态结果:

bash通过状态返回值来输出次结果

成功:0

失败:1-255

命令执行完成后,其状态返回值保存于bash的特殊变量$?中

引用:

强引用:''

弱引用:""

命令引用:``

 

bash快捷键:

Ctrl + l  清屏,相当于clear命令

Ctrl + c  终止命令

Ctrl + s  锁定屏幕

Ctrl + q  解锁

Ctrl + a  光标移到命令行首,相当于Home

Ctrl + e  光标移到命令行尾,相当于End

Ctrl + u  从光标处删除至命令行首

Ctrl + k  从光标处删除至命令行尾

cp命令:copy

单源复制:cp [OPTION]... [-T] SOURCE DEST

如果DEST不存在:则事先创建次文件,并复制源文件的数据流至DEST中

如果DEST存在:

如果DEST是非目录文件:则覆盖目标文件

如果DEST目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流

多源复制:cp [OPTION]... SOURCE... DIRECTORY

如果DEST不存在: 错误

如果DEST存在:

如果DEST是非目录文件:错误

如果DEST是目录文件:分别复制每个文件至目录中,并保持原名

cp  [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i:交互式复制,即覆盖前提醒用户确认

-f:强制覆盖目标文件

-r:递归复制目录

history:命令行历史

命令历史一般记录在.bash_history文件中,默认记录1000条

当前shell中的历史记录会被记录在内存中,只有退出之后才会保存在.bash_history中

-c:清空命令历史

-d offset:删除历史中指定的第offset个命令

n:显示最近的第n条历史

-a:追加本次会话新执行的命令历史列表至历史文件

-n:读历史文件中未读过的行到历史列表

-r:读历史文件附加到历史列表

-w:保存历史列表到指定的历史文件

-p:展开历史参数成多行,但不存在历史列表中

-s:展开历史参数成一行,附加在历史列表后

HISTSIZE 修改history存储条数

HISTFILE 指定历史文件的存放位置,默认为~/.bash_history

HISTFILESIZE 指定历史文件的命令的存储条数

HISTTIMEFORMAT="%F %T"  显示每条命令的具体执行时间

HISTIGNORE="str1:str2"  把某些命令敏感的字符串给屏蔽掉不予显示

控制命令历史记录方式:

环境变量:HISTCONTROL

ignoredups  默认,忽略重复的命令,连续且相同为“重复”

ignorespace 忽略所有以空白开头的命令

ignoreboth  相当于ignoredups, ignorespace的组合

erasedups   删除重复命令

!n:执行history命令历史输出对应序号n的命令

!n:执行history历史中倒数第n个命令

Linux上bash的部分基础特性:的更多相关文章

  1. Linux上安装MySQL及其基础配置

    本文主要介绍Linux下使用yum安装MySQL,以及启动.登录和远程访问MySQL数据库. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | gr ...

  2. Linux上启动Cron任务

    cron是一个Linux下的定时执行工具,无需人工干预,与quartz上的cron表达式稍有不同.由于cron是Linux上的内置基础服务,并不是所有服务器都是默认启动该服务的,如果没有启动可以使用下 ...

  3. linux文件系统及bash基础特性

    linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...

  4. 自学Linux Shell19.1-gawk程序基础特性

    点击返回 自学Linux命令行与Shell脚本之路 19.1-gawk程序基础特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. gawk概念 awk是一个强大的文本分析工具 ...

  5. 自学Linux Shell18.1-sed编辑器基础特性

    点击返回 自学Linux命令行与Shell脚本之路 18.1-sed编辑器基础特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. sed概念 sed是stream edito ...

  6. linux基础(2)-基础命令和基础特性

    基础命令 命令历史 命令历史的管理 登陆 shell 时,会读取命令历史文件中记录下的命令: ~/.bash_history . 登陆进 shell 后,新执行的命令只会记录在缓存中,这些命令会在用户 ...

  7. Linux 上的基础网络设备详解

    抽象网络设备的原理及使用 网络虚拟化是 Cloud 中的一个重要部分.作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理.用法.数据流向.您通过此文,能够知道如何使用 Linux 的 ...

  8. bash基础特性3(shell编程)

    Linux上文本处理三剑客: grep:文本过滤工具 sed:stream editor,文本编辑工具 awk:文本报告生成器 grep -v:显示不能够被pattern匹配到的行 -i:忽略字符大小 ...

  9. [转] TCP/IP原理、基础以及在Linux上的实现

    导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open syst ...

随机推荐

  1. ConversionService接口

    spring已经为我们提供了一个既可以使用GenericConversionService,又可以注入Converter的类,那就是ConversionServiceFactoryBean.该类为我们 ...

  2. linuxCentOs6前期简单且必要的设置

    1.修改主机名 Sudo vi /etc/sysconfig/network(需要重启) Hostname master (不需要重启,设置当前主机名为master) Hostname查看当前主机名 ...

  3. 老李推荐:第6章3节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-命令翻译类

    老李推荐:第6章3节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-命令翻译类   每个来自网络的字串命令都需要进行解析执行,只是有些是在解析的过程中直接执行 ...

  4. UILabel的讲解

    首先,我先自定义几个名词,方便接下来的讲解工作.如下图所示: 接下来,通过五个方面来讲解我们能对UILabel做出哪些改变或者称之为设置: 1.文字 1.1普通文字:内容text.字体大小font.字 ...

  5. Redis基础学习(五)—Redis的主从复制

    一.概述     Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件全量传输给slave,然后再将dump后的操作实时同步到slave中.让从服务 ...

  6. WebGL 创建和初始化着色器过程

    1.编译GLSL ES代码,创建和初始化着色器供WebGL使用.这些过程一般分为7个步骤: 创建着色器对象(gl.createBuffer()); 向着色器对象中填充着色器程序的源代码(gl.shad ...

  7. 微信小程序入门学习

    前(che)言(dan): 近几天,微信小程序的内测引起了众多开发人员的热议,很多人都认为这将会成为一大热门,那么好吧,虽然我是一个小白,但这是个新玩意,花点时间稍稍钻研一下也是无妨的,谁让我没有女朋 ...

  8. J2SE之基础语法总结一

    1.标识符: (1)简单来说凡是可以起名字的地方都叫标识符,起标识符的时候要见名知意. (2)标识符由字母.数字.美元符$和下划线组成,标识符应以字母.下划线.$开头,注意不能以数字开头. (3)ja ...

  9. UITableView grouped样式使用探索

    UITableView的style有plain和grouped两种样式,两种样式各有不同的风格和功能,plain样式已经封装好了悬停功能,gouped样式则为我们在区头和区尾在实际项目开发中需要我们选 ...

  10. tmux简要介绍

    什么是tmux tmux全称terminal multiplexer,是一个终端复用软件.它可以帮助我们方便地管理多个终端会话. 下面介绍tmux中涉及到的一些名词 window 窗口 pane 窗格 ...