N 28 第二周 博客作业

linux

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

cp   复制命令

语法格式:

1)单源复制:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

如果DEST存在:

如果DEST是非目录文件:则覆盖目标文件;

如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并                                  复制其数据流

示例:

[root@zhws ~]# cp /etc/fstab /tmp/test.etc       如果DEST是非目录文件:则覆盖目标文件

cp: overwrite `/tmp/test.etc’? y

[root@zhws ~]# cat /tmp/test.etc                     查看覆盖后的文件

#

# /etc/fstab

# Created by anaconda on Fri Dec 26 21:30:31 2014

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk’

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/VG00-LV01  /                      ext4    defaults        1 1

UUID=3c7983ec-6a7a-4b64-adb7-6aa04fb3ccc3 /boot                  ext4    defaults        1 2

/dev/mapper/VG00-LV00  swap                    swap    defaults        0 0

tmpfs                  /dev/shm                tmpfs  defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                  /sys                    sysfs  defaults        0 0

proc                    /proc                  proc    defaults        0 0

[xi@zhws ~]$ cp /etc/fstab /tmp             如果DEST是目录文件:则先在DEST目录下创建一个与源                                                                   文件同名的文件,并复制其数据流;

[xi@zhws ~]$ ls /tmp                              查看源文件

fstab          mytest              pulse-lsK2mPTbdc3G  virtual-xi.5YWb4l

[root@zhws ~]# cp /etc/fstab /tmp/a   如果DEST不存在:则事先创建此文件,并复制源文件的数据                                                              流至DEST中;

[root@zhws ~]# ls /tmp                      查看文件

a              keyring-yoqVJg  pulse-7JFcjpEbkUFa  virtual-root.FDm7Mk

2)多源复制:cp [OPTION]… SOURCE… DIRECTORY      or

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在:错误;

如果DEST存在:

如果DEST是非目录文件:错误;

如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

[root@zhws ~]# cp /etc/fstab /etc/hosts /tmp/b      这个是dir不存在

cp: target `/tmp/b’ is not a directory

[root@zhws ~]# mkdir /tmp/c

[root@zhws ~]# cp /etc/fstab /etc/hosts /tmp/c     这个是dir存在的

[root@zhws ~]# ls /tmp/c

fstab  hosts

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

-f:强制覆盖目标文件;

-r, -R:递归复制目录;

-d:复制符号链接文件本身,而非其指向的源文件;

-a:-dR –preserve=all, archive,用于实现归档;

–preserv=

mode:权限

ownership:属主和属组

timestamps: 时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

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

语法格式:

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE..

常用选项:

-i:交互式;

-f:force强制覆盖

示例:

[root@zhws tmp]# ls

a              keyring-LPPnFf  orbit-xi

[root@zhws tmp]# mv a A     重命名文件

[root@zhws tmp]# ls

A              keyring-LPPnFf  orbit-xi

[root@zhws tmp]# mv A /etc   移动文件

[root@zhws tmp]# ls /etc

A                          init

rm命令:remove 删除

语法格式:rm [OPTION]… FILE…

常用选项:

-i:interactive

-f:force

-r: recursive

友情提示:删除目录:rm -rf /PATH/TO/DIR         危险操作:rm -rf /*

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

1)命令执行的状态结果:

bash通过状态返回值来输出此结果:(1) 成功:0      ;     (2)失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

2)命令行展开:

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

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

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

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

[xi@zhws tmp]$ mkdir -v {a,b}_{c,d}

mkdir: created directory `a_c’

mkdir: created directory `a_d’

mkdir: created directory `b_c’

mkdir: created directory `b_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

[xi@zhws tmp]$ mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/nwwork-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

mkdir: created directory `/tmp/mylinux/bin’

mkdir: created directory `/tmp/mylinux/boot’

mkdir: created directory `/tmp/mylinux/boot/grub’

mkdir: created directory `/tmp/mylinux/dev’

mkdir: created directory `/tmp/mylinux/etc’

mkdir: created directory `/tmp/mylinux/etc/rc.d’

mkdir: created directory `/tmp/mylinux/etc/rc.d/init.d’

mkdir: created directory `/tmp/mylinux/etc/sysconfig’

mkdir: created directory `/tmp/mylinux/etc/sysconfig/nwwork-scripts’

mkdir: created directory `/tmp/mylinux/lib’

mkdir: created directory `/tmp/mylinux/lib/modules’

mkdir: created directory `/tmp/mylinux/lib64′

mkdir: created directory `/tmp/mylinux/proc’

mkdir: created directory `/tmp/mylinux/sbin’

mkdir: created directory `/tmp/mylinux/sys’

mkdir: created directory `/tmp/mylinux/tmp’

mkdir: created directory `/tmp/mylinux/usr’

mkdir: created directory `/tmp/mylinux/usr/local’

mkdir: created directory `/tmp/mylinux/usr/local/bin’

mkdir: created directory `/tmp/mylinux/usr/local/sbin’

mkdir: created directory `/tmp/mylinux/var’

mkdir: created directory `/tmp/mylinux/var/lock’

mkdir: created directory `/tmp/mylinux/var/log’

mkdir: created directory `/tmp/mylinux/var/run’

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

文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息

stat命令   可以查看文件的元数据信息

示例:   [root@zhws ~]# stat /etc/fstab

File: `/etc/fstab’

Size: 769      Blocks: 8          IO Block: 4096  regular file

Device: fc01h/64513d Inode: 1066681    Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)  Gid: (    0/    root)

Access: 2017-04-06 15:12:12.898139320 +0800

Modify: 2017-01-21 23:23:19.075791789 +0800

Change: 2017-01-21 23:23:19.094791786 +0800

touch 命令   修改时间戳

语法格式  :  touch [OPTION]… FILE…

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

-a: 仅修改access time;

-m:仅修改modify time;

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

alias命令:定义别名

[xi@zhws tmp]$ alias cls=clear

[xi@zhws tmp]$ alias

alias cls=’clear’

引用命令的执行结果:

$(COMMAND)

或`COMMAND`

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

ls -d /var/l*[[:digit:]][[:lower:]]

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

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

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

ls -d /etc/[^[:alpha:]][a-z]*

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 /etc/p*[^0-9] /tmp/mytest1

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

cp /etc/*.d /tmp/mytest2

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

[root@zhws ~]# cp /etc/l*.conf /etc/m*.conf /etc/n*.conf /tmp/mytest3

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89946

(0)
淑淑淑淑
上一篇 2017-12-11 19:12
下一篇 2017-12-11 21:45

相关推荐

  • N25-第9周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # 统计登录用户和非登陆用户的个数 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干货 2017-03-10
  • Linux基本操作:关机 重启

        Linux系统安装完成以后,就要学会一些Linux的基本操作命令,首先是关机和重启命令,如果进入Linux系统之后连关机重启都不会是不是太不应该了,总不能关机或重启的时候直接关闭电源在开机吧,这就显得太不专业了,这样也会对Linux系统主机不太好,一些进程还没有关闭就直接断电,会导致Linux系统的不稳定出现问题,何况也…

    Linux干货 2016-08-04
  • nginx相关配置及解释

    全局配置: user  nginx nginx; #运行程序的用户和用户组pid      /var/run/nginx.pid; #主控进程load_module /usr/lib64/nginx/modules/ngx_http_geoip_module.so;#加载模块 work进程的数量:通常为当前主…

    Linux干货 2017-05-07
  • 数学集合–德摩根定律

    初中数学学过集合的概念: ~表示补集 ∩表示交集 ∪表示并集 ∈表示属于 !表示取反 条件: x属于C集合中之外的部分:~C 证明:   ∵x∈~C    x属于集合c的补集     x∈~(A∩B)    想属于a和b…

    Linux干货 2016-08-15
  • 马哥教育网络班21期+第10周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     1)开机后会进行POST(开机加电自检),加载BIOS,之后会根据BIOS上的boot  sequence(引导加载次序)找到第一个有引导程序的设备,找到MBR,bootloader(引导加载器)就安装在MBR内。M…

    Linux干货 2016-09-19
  • 单引号、双引号和反引号使用方法

        首先向马哥和马哥团队敬个礼,谢谢你们带我进入Linux的世界,刚开始接触linux时,经常看到单引号、双引号和反引号特殊符号,经常搞混淆和误用,应该用双引号,有时用到单引号。经过几天的混乱引用,总算搞明白了一些,简单总一下三者的使用和区别。  单引号 ‘’     单引号里的内容全部以普通字符的含义进…

    Linux干货 2015-07-29

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-02 21:44

    完成的非常好,内容很全面,加油,再接再励。