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

相关推荐

评论列表(1条)

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

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