Linux基础命令的操作练习案例

1. 命令行展开功能

  • 创建/tmp目录下的:a_c,a_d,b_c,b_d

    操作如下:
    [root@guox ~]# mkdir /tmp/{a_c,a_d,b_c,b_d}
    [root@guox ~]# tree /tmp/
    /tmp/
    ├── a_c
    ├── a_d
    ├── b_c
    ├── b_d
    ├── ssh-g30IFjh0tDMx
    │ └── agent.13705
    ├── systemd-private-hCDkXq
    │ └── tmp
    ├── systemd-private-j2oG8a
    │ └── tmp
    └── systemd-private-x1B1dI
    └── tmp

11 directories, 1 file

  • 创建/tmp/mylinux目录下的:

    [root@guox ~]# tree /tmp/mylinux/
    /tmp/mylinux/
    ├── bin
    ├── boot
    │ └── grub
    ├── dev
    ├── etc
    │ ├── rc.d
    │ │ └── init.d
    │ └── sysconfig
    │ └── network-scripts
    ├── lib
    │ └── modules
    ├── lib64
    ├── lock
    ├── log
    ├── proc
    ├── run
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │ └── local
    │ ├── bin
    │ └── sbin
    └── var

24 directories, 0 files

操作如下:
[root@guox ~]#mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,lock,log,proc,run,sbin,sys,tmp,usr/local/{bin,sbin},var}

2.文件的元数据

  • 元数据(metadata):文件的附属信息,记录文件的文件大小,拥有人,所属的组,修改日期等等。

  • 可用 stat 命令查看文件的详细信息:
    [root@guox ~]# touch test
    [root@guox ~]# stat test
    文件:”test”
    大小:0 块:0 IO 块:4096 普通空文件
    设备:fd01h/64769d Inode:70106008 硬链接:1
    权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2016-09-25 12:06:47.684952897 +0800
    最近更改:2016-09-25 12:06:47.684952897 +0800
    最近改动:2016-09-25 12:06:47.684952897 +0800
    创建时间:-

  • 修改文件的时间戳操作:
    操作如下:
    [root@guox ~]# touch -d “2020-01-23 01:23:45” test
    [root@guox ~]# stat test
    文件:”test”
    大小:0 块:0 IO 块:4096 普通空文件
    设备:fd01h/64769d Inode:70106008 硬链接:1
    权限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2020-01-23 01:23:45.000000000 +0800
    最近更改:2020-01-23 01:23:45.000000000 +0800
    最近改动:2016-09-25 12:08:18.681951286 +0800
    创建时间:-

3.命令别名

  • 定义别名alias
    操作如下:
    [root@guox home]# alias ls=’ls -al’
    [root@guox home]# ls
    总用量 8
    drwxr-xr-x. 3 root root 17 2月 19 2016 .
    dr-xr-xr-x. 17 root root 4096 9月 25 11:26 ..
    drwx——. 14 guox guox 4096 5月 28 09:35 guox

  • 引用命令执行的结果
    操作如下:
    [root@guox ~]# cat /etc/passwd | grep guox
    guox:x:1000:1000:Guox:/home/guox:/bin/bash

4.命令应用

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

操作如下:
[root@guox ~]# mkdir /var/12306vvv
[root@guox ~]# ls -d /var/1*[0-9]*[[:lower:]]
/var/12306vvv

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

操作如下:
[root@guox ~]# mkdir /etc/123guox
[root@guox ~]# ls -d /etc/[0-9]*[^0-9]
/etc/123guox

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

操作如下:
[root@guox ~]# ls -d /etc/[^a-z]*[a-z]*
/etc/123a1234 /etc/123aasdad /etc/123abc /etc/123a.com

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

操作如下:
[root@guox ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
[root@guox ~]# ls /tmp/ | grep tfile
tfile-2016-09-25-14-31-11

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

操作如下:
[root@guox ~]# mkdir /tmp/mytest1
[root@guox ~]# cp -a /etc/p*[^0-9] /tmp/mytest1/

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

操作如下:
[root@guox ~]# mkdir /tmp/mytest2
[root@guox ~]# cp -a /etc/*.d /tmp/mytest2

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

操作如下:
[root@guox ~]# mkdir /tmp/mytest3
[root@guox ~]# cp -a /etc/{l,m,n}*.conf /tmp/mytest3


END

你可能感兴趣的:(Linux)