马哥教育网络班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
下一篇 2016-06-23

相关推荐

  • 文件系统管理_设定文件系统的配额

    认识配置配额系统 :为控制用户使用的空间的大小,在linux可以实现对分区的大小控制,控制用户在这个分区内使用空间的大小同时还可以对用户的文件个数实现控制。 在linux系统中其遵循文件分区来实现控制 磁盘的配额只针对单个分区来实现控制,不能对单块磁盘(硬盘)来实现控制的 【搭建试验环境 1】 怎样把某一个文件夹(/home)单独放到(迁移)一个独立的分区中…

    Linux干货 2017-04-24
  • MySQL之SQL语法介绍

    结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名

    2018-06-07
  • ​ 基于Sentinel实现redis主从自动切换

    Sentinel(哨兵)是用于监控redis集群中Master状态的工具,它可以实现对redis的监控、通知、自动故障转移。 Sentinel作用: Master状态检测 当被监控的某个 Redis Master异常无法连接时 Sentinel 可以向系统管理员发送通知, 也可以通过 API 向其他程序发送通知,并且进行Master-Slave切换,将其中一…

    Linux干货 2016-02-14
  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • hbase安装配置(整合到hadoop)

    1.  快速单击安装 在单机安装Hbase的方法。会引导你通过shell创建一个表,插入一行,然后删除它,最后停止Hbase。只要10分钟就可以完成以下的操作。 1.1下载解压最新版本 选择一个 Apache 下载镜像:http://www.apache.org/dyn/closer.cgi/hbase/,下载 HBase Re…

    Linux干货 2015-04-13
  • LVM 逻辑卷管理器-快照区复原系统

    LVM 逻辑卷管理器-快照区复原系统 复原的数据量不能够高于快照区所能负载的实际容量。由于原始数据会被搬移到快照区,如果你的快照区不够大,原始资料变动的实际数据量比快照大,那么快照区就容纳不了,这时快照就会失效。 (1)将原本的/dev/vg_1/lv_1内容做些改动,增减一些目录。 [root@centos6 ~]# df -…

    Linux干货 2016-09-18

评论列表(1条)

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

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