Linux常用命令-文件和目录类
1.Linux常用命令(二)
1.文件及目录操作相关命令
pwd 显示当前用户目录(Print Working Directory)
[[email protected] network-scripts]# pwd
/etc/sysconfig/network-scripts
cd 目录名 切换/进入目录(Change Directory)
[[email protected] lib64]# cd /usr/lib64/
[[email protected] lib64]# cd ~
[[email protected] ~]# cd -
/usr/lib64
tree 目录名 以树形模式显示目录结构
- -L 指定遍历目录的最大层数
- -d 只显示目录信息
[[email protected] ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
19 directories, 0 files
[[email protected] ~]# tree -dL 1 /etc/sysconfig/
/etc/sysconfig/
├── cbq
├── console
├── modules
└── network-scripts
4 directories
ls 目录名 显示目录内容(list)
- -l 以长格式显示目录下信息(显示详细信息)
- -t 按照文件修改时间对输出结果进行排序(顺序:新->旧)
默认是按字母顺序排序(顺序:a->z) - -r 逆序输出结果
- -i 显示文件索引结点号(inode)
- -h 结果以人类可读形式显示
- -a 显示目录下的所有文件(包含隐藏文件)
- -d 只显示目录本身信息
[[email protected] ~]# ls -a ~
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .lesshst .tcshrc
[[email protected] ~]# ls ~
anaconda-ks.cfg
[[email protected] ~]# ls -d ~
/root
[[email protected] ~]# ls -ihl ~
total 16K
33595848 -rw-r--r--. 1 root root 41 May 5 09:55 1.txt
33574978 -rw-------. 1 root root 1.5K Mar 20 09:36 anaconda-ks.cfg
51336048 drw-r-----. 3 root root 34 Apr 25 10:07 aspen
33576607 -rw-r--r--. 1 root root 504 Apr 11 16:51 inittab.bak
33593153 -rw-r--r--. 1 root root 75 May 8 16:31 passwd.txt
[[email protected] ~]# ls -lrt /tmp
total 4
-rw-------. 1 root root 0 Mar 20 09:32 yum.log
-rwx------. 1 root root 836 Mar 20 09:36 ks-script-z8idLP
drwx------. 2 root root 6 Mar 20 09:36 vmware-root_5916-960608111
drwx------. 2 root root 6 Mar 29 15:03 vmware-root_6092-994685407
ls -lrt 在实际工作中常用于查看目录下最近被修改过的文件
mkdir 目录名 创建目录(Make Directory )
mkdir默认一次只能创建一个目录
- -p 递归创建目录(创建多层目录)
- -m设置新目录默认对应的权限
存在-p参数时,创建已存在目录名的目录时,不会提示错误
[[email protected] ~]# mkdir /aspen/a/b/c/d/e/f
mkdir: cannot create directory ‘/aspen/a/b/c/d/e/f’: No such file or directory #不能创建目录‘/aspen/a/b/c/d/e/f’:没有这样的文件或目录
[[email protected] ~]# mkdir -p /aspen/a/b/c/d/e/f /data
[[email protected] ~]# tree /aspen/ /data/
/aspen/
└── a
└── b
└── c
└── d
└── e
└── f
/data/
[[email protected] ~]# mkdir -m 640 ~/aspen
[[email protected] ~]# ls -l ~
total 4
-rw-------. 1 root root 1508 Mar 20 09:36 anaconda-ks.cfg
drw-r-----. 2 root root 6 Apr 11 14:21 aspen
touch 文件名 修改文件的时间戳(创建空文件)
[[email protected] ~]# touch /{aspen/a/b/c/d/e/f,data}/han.txt
[[email protected] ~]# tree /aspen/ /data/
/aspen/
└── a
└── b
└── c
└── d
└── e
└── f
└── han.txt
/data/
└── han.txt
ln 源文件名 目的文件名 为文件创建硬链接
- -s 为文件创建软链接
无法针对目录或跨文件系统创建硬链接
[[email protected] ~]# ln passwd.txt ./passwd.txt.hardlink
[[email protected] ~]# ln -s passwd.txt ./passwd.txt.softlink
[[email protected] ~]# ll -ih ./passwd.txt*
33593153 -rw-r--r--. 2 root root 75 May 8 16:31 ./passwd.txt
33593153 -rw-r--r--. 2 root root 75 May 8 16:31 ./passwd.txt.hardlink
33617916 lrwxrwxrwx. 1 root root 10 May 13 13:58 ./passwd.txt.softlink -> passwd.txt
cp /源目录/源文件名 /目的目录/目的文件名 复制和备份文件(Copy)
cp命令默认无法复制目录
- -r 递归复制(复制目录及目录里面的内容)
- -p 复制的时候保持文件及目录属性不变
- -d 与软连接有关
cp -a == cp -pdr - -t 调换命令源文件和目标文件的参数位置
[[email protected] ~]# cp /etc/ /aspen/ #复制
cp: omitting directory ‘/etc/’ #cp命令:忽略目录/etc
[[email protected] ~]# cp -r /etc/sysconfig/network-scripts/ /aspen/a/b/
[[email protected] ~]# ls /aspen/a/b
c network-scripts
[[email protected] c]# cp /aspen/a/b/network-scripts/ifcfg-eth0 /aspen/a/b/network-scripts/ifcfg-eth0.bak #备份
[[email protected] c]# ls /aspen/a/b/network-scripts/ifcfg-eth0*
/aspen/a/b/network-scripts/ifcfg-eth0 /aspen/a/b/network-scripts/ifcfg-eth0.bak
[[email protected] aspen]# ls ~/aspen/
Aspen.txt han
[[email protected] aspen]# cp -rt ~/aspen/ /etc/sysconfig/network-scripts/
[[email protected] aspen]# ls
Aspen.txt han network-scripts
mv /源目录/源文件名 /目的目录/目的文件名 移动目录或文件,重命名文件(Move)
[[email protected] /]# mv /aspen/ /root/ #移动目录
[[email protected] /]# ls /root/
anaconda-ks.cfg aspen
[[email protected] /]# mv /aspen/ /root/
[[email protected] /]# ls /root/
anaconda-ks.cfg aspen
[[email protected] ~]# mv /root/aspen/a/b/network-scripts/ifcfg-eth0 /root/aspen/a/b/network-scripts/ifcfg-eth1 #重命名文件
[[email protected] ~]# ls /root/aspen/a/b/network-scripts/ifcfg-eth*
/root/aspen/a/b/network-scripts/ifcfg-eth0.bak /root/aspen/a/b/network-scripts/ifcfg-eth1
rm /目的文件 删除目标文件(Remove)
Linux系统下最危险的命令,没有之一
- -r 递归删除(用于删除目录;如果仅删除文件,不用使用该参数)
- -f 强制删除
-r和-f不用轻易的一起用,这样操作风险很大 - -i 删除命令执行前需要确认(-i与-f参数同时使用时,-i不生效)
[[email protected] ~]# rm -r /root/data/
rm: descend into directory ‘/root/data/’? y
rm: remove regular empty file ‘/root/data/han.txt’? y
rm: remove directory ‘/root/data/’? y
[[email protected] ~]# rm /root/aspen/
rm: cannot remove ‘/root/aspen/’: Is a directory #rm指令:不能删除‘/root/aspen/’:这是一个目录
[[email protected] ~]# rm -rf /root/aspen/
[[email protected] ~]# ls /root/
anaconda-ks.cfg
rename 原文件名 替换文件名 目标文件 批量重命名文件
经常与find命令搭配使用
[[email protected] han]# rename .sh .shell *.sh
[[email protected] han]# ls
aspen01.shell aspen02.shell aspen03.shell aspen04.shell aspen05.shell
file 文件名 查看文件的详细文件类型
[[email protected] 10.0.0.201]# file /usr/bin/ls ./bak-2019-05-10-5.tar.gz ./1.txt ./1.txt.sl /dev/urandom /dev/sr0 /dev/sda
/usr/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped
./bak-2019-05-10-5.tar.gz: gzip compressed data, from Unix, last modified: Fri May 10 21:48:01 2019
./1.txt: ASCII text
./1.txt.sl: symbolic link to `1.txt'
/dev/urandom: character special
/dev/sr0: block special
/dev/sda: block special
md5sum /绝对路径/文件名 计算文件的MD5校验和
- -c根据MD5校验文件,检查文件是否变动
校验命令家族:sha128sum;sha224sum;sha256sum;sha512sum;
[[email protected] 10.0.0.201]# md5sum /backup/10.0.0.201/* >~/1.md5
[[email protected] 10.0.0.201]# cat ~/1.md5
e1d72ca53f869821e477424f0793cb4a /backup/10.0.0.201/1.txt
e1d72ca53f869821e477424f0793cb4a /backup/10.0.0.201/1.txt.hl
e1d72ca53f869821e477424f0793cb4a /backup/10.0.0.201/1.txt.sl
f4281114ffc2fa1cdb2fd4fa4e58c3ea /backup/10.0.0.201/bak-2019-05-10-5.tar.gz
68970c01823e13868e30e201a4ea95aa /backup/10.0.0.201/bak-2019-05-6-1.tar.gz
[[email protected] 10.0.0.201]# md5sum -c ~/1.md5
/backup/10.0.0.201/1.txt: OK
/backup/10.0.0.201/1.txt.hl: OK
/backup/10.0.0.201/1.txt.sl: OK
/backup/10.0.0.201/bak-2019-05-10-5.tar.gz: OK
/backup/10.0.0.201/bak-2019-05-6-1.tar.gz: OK
[[email protected] 10.0.0.201]# > ./1.txt
[[email protected] 10.0.0.201]# md5sum -c ~/1.md5
/backup/10.0.0.201/1.txt: FAILED
/backup/10.0.0.201/1.txt.hl: FAILED
/backup/10.0.0.201/1.txt.sl: FAILED
/backup/10.0.0.201/bak-2019-05-10-5.tar.gz: OK
/backup/10.0.0.201/bak-2019-05-6-1.tar.gz: OK
md5sum: WARNING: 3 computed checksums did NOT match
[[email protected] 10.0.0.201]# md5sum ./1.txt
d41d8cd98f00b204e9800998ecf8427e ./1.txt
2.查看内容文件及内容处理命令
vi/vim 文件名 进入vi/vim文本编辑器
Cent OS 7系统默认没有安装vim文本编辑器
- -r 根据临时文件恢复文件内容(实际工作中不建议恢复)
恢复文件后,要使用rm命令删除临时文件
vim具体使用方法,请参考初识vim文本编辑器
[[email protected] ~]# vim ~/aspen/Aspen.txt
Hello World
Welcome to Linux
[[email protected] ~]# cat ~/aspen/Aspen.txt
Hello World
Welcome to Linux
cat 文件名 显示文件内容
- -n 显示文件内容和行号
- -b 显示文件内容和行号(忽略空行)
- -A 显示文件行内容中隐藏符号
[[email protected] ~]# cat -n /etc/inittab
1 # inittab is no longer used when using systemd.
2 #
3 # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
4 #
5 # Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
6 #
7 # systemd uses 'targets' instead of runlevels. By default, there are two main targets:
......
[[email protected] ~]# cat -b /root/inittab.bak
1 # inittab is no longer used when using systemd.
2 # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
3 # Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
4 # systemd uses 'targets' instead of runlevels. By default, there are two main targets:
......
[[email protected] 10.0.0.201]# cat -A /root/inittab.bak
# inittab is no longer used when using systemd.$
$
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.$
$
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target$
$
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:$
......
cat命令的特殊用法-像文件追加多行内容
常用于从Windows主机复制内容到Linux系统文件中
[[email protected] aspen]# cat ./Aspen.txt
Hello World
Welcome to Linux
[[email protected] aspen]# cat >> ./Aspen.txt <<EOF
> I
> am
> studying
> Linux
> EOF
[[email protected] aspen]# cat Aspen.txt
Hello World
Welcome to Linux
I
am
studying
Linux
less 文件名 按页查看文件内容(适用于查看大文件)
- -N 显示行号
操作模式
f/空格 下翻一页
b 上翻一页
G 快速移至文件尾行
q 退出
more 文件名 按页查看文件内容(查看到文件尾行后,自动退出)
操作模式
f/空格 下翻一页
q 退出
[[email protected] ~]# less -N /etc/sysconfig/network-scripts/ifcfg-eth0
1 TYPE=Ethernet
2 PROXY_METHOD=none
3 BROWSER_ONLY=no
4 BOOTPROTO=none
5 DEFROUTE=yes
6 IPV4_FAILURE_FATAL=no
7 IPV6INIT=yes
8 IPV6_AUTOCONF=yes
9 IPV6_DEFROUTE=yes
10 IPV6_FAILURE_FATAL=no
11 IPV6_ADDR_GEN_MODE=stable-privacy
12 NAME=eth0
13 UUID=6b621622-b6a7-4a4d-84cc-a7daf1a94e81
14 DEVICE=eth0
15 ONBOOT=yes
16 IPADDR=10.0.0.201
17 PREFIX=24
18 GATEWAY=10.0.0.254
19 DNS1=223.5.5.5
20 IPV6_PRIVACY=no
/etc/sysconfig/network-scripts/ifcfg-eth0 (END)
head 文件名 显示文件前几行内容(默认前十行)
- -n 数字 == -数字 显示文件前n行内容(n=数字)
- -c 数字显示文件的前n个字符(n=数字)
[[email protected] ~]# head -5 /var/log/secure
Apr 8 10:33:01 oldboyedu60-Aspen sshd[7547]: pam_unix(sshd:session): session closed for user root
Apr 9 14:02:45 oldboyedu60-Aspen unix_chkpwd[8652]: password check failed for user (root)
Apr 9 14:02:45 oldboyedu60-Aspen login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost= user=root
Apr 9 14:02:45 oldboyedu60-Aspen login: pam_succeed_if(login:auth): requirement "uid >= 1000" not met by user "root"
Apr 9 14:02:47 oldboyedu60-Aspen login: FAILED LOGIN 1 FROM tty1 FOR root, Authentication failure
[[email protected] 10.0.0.201]# head -c 15 /var/log/messages
May 13 11:01:01[[email protected] 10.0.0.201]#
tail 文件名 显示文件后几行内容(默认后十行)
- -n 数字 == -数字 显示文件后n行内容(n=数字)
- -f 显示文件实时更新
- -F 显示文件实时更新(如文件不存在,会不断进行重试)
使用-F或-f参数时,如果要指定显示行数,必须加上-n参数
[[email protected] ~]# tail -n 3 -f /var/log/secure
Apr 11 14:08:52 oldboyedu60-Aspen sshd[11097]: pam_unix(sshd:session): session closed for user root
Apr 11 14:09:06 oldboyedu60-Aspen sshd[11135]: Accepted password for root from 10.0.0.1 port 57227 ssh2
Apr 11 14:09:06 oldboyedu60-Aspen sshd[11135]: pam_unix(sshd:session): session opened for user root by (uid=0)
awk-行处理器
awk '{print $数字}' 取出指定列(默认按空格分割)
awk 'END{print $数字}' 表示awk处理文章最后一行内容后,按要求输出指定内容
$0表示按行输出内容
-F "符号" 指定分隔符
awk NR >=/<=/==数字 取出指定行
>=数字 取内容前指定行
<=数字 取指定行到结尾的内容
==数字 取指定行
>=数字&&<=数字或==数字,==数字 取指定范围行
[[email protected] ~]# awk -F":" '{print $1}' /etc/passwd | head -6
root
bin
daemon
adm
lp
sync
[[email protected] ~]# awk -F ":" 'END{print $1}' /etc/passwd
stu05
[[email protected] ~]# awk -F ":" 'END{print $0}' /etc/passwd
stu05:x:1006:1006::/home/stu05:/bin/bash
[[email protected] ~]# awk "NR==3,NR==6" /etc/passwd
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
[[email protected] ~]# awk "NR>=3&&NR<=6" /etc/passwd
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
[[email protected] ~]# ip address s eth0 | sed -n '3p' | awk -F "[ /]+" '{print $3}'
10.0.0.200
sed 's#被替换内容#替换内容#g' 文件名 流编辑器(全局替换,默认不修改文件内容)
- -i 修改文件内容
- -i.bak 备份源文件后,修改文件内容
- -n 取消默认输出
- '数字p' 重复输出指定行
$p 表示最后一行
- -r 反向引用
[[email protected] ~]# sed -i.bak 's#200#201#g' ip.txt
[[email protected] ~]# ls
anaconda-ks.cfg aspen ip.txt ip.txt.bak num.txt
[[email protected] ~]# cat ./ip.txt
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:c4:ff:80 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::7f33:52f3:3051:7cb9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[[email protected] ~]# cat ./ip.txt.bak
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:c4:ff:80 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::7f33:52f3:3051:7cb9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[[email protected] ~]# sed -n '3p' ip.txt | sed -r 's#^.* ([0-9.]+)\/.*#\1#g'
10.0.0.201
[[email protected] ~]# stat /etc/passwd | sed -n '4p'|sed -r 's#^.*\((.*)\/-.*#\1#g'
0644
[[email protected] ~]# stat /etc/passwd | sed -n '4p'| sed -r 's#^.*([0-9]{4}).*#\1#g'
0644
[[email protected] ~]# sed -n '$p' ip.txt
valid_lft forever preferred_lft forever
grep '关键字' 文件名 过滤文件中关键字内容,并用颜色显示出来
- -n 显示过滤结果并附上行号
- -v 过滤文件中与指定关键字无关的内容(按行取反)
- -i 过滤时候忽略大小写
- -o 显示过滤的执行过程
- -w 精确匹配单词,单词的两边必须是非字符符号(即不能是字母数字或下划线)
- -E == egrep 启用增强型grep,支持扩展正则表达式
[[email protected] aspen]# egrep -o '[a-Z]+' ./Aspen.txt | head -5
Hello
World
Welcome
to
Linux
[[email protected] aspen]# grep -vn '[a-z]' ./Aspen.txt
3:I
8:
11:
14:$$$$$$$$$$$
15:?////????$.$.$.$$$
[[email protected] aspen]# grep -n '[^a-z]' ./Aspen.txt
1:Hello World
2:Welcome to Linux
3:I
6:Linux
7:I study linux.
9:I like swim,basketball and chinese chess!
10:my qq is 54844637
12:not 548444637.
13:my god ,i am not apen,but Aspen!
14:$$$$$$$$$$$
15:?////????$.$.$.$$$
tr '被替换内容' '替换的内容' < 文件名 一对一替换文件中的字符
- -d '关键字符' 删除对应的字符
- -c 取反/排除
[[email protected] aspen]# tr -cd 'a-zA-Z0-9' < /dev/urandom | head -c 16 #设置随机密码
LgiYGzAAq5SNSZAD[[email protected] aspen]#
[[email protected] aspen]# tr 'a-z' 'A-Z' < ./Aspen.txt
HELLO WORLD
WELCOME TO LINUX
I
AM
STUDYING
LINUX
I STUDY LINUX.
I LIKE SWIM,BASKETBALL AND CHINESE CHESS!
MY QQ IS 54844637
NOT 548444637.
MY GOD ,I AM NOT APEN,BUT ASPEN!
$$$$$$$$$$$
?////????$.$.$.$$$
3.文件压缩及解压缩命令
tar 压缩包名称 目标文件/文件夹 将指定文件/文件夹打包
- -z 通过gzip工具进行压缩
- -j 通过bzip或bzip2工具进行压缩
- -c 创建包
- -x 解压缩(默认解压到当前目录)
- -t 列出压缩包内容
- -v 显示压缩过程
- -C
目录
指定解压路径 - -P使用绝对路径创建压缩包
压缩/解压缩不加-P,命令会自动把文件路径首个‘/’去掉变为相对路径
- -f 指定压缩包名称
-f 参数一般放在参数末位,防止报错
压缩一般用
zcf
参数
解压缩一般用xf
参数
查看压缩包一般用tf
参数
- --exclude 文件/目录 创建压缩包时,排除某个文件/目录
[[email protected] aspen]# tar -zcf ./network-bak.tar.gz /etc/sysconfig/network-scripts/ --exclude /etc/sysconfig/network-scripts/ifcfg-eth0
tar: Removing leading `/' from member names
[[email protected] aspen]# ls
Aspen.txt han network-bak.tar.gz
[[email protected] aspen]# tar -xf ./network-bak.tar.gz etc/sysconfig/network-scripts/ifcfg-lo
[[email protected] aspen]# ls
Aspen.txt etc han network-bak.tar.gz
[[email protected] aspen]# tree ./etc/
./etc/
└── sysconfig
└── network-scripts
└── ifcfg-lo
[[email protected] aspen]# tar xf ./network-bak.tar.gz -C /tmp/
[[email protected] aspen]# ls /tmp/etc/sysconfig/
network-scripts
4.搜索文件命令
which 命令 查询命令的别名及绝对路径
[[email protected] aspen]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[[email protected] aspen]# \which ls
/usr/bin/ls
whereis 命令 查询命令的及其相关文件的绝对路径
[[email protected] aspen]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
locate 从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新库(不推荐使用)
Cent OS 7中默认没有安装该命令,需使用 yum install -y mlocate 指令进行安装
find 搜索路径 在指定路径下搜索文件
- -maxdepth 数字 指定搜索的最大深度
maxdepth 参数要放到其他参数之前,否则会有警告
- -type 文件类型 指定搜索文件的类型
f普通文件
d目录
l软链接
p管道文件
c字符设备
- -name "文件名" 指定搜索文件的名字
- --iname "文件名" 指定搜索文件的名字(忽略大小写)
- -size +/- 容量 指定搜索文件的大小范围(容量仅支持整数,不支持小数)
- -mtime '+/- 天数' 指定搜索文件修改时间
+表示几天以前
-表示最近几天内
- -inum inode号码 指定索引文件的索引结点号
- -samefile 文件名指定搜索与目标文件索引结点号一致的文件
- -exec 命令 {} ; 将搜索到的文件执行指定命令操作
exec参数后面不支持别名
[[email protected] aspen]# find /etc/ -type f -iname 'ifcfg*' -exec ls -lh {} \;
-rw-r--r--. 1 root root 254 Aug 24 2018 /etc/sysconfig/network-scripts/ifcfg-lo
-rw-r--r--. 1 root root 356 May 13 09:24 /etc/sysconfig/network-scripts/ifcfg-eth0
[[email protected] aspen]# find /var/log/ -maxdepth 1 -type f -size +100k -exec cp -t /tmp {} \;
[[email protected] aspen]# ls /tmp
dmesg dmesg.old etc lastlog messages messages-20190418 vmware-root_6327-1681724229 vmware-root_6482-734103686
[[email protected] aspen]# find /etc/ -type f -size +1M -exec tar zcf /opt/etc-big.tar.gz {} +;
tar: Removing leading `/' from member names
[[email protected] aspen]# tar tf /opt/etc-big.tar.gz
etc/selinux/targeted/active/policy.kern
etc/selinux/targeted/contexts/files/file_contexts.bin
etc/selinux/targeted/policy/policy.31
etc/udev/hwdb.bin
Linux命令要养成操作前备份,操作后检查的好习惯
未完待续...
上一篇: Ad-hoc线程封闭