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

相关推荐

  • keepalive配置文件详解

    第一部分:全局定义块 1、email通知。作用:有故障,发邮件报警。 2、Lvs负载均衡器标识(lvs_id)。在一个网络内,它应该是唯一的。 3、花括号“{}”。用来分隔定义块,因此必须成对出现。如果写漏了,keepalived运行时,不会得到预期的结果。由于定义块内存在嵌套关系,因此很容易遗漏结尾处的花括号,这点要特别注意。 global_defs{ n…

    2017-09-17
  • linux 文本切片处理技巧

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法。 ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换。 ${#parameter} 上面这种可以获得字符串的长度。 ${parameter%…

    Linux干货 2017-04-04
  • Linux学习笔记(第三篇)

    N21_Keen_第三周博客 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d " " -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 last…

    Linux干货 2016-08-15
  • Linux目录结构

    Linux目录结构 查看目录(/) 树状目录结构: 常见目录的解释 Linux 下的文件类型 路径 Linux目录结构 查看目录(/) 登录系统后,在当前命令窗口下输入命令: [root@localhost ~]# ls /bin   dev  home  lib64       media &nb…

    Linux干货 2016-09-06
  • 从Linux小白到大牛——与狼共舞的日子13

    马哥教育网络班21期+第13周课程练习 1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加sa…

    Linux干货 2017-01-03
  • 文件管理及常用命令(一)

    cat命令: -n 增加行号 空行也增加行号          [root@localhost ~]# cat f1     abcd     abc…

    Linux干货 2016-08-08