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

相关推荐

  • CentOS 5和6的启动流程

    Linux: kernel+rootfs  kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs: glibc 库:函数集合, function, 调用接口 过程调用:procedure 函数调用:function 程序  内核设计流派: 单内核设计:Linux 把所有功能集成于同一个程序; 微内核设计…

    Linux干货 2016-08-23
  • Linux之数组

      Linux之数组     数组介绍数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 变量:存储单个元素的内存空间数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续)声明数组:de…

    Linux干货 2016-08-25
  • linux系统启动流程

    linux系统启动流程 CentOS(5、6)系统启动流程 具体流程: 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR的boot Loader 依据boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序 硬件驱动成功后,Kernel会主动调用init进程,而init会…

    Linux干货 2016-09-11
  • httpd服务归纳:httpd简介与基本安装

    一、httpd 简介  1. httpd 历史: httpd daemon 最早诞生于1995年二月, 伊利诺伊大学香槟分校的美国国家超级计算应用中心(NCSA),由Rob McCool开发。当这个项目完成后,Rob 老兄离开RCSA以后,这个项目组就解散了,这个项目也随之终止。 但是,由Brian Behlendorf 和 Cliff …

    Linux干货 2015-05-07
  • 如何安装VMware Workstation

    1、打开安装包,直接点击“下一步” 2、选择接受条款,单击“下一步” 3、选择安装路径,单击“下一步” 4、单击“下一步”,也可以勾选掉两个选项   5、单击“下一步”   6、点击“安装”   7、完成安装  

    2017-07-11
  • 笔记二、如何在VMWare WorkStations安装CentOS6.8

    一、准备工作     1.安装VMWare WorkStatrion     2.准备好CentOS 6.8 镜像包     http://www.centoscn.com/CentosSoft/iso/    CenO…

    Linux干货 2017-02-14

评论列表(1条)

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

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