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

第二周练习

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


cp、mv、rm、touch

cp:copy,复制   
SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...
   选项:-a 归档,相当于-dR --preserv=all,复制所有;
    -r -R 递归复制目录及内部的所有内容;
      -i 交互式;
      -v 显示过程;
cp SRC DEST
    SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
        如果目录存在:
        如果DEST是文件:将SRC中的内容覆盖至DEST中;
        此时建议为cp命令使用-i选项;
        如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
cp SRC... DEST
     SRC...:多个文件
          DEST必须存在,且为目录,其它情形均会出错;
cp SRC DEST
     SRC是目录:
        此时使用选项:-r
        如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
        如果DEST存在:
        如果DEST是文件:报错
        如果DEST是目录:

blob.png

管理员root默认有-i

blob.png




mv:move,移动文件

SYNOPSIS
       mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE...

选项属性跟cp一样,只不过cp是复制mv是剪切

blob.png


rm:remove,删除

SYNOPSIS
       rm [OPTION]... FILE...

选项同上cp、mv一样。rm默认不能删除文件夹,一般要删除文件夹时使用

rm -rf DIRECTORY

-r:递归

-f:强制

blob.png


touch:创建文件、修改时间戳

SYNOPSIS
       touch [OPTION]... FILE...  
            -a: only atime
                -m: only mtime
                -t: STAMP:
                     [[CC]YY]MMDDhhmm[.ss]
                -c: 如果文件不存,则不予创建

blob.png

blob.png



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

命令的执行结果状态
            成功
            失败
bash使用特殊变量$?保存最近一条命令的执行状态结果:
        0:成功
        1-255:失败
程序执行有两类结果:
    程序的返回值;
    程序的执行状态结果;

blob.png


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

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

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

    blob.png

   (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
[root@caicai ~]# mkdir -pv /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}}

blob.png

blob.png


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

 (1)文件的元素信息有:文件名、文件大小、文件权限、文件属组、属主、access time、modify time、change time等

  (2)stat /PATH/TO/SOMEFILE:获取指定文件的元数据

1
2
3
4
5
6
7
8

[root@caicai ~]# stat 123.txt
  File: `123.txt'
  Size: 3568      Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768dInode: 1572878     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-18 22:02:11.185993594 +0800
Modify: 2016-06-18 22:02:11.185993594 +0800
Change: 2016-06-18 22:02:11.185993594 +0800

 (3)touch命令:改变文件的时间戳

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

touch [OPTION]... FILE...
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,则不予创建
[root@caicai ~]# stat 123.txt
  File: `123.txt'
  Size: 3568       Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d   Inode: 1572878     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-18 22:02:11.185993594 +0800
Modify: 2016-06-18 22:02:11.185993594 +0800
Change: 2016-06-18 22:02:11.185993594 +0800
[root@caicai ~]# touch 123.txt
[root@caicai ~]# stat 123.txt
  File: `123.txt'
  Size: 3568       Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d   Inode: 1572878     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-26 22:54:19.238004986 +0800
Modify: 2016-06-26 22:54:19.238004986 +0800
Change: 2016-06-26 22:54:19.238004986 +0800


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

 alias:显示当前shell进程所有可用的命令别名
  alias NAME='VALUE'定义别名NAME,其相当于执行命令VALUE;
   在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;
   仅对当前用户:~/.bashrc
   对所有用户有效:/etc/bashrc
[root@caicai ~]# alias NAME='VALUE'
[root@caicai ~]# alias 
alias NAME='VALUE'
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

引用另一个命令的执行结果可以用管道符号
COMMAND1 | COMMAND2 | COMMAND3 |...
 
[root@caicai ~]# ls /tmp | tr 'a-z' 'A-Z'
A_C
A_D
B_C
B_D
MYLINUX
WHO.OUT


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

# ls -d /var/l*[0-9]*[[:lower:]]

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

# ls -d /etc/[0-9]*[^0-9]

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

# ls /etc/[^[:alpha:]][[:alpha:]]*

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

# touch /tmp/tfile-"$(date +%Y-%m-%d-%H-%M-%S)"

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

# cp -a /etc/p*[^[:digit:]] /tmp/mytest1

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

# cp -a /etc/*.d /tmp/mytest2

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

# cp -a /etc/{1,m,n}*.conf /tmp/mytest3


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

(0)
N21_志建N21_志建
上一篇 2016-07-05
下一篇 2016-07-07

相关推荐

  • 对修改提示符引起的一些问题的理解

    有一个练习:提示符修改过后永久保存,每次打开一个新的shell,提示符都为已设定好的格式,不会因为打开新的shell而不同。 在做这个练习的时候遇到了不少问题,通过不断bing,将起初很陌生的问题一点点的解决,得到了一些理解,因此将理解写下来。 提示符与变量PS1有关,PS1的值可以被修改或重新赋予。PS1的值变,则提示符也会变。通过搜索得到只要在/etc/…

    Linux干货 2017-07-15
  • Linux系统分区管理

    管理分区     查看系统中的分区4种方式 [root@localhost ~]# ls /dev/sd* [来自内存] [root@localhost ~]# cat /proc/partitions [root@localhost ~]# lsblk /dev/sda  /dev/sda1  /dev/sda2  /dev/sda3 …

    Linux干货 2017-12-02
  • 8/10作业脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空…

    Linux干货 2016-08-15
  • 第一天参与马哥linux运维面授

    很高兴认识大家,介绍一下,我叫袁亚琼,来自美丽的云南。我是一个随和而又不随性95年女子,喜欢运动,擅长田径。学食品检测的,上学期间没怎么接触计算机,现在又来学专业计算机,内心还是有几丝恐慌,希望在今后的学习路上得到各位学友和老师的指导和帮助。等工作稳定,可以去云南放松一下,云南是个吃喝玩乐的好地方,同时也是个感受慢节奏生活的佳地。云南欢迎您哦! 选择学习li…

    Linux干货 2018-03-26
  • 22期第七周课堂练习

    1、创建一个10G分区,并格式为ext4文件系统;        (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;        (2)   挂载至/data/mydata目录,要求挂载时禁止程…

    Linux干货 2016-10-09
  • 第一周作业

    一、计算机的组成及其功能。 计算机是由运算器、控制器、存储器、输入设备、输出设备五大部件组成,每一个部分分别按照要求执行特定的基本功能。 运算器:运算器的主要功能是对数据进行各种运算。 控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊的进行操作及处理。 存储器:存储器的主要功能是存储程序和各种…

    Linux干货 2017-01-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-07 11:30

    写的很好,排版还可以在漂亮一点,有的问题还是有些小瑕疵的,加油