1. 程式人生 > >Linux基礎命令的操作練習案例

Linux基礎命令的操作練習案例

1. 命令列展開功能

  • 建立/tmp目錄下的:a_c,a_d,b_c,b_d

    操作如下:
    [[email protected] ~]# mkdir /tmp/{a_c,a_d,b_c,b_d}
    [[email protected] ~]# 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目錄下的:

    [[email protected] ~]# 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

操作如下:
[[email protected] ~]#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 命令檢視檔案的詳細資訊:
    [

    [email protected] ~]# touch test
    [[email protected] ~]# 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
    建立時間:-

  • 修改檔案的時間戳操作:
    操作如下:
    [[email protected] ~]# touch -d “2020-01-23 01:23:45” test
    [[email protected] ~]# 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
    操作如下:
    [[email protected] home]# alias ls=’ls -al’
    [[email protected] 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

  • 引用命令執行的結果
    操作如下:
    [[email protected] ~]# cat /etc/passwd | grep guox
    guox:x:1000:1000:Guox:/home/guox:/bin/bash

4.命令應用

  • 顯示/var目錄下所有以1開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其他字元)的檔案或目錄。

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

  • 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的檔案或目錄。

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

  • 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字元的檔案或目錄。

操作如下:
[[email protected] ~]# 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。

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

  • 複製/etc目錄下所有以p開頭,以非數字結尾的檔案或目錄到/tmp/mytest1目錄中。

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

  • 複製/etc目錄下所有以.d結尾的檔案或目錄至/tmp/mytest2目錄中。

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

  • 複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的檔案至/tmp/mytest3目錄中。

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

END