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 23:31
下一篇 2016-12-18 12:41

相关推荐

  • 简单的bash脚本查看任意网段的在线主机

    一前言         最近看到许多同志在写ping某个地址段的bash脚本,我也心血来潮来了一发。  当然本人新手,大神勿喷。 二准备工作           linux系统的机…

    2017-03-02
  • M22 程序员偷懒战法

    前段时间有个外国的程序猿走红网络,这个哥们可以说是懒到了极点,上班请假给领导发短信写脚本,下班晚回家给老婆发短信写脚本,甚至于接个咖啡也要写脚本。这个哥们离职之后,他的同事在他的办公电脑上发现了这些脚本,并公布到了网上,引起众程序猿纷纷膜拜。最近我刚好学到shell脚本部分,就让我分析其中的一个跟领导请假的脚本吧。 #!/bin/sh -e # Exit e…

    Linux干货 2017-04-06
  • grep的基本用法详解

     grep是linux上常用的一个文本处理工具之一。它有着强大的文本处理能力,学会它,可以让工作更有效率。 一、初识grep   grep: Global search Regular Experssion and Print out line   从名字上也可以直观的了解到它是基于正则表达式进行全局搜索,并把结果打印到屏幕上来…

    系统运维 2015-05-25
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • bash 数组和变量

    数组可以把多个变量集合起来,不用再一个个的声明变量,也可以调多个单个的变量使用,极大方便了我们的使用,而且Linux bash中的数组还支持同一个数组中同时有数字和字符串。下面让我们来了解一下数组。 一,数组的简介 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引 索引:编号从0 开始,属于数值索引 注意…

    Linux干货 2016-08-24
  • 权限管理与ACL

    一、文件属性 1.文件属性:    文件属性操作     chown : change owner  ,设置文件所有者     chgrp : change group  ,设置文件的属组    文件属主修改: chow…

    Linux干货 2016-08-05

评论列表(1条)

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

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