文件管理命令及文件名通配

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

目录管理类的命令

mkdir

用法:

mkdir [选项]... 目录...

选项:

 -p 递归创建多个目录

实例:

[root@centos7 ~]# mkdir -p /tmp/jerry/2016/11/4
[root@centos7 /]# tree /tmp
 /tmp
├── akonadi-root.9I0Ba3
├── anaconda.log
├── hogsuspend
├── hsperfdata_root
│   └── 88148
├── hsperfdata_user
├── ifcfg.log
├── jerry
│   └── 2016
│       └── 11
│           └── 4


**注意:**
**centos7&6默认没有安装tree命令,记得yum install tree 就OK。**

选项:

-v 显示创建过程即命令执行过程

实例:

[root@centos7 /]# mkdir -pv /tmp/aaa/bbb/ccc/2016/11qa
mkdir: 已创建目录 "/tmp/aaa"
mkdir: 已创建目录 "/tmp/aaa/bbb"
mkdir: 已创建目录 "/tmp/aaa/bbb/ccc"
mkdir: 已创建目录 "/tmp/aaa/bbb/ccc/2016"
mkdir: 已创建目录 "/tmp/aaa/bbb/ccc/2016/11qa"

选项:

-m:设定目录权限,不加则为默认权限

实例:

[root@centos7 /]# mkdir -m 777 -pv /tmp/fbi/cia
mkdir: 已创建目录 "/tmp/fbi"
mkdir: 已创建目录 "/tmp/fbi/cia"    
[root@centos7 /]# ll /tmp/fbi
总用量 0
drwxrwxrwx. 2 root root 6 11月  4 15:52 cia

[root@centos7 /]# mkdir -m 775 -pv /tmp/hbo/oom/ubuntu
mkdir: 已创建目录 "/tmp/hbo"
mkdir: 已创建目录 "/tmp/hbo/oom"
mkdir: 已创建目录 "/tmp/hbo/oom/ubuntu
[root@centos7 /]# ll /tmp/hbo/oom/
总用量 0
drwxrwxr-x. 2 root root 6 11月  4 16:00 ubuntu

注意:-m 参数设定的目录权限只对最后一级的目录生效,其上级目录均是默认的755。哈哈~~

rmdir

用法:

rmdir [选项]... 目录...

选项参数:

     --ignore-fail-on-non-empty
                 忽略仅由目录非空产生的所有错误
 -p, --parents   remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is
                 similar to 'rmdir a/b/c a/b a'
 -v, --verbose   output a diagnostic for every directory processed
     --help      显示此帮助信息并退出
     --version   显示版本信息并退出

实例:

[root@centos7 tmp]# rmdir -pv fbi/cia/
rmdir: 正在删除目录 "fbi/cia/"
rmdir: 正在删除目录 "fbi"

文件查看类命令

cat

用法:

用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。

选项:

 -A, --show-all           等于-vET
 -b, --number-nonblank    对非空输出行编号
 -e                       等于-vE
 -E, --show-ends          在每行结束处显示"$"
 -n, --number             对输出的所有行编号
 -s, --squeeze-blank      不输出多行空行
 -t                       与-vT 等价
 -T, --show-tabs          将跳格字符显示为^I
 -u                       (被忽略)
 -v, --show-nonprinting   使用^ 和M- 引用,除了LFD和 TAB 之外
     --help     显示此帮助信息并退出
     --version      显示版本信息并退出

平时可能用到的选项就是输出行号了,实例如下:

[root@centos7 /]# cat -n /etc/rc.local 
 1  #!/bin/bash
 2  # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
 3  #
 4  # It is highly advisable to create own systemd services or udev rules
 5  # to run scripts during boot instead of using this file.
 6  #
 7  # In contrast to previous versions due to parallel execution during boot
 8  # this script will NOT be run after all other services.
 9  #
10  # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
11  # that this script will be executed during boot.
12  
13  touch /var/lock/subsys/local
[root@centos7 /]#

tac

tac命令:与cat功能相近,只是逆序显示文件内容

head

用法:

head [选项]... [文件]...
查看文件的前N行,默认为10行

选项:

 -n 
 -#

实例:

[root@centos7 ~]# head  /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@centos7 ~]# head - 15 /etc/passwd

[root@centos7 ~]# head -15 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin

tail

用法:

tail [选项]... [文件]...

选项参数:

 -n:指定显示的行数。不加任何参数默认显示10行,从最后一行开始;
 -#:直接指定显示的行数,从最后一行开始;
 -f:查看文件尾部内容结束后不退出,跟随显示新增的行;

实例:

[root@centos7 ~]# tail -2 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
user:x:1000:1000:user:/home/user:/bin/bash

[root@centos7 ~]# tail /etc/passwd
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
pcp:x:988:985:Performance Co-Pilot:/var/lib/pcp:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:987:982::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
user:x:1000:1000:user:/home/user:/bin/bash

more

用法:

more [选项] 文件...
特点:翻屏至文件尾部后自动退出;

选项参数:

 -d        显示帮助,而不是响铃
 -f        统计逻辑行数而不是屏幕行数
 -l        抑制换页(form feed)后的暂停
 -p        不滚屏,清屏并显示文本
 -c        不滚屏,显示文本并清理行尾
 -u        抑制下划线
 -s        将多个空行压缩为一行
 -NUM      指定每屏显示的行数为 NUM
 +NUM      从文件第 NUM 行开始显示
 +/STRING  从匹配搜索字符串 STRING 的文件位置开始显示
 -V        输出版本信息并退出

实例:

略过,给你个眼神自己体会^_^

less

特点: 其实man读取帮助手册就是调用的less指令。所以less命令的操作方式同man

文件管理类命令

cp

用法:

单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:cp [OPTION]... SOURCE... DIRECTORY
         cp [OPTION]... -t DIRECTORY SOURCE...

单源复制:cp [OPTION]... [-T] SOURCE DEST
         如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
         如果DEST存在:
             如果DEST是非目录文件:则覆盖目标文件;
             如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

多源复制:cp [OPTION]... SOURCE... DIRECTORY
         cp [OPTION]... -t DIRECTORY SOURCE...

         如果DEST不存在:错误;
         如果DEST存在:
             如果DEST是非目录文件:错误;
             如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

选项参数:

 -i:交互式复制,即覆盖之前提醒用户确认;
 -f:强制覆盖目标文件;
 -r, -R:递归复制目录;
 -d:复制符号链接文件本身,而非其指向的源文件;
 -a:-dR --preserve=all, archive,用于实现归档;
 --preserv=
       mode:权限
       ownership:属主和属组
       timestamps: 时间戳
       context:安全标签
       xattr:扩展属性
       links:符号链接
       all:上述所有属性

实例:

`单源复制-目标文件不存在情况`
[root@centos ~]# ls /tmp/
whatis.q3Uigb  yum.log
[root@centos ~]# cp /etc/issue /tmp
[root@centos ~]# ls /tmp/
issue  whatis.q3Uigb  yum.log
[root@centos ~]# cat /tmp/issue 
CentOS release 6.5 (Final)
Kernel \r on an \m

`单源复制-目标文件已存在情况`
[root@centos ~]# cp /etc/hosts /tmp/issue 
cp: overwrite `/tmp/issue'? y
[root@centos ~]# cat /tmp/issue 
 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

`多源复制-目标目录不存在情况`
[root@centos ~]# cp /etc/hosts /etc/issue /tmp/x
cp: target `/tmp/x' is not a directory

`多源复制-目标目录已存在情况`
[root@centos ~]# mkdir /tmp/x
[root@centos ~]# cp /etc/hosts /etc/issue /tmp/x
[root@centos ~]# ls /tmp/x
hosts  issue
[root@centos ~]# 

`-r选项实例`
[root@centos ~]# mkdir -p /tmp/souce/x/y/z
[root@centos ~]# mkdir /tmp/dest
[root@centos ~]# cp -r /tmp/souce/ /tmp/dest/
[root@centos ~]# tree /tmp/dest/    /tmp/dest/
└── souce
    └── x
        └── y
            └── z

4 directories, 0 files
[root@centos ~]# 

`--preserve选项实例`
[root@centos ~]# ls -l /tmp/ |grep liubin
-rw-rw-r--. 1 liubin liubin    0 Sep 27 04:56 liubin    
[root@centos ~]# cp --preserve=ownership /tmp/liubin /tmp/root
[root@centos ~]# ls -l /tmp/
total 16
drwxr-xr-x. 3 root   root   4096 Sep 27 04:53 dest
-rw-r--r--. 1 root   root    158 Sep 27 04:43 issue    
-rw-rw-r--. 1 liubin liubin    0 Sep 27 04:56 liubin    
-rw-rw-r--. 1 liubin liubin    0 Sep 27 04:59 root    
drwxr-xr-x. 3 root   root   4096 Sep 27 04:49 souce
drwxr-xr-x. 2 root   root   4096 Sep 27 04:44 x
-rw-------. 1 root   root      0 Sep 27 03:07 yum.log

mv

用法:

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE..

选项参数:

 -i:交互式    
 -f:强制移动

实例:

[root@localhost ~]# tree test
test
|-- 1p2a
|-- 28pa
|-- Pa99
|-- cpdoc.txt
|-- hahaha
|   |-- cpdoc.txt
|   |-- cpdoc1.txt
|   `-- text.txt
|-- p,a
|-- pa
|-- pa12
`-- papi

1 directory, 11 files

[root@localhost ~]# mv test/1p2a test/hahaha
[root@localhost ~]# tree test
test
|-- 28pa
|-- Pa99
|-- cpdoc.txt
|-- hahaha
|   |-- 1p2a
|   |-- cpdoc.txt
|   |-- cpdoc1.txt
|   `-- text.txt
|-- p,a
|-- pa
|-- pa12
`-- papi

1 directory, 11 files

[root@localhost ~]# mv test/hahaha test/mvtest
[root@localhost ~]# tree test
test
|-- 28pa
|-- Pa99
|-- cpdoc.txt
|-- mvtest
|   |-- 1p2a
|   |-- cpdoc.txt
|   |-- cpdoc1.txt
|   `-- text.txt
|-- p,a
|-- pa
|-- pa12
`-- papi

1 directory, 11 files

rm

用法:

rm [OPTION]... FILE...

选项参数:

 -i:interactive
 -f:force
 -r: recursive

实例:

[root@centos ~]# ls /tmp
dest  issue  liubin  root  souce  yum.log
[root@centos ~]# tree /tmp/souce/
/tmp/souce/
└── x
    └── y
        └── z    
3 directories, 0 files
[root@centos ~]# rm -rf /tmp/souce/
[root@centos ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[root@centos ~]#

bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

用法

echo $?:显示最近一条命令的执行结果

只能查看最近一条命令的执行的状态结果返回值

命令执行成功,则显示:0

命令执行失败,则显示:1-255之间的任意数字

实例

[root@centos7 ~]# ls /var
account  cache  db     games   kerberos  local  log   nis  preserve  spool   tmp  yp
adm      crash  empty  gopher  lib       lock   mail  opt  run       target  www
[root@centos7 ~]# echo $?
0
[root@centos7 ~]# ls /varte
ls: 无法访问/varte: 没有那个文件或目录
[root@centos7 ~]# echo $?
2
[root@centos7 ~]# lsd /var
bash: lsd: 未找到命令...
[root@centos7 ~]# echo $?
127
[root@centos7 ~]#

请使用命令行展开功能来完成以下练习:

创建/tmp目录下的:ac, ad, bc, bd

[root@centos7 ~]#  mkdir -v /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"
[root@centos7 ~]# ls /tmp/
a_c
a_d
anaconda.log
b_c 
b_d

创建/tmp/mylinux目录下的:

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 ~]# mkdir -pv /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}}
mkdir: 已创建目录 "/tmp/mylinux"
mkdir: 已创建目录 "/tmp/mylinux/bin"
mkdir: 已创建目录 "/tmp/mylinux/boot"
mkdir: 已创建目录 "/tmp/mylinux/boot/grub"
mkdir: 已创建目录 "/tmp/mylinux/dev"
mkdir: 已创建目录 "/tmp/mylinux/etc" 
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "/tmp/mylinux/lib"
mkdir: 已创建目录 "/tmp/mylinux/lib/modules"
mkdir: 已创建目录 "/tmp/mylinux/lib64"
mkdir: 已创建目录 "/tmp/mylinux/proc"
mkdir: 已创建目录 "/tmp/mylinux/sbin"
mkdir: 已创建目录 "/tmp/mylinux/sys"
mkdir: 已创建目录 "/tmp/mylinux/tmp"
mkdir: 已创建目录 "/tmp/mylinux/usr"
mkdir: 已创建目录 "/tmp/mylinux/usr/local"
mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"
mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"
mkdir: 已创建目录 "/tmp/mylinux/var"
mkdir: 已创建目录 "/tmp/mylinux/var/lock"
mkdir: 已创建目录 "/tmp/mylinux/var/log"
mkdir: 已创建目录 "/tmp/mylinux/var/run"
[root@centos7 ~]#

文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

[root@centos7 etc]# stat /bin/bash
文件:"/bin/bash"
大小:960392       块:1880       IO 块:4096   普通文件
设备:fd00h/64768d Inode:67111627    硬链接:1
权限:(0755/-rwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:shell_exec_t:s0 
最近访问:2016-11-06 13:06:17.318000042 +0800
最近更改:2016-08-03 00:00:07.000000000 +0800
最近改动:2016-11-03 13:47:45.414998262 +0800
创建时间:-

touch命令:
touch - change file timestamps

touch [OPTION]... FILE...
 -c: 指定的文件路径不存在时不予创建;
 -a: 仅修改access time;
 -m:仅修改modify time;
 -t STAMP
    [[CC]YY]MMDDhhmm[.ss]



实例一:创建不存在的文件

命令:
touch log2012.log log2013.log

输出:
[root@localhost test]# touch log2012.log log2013.log
[root@localhost test]# ll
 -rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
 -rw-r--r-- 1 root root 0 10-28 16:01 log2013.log

如果log2014.log不存在,则不创建文件
[root@localhost test]# touch -c log2014.log
[root@localhost test]# ll
 -rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
 -rw-r--r-- 1 root root 0 10-28 16:01 log2013.log

实例二:更新log.log的时间和log2012.log时间戳相同

命令:
touch -r log.log log2012.log

输出:
[root@localhost test]# ll
 -rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
 -rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
 -rw-r--r-- 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -r log.log log2012.log
[root@localhost test]# ll
 -rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
 -rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
 -rw-r--r-- 1 root root 0 10-28 14:48 log.log

实例三:设定文件的时间戳

命令:
touch -t 201211142234.50 log.log

输出:
[root@localhost test]# ll
 -rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
 -rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
 -rw-r--r-- 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -t 201211142234.50 log.log
[root@localhost test]# ll
 -rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
 -rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
 -rw-r--r-- 1 root root 0 2012-11-14 log.log

说明:
 -t time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:
[[CC]YY]MMDDhhmm[.SS]

 这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的

如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

命令别名查看:

[root@centos ~]# alias

alias cp='cp -i'

alias l.='ls -d .* –color=auto'

alias ll='ls -l –color=auto'

alias ls='ls –color=auto'

alias mv='mv -i'

alias rm='rm -i'

创建别名:

[root@centos ~]# alias clear='cls'

[root@centos ~]# alias

alias clear='cls'

alias cp='cp -i'

alias l.='ls -d .* –color=auto'

alias ll='ls -l –color=auto'

alias ls='ls –color=auto'

alias mv='mv -i'

alias rm='rm -i'

引用命令的执行结果:

使用“引用:

[root@centos ~]# echo date

Tue Sep 27 06:45:08 CST 2016

[root@centos ~]#

使用$(COMMAND)引用

[root@centos ~]# file $(which –skip-alias ls)

/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

[root@centos ~]#

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

[root@centos7 /]# ls -dl /var/l*[0-9]*[a-z]
drwxr-xr-x. 2 root root 6 11月  6 14:58 /var/l42opm
drwxr-xr-x. 2 root root 6 11月  6 14:58 /var/l47wsd
-rw-r--r--. 1 root root 0 11月  6 15:38 /var/l9cxz
drwxr-xr-x. 2 root root 6 11月  6 15:35 /var/ls4gs
drwxr-xr-x. 2 root root 6 11月  6 15:34 /var/lw56tcp
-rw-r--r--. 1 root root 0 11月  6 15:37 /var/lw89cxz
-rw-r--r--. 1 root root 0 11月  6 15:37 /var/lw99cxz


[root@centos7 /]# ls -dl /var/l*[[:digit:]]*[[:alpha:]]
drwxr-xr-x. 2 root root 6 11月  6 14:58 /var/l42opm
drwxr-xr-x. 2 root root 6 11月  6 14:58 /var/l47wsd
-rw-r--r--. 1 root root 0 11月  6 15:38 /var/l9cxz
drwxr-xr-x. 2 root root 6 11月  6 15:35 /var/ls4gs
drwxr-xr-x. 2 root root 6 11月  6 15:34 /var/lw56tcp
-rw-r--r--. 1 root root 0 11月  6 15:37 /var/lw89cxz
-rw-r--r--. 1 root root 0 11月  6 15:37 /var/lw99cxz

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

[root@centos7 /]# ls -dl /etc/[[:digit:]]*[[:alpha:]]
drwxr-xr-x. 2 root root  6 11月  6 15:43 /etc/12sad
-rw-r--r--. 1 root root 29 11月  6 15:45 /etc/12sd
drwxr-xr-x. 2 root root  6 11月  6 15:43 /etc/23gfhg
-rw-r--r--. 1 root root 35 11月  6 15:46 /etc/4543sdcsf


[root@centos7 /]# ls -dl /etc/[0-9]*[^0-9]
drwxr-xr-x. 2 root root  6 11月  6 15:43 /etc/12sad
-rw-r--r--. 1 root root 29 11月  6 15:45 /etc/12sd
drwxr-xr-x. 2 root root  6 11月  6 15:43 /etc/23gfhg
-rw-r--r--. 1 root root 35 11月  6 15:46 /etc/4543sdcsf

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

[root@centos7 /]# ls -dl /etc/[^a-z]*[a-z]
drwxr-xr-x. 2 root root  6 11月  6 15:43 /etc/12sad
-rw-r--r--. 1 root root 29 11月  6 15:45 /etc/12sd
drwxr-xr-x. 2 root root  6 11月  6 15:43 /etc/23gfhg
-rw-r--r--. 1 root root 35 11月  6 15:46 /etc/4543sdcsf

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

touch /tmp/tfile-$(date +%F-%H-%M-%S)

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

mkdir /tmp/mytest1 && cp -r /etc/p*[^0-9] /tmp/mytest1/

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

mkdir /tmp/mytest2 && cp -r /etc/*.d /tmp/mytest2/

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

mkdir -p /tmp/mytest3 && cp  /etc/[lmn]*.conf /tmp/mytest3/

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

(0)
N24_JerryN24_Jerry
上一篇 2016-11-06
下一篇 2016-11-06

相关推荐

  • 分区工具fdisk和gdisk、同步分区表(到内存)

    fdisk  创建MBR分区 gdisk  创建GPT分区 parted  高级分区操作(创建、复制、调整大小等)  centos7:手动创建分区20g,30g,40g(易区分) lsblk cat  /proc/partitions ls  -l  /dev/sd* 以上三个命令是查看内…

    2017-06-15
  • 一键获取MySQL账户及相关的权限

    有时候,运维同学可能在做grant授权时候,给的用户权限太高了,有风险。因此,我们接手服务器后有必要检查一遍用户权限。 #!/bin/bash# 一键获取MySQL账户及相关的权限 user=’root’ password=’123456′ MYSQL_CMD=’/usr/local/mysql/b…

    Linux干货 2017-05-07
  • PageRank算法

    1. PageRank算法概述          PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。         是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的…

    Linux干货 2015-12-15
  • iptables

    iptables 包过滤型的防火墙 Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件; 主机防火墙网络防火墙 软件防火墙(软件逻辑)硬件防火墙(硬件和软件逻辑) 版本 ipfw (firewall framework):命令行工具,生成规则并送…

    Linux干货 2017-06-13
  • Linux下的SSH端口转发

    通常情况下两个不同的网络之间总会开放某一些特定的端口用于通讯使用,而SSH所使用的22端口通常就在开放之列。基于SSH的端口转发就是利用SSH作为中间的代理,达到绕过两个网络之间的限制,顺利的进行任意的端口的访问。端口转发可以分为三种,正向端口转发,反向端口转发和动态端口转发。为了演示这三种端口转发方式的用法我们先假设存在有2个网域Office和Prod,在…

    Linux干货 2015-02-09
  • 第八周

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch…

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 19:44

    赞,命令总结的很详细,排版也比较好~继续加油~