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

相关推荐

  • N25期第一周作业

    计算机的组成与功能  一台能正常工作的计算机有硬件和软件组成,计算机的硬件就好比人的躯体,计算机的软件就好比人的思想,人的思想控制指挥人的躯体,计算机有了软件才能进行工作。 硬件大致由CPU,内存,输入输出设备,存储设备组成,各个部件的主要作用流程是:由输入设备(例如:键盘)输入数据, 数据暂时出入内存, 而后由内存传到CPU(CPU又由运算器+控…

    Linux干货 2016-12-05
  • Tomcat相关知识整理

    初识Servlet SUN公司制定了一系列Web应用与Web服务器进行协作的标准Java接口,统称为Java Servlet API,还对Web服务器发布及运行Web应用的一些细节做了规约。SUN公司把这一系列标准Java接口和规约统称为Servlet规范。Servlet就是Web服务器与Web应用进行协作的标准接口。 Servlet规范把能够发布和运行Ja…

    Linux干货 2016-12-05
  • Linux udev-ASM(基于oracle5.8)

    之前有客户有在Linux下使用udev来做ASM,操作系统版本为oracle5.8,实际跟rhel5.8差不多,当时只是做了简单记录,现在整理下来,与大家一起分享。 1)需求信息 磁盘分区操作 –省略– 分区后,使用parted让磁盘生效 需求: 将/dev/sdc1 <–>/dev/asm-disk1 将/d…

    Linux干货 2016-07-29
  • Linux系统的终端类型

    Linux系统的终端类型    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。 1.  控制台终端(/dev/console)。    在Unix系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联,内核将信息送到控制台终端上(/dev/conso…

    Linux干货 2015-09-14
  • vim编辑器及练习题

    命令用法: vim [OPTION]… FILE…  +#: 打开文件后,直接让光标处于第#行的行首                   &nbs…

    Linux干货 2016-08-11
  • linux第一周学习

      一周过去了,这周学习并新认识了不少内容。由一开始的萌逼状态,逐步清晰的认识了不少内容。相信我会越来越好的。 文件与目录 touch touch newfile         创建空文件touch oldfile          更新文件的三个…

    Linux干货 2017-09-02

评论列表(1条)

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

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