美文网首页
Linux文件管理、命令返回值与命令展开练习

Linux文件管理、命令返回值与命令展开练习

作者: Tigfish | 来源:发表于2018-05-20 23:26 被阅读0次

    1、Linux的文件管理类命令

    新增文件:touch、vi、vim等

        任意文本编辑软件在打开文本文件时,如文本文件不存在则创建新文件。

        举例如下:

    [root@localhost tmp]# touch aaa    #如aaa文件存在,则打开aaa文件,如aaa文件不存在,则创建aaa文件

    文件编辑:vi、vim等

        使用文本编辑命令打开文件进行编辑,如文件不存在则创建文件。

        举例如下:

    [root@localhost tmp]# vi aaa  #如aaa文件存在,则打开aaa文件,如aaa文件不存在,则创建aaa文件

    复制文件:cp

        常用选项:

            -i :交互式复制,覆盖之前需要用户进行确认

            -f:强制覆盖目标文件

            -R or -r:递归复制目录

            -d:复制符号链接文件本身,而非其指向的源文件

            -a:(-dR --preserve=all,archive归档(做备份))保留源文件的所有属性

        举例如下:

    [root@localhost tmp]# cp -r /tmp/b_c/ /tmp/ABC    #将/tmp/b_c 目录下的内容复制到 /tmp/ABC 目录下

    移动文件:mv

        常用选项:-i 与用户交互;-f 强制处理

        举例如下:

    [root@localhost tmp]# mv /tmp/a* /tmp/b_c  #将/tmp目录下以a开头的文件移动到“b_c” 目录下

    删除文件:rm

        常用选项:-i 与用户交互;-f 强制删除; -r 递归删除

        举例如下:

    [root@localhost tmp]# rm -rf /tmp/mylinux/  #删除/tmp/mylinux路径下的所有目录及文件

    内容查看:cat、tac、head、tail、more、less等

        cat:链接文件,并将结果显示在标准输出中,如果cat 后跟随多个文件,则将文件内容按顺序合并后一起显示

        tac:功能与cat命令完全相同,与cat的区别是与cat出的文件内容顺序反向排列

        head:head [options] FILE 查看文件的前n行内容(默认前10行)

        tail:tail [options] FILE 查看文件的后n行内容(默认后10行),“-f”是在运维监控中较为重要的选项,作为监控日志文件尾部产生内容使用。使用“tail -f”后,查看文件尾部内容结束后不退出,跟随显示新增的行

        more:翻屏至文件尾部后自动退出

        less:man命令调用的就是less命令

    ----------------------------------

    2、

    Linux的命令执行状态返回值

        命令在执行完成后会产生一个状态返回值,如命令成功执行,则命令的状态返回值为0,如命令未能成功执行,则命令的状态返回值为1-255间的一个随机数,保存命令状态返回值的环境变量为 $? ,使用 echo $? 返回命令的状态返回值。

        命令正确执行时的状态返回值:

    [root@localhost tmp]# ls /tmp/mylinux/

    bin  dev  lib    lock  proc  sbin  tmp  var

    boot  etc  lib64  log  run  sys  usr

    [root@localhost tmp]# echo $?

    0

        命令错误执行时的状态返回值:

    [root@localhost tmp]# ls /tmp/mylinux/abc

    ls: cannot access /tmp/mylinux/abc: No such file or directory

    [root@localhost tmp]# echo $?

    2

    【注意】命令的状态返回值与命令正常执行时的结果返回值不同,注意区分。

    Linux的命令行展开

    使用 “~”自动展开为用户的家目录,使用“~NAME” 展开为指定用户的家目录;

    使用 “{}” 可以承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

        例如:/tmp/{x,y}的含义是 /tmp/x 和 /tmp/y 两个路径

        举例如下:

     [root@MyLinux ~]# mkdir -pv /tmp/{a,b}_{c,d}

    命令执行结果如下:

    [root@localhost tmp]#  mkdir -pv /tmp/{a,b}_{c,d}

    mkdir: created directory ‘/tmp/a_c’

    mkdir: created directory ‘/tmp/a_d’

    mkdir: created directory ‘/tmp/b_c’

    mkdir: created directory ‘/tmp/b_d’

    ----------------------------------

    3、

        为完成作业中要求的创建目录及文件的操作,需要使用bash基础特性中命令行展开的功能。

    (1)创建/tmp目录下的:a_c, a_d, b_c, b_d:

     [root@MyLinux ~]# mkdir -pv /tmp/{a,b}_{c,d}

    命令执行结果如下:

    [root@localhost tmp]#  mkdir -pv /tmp/{a,b}_{c,d}

    mkdir: created directory ‘/tmp/a_c’

    mkdir: created directory ‘/tmp/a_d’

    mkdir: created directory ‘/tmp/b_c’

    mkdir: created directory ‘/tmp/b_d’

    (2)创建/tmp/mylinux目录下的文件结构:

    [root@MyLinux ~]# mkdir -p /tmp/mylinux/ {bin,boot/{grub},dev,etc/{rc.d/{init.d},sysconfig,network-scripts},lib/{modules},lib64,proc,sbin,sys,tmp,usr/{local,bin,sbin},var,lock,log,run}

    查看命令运行结果:

        如需按树状结构显示目录建成的结果,需要使用tree命令进行展示。centos系统安装过程中不会安装此命令,需要进行安装。

    [root@MyLinux ~]# yum install tree

    tree命令安装成功后,展示新建立的目录结构:

    [root@localhost tmp]# tree /tmp/mylinux/

    /tmp/mylinux/

    ├── bin

    ├── boot

    │   └── {grub}

    ├── dev

    ├── etc

    │   ├── network-scripts

    │   ├── rc.d

    │   │   └── {init.d}

    │   └── sysconfig

    ├── lib

    │   └── {modules}

    ├── lib64

    ├── lock

    ├── log

    ├── proc

    ├── run

    ├── sbin

    ├── sys

    ├── tmp

    ├── usr

    │   ├── bin

    │   ├── local

    │   └── sbin

    └── var

    24 directories, 0 files

    相关文章

      网友评论

          本文标题:Linux文件管理、命令返回值与命令展开练习

          本文链接:https://www.haomeiwen.com/subject/hvjxjftx.html