Linux上bash的部分基础特性:

命令补全: 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.rookie,如若转载,请注明出处:http://www.178linux.com/72035

(0)
Linux.rookieLinux.rookie
上一篇 2017-03-28
下一篇 2017-03-28

相关推荐

  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp复制, mv剪切, rm移除 语法格式: cp复制  cp [OPTION]… [-T] SOURCE DEST  常用选项: -i:交互式 -r: 递归复制目录及内部的所有内容 -a: 归档   演示: …

    Linux干货 2016-07-12
  • grep是个什么鬼

    正则表达式   一个正则表达式是一个描述了一个字符串集合的模式。正则表达式的构造类似于算术表达式,使用各种各样的操作符来将更小的表达式连在一起。 Grep能理解两种不同版本的正则表达式语法:“basic”和“extended”。在GNU grep中,两种语法可以实现的功能是没有区别的。在其他实现中,基本(basic)正则表达式表达能力要弱一点。下面…

    Linux干货 2017-04-17
  • linux 查找过滤及用户和组管理命令的一些事例

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d' ' -f1 | sort | uniq 2.列出最后登录到当前系统的用户的相关信息。 ~]# last | head -1 3.列出当前系统上被用户当作其默认shell的最多的那个shell。  ~]#…

    Linux干货 2016-10-05
  • rsyslog将日志记录于MySQL中,并用loganalyzer进行分析日志

    1、首先来安装lamp环境的支持,与其相关的软件包      # yum -y install rsyslog-mysql mariadb-server php php-mysql php-gd httpd       说明:rsyslog-mysql在数据库中生成一个库文件,但这个文件需…

    Linux干货 2016-10-23
  • httpd配置

    httpd配置 修改监听的IP和端口(port) 持久连接 MPM DSO(Dynamic Shared Object) main server的文档页面路径 站点访问控制 定义站点主页面 定义路径别名 设定默认字符集 日志 基于用户的访问控制 虚拟主机 httpd状态页面 使用压缩模块mod_daflate优化速度 基于IP 为每个虚拟主机至少准备一个IP…

    Linux干货 2016-12-21
  • Linux软件管理(rpm,yum)

    Linux的应用程序安装提供了两中格式的软件包:一种是软件开发者直接提供的源码包;另一种是发行版厂商提供事先编译好打包的软件包;用户需要根据需要来选择何种方式安装软件,作为系统管理运维人员,要想合理应用,必须熟悉这两者之间的内在联系以及各自的特性和差异; *软件包管理工具)   — RPM软件包管理工具  — YUM软件包前端管理工具 软…

    Linux干货 2016-08-29