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

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

相关推荐

  • iptables/netfilter基于layer7实现应用层过滤

    前言 做为网络管理员,对P2P、QQ、酷狗等软件是又爱又恨,大多数公司为了提高工作效率,禁止公司员工登陆QQ、看视频等,在市场上买专门的上网行为管理设备,随便一种都是价格不菲,而使用linux来做网关一样可以禁止qq、酷狗等软件,为实现此功能就需要为iptables/netfilter添加layer7模块,而iptables/netfilter是基于内核的,…

    Linux干货 2015-04-27
  • 进程及任务管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等 Process: 运行中的程序的一个副本,是被载入内存的一个指令集合     进程ID(Process ID,PID)号码被用来标记各个进程     UID、GID、和SELi…

    Linux干货 2016-09-09
  • MySQL or MariaDB 简介

    DBMS:数据库管理系统 RDBMS:关系型数据库管理系统    总之:他们都是一个数据管理程序;大多都是CS架构,都有专门的通信协议进行数据交换 关系模型:               表(行或者列):二维关系 设计范式:       &…

    Linux干货 2017-01-12
  • 上古神器vim

    概述:     在之前的篇章中,我们介绍了一些文本的处理工具,如grep、sed、cut、sort等,但是那些工具的侧重点都在于有了现成的文本之后,对现有的文本进行一定条件的加工处理后,满足我们进一步对数据的要求。但是目前为止,还没有接触一款专业用来编辑文本的工具,本篇就来介绍一下Linux系统上自带的专业用来文本编辑…

    Linux干货 2016-08-10
  • Linux中的分区管理

    1. 磁盘分区类型 磁盘分区主要分为两种类型: MBR  MBR是一个比较古老的分区类型了,不支持2TB的大硬盘。在磁盘的0磁道0扇区的512字节存放的就是MBR的信息。前446字节为bootloader,后面64字节存放的是分区表,后面2字节存放的是55aa的分区标识符。MBR分区类型最多只能支持4个主分区和扩展分区,其余的分区只能是逻辑分区。 …

    2017-04-22
  • Linux基础知识(六)-vim编辑器,crontab计划任务,bash脚本循环

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp [root@localhost ~]# vim&nbs…

    Linux干货 2016-10-31

评论列表(1条)

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

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