网络班22期+第二周作业练习

常用的文件管理命令:

  • ls,显示文件或目录

    • -l:显示文件或目录的包括权限、属主、属组大小创建日期等详细信息

      • [root@centos7 ~]# ls -l
        total 16
        -rw-r--r--. 1 root root   64 Aug 27 18:33 11
        -rw-r--r--. 1 root root   63 Aug 27 17:54 22
        -rw-------. 1 root root 1242 Jul 29 17:51 anaconda-ks.cfg
        drwxr-xr-x. 2 root root    6 Aug 21 00:45 Desktop
        drwxr-xr-x. 2 root root    6 Aug 21 00:45 Documents
        drwxr-xr-x. 2 root root    6 Aug 21 00:45 Downloads
    • -a:显示所有文件,-A:显示所有文件但不包过. ..

    • -d:显示目录本身而非目录下的文件,一般配合-l使用

      • [root@centos7 ~]# ls Desktop
        mytest.out
        [root@centos7 ~]# ls -dl Desktop
        drwxr-xr-x. 2 root root 23 Sep  5 17:07 Desktop
    • -h:配合 -l ,以K、M、G等方式显示文件大小,更易读,但文件大小不精确

    • -r:逆序显示,-R:递归显示

  • cp,复制文件

    • -i:覆盖交互提示

    • -r:递归复制

    • -f:强制覆盖

    • 单源复制

      • [root@centos7 tmp]# cp test1.pic testdir
    • 多源复制

      • [root@centos7 tmp]# cp testscr.pic testusb.pic testdir
    • 目录复制

      • [root@centos7 tmp]# cp -rf cups testdir
        [root@centos7 tmp]# ls testdir
        cups
  • mv:移动文件或改名,用法类似cp

    • [root@centos7 tmp]# mv test1.pic testdir
      [root@centos7 tmp]# mv testscr.pic testpic
  • rm:删除文件或目录,用法类似cp

    • -r:递归删除,慎用

    • -f:强制删除

    • -d:删除空目录

  • mkdir:创建文件夹

    • -p:如要创建的目标目录的父目录不存在,则自动为其创建

      • [root@centos7 tmp]# mkdir -pv d1/d2/d3
  • touch:创建空文件或修改文件时间戳

    • -c:目标文件不存在时,不予创建文件

    • -a:修改Access time

    • -m:修改Modify time

    • -t:指定时间

  • pwd:显示当前路径

  • cd:切换目录

    • cd ~:切换回家目录

    • cd -:上次和本次的目录来回切换

bash特性之命令状态返回值

linux命令有2种结果状态,一种是命令结果输出,一种是命令执行状态

如需要显示/tmp目录下的内容:

[root@centos7 ~]# ls /tmp
cups  d1  t1  t2  testdir  testpic  testusb.pic

如只需要知道 testpic文件是否存在,而不需要显示任何信息:

[root@centos7 tmp]# ls testpic &> /dev/null
[root@centos7 tmp]# echo $?
0

将命令执行结果(和错误信息)重定向至linux黑洞/dev/null,不让其显示任何信息

通过echo $?来检测命令是否执行成功,$?保存了上条命令的执行状态值

0:执行成功

非0:失败

bash特性之命令行展开

创建/tmp下的a、b、c,

一般为mkdir /tmp/a /tmp/b /tmp/c;

如用命令行展开特性则是 

mkdir /tmp{a,b,c},相当于mkdir /tmp/a /tmp/b /tmp/c

练习:

1、创建a_c,a_d,b_c,b_d

[root@centos7 t1]# mkdir -pv {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下的若干目录

[root@centos7 ~]# 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}}

[root@centos7 ~]# 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

文件元数据

[root@centos7 ~]# stat 11
  File: ‘11’
  Size: 64        	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 138944011   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-08-27 18:33:45.928314700 +0800
Modify: 2016-08-27 18:33:36.369314412 +0800
Change: 2016-08-27 18:33:36.369314412 +0800
 Birth: -

文件名、大小、属主、属组,时间戳等等

用touch修改 Access、Modify、Change时间

命令别名 alias

显示别名alias

设置别名:

[root@centos7 ~]# alias chkver='uname -a'
[root@centos7 ~]# chkver
Linux centos7 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

删除别名:unalias chkver

[root@centos7 ~]# unalias chkver
[root@centos7 ~]# chkver
bash: chkver: command not found...

引用一个命令的执行结果

·· 和 $(cmd)

[root@centos7 ~]# mkdir $(date "+%Y-%m-%d-%T")

练习:

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

  2. [root@centos7 ~]# ls -d /var/l*[0-9]*[a-z]
  3. 显示/etc下,以任意1个数字开头,且以非数字结尾的文件或目录

  4. [root@centos7 ~]# ls /etc/[0-9]*[^0-9]
  5. 显示/etc下以非字母开头,后跟了一个字母及其他任意长度任意字符的文件或目录

  6. [root@centos7 ~]# ls /etc/[^a-z][a-z]*
  7. 在/tmp下创建以tfile开头,后面跟当前日期和时间的文件

  8. [root@centos7 ~]# mkdir $(date "+%Y-%m-%d-%T")
  9. 复制/etc下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1

    复制/etc下所有以.d结尾的文件到/tmp/mytest2

    复制/etc下所有以l或m或n开头,以.conf结尾的文件到/tmp/mytest3

[root@centos7 tmp]# mkdir -pv  mytest{1,2,3}
mkdir: created directory ‘mytest1’
mkdir: created directory ‘mytest2’
mkdir: created directory ‘mytest3’
[root@centos7 tmp]# cp -rf /etc/p*[^0-9] mytest1
[root@centos7 tmp]# cp -rf /etc/*.d mytest2
[root@centos7 tmp]# cp -rf /etc/[l,m,n]*.conf mytest3

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

(0)
ryanhpryanhp
上一篇 2016-09-05 18:02
下一篇 2016-09-06 08:50

相关推荐

  • linux基础知识:文件管理,bash特性

    本文简要介绍了文件类的管理命令,包括mv、cp、mkdir等等。还介绍了一些万用字符的用法。

    2017-12-12
  • 终端的类型

    Linux下的终端是一个连接系统的接口,它有以下几个分类     tty:虚拟终端       tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。   &nbsp…

    Linux干货 2016-10-20
  • 第六周

      第6周   1 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit ; sed -i 's@^[[:space:]]\+@#@g&#03…

    Linux干货 2017-02-13
  • 谷歌三大核心技术(一)The Google File System中文版

    摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是…

    Linux干货 2015-04-13
  • configure –help 参数详解

    configure –help 参数详解及apache2.2静态编译和动态编译参考

    Linux干货 2016-05-25
  • 说明Linux系统上命令的使用格式

    命令使用格式: COMMAND [OPTIONS…] [ARGUMENTS…]         选项:用于启用或关闭命令的某些功能                  短选项:-c(一个字符 ),例如:-l,…

    Linux干货 2016-10-31