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

1、Linux文件管理类命令

    cp:copy files and directories 复制文件和目录

        单源复制:cp [OPTION]… [-T] SOURCE DEST
            如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中;
            如果DEST存在:
                若DEST是非目录文件,则覆盖目标文件;普通用户下直接覆盖,管理员用户下则会提示是否覆盖
                若DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
                    
        多源复制:cp [OPTION]… SOURCE… DIRECTORY
                         cp [OPTION]… -t DIRECTORY SOURCE…
             如果DEST不存在:错误
             如果DEST存在:
                 若DEST是非目录文件:错误
                 若DEST是目录文件:分别复制每个文件至目标目录中,并保持原名

        常用选项:
            -i:交互式复制,即覆盖前提醒用户确认
            -f,–force:强制覆盖目标文件
            -r,-R,–recursive:递归复制目录
            -d:复制符号链接本身,而非其指向的源文件
            -a:-dR –preserve=all,archive,用于实现归档,备份
            –preserve(保留)=
                mode:权限
                ownership:属主和属组
                timetamps:时间戳
                context:安全标签
                xattr:扩展属性
                links:符号链接
                all:上述所有属性

[xw@localhost ~]$ cp /var/log/boot.log test.txt

[root@localhost ~]# cp /var/log/boot.log /home/xw/test.txt
cp: overwrite ‘/home/xw/test.txt’? y

[xw@localhost ~]$ cp /etc/passwd /etc/group test.txt
cp: target ‘test.txt’ is not a directory
[xw@localhost ~]$ cp /etc/passwd /etc/group test

[root@localhost ~]# cp /var/log/ /home/xw/test
cp: omitting directory ‘/var/log/’
[root@localhost ~]# cp -rf /var/log/* /home/xw/test/

    mv:move (rename) files 移动或重命名文件
        语法格式:mv [OPTION]… [-T] SOURCE DEST
                         mv [OPTION]… SOURCE… DIRECTORY
                         mv [OPTION]… -t DIRECTORY SOURCE..

        常用选项:
                   -i:交互式移动
                   -f, –force:强制移动

    rm:remove files or directories 删除文件或目录
        语法格式:rm [OPTION]… FILE…

        常用选项:
            -i:交互式删除
            -f:强制删除
            -r:递归删除

            删除目录:rm -rf /PATH/TO/DIR
                !!!危险操作:rm -rf /*
        注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(模拟回收站功能)

2、bash的基础特性之:命令的执行状态结果和命令行展开

    命令的执行状态结果
        
bash通过状态返回值来输出结果:
            成功:0
            失败:1-255

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

[xw@localhost ~]$ ls /etc/passwd
/etc/passwd
[xw@localhost ~]$ echo $?
0
[xw@localhost ~]$ lss /etc/passwd
-bash: lss: command not found
[xw@localhost ~]$ echo $?
127

    命令行展开
        
~:自动展开为用户的家目录,或指定的用户的家目录
        {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
            例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

3、使用命令行展开功能完成以下练习:
    (1) 创建/tmp目录下的:a_c,a_d,b_c,b_d

[xw@localhost ~]$ mkdir /tmp/{a,b}_{c,d}
[xw@localhost ~]$ ls /tmp/
a_c  a_d  b_c  b_d

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

[xw@localhost ~]$ 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,log,run}}
[xw@localhost tmp]$ tree 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

4、文件的元数据
    元数据是指用来描述一个文件的特征的系统数据,包括文件大小,拥有者,所属的组,修改日期,访问权限以及文件数据块的分布信息(inode…)等等。使用 ls -l filename,stat filename 来查看文件的元数据。

[xw@localhost ~]$ ls -l 1.txt
-rw-rw-r--. 1 xw xw 8617 Aug 19 10:01 1.txt

[xw@localhost ~]$ stat 1.txt
  File: ‘1.txt’
  Size: 8617            Blocks: 24         IO Block: 4096   regular file
Device: fd02h/64770d    Inode: 136         Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      xw)   Gid: ( 1000/      xw)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2016-08-19 10:01:09.000806088 +0800
Modify: 2016-08-19 10:01:09.000806088 +0800
Change: 2016-08-19 10:01:09.000806088 +0800
 Birth: -

        -:文件类型:-常规文件,d目录文件,b块设备文件,c字符设备文件,l符号链接文件,s套接字文件,p命令管道
        rw-(左三位):文件属主的权限
        rw-(中三位):文件属组的权限
        r–(右三位):其它用户(非属主、属组)的权限
        1:表示文件被硬链接的次数
        xw:文件的属主
        xw:文件的属组
        8617:表示文件的大小,单位是字节
        Aug 19 10:01:文件最近一次被修改的时间

        Access(最近访问): 2016-08-19 10:01:09.000806088 +0800
        Modify(最近修改): 2016-08-19 10:01:09.000806088 +0800
        Change(最近更改): 2016-08-19 10:01:09.000806088 +0800

        修改文件的时间戳信息—— touch 命令:
            语法格式:touch [OPTION]… FILE…
                -a:仅修改access time
                -m:仅修改modify time
                -t STAMP:修改为指定时间
                    格式:[[CC]YY]MMDDhhmm[.ss]

5、命令别名 alias:将一些需要频繁使用但又过于冗长的命令设置一个别名,这样只需输入简短的别名就可以达到同样的作用
        获取所有可用别名的定义:~]$ alias
        定义别名:~]$ alias NAME='COMMAND'
            注意:仅对当前shell进程有效
        撤销别名:~]$ unalias NAME

[xw@localhost ~]$ alias e='echo'
[xw@localhost ~]$ e 'hello'
hello

        在命令中引用另一个命令的执行结果:
            $(COMMAND) 或 `COMMAND`

[xw@localhost ~]$ echo now is $(date +"%F %T")
now is 2016-08-19 15:02:28
[xw@localhost ~]$ echo now is `date +"%F %T"`
now is 2016-08-19 15:02:42

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

[root@localhost var]# ls -d /var/l*[0-9]*[[:lower:]]
/var/l3%%d  /var/l_6gs  /var/l_6r1e  /var/l8d

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

[root@localhost etc]# ls -d /etc/[0-9]*[^0-9]
/etc/68ef%  /etc/8ef  /etc/90_f

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

[root@localhost etc]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/8ef  /etc/9dfg%  /etc/9dfg1

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

[root@localhost tmp]# touch /tmp/tfile-$(date +"%Y-%m-%d-%H-%M-%S")
[root@localhost tmp]# ls
a_c  a_d  b_c  b_d  mylinux  tfile-2016-08-19-16-00-07

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

[root@localhost tmp]# cp -rf /etc/p*[^0-9] /tmp/mytest1
[root@localhost tmp]# ls mytest1/
pam.d   passwd-  plymouth  popt.d   ppp             printcap  profile.d  python
passwd  pki      pm        postfix  prelink.conf.d  profile   protocols

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

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

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

[root@localhost tmp]# cp -rf /etc/[lmn]*.conf /tmp/mytest3
[root@localhost tmp]# ls mytest3
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf
libaudit.conf  locale.conf   man_db.conf     nsswitch.conf

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

(0)
萝卜萝卜
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • 特殊权限

    特殊权限 文件特殊权限 一、SUID(4) SUID:当s这个标志出现在文件所有者的x权限上时,就被称作SUID。 SUID的功能和限制:1、仅仅对二进制程序有效; 2、执行者对程序需要X的执行权限; 3、本权限仅仅在执行该程序的过程中有效; 4、执行者将具有该程序所有者的权限。 5、SUID仅仅可以用在二进制程序上,…

    Linux干货 2016-08-05
  • 如何安装CentOS 6.8 ?

    一 ,首先我要先在虚拟机的平台上搭建一下我们需要的环境。 1,选择创建一个新的虚拟机。之后选择自定义安装。点击下一步 2,选择硬件兼容性workstation12.0,(根据情况你也可以选择下面的几个版本,不过要记得选择版本之后,不能再这个版本以下打开虚拟机) 3,点击下一步选择安装程序光盘映像文件项。点击下一步。 4,之后创建一下用户信息,点击下一步。 5…

    Linux干货 2017-02-14
  • 05linux用户和组的权限总结

    1、文件的权限分类 文件的权限对象分三类:属主(u)、属组(g)、其他(o),每个对象都有rwx,读写执行三类权限。 对于文件 r:可查看文件内容 w:可修改其类容 x:可把此文件提请内核启动为一个进程 对于目录 r:可使用ls查看此目录中文件列表 w:可在此目录中创建和删除文件 x:可使用ls查看目录中文件列表,可以cd进入此目录 X:只给目录x权限,不给…

    Linux干货 2016-11-27
  • LVM 逻辑卷管理

    一、概述: LVM: logical Volumn Manager  LVM是建立在硬盘和分区之上的一个逻辑层。可以将多个物理分区整合起来,无需停机,可以对文件系统的大小进行调整。同时,还提供快照功能 二、概念及实现过程: PE :每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的…

    Linux干货 2015-10-05
  • Linux网络属性配置(三)修改配置文件&& CentOS 7 网络配置

    Linux网络属性配置(三)&& CentOS 7网络配置 Linux网络属性配置(三)修改配置文件&& CentOS 7 网络配置 Linux网络属性配置(三)修改配置文件 IP、MASK、GW、DNS相关配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE 路由相关配置文件: /…

    Linux干货 2016-07-07
  • N22+张zhangzhang+第6周博客作业

    请详细总结vim编辑器的使用并完成以下练习题   vim编辑器是vi编辑器的增强版,是全屏文本编辑器,用于完成文本的输出、删除、查找、替换、块操作等众多功能。一般分三种模式:编辑模式、输入模式、末行模式。 vim各种按键的功能 编辑模式: 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以…

    Linux干货 2016-09-20

评论列表(1条)

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

    写的很好,排版还可以在漂亮一点,加油,3大题2小题跟要求不一样