网络N22期-第二周作业

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

常用文件管理类命令有cp、mv、rm。

# cp命令:文件复制命令

    cp [OPTION]… [-T] SOURCE DEST 单文件复制

    cp [OPTION]… SOURCE… DIRECTORY 多源文件复制

    cp [OPTION]… -t DIRECTORY SOURCE… 多源文件复制的另一种方式

常用选项:

    -i:交互之前提醒用户确认

    -f:强行覆盖

    -r:递归复制目录;即复制文件及目录

    -d:复制链接文件本身,而非复制其链接的源文件

    -a:相当于 –drarchive用于实现归档

    –preserv=

             Mode:权限

             Ownetship:属主和属组

             Timestamps:时间戳

             Xattr:扩展属性

             Links:符号链接

             All:上述所有属性

单文件复制演示:

[root@localhost ~]# cp /var/log/boot.log /tmp/copytest/
[root@localhost ~]# ls /tmp/copytest/
boot.log

多源复制演示:

[root@localhost ~]# cp /var/log/{btmp,dmesg} /tmp/copytest
[root@localhost ~]# ls /tmp/wangxg
 boot.log btmp dmesg

# mv命令:文件移动或文件重命名命令

    如果目标文件在同一目录则重命名,反之则移动文件。

    mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE…

   常用选项:(没有-r选项,自身就带有-r功能)

    -i:交互式;

     -f:force

移动演示:

[root@localhost tmp]# mv a.txt ./test
[root@localhost tmp]# ls ./test
a.txt

#rm命令:文件删除命令

    rm [OPTION] [file…]

常用选项: 

    -r:递归删除

    -f:强制删除

删除演示

[root@localhost ~]# rm -rf /tmp/log/

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

命令执行的状态结果:

    bash通过状态返回值来输出此结果:

          成功:0

          失败:1-255

     命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;(echo $? 只能返回最近一次命令的返回值)

     命令正常执行时,有的还回有命令返回值:根据命令及其功能不同,结果各不相同;

     引用命令的执行结果:

          $(COMMAND)

         或`COMMAND`(反引号)

    示例

[root@localhost tmp]# mkdir test1
[root@localhost tmp]# echo $?
0
[root@localhost tmp]# mkdir test1
mkdir: cannot create directory ‘test1’: File exists
[root@localhost tmp]# echo $?
1

bash的基础特性之:命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

示例

[root@localhost tmp]# mkdir /tmp/test/{a,b}
[root@localhost tmp]# ls /tmp/test
a  b

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

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

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

mylinux
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── local
│   ├── bin
│   └── sbin
├── proc
├── sbin
├── sys
├── tmp
├── usr
└── var
    ├── lock
    ├── los
    └── run

[root@localhost tmp]# mkdir /tmp/{a,b}_{c,d}
[root@localhost tmp]# ls /tmp
a_c
a_d
b_c
b_d
[root@localhost tmp]# mkdir -p /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,los,run}}[root@localhost tmp]# tree /tmp/mylinux
/tmp/mylinux
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── local
│   ├── bin
│   └── sbin
├── proc
├── sbin
├── sys
├── tmp
├── usr
└── var
    ├── lock
    ├── los
    └── run

24 directories, 0 files

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

元数据包含信息:

    access time:访问时间,简写为atime,读取文件内容

    modify time: 修改时间, mtime,改变文件内容(数据)

    change time: 改变时间, ctime,元数据发生改变

查看方式:

    stat – display file or file system status(显示文件或文件系统的状态)   

示例

[root@localhost tmp]# stat /tmp
  File: ‘/tmp’
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 917505      Links: 61
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:tmp_t:s0
Access: 2016-08-18 23:28:54.938103787 +0800
Modify: 2016-08-18 23:36:47.413110055 +0800
Change: 2016-08-18 23:36:47.413110055 +0800
 Birth: -

修改文件的时间戳信息:

    touch [OPTION]… FILE…

    -c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time;

-m:仅修改modify time;

-t STAMP(改为指定时间)

  [[CC]YY]MMDDhhmm[.ss]

示例

[root@localhost tmp]# touch -a 2014-10-12 12:21:36 /tmp/test
[root@localhost tmp]# stat /tmp/test
  File: ‘/tmp/test’
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 917620      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-08-18 23:49:10.259119910 +0800
Modify: 2016-08-18 23:26:10.544101606 +0800
Change: 2016-08-18 23:49:10.259119910 +0800
 Birth: -
[root@localhost tmp]# man touch
[root@localhost tmp]# touch -a -t 1410122321.30 /tmp/test
[root@localhost tmp]# stat /tmp/test
  File: ‘/tmp/test’
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 917620      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2014-10-12 23:21:30.000000000 +0800
Modify: 2016-08-18 23:26:10.544101606 +0800
Change: 2016-08-18 23:54:24.504124079 +0800
 Birth: -

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

(1)alias命令用于定义命令别名

    获取所有可用别名的定义:

    ~]# alias

定义别名:

~]# alias NAME='COMMAND'

  注意:仅对当前shell进程有效

撤销别名:

~]# unalias NAME

示例

[root@localhost tmp]# alias cls=clear
[root@localhost tmp]# alias
alias cls='clear'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
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'
[root@localhost tmp]# unalias cls
[root@localhost tmp]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
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'

注意:仅在当前shell进程有效!)即:有时间限定、有位置限制

永久有效设置方法:写入文件内。

文件类型一:仅对当前用户有效~/.bashrc

文件类型二:对所有用户有效:/etc/bashrc

需要重新读取配置文件生效:source /.bashrc或者./.bashrc

(2)命令引用方法

$(COMMAND)

或者‘COMMAND’

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

[root@localhost ~]# ls /var/l*[[:digit:]]*[[:lower:]]

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

[root@localhost ~]# ls /etc/[[:digit:]]*[^[:digit:]]

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

[root@localhost ~]# ls /etc/[^[:alpha:]][[:alpha:]]*

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

[root@localhost ~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
[root@localhost ~]# ls /tmp/tfile*
/tmp/tfile-2016-08-19-00-20-19

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

[root@localhost ~]# cp -rf /etc/p*[^[:digit:]] /tmp/mytest1
[root@localhost ~]# ls /tmp/mytest1/
pam.d    pbm2ppa.conf  plymouth      popt.d   prelink.conf.d  profile.d  purple
passwd   pinforc       pm            postfix  printcap        protocols  python
passwd-  pki           pnm2ppa.conf  ppp      profile         pulse

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

[root@localhost ~]# cp -rf /etc/*.d /tmp/mytest2
[root@localhost ~]# ls /tmp/mytest2
auto.master.d      exports.d     modules-load.d  rc2.d          sane.d
bash_completion.d  gdbinit.d     my.cnf.d        rc3.d          setuptool.d
binfmt.d           grub.d        oddjobd.conf.d  rc4.d          statetab.d
cgconfig.d         init.d        pam.d           rc5.d          sudoers.d
chkconfig.d        ipsec.d       popt.d          rc6.d          sysctl.d
cron.d             ld.so.conf.d  prelink.conf.d  rc.d           tmpfiles.d
depmod.d           libibverbs.d  profile.d       request-key.d  usb_modeswitch.d
dnsmasq.d          logrotate.d   rc0.d           rsyslog.d      xinetd.d
dracut.conf.d      modprobe.d    rc1.d           rwtab.d        yum.repos.d

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

[root@localhost ~]# cp /etc/[lmn]*.conf /tmp/mytest3
[root@localhost ~]# ls /tmp/mytest3
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf  nfsmount.conf  ntp.conf
libaudit.conf  locale.conf   man_db.conf     mtools.conf  nsswitch.conf  numad.conf

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

(0)
haoqiqiuzhihaoqiqiuzhi
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • 图解 lvs 工作原理

    一.lvs 基本工作流程介绍  如图1,ipvsadm定义lvs服务监听的ip和port,并发送给ipvs,而ipvs是工作在netfilter的input钩子上的程序,当input链中有目标ip属于lvs服务的请求报文时,ipvs就会修改该报文的链路,使其不进入用户空间而直接转到postrouting链上,并转发给其中一台real server,…

    Linux干货 2016-10-30
  • linux三剑客之awk

    awk             简介:是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言的最大功能         &n…

    Linux干货 2016-12-05
  • 基于mysql虚拟用户认证​

    虚拟用户:                             用户账号存储于何处? …

    Linux干货 2016-10-17
  • 磁盘配额、阵列与逻辑卷

    一、磁盘配额 在内核中执行以文件系统为单位启用对不同组或者用户的策略不同 根据块或者节点进行限制执行软限制(soft limit)硬限制(hard limit) 步骤一:获得文件系统支持临时有效:mount -o remount,usrquota,grpquota {mount_point|device}永久有效:写入配置文件 /etc/fstab 中检查文…

    Linux干货 2016-08-29
  • 第六周作业

    1、简述osi七层模型和TCP/IP五层模型 应用层 运行着应用程序的协议http、ftp、tftp等 表示层 将应用层所编辑的数据进行加密或解密,没有协议 会话层 决定一次数据传输发起和接收会话请求,没有协议 传输层 根据选着的协议类型,决定是否将数据分割或重组,协议:tcp、udp等 网络层 编辑逻辑地址信息(原站点、目的站点)和路由选着(ARP)协议:…

    2018-02-06
  • 正则表达式—grep的用法详解

    grep与sed、awk共称为文字处理三剑客,支持正则表达式语句,具体用法如下: grep [options] PATTERN [file]     #常用选项:     –color=auto  #对匹配到的文本着色显示 &n…

    Linux干货 2016-07-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:15

    写的很好,排版也很棒,加油,3大题2小题跟要求不一样