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

相关推荐

  • week5:grep命令和find命令的应用

    1.显示当前系统上root、fedora或user1用户的默认shell;     ~]# grep -E "^(root|fedora|user1):" /etc/passwd|cut -d/ -f4 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hel…

    Linux干货 2016-11-28
  • Linux进程管理

    一:进程的概念     1)进程:process,运行中的程序的一个副本的某部分,之所以说是副本的一部分是因为一个程序可以多个用户同时以不同格式运行,如两个用户都在运行ls,一个运行的是ls -h ,另一个运行的是ls -l,那么这两个用户运行的程序代码肯定是不一样的而且不是程序的所有代码;进程有生命周期; &nbsp…

    2017-03-26
  • 作业——拷贝命令及其链接库

    1),提示用户输入一个可执行命令的名称 2),获取此命令所依赖额所有库文件列表 3),复制命令至某目标目录(/mnt/sysroot,即把此目录当做根)下的对的路径中 bash,/bin/bash ===> /mnt/sysroot/bin/bash useradd, /usr/sbin/useradd ===> /mnt/sysroot/usr…

    Linux干货 2017-02-04
  • LVS基本原理

    LVS基本原理 简介 负载调度器、真实服务器群节点一起被称为LVS。LVS负载调度器(有时也称为负载平衡器),接收所服务的所有接入服务集群的请求,并决定集群中的哪个节点应该回复其请求。 1)负载调度器(Director):作为整个集群的前端,主要将用户请求分发至真实服务器中进行处理。 2)真实服务器池:由多个功能相同的真实服务器组成,为用户提供真正的网络服务…

    Linux干货 2016-12-27
  • Linux学习练习及作业&day07-正则表达式&文本处理工具

    第一部分、使用基本的文本处理工具(非grep)练习以下5题。 1、找出ifconfig命令结果中本机的所有IPv4地址     [root@localhost ~]# ifconfig |head -2 |tail -1     …

    Linux干货 2016-08-08
  • keepalive

    HA Cluster: 集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP SPoF: Single Point of Failure 系统可用性的公式:A=MTBF/(MTBF+MTTR)(0,1), 95%几个9(指标): 99%, …, 99.999%,99.9999%;99%:…

    Linux干货 2017-05-22

评论列表(1条)

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

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