day11

2019-04-09  本文已影响0人  杰S咪

2019-04-09


第十一天.png

代表的文件类型

-

普通文件

1.二进制文件(命令)
2.文本文件(text)
3.数据文件(data)

d

目录

l

软连接

b

设备(块)文件

c

字符设备

file

查看文件类型

[root@gyj ~]# ls
1  1.txt  3  anaconda-ks.cfg  issue  net
[root@gyj ~]# file 1
1: ASCII text
[root@gyj ~]# file 3
3: directory

tr

删除字符(临时,不是实质性修改)

tr -d '目标字符'<文件

删除目标字符

[root@gyj ~]# cat 1
aaayyyybbbcccaaabbbcccaaabbbccc
[root@gyj ~]# tr -d 'a' <1
yyyybbbcccbbbcccbbbccc
[root@gyj ~]# 


tr -c '字符' '字符' <文件

除了第一个字符,其他换成第二个字符

[root@gyj ~]# cat 1
aaayyyybbbcccaaabbbcccaaabbbccc
[root@gyj ~]# tr -c 'a' 'b' <1
aaabbbbbbbbbbaaabbbbbbaaabbbbbbb[root@gyj ~]# 

tr -cd '目标字符' <文件

除了目标字符,其他都删除

[root@gyj ~]# cat 1
aaayyyybbbcccaaabbbcccaaabbbccc
[root@gyj ~]# tr -cd 'a' <1
aaaaaaaaa[root@gyj ~]# 

ln

创建软连接

ln -s

[root@gyj ~]# ls
1  1.txt  3  anaconda-ks.cfg  issue  net
[root@gyj ~]# ln -s 1   1.soft
[root@gyj ~]# ls -l
总用量 16
-rw-r--r--.  1 root root   32 4月   8 17:11 1
lrwxrwxrwx.  1 root root    1 4月   9 20:41 1.soft -> 1
-rw-r--r--.  1 root root   59 4月   8 16:10 1.txt
drwxr-xr-x. 12 root root  106 4月   4 16:33 3
-rw-------.  1 root root 1655 3月  26 00:37 anaconda-ks.cfg
-rw-r--r--.  1 root root   10 4月   9 19:54 issue
-rw-r--r--.  1 root root    0 4月   8 10:19 net
[root@gyj ~]# 

which

查看可执行文件的位置

[root@gyj ~]# which rm
alias rm='rm -i'
    /usr/bin/rm
[root@gyj ~]# 

\which

只查看命令的绝对路径

[root@gyj ~]# \which rm
/usr/bin/rm
[root@gyj ~]# 

whereis

查看文件的位置

[root@gyj ~]# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
[root@gyj ~]# 

如何查询命令属于哪个软件包

命令

yum provdes 命令

[root@GYJ ~]# yum provides locate
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
Repo        : base
Matched from:
Filename    : /usr/bin/locate



mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
Repo        : @base
Matched from:
Filename    : /usr/bin/locate



[root@GYJ ~]# 

mlocate-0.26-8.el7.x86_64 

显示locate 在mlocate的软件包里

locate

配合数据库查看文件位置

Linux mlocate安装
在centOS7以上的系统中使用“locate”文件查找命令,发现该命令不可用。
因为centos7默认没有安装该命令,
在联网状态运行
yum install -y mlocate
命令即可安装"locate"命令。
安装完之后运行“locate inittab”,发现结果如下:
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
并没有查询出相关文件,此时需要线运行下
updatedb
命令初始化一下文件库,再运行
locate inittab
这时“locate”命令就可以正确使用了。

[root@GYJ ~]# locate 123
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/media/dvb-frontends/cx24123.ko.xz
/usr/lib64/gconv/IBM1123.so
/usr/share/man/man1/perl5123delta.1.gz
/usr/share/perl5/pod/perl5123delta.pod
/usr/src/kernels/3.10.0-957.el7.x86_64/include/config/dvb/cx24123.h
/usr/src/kernels/3.10.0-957.el7.x86_64/include/linux/platform_data/st1232_pdata.h
[root@GYJ ~]# 

rpm

查询软件安装

rpm -q 软件包

查询

[root@GYJ ~]# rpm -q mlocate 
mlocate-0.26-8.el7.x86_64

rpm -qa 软件包

查询软件是否安装

[root@GYJ ~]# rpm -qa mlocate 
mlocate-0.26-8.el7.x86_64

rpm -ql

显示软件包里的内容

[root@GYJ ~]# rpm -ql mlocate 
/etc/cron.daily/mlocate
/etc/updatedb.conf
/usr/bin/locate
/usr/bin/updatedb
/usr/share/doc/mlocate-0.26
/usr/share/doc/mlocate-0.26/AUTHORS
/usr/share/doc/mlocate-0.26/COPYING
...
...
/usr/share/man/man8/updatedb.8.gz
/var/lib/mlocate
/var/lib/mlocate/mlocate.db

find

查找

find 路径 -type f -name ‘文件名’

查找文件路径

[root@GYJ ~]# find /root/  -type f -name '1'
/root/1
[root@GYJ ~]#

find oldboy -type f -name '*.txt'

查找oldboy下所有带.txt后缀的文件 带*(星号)

[root@GYJ ~]# find oldboy -type f -name '*.txt'
oldboy/1.txt
oldboy/2.txt
oldboy/3.txt
oldboy/4.txt
oldboy/5.txt
[root@GYJ ~]# 

find / -maxdepth 1 -type d

显示根下第一层目录

[root@GYJ ~]# find /  -maxdepth    1         -type d 
/
/boot
/dev
/proc
/run
/sys
/etc
/root
/var
/tmp
/usr
/home
/media
/mnt
/opt
/srv
/oldboy
[root@GYJ ~]# 

find / -size +10M -type f

显示大于10M的文件

[root@GYJ ~]# find / -size +10M -type f 
/boot/initramfs-0-rescue-18af378aee19477d96c6498a7a9d8f57.img
/boot/initramfs-3.10.0-957.el7.x86_64.img
/proc/kcore
find: ‘/proc/7701/task/7701/fdinfo/6’: No such file or directory
find: ‘/proc/7701/fdinfo/5’: No such file or directory
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/var/lib/rpm/Packages
/var/cache/yum/x86_64/7/base/gen/primary_db.sqlite
/var/cache/yum/x86_64/7/base/gen/filelists_db.sqlite
/var/cache/yum/x86_64/7/updates/gen/primary_db.sqlite
/var/cache/yum/x86_64/7/updates/gen/filelists_db.sqlite
/usr/lib/locale/locale-archive
/usr/lib64/libicudata.so.50.1.2
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/cc1
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto1
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/f951
/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/cc1plus
[root@GYJ ~]# 

find
-maxdepth 最多几层
-type 类型
-name 名字
-iname 不区分大小写
-size 根据大小写查找文件
-mtime 根据文件的最后修改时间
-atime 文件的最后访问时间
-ctime 文件最后改变时间

xargs

xargs -n2 <文件
用来分组

[root@GYJ ~]# xargs -n2 <1
1 2
3 4
5 6
7 8
9 10
[root@GYJ ~]# xargs -n3 <1
1 2 3
4 5 6
7 8 9
10
[root@GYJ ~]# xargs -n4 <1
1 2 3 4
5 6 7 8
9 10
[root@GYJ ~]# xargs -n5 <1
1 2 3 4 5
6 7 8 9 10
[root@GYJ ~]# xargs -n6 <1
1 2 3 4 5 6
7 8 9 10
[root@GYJ ~]# cat 1
1 2 3 4 5 6 7 8 9 10
[root@GYJ ~]# 

tar

打包压缩命令
tar zcvf 文件压缩完的文件位置 要压缩的文件

[root@GYJ ~]# tar zcvf  /root/1.tar.gz     1
1
[root@GYJ ~]# ls
1  1.tar.gz  anaconda-ks.cfg

z 通过gzip工具进行压缩
c creat 创建压缩包
v verbose 显示过程
f 指定压缩包(放在最后)
j bzip bzip2
通过tar 打包,gzip进行压缩

tar zcvf 压缩包

cf
压缩

[root@GYJ ~]# tar zcvf  1.tar.gz    1
1
[root@GYJ ~]# ls
1  1.tar.gz  anaconda-ks.cfg
[root@GYJ ~]# tar cf   1.tar2.gz   1
[root@GYJ ~]# ls
1  1.tar2.gz  1.tar.gz  anaconda-ks.cfg
[root@GYJ ~]# 

tar ztf 压缩包

tf
查看压缩包内容

[root@GYJ ~]# ls
1  1.tar2.gz  1.tar.gz  anaconda-ks.cfg
[root@GYJ ~]# tar ztf 1.tar.gz
1
[root@GYJ ~]# tar tf 1.tar.gz
1
[root@GYJ ~]# 

tar zxf 压缩包

xf
解压压缩包内容
(默认解压到当前目录)

[root@GYJ ~]# tar zxf 1.tar.gz
[root@GYJ ~]# ls
1  1.tar2.gz  1.tar.gz  anaconda-ks.cfg
[root@GYJ ~]# 

tar zxf 压缩包 -C 指定目录

解压指定目录

[root@GYJ ~]# mkdir 2
[root@GYJ ~]# ls
1  1.tar2.gz  1.tar.gz  2  anaconda-ks.cfg
[root@GYJ ~]# tar zxf 1.tar.gz  -C   2
[root@GYJ ~]# ls 2
1
[root@GYJ ~]# 
上一篇下一篇

猜你喜欢

热点阅读