美文网首页
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