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 16:22
下一篇 2016-10-29 16:43

相关推荐

  • git

    1.1 Git的安装 1.1.1 版本 # cat /etc/redhat-release CentOS release 6.8 (Final) # uname -r 2.6.32-642.4.2.el6.x86_64 # uname -m x86_64 1.1.2 安装 可以直接通过源码安装。先从Git官网下载源码,然后解压,…

    Linux干货 2016-10-31
  • linux文件权限

    一、前言 在linux中,每个目录或者文件都有相对应的权限,linux通过文件属主(user),文件属组(group),其它人(order)对一个文件或者目录控制读写执行权限,当然在这些基本权限之外还有特殊权限,facl(file access control list)等。 二、文件基本权限    2.1:属主、属组、order概念 &…

    Linux干货 2015-08-17
  • Centos7 PHP-FPM源码安装

    PHP-FPM源码安装 安装必要组件 yum install -y openssl-devel traceroute libtool unzip gcc gcc-c++ autoconf net-snmp-devel vim wget sysstat lrzsz  man tree mysql-devel ntpdate rsync libxml2…

    系统运维 2016-09-06
  • 第九周

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash for i in `cut -d':' -f7 /etc/passwd`;do &n…

    Linux干货 2016-09-26
  • OSI模型与TCP/IP协议栈

         OSI模型:     使用OSI模型的意义:      简化教学     加快发展速度     确保技术的互操作性     简化模块化设计  &nbs…

    2017-08-20
  • 正则表达式grep,sed

    HTTP 一个简单的网页文件 service iptables stop echo “<h1>I  LOVE YOU</h1>” > /var/www/html/index.html 文本排序sort sort 1.txt   排序规则先数字后字母,小写字母在前。 sort -t “:&#82…

    Linux干货 2018-03-13

评论列表(1条)

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

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