马哥教育网络班22期+第二周课程练习


week2作业:
1.linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
(1)touch
功能:创建文件
示例: 
[root@director1 example]# touch file1 file2
[root@director1 example]# ll
total 0
-rw-r--r-- 1 root root 0 Aug 17 09:39 file1
-rw-r--r-- 1 root root 0 Aug 17 09:39 file2
(2)rm
功能:删除文件或目录
示例:
强行删除文件
[root@director1 example]# rm -f file1
[root@director1 example]# ls
file2
强行递归删除目录及目录下的文件
[root@director1 example]# tree
.
├── dir1
│   ├── file1
│   └── file11
└── file2
1 directory, 3 files
[root@director1 example]# rm -rf dir1
[root@director1 example]# tree .
.
└── file2
0 directories, 1 file
(3)mv
功能:移动文件
示例: 
移动文件到某一目录下,如果目录下已有同名文件,则系统会询问是否替代旧文件;
[root@director1 example]# ls
dir1  file2
[root@director1 example]# mv file2 dir1/
[root@director1 example]# ls
dir1
[root@director1 example]# ls dir1/
dir11  dir12  file2
强制移动一个文件而不管新目录下是否有同名文件存在;
[root@director1 example]# touch file2
[root@director1 example]# mv file2 dir1/
mv: overwrite ‘dir1/file2’? n
[root@director1 example]# ls
dir1  file2
[root@director1 example]# mv -f file2 dir1/
[root@director1 example]# ll dir1/
total 0
drwxr-xr-x 2 root root 6 Aug 17 10:04 dir11
drwxr-xr-x 2 root root 6 Aug 17 10:04 dir12
-rw-r--r-- 1 root root 0 Aug 17 10:16 file2
(4)cp
功能:复制文件
用法:
单源复制:cp [OPTION]... [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件;
如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
多源复制:cp [OPTION]... SOURCE... DIRECTORY
  cp [OPTION]... -t DIRECTORY SOURCE...
如果DEST不存在:错误;
如果DEST存在:
如果DEST是非目录文件:错误;
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;
OPTION:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r, -R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
-a:-dR --preserve=all, archive,用于实现归档;
2.bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash命令执行状态返回值:
(1)返回值为0,则说明成功;
(2)返回值非0(1~255),则说明失败;
查看bash执行状态返回值:
#echo $?
bash命令行展开:
~:表示为用户或指定用户的家目录;
{}:可承载一个以逗号分隔的路径列表,并能够为其展开为多个路径列表;
示例: 
[root@director1 example]# mkdir -pv dir1/{dir11,dir12}
mkdir: created directory ‘dir1’
mkdir: created directory ‘dir1/dir11’
mkdir: created directory ‘dir1/dir12’
3.请使用命令行展开功能来完成以下练习:
(1)创建/tmp目录下的:a_c,a_d,b_c,b_d
[root@director1 example]# mkdir -v /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@director1 example]# tree /tmp/mylinux/
/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
24 directories, 0 files
4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,
诸如文件字节数、文件访问权限、文件拥有者、文件所属组、文件时间戳(ctime,mtime,atime)、链接数以及文件数据block的位置。
查看文件元数据信息:
[root@director1 example]# stat dir1/file2 
  File: ‘dir1/file2’
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768dInode: 3030569     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-17 10:16:40.171024556 +0800
Modify: 2016-08-17 10:16:40.171024556 +0800
Change: 2016-08-17 10:17:00.288216684 +0800
Birth: -
ctime:状态改变时间
mtime:修改时间
atime:访问时间
5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias lftps='lftp -u admin,redhat 10.0.0.2'
使用``引用命令
示例:
[root@director1 ~]# ss -ntlp|grep mysql|cut -d':' -f4
3306                
[root@director1 ~]# PORT=`ss -ntlp|grep mysql|cut -d':' -f4`
[root@director1 ~]# echo $PORT
3306
6.显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录。
[root@director1 ~]# ls /var/ |grep ^1.*[0-9].*[a-z]$
7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
[root@director1 ~]# ls /etc/ |grep ^[0-9].*[^0-9]$
8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
[root@director1 ~]# ls /etc/ |grep ^[^a-zA-Z][a-zA-Z].*
9.在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22.
[root@director1 ~]# touch /tmp/tfile-`date +%F-%H-%M-%S`
10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@director1 ~]# for i in `ls /etc/|grep ^p.*[^0-9]$ `;do cp -rv /etc/$i /tmp/mytest1/ ;done
11.复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@director1 ~]# for i in `ls /etc/ |grep .*\.d$`;do cp -rv /etc/$i /tmp/mytest2/;done
12.复制/etc目录下所有以1或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@director1 ~]# for i in `ls /etc/|grep ^[1,m,n].*\.conf$`;do cp -rv /etc/$i /tmp/mytest3/;done

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

(0)
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:29

相关推荐

  • ssh 笔记

    ssh

    Linux干货 2018-01-08
  • 获取linux命令帮助的方法

    1.help command 适用于内建命令。 2.command -hlep 适用于外部命令。 3.info command 适用于外部命令。 4.man command 适用外部命令和内建命令。     man帮助命令分章节             centos7:man 1…

    Linux干货 2017-08-19
  • 软连接与硬连接

    硬链接定义 新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 硬链接(hard link) ln   UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本。系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项…

    Linux干货 2017-07-22
  • awk 的相关知识

    awk 介绍,基本用法,变量,格式化,操作符,条件判断,循环,数组,函数等

    2018-01-01
  • 删除三天前备份的脚本

    [root@scm-dzm testfolder]# ll total 4 drwxr-xr-x. 2 root root   6 Jul 14 00:53 20160722 drwxr-xr-x. 2 root roo…

    Linux干货 2016-07-16

评论列表(2条)

  • 马哥教育
    马哥教育 2016-08-22 13:54

    写的很好,排版也很棒,加油

  • 马哥教育
    马哥教育 2016-08-22 13:56

    3题第2个的创建过程那?