bash的特性和目录管理命令

bash的特性和目录管理命令

bash特性

    1. 命令补全机制:

所谓的命令补全,就是当输入命令的前几个字符的时候,按下tab,此时,bash根据输入的字符串,到path路径下进行寻找,把找到的且能唯一根据这个字符串标识的命令,予以补全。

如果根据这个字符串能在一个目录下面找到多个相同的命令,则再按一下tab就能列出所有的命令。

    2. 路径补全机制

所谓的路径补全,就是在你这个目录下面的时候,或者在给出的目录里,根据给出的字符串,查找当前目录下面是否有唯一标识的目录或者文件,如果有给予补全。

如果没有则不补全,并且如果有多个,则多按一次tab就能列出来。

     3. 引用。分为强引用和弱引用

强引用:单引号,'' ,单引号中给出的任何字符串不予任何更改和替换,即使中含有变量,也只是原样输出

弱引用:双引号:"  "。如果其中有变量,则输出变量的值。

 

命令引用:一般都是采用$(command)的方式进行,或者使用反引号,反引号不建议使用

例子:echo  this time is $(date +%Y'year,'%m'manth,'%H'hour,'%M'miniute')

结果:this time is 2016year,10manth,00hour,19miniute

     4. 命令的执行状态:

  一种是执行后的结果。例如,ls /var/log  会将log这个目录的结果展示出来,这是命令执行成功后的结果。叫命令结果的返回值。

例如:mkdir  /tmp/  $(date)    首先执行 date命令,并将命令结果返回给mkdir,然后根据时间创建目录。

(实际结果是 tmp/下面有一个Wed Oct 26 02:52:49 PDT 2016多个文件夹 ,因为带有空格,所以创建了多个文件夹。如果加上双引号就是 mkdir /tmp/"$(date)"  结果就是完整的时间的一个目录。)

—————————————————————-

还有一种就是命令状态的返回值。这种返回值就是bash将命令执行后,如果成功,这个命令状态的返回值就是0.如果执行失败,返回值就是1-127之间的数值。失败的原因各不相同,所以会有不同的值。

 

这个状态的返回值存储在bash的一个变量中,这个变量就是$?. 每一次执行一个命令,就会把返回值存在这个目录中。因此,这个变量只能存储最近的一次命令的状态返回值。再执行一次就会被覆盖。

 

由此可以得出另外一个结论。由于这个变量是bash所有的,因此每个登录用户都有自己的一个$? 变量,不同用户互不干扰。

例如,ls  /tmp     ,然后执行命令 echo $?  。或者用一条命令

echo  -e "$( cd /tmp/testa)  \n\n ls /tmp的状态返回值是$?"

      5. 快捷键

ctrl+a 回到命令开头

Ctrl+e回到命令结尾

 

Ctrl+u 删除从左侧至光标的字符串

Ctrl+k 删除光标所在处至光标行尾的所有字符

     6. 文本的查看命令,翻屏等

Cat,more less,head,tail

Cat  file  这个命令直接读取源文件所有的的数据直接倾泻到屏幕上

     -n 打出行号

More  file 。如果翻到文件底部,便会自动退出。

Less  其实man 调用的就是less。

Head -n 或者head -#  显示文件的前几行,默认前10行

Tail -n 显示文件的后N行,默认后10行。

注意:tail   -f有个很重要的性质,就是输出完后,不退出,等待文件从其他终端写入的数据后输出。

 

     7. 文件的组成及时间戳

文件有两部分组成,元数据和数据

一个是数据,就是文件的具体内容

一个是元数据,比方说,文件大小,格式,类型等。包括访问时间,创建时间,版本等 使用 stat  filename就可查看的信息。如下图

blob.png

 注意元数据的 时间戳,这个是需要重点提醒的。

Access   访问时间

Modify  修改时间

Change  改变时间。

这个地方顺便把时间命令复习一下

Clock 这个命令和hwclock是一个命令,

Which  clock 命令,查到他的位置,查看这个文件实际是是到 /sbin/hwclock  .

Clock  -s  –hwtosys 硬件时间存到系统时间

            -w  systohw  系统时间到硬件时间

 

——————————————————————————————————

目录管理类的命令———mkdir rmdir

1. mkdir,创建目录。可以同时创建多个目录,目录之前以空格隔开。

               -p :自动创建所需要的父目录,

               -v:显示创建过程

                -m 设定目录的权限。

2. Rmdir 删除目录。这个一般不用,可以用mv来代替。并且安全些。

              -p 删除子目录后,如果父目录为空,则继续删除父目录以此类推

 

3.花括号展开

                 花括号展开 mkdir   /tmp/{a,b/{b1,b2},c}

                花括号相乘:mdir  /tmp/{a,b}*{c,d},类似于笛卡尔积

原创文章,作者:haoyp,如若转载,请注明出处:http://www.178linux.com/55513

(0)
haoyphaoyp
上一篇 2016-10-29
下一篇 2016-10-29

相关推荐

  • 软件包管理工具—rpm命令总结

    描述:    RPM是RedHatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用…

    Linux干货 2016-08-29
  • 运维学习笔记-Puppet之Hiera初探

    为什么使用Hiera? Puppet中的manifest同时包含静态的代码(判断/循环逻辑,依赖关系,类定义,资源类型定义等等)和动态的数据(类声明时的参数值和资源声明时的属性值)。说代码是静态的是因为如果在设计阶段考虑比较全面,代码写成之后是很少变化的。但是数据要根据具体情况赋予不同的值。如果manifest设计的不是很灵活,比如某些数据被固化(hardc…

    Linux干货 2016-07-07
  • 一次简单的内核编译(二)

      前言:     此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章 一、使用busybox代替自己制作的init脚本,实现内核启动;  1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错     2、解…

    Linux干货 2015-06-01
  • 目录的三权限之——R,W,X之间的爱恨纠葛!

    目录的三权限之——R,W,X之间的爱恨纠葛! 文件的权限我们一般都很容易了解,但是目录的权限,我们可能很多人就容易含混不清了,而许多时候目录的权限也是非常重要的。 因此我专门做了一个关于目录其他用户的权限实验,以此来解开目录权限的神秘面纱。在此我分别设定了三种情况,看看当某个目录/testdir对其他用户user1仅没有R,W,X权限时,其他用户对此目录有什…

    Linux干货 2016-08-08
  • python面向对象学习第一周

     面向对象的思想 一个具体对象的属性方法,都有各个来源,来源于类,比如消化类,有各种各样的消化模式,人类的只是其中一种 另一种思想方法,类有各种属性方法,人类有很多的属性,一个人应该包括其中的属性,只是值上可能有不同,不同人群也有他们的特征属性和方法     类是对象的抽象,但是类本身也是对象, 对象是一个类的实例. 类的属性:类变量,对象方法,类方法,静态…

    Linux干货 2017-11-13
  • RPM包管理——运维必备技能之一

    软件运行环境: API:Application Programming Interface     POSIX :Portable OS 程序源代码 –> 预处理 –> 编译 –> 汇编 –> 链接     …

    Linux干货 2016-08-21

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:18

    总结的不错,希望你能熟知这些基础的知识,加油!