马哥教育网络班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)
devondevon
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:29

相关推荐

  • vim编辑器的用法

    vim编辑器的用法 1、vi的基本概念     vi可以分为三种模式,分别是命令模式(command mode)、输入模式(Insert mode)和末行模式(last line mode),各模式的功能如下:     1) 命令行模式command mode)         …

    Linux干货 2015-09-14
  • N22-妙手-第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost grub]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,…

    Linux干货 2016-09-19
  • bash特性

    bash特性之一:命令别名      获取当前用户可用的别名的定义:  bash的特性之二:命令历史      命令语法格式:      history [-c] [-d OFFSET] [n]&nb…

    Linux干货 2016-11-06
  • 马哥教育网络班20期+第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示一次即可。 [root@llww3317 ~]# who    #显示当前用户登录信息 root     tty1    &nbsp…

    Linux干货 2016-06-26
  • Redis应用场景

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发…

    Linux干货 2015-02-25
  • 初学Linux之程序进程管理工具汇总

    pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup 

    2017-12-16

评论列表(2条)

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

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

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

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