网络班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

相关推荐

  • 文件系统磁盘管理上

    磁盘:主要作用用于存储数据 早期一块硬盘共有256个盘面,每个盘面有1024个磁道,每个磁道有63个扇区,每个扇区的大小是512byte 硬盘的命名: 早期IDE硬盘标记为hd scsi、usb、sas标记为sd 引用设备的方式 设备文件名 标卷 UUID 硬盘分区: 第0个磁道的第0个扇区存放的是磁盘的信息 MBR:Master Boot Record 主…

    Linux干货 2016-08-30
  • 【26期】Linux第五周学习小总结

        第五周的学习内容很丰富, 从查找到压缩打包,到软件包的管理,其中尤其是以压缩的内容最为丰富,而且庞大的选项让人绝望,那我今天就总结了一下压缩的一些东西,和大家一起分享。     为什么会产生压缩工具呢?因为我们的现在的很多文件会利用到的东西很多,电脑的读存速度也越来越快,一些大的文件在传输和使用上就会很麻烦,虽…

    2017-08-12
  • 马哥教育网络21期+第六周练习博客

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost named]# cp /etc/rc.d/rc.sysinit /tmp/ [root@loc…

    Linux干货 2016-08-15
  • 8.1-用户和组(命令篇)

    1、标准输入输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,     即标准输入文件(stdin),通常对应终端的键盘;     标准输出文件(stdout)     标准错误输出文件(stderr),这两个文件都对应…

    Linux干货 2016-08-04
  • 权限管理和字符匹配示例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel /home/tuser1 chmod -R 700 tuser1 2、编辑/etc/group文件,添加组hadoop hadoop:x:999 3、手动编辑/etc/passwd文件新增一行,…

    2017-12-25
  • 第一周作业

    – 描述计算机的组成及其功能。 – 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 – 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。 – 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shu…

    Linux干货 2016-12-04