bash的基础特性之一

bash的基础特性之一

命令历史:shell进程会保存会话中此前用户使用过的命令;

history:命令的用法
history 【-c】【-d #】 【n】或者【文件名】
    -c:清空命令历史
    -d 【#】:删除指定的命令历史
    -r:从文件读取至历史列表
    -w:把历史列表中的命令追加到历史文件中
history # 显示最近的#条命令
命令调用:
   !#:调用历史列表中的第#条命令
   !!:再次执行上一条命令
historyd 环境变量可以定制history命令
HISTSIZE:shell进程可保留的历史条数
HISTFILE:长期保存的命令历史文件
HISTFILESIZE:命令历史文件的大小

调用上一条命令的最后一个参数:
组合键 按ESC后按.
字符串:!$

命令补全

命令补全:根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;给定的打头字符串如果能惟一标识某命令程序文件,则直接补全; 不能惟一标识某命令程序文件,再击tab键一次,会给出列表;

路径补全:

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

tab:如果能惟一标识,则直接补全;

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

命令行展开:

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

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

命令的执行状态结果:

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

成功:0

失败:1-255

失败状态返回值脚本可自定义用 exit=#(1-255)

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;命令正常执行时,有的还回有命令返回值;根据命令及其功能不同,结果各不相同

引用命令的执行结果:

$(COMMAND)
`COMMAND`

引用

    强引用:''
    弱引用:""
    命令引用:``

快捷键

    Ctrl+a:跳转至命令行行首
    Ctrl+e:跳转至命令行行尾

    Ctrl+u:删除行首至光标所在处之间的所有字符;
    Ctrl+k:删除光标所在处至行尾的所有字符;

    Ctrl+l:清屏,相当于clear

常用基本命令

alias:定义别名
    alias NAME='COMMAND'
    unalias NAME
    **注意:仅对当前shell进程有效**

which:显示shell命令的完整路径
    --skip-alias:忽略别名

whereis:查找命令的二进制程序路径
        b: 仅搜索二进制程序路径;
        -m:仅搜索使用手册文件路径;

who:显示登陆用户
    -b: 系统此次启动的时间;
    -r: 运行级别;

w:显示登陆用户及其正在运行的进程

terr:以树状格式列出目录的内容

文件查看类命令

more和less:分屏查看文件
    more FILE
    less FILE

head:查看文件的前n行
    tail [options] FILE
    -n #
    -#
    -f:查看文件尾部内容结束后不退出,跟随显示新增的行

stat:查看文件的时间戳
    stat FILE...

touch:更改文件时间戳(可创建文件)
    touch [OPTION]... FILE...
            -c: 指定的文件路径不存在时不予创建;
            -a: 仅修改access time;
            -m:仅修改modify time;
            -t STAMP
                [[CC]YY]MMDDhhmm[.ss]

文件管理工具

cp:复制

    源文件 目标文件

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

    单源复制:cp [OPTION]... [-T] SOURCE DEST
            如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
            如果DEST存在:
            如果DEST是非目录文件:则覆盖目标文件;
            如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

    多源复制:cp [OPTION]... SOURCE... DIRECTORY
             cp [OPTION]... -t DIRECTORY SOURCE...
            如果DEST不存在:错误;
            如果DEST存在:
                如果DEST是非目录文件:错误;
                如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

    常用选项:
            -i:交互式复制,即覆盖之前提醒用户确认;
            -f:强制覆盖目标文件;
            -r, -R:递归复制目录;
            -d:复制符号链接文件本身,而非其指向的源文件;
            -a:-dR --preserve=all, archive,用于实现归档;
            --preserv=
                mode:权限
                ownership:属主和属组
                timestamps: 时间戳
                context:安全标签
                xattr:扩展属性
                links:符号链接
                all:上述所有属性

mv命令:move
       mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE..         

       常用选项:
            -i:交互式;
            -f:force 强制

rm命令:remove
        rm [OPTION]... FILE...

        常用选项:
            -i:互交式
            -f:force 强制
            -r: recursive 递归

            删除目录:rm -rf /PATH/TO/DIR

原创文章,作者:N24-执念,如若转载,请注明出处:http://www.178linux.com/63993

(0)
N24-执念N24-执念
上一篇 2016-12-17
下一篇 2016-12-18

相关推荐

  • for,while,until简介

    Shell(以Bash为例)中的循环语句一般有for、while、until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下。也为今后使用提供一个快捷的资料获取渠道。 一、for循环语句 实例1.1 最基本的for循环: (传统的形式,for var in …) 代码如下: #!/bin/bashfor x in one two three fou…

    Linux干货 2016-08-22
  • 编写脚本

        1、  编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPV4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。                      …

    2017-04-13
  • find详解(Blog 2)

    find与locate特性、find命令

    Linux干货 2017-11-08
  • N22-第十二周作业

    1、请描述一次完整的http请求处理过程; (1)建立或处理连接:接受请求或拒绝请求 (2)接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程 (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息 (4)访问资源:获取请求报文中请求的资源 (5)构建响应报文 (6)发送响应报文 (7)记录日志:访问日志和错误日志 …

    Linux干货 2016-11-04
  • vim编辑器

    vim编辑器 vi:Vistual Interface,是一种文本编辑器,所谓文本编辑器就是基于字符编码的文件,常见的编码有ASCLL编码,UNICODE编码。 vim:即vi IMproved:vi的增强版,可以使用颜色或者底线等方式来显示一些特殊信息,是模式化的编辑。 文本编辑器的种类 行编辑器:所谓行编辑器就是一行一行来编辑处理的工具,如sed 全屏编…

    Linux干货 2016-08-15
  • 计算机基础

    小白入门

    2018-03-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-23 12:45

    赞~可以再继续扩充一下博客内容,继续加油~