马哥教育网络班20期第2周课程练习

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

 常用的文件管理类命令有:复制、移动、删除文件及目录

 复制:cp命令

    格式:cp [选项] SRC DEST

    常用选项:

      -r 源文件应为目录文件,递归复制目录及目录内的所有文件到指定路径下。

        如果指定目标文件为目录且目录存在,则将源文件复制到目标目录下;如果目标目录不存在,则创建指定目录,并复制         源文件中所有内容至指定目录中。

     -a 归档复制,复制源文件所有信息,包含元数据。

[root@centos01 newtmp]# ll /tmp

总用量 40

-rw-r–r–. 1 root  root  19295 6月  15 11:27 functions

drwxr-xr-x. 2 root  root   4096 6月   7 11:49 hsperfdata_root

drwx——. 2 root  root   4096 11月 11 2015 keyring-NRt8Tq

srwxrwxrwx. 1 mysql mysql     0 4月  26 14:47 mysql.sock

-rw-r–r–. 1 root  root     54 6月  15 15:24 numbers.txt

drwx——. 2 gdm   gdm    4096 4月   7 19:56 orbit-gdm

drwx——. 2 gdm   gdm    4096 4月   7 19:56 pulse-4VYwNbp3K8ID

[root@centos01 newtmp]# ll

总用量 0

[root@centos01 newtmp]# cp -r /tmp /root/newtmp/

[root@centos01 newtmp]# ll

总用量 4

drwxr-xr-t. 8 root root 4096 6月  15 15:38 tmp

[root@centos01 newtmp]# rm -rf tmp/

[root@centos01 newtmp]# cd ..

[root@centos01 ~]# rm -rf newtmp/

[root@centos01 ~]# cp -r /tmp /root/newtmp/

[root@centos01 ~]# ll

[root@centos01 ~]# cd newtmp/

[root@centos01 newtmp]# ll

总用量 40

-rw-r–r–. 1 root root 19295 6月  15 15:38 functions

drwxr-xr-x. 2 root root  4096 6月  15 15:38 hsperfdata_root

drwx——. 2 root root  4096 6月  15 15:38 keyring-NRt8Tq

srwxr-xr-x. 1 root root     0 6月  15 15:38 mysql.sock

-rw-r–r–. 1 root root    54 6月  15 15:38 numbers.txt

drwx——. 2 root root  4096 6月  15 15:38 orbit-gdm

drwx——. 2 root root  4096 6月  15 15:38 pulse-4VYwNbp3K8ID

  移动:mv命令
    格式:mv [选项] SRC DEST

    功能:移动或重命名文件或目录

  删除:rm命令

    格式:rm [选项] FILE|DIRECTORY

   常用选项:

     -f 强制删除

     -i 交互

     -r 递归删除目录及其下所有文件

  

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

  命令状态返回值是指: 执行一条命令,只有两种结果,成功或失败,在Linux中有一个特殊的变量$?用来查看命令执行成功与否,执行成功返回0,执行失败返回1-127之间的数字

  ls命令查看一个不存在的文件:

[root@centos01 ~]# ls 123

ls: 无法访问123: 没有那个文件或目录

[root@centos01 ~]# echo $?

2

  ls命令查看一个存在目录

[root@centos01 ~]# ls /tmp

functions  hsperfdata_root  keyring-NRt8Tq  mysql.sock  numbers.txt  orbit-gdm  pulse-4VYwNbp3K8ID

[root@centos01 ~]# echo $?

0

命令行展开分以下几类

 ~:展开为用户的家目录,例如 cd ~user1 表示切换至user1的家目录

 {}:中间使用逗号隔开,可将其展开为多个路径或文件

  例如:/tmp/{a,b}_{c,d}展开为/tmp/a_c /tmp/a_d /tmp/b_c /tmp/b_d

3、请使用命令行展开功能来完成以下练习:

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

    touch /tmp/{a,b}_{c,d}

   (2)、创建/tmp/mylinux目录下的:

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

mkdir -p /tmp/mylinux/{b{in,oot/grub},dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib{/modules,64},proc,s{bin,ys},tmp,usr/local/{bin,sbin},var/{lock,log,run}}

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

  文件的元数据包含:文件属主、属组,访问权限,文件名,文件大小,文件的Inode,访问时间,修改时间,改变时间

  touch -m|a TIMESTAMP

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

  alias ll='ls -al'

 使用“或者$()引用另一个命令的结果 如kill `cat /usr/local/nginx/logs/nginx.pid`

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

 ls -a /var|grep "^1.*[0-9]\+.*[a-z]$"

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

  ls -a /etc|grep "^[0-9].*[^0-9]$"

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

  ls -al /etc | grep "^[^[:alpha:]][[:alpha:]].*"

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

   touch /tmp/tfile-`date +%F-%H-%M-%S`

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

  mkdir /tmp/mytest1  

  cd /etc

  cp -r `ls -a /etc | grep "^p.*[^0-9]$"` /tmp/mytest1/

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

  mkdir /tmp/mytest2

  cd /etc

  cp -r `ls -a |grep "\.d$"` /tmp/mytest2

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

  mkdir /tmp/mytest3

  cd /etc

  cp -r `ls -a |grep "^[1mn].*\.conf$"` /tmp/mytest3

  


原创文章,作者:pandamir,如若转载,请注明出处:http://www.178linux.com/18371

(0)
pandamirpandamir
上一篇 2016-06-23 11:07
下一篇 2016-06-23 11:08

相关推荐

  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@unclez ~]# cp -r /etc/skel /home/tuser1 [root@unclez ~]# chmod -R&…

    Linux干货 2016-12-24
  • 马哥教育网络班22期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&…

    Linux干货 2016-09-19
  • Linux命令格式、获取帮助、文件系统

    一、Linux的命令     (一)、概念和意义:             发起一个命令:请求内核将某个二进制程序运行为一个进程;      &nbs…

    Linux干货 2016-08-15
  • N26-第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     看到同学的图不错拿来用用 ~ ~      2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;  (1) 为硬盘新建两个主分区;并为其安装grub;  (2) 为硬盘的第一个主…

    2017-03-26
  • sed命令

    Linux sed命令是利用script来处理文本文件。 sed可依照script的指令,来处理、编辑文本文件。 Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 语法 sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数说明: -e<script&gt…

    Linux干货 2016-08-12
  • 磁盘分区相关知识

    磁盘分区相关知识 使用磁盘分区的过程设备识别→设备分区→创建文件系统→标记文件系统→在/etc/fstab文件中创建条目→挂载新的文件系统 分区不是必须的,但是分区是必要的:优化I/O性能实现磁盘空间配额限制提高修复速度隔离系统和程序安装多个OS采用不同文件系统 不重启激活新添加的磁盘:echo “- – -” > …

    Linux干货 2017-08-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-23 12:56

    写的很棒,案例还可以在多点,可以多关注一下排版,12题在仔细看一下,有点小瑕疵