day 10 文件属性及文件查找类命令

一、文件类型

1.预备知识:

1)扩展名:.avi .txt .log .sh
Windows:系统根据不同的扩展名区分不同的类型文件
Linux:扩展名是给我们看的;方便人区分不同的文件
2)常见的扩展名:

.txt  文本文件
.log  日志文件
.conf  .cfg  配置文件
.sh .bash  脚本文件

2.常见的文件类型

 1)-file  普通文件
     *1.二进制文件(命令)
     *2.文本文件(text)
     *3.数据文件(data)  压缩包
2)d diectory 目录
3)l  softlink  软连接(快捷方式)
4)b  block      设备(块)文件   光盘 硬盘
5)c character   字符设备(不断向外发出或接收字符)

1)如何区分文件类型(如何查看)file

[root@wolf1 ~]# file /bin/ls /data/old.txt
/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
/data/old.txt: ASCII text

2)目录 (文件夹)d

创建软连接
[root@wolf1 ~]# touch /oldboy/oldboy.txt
[root@wolf1 ~]# l -s /oldboy/oldboy.txt  /oldboy/oldboy.txt.soft
-bash: l: command not found
[root@wolf1 ~]# ln -s /oldboy/oldboy.txt  /oldboy/oldboy.txt.soft
[root@wolf1 ~]# ls -l /oldboy
total 0
-rw-r--r--. 1 root root  0 Apr  9 15:20 oldboy.txt
lrwxrwxrwx. 1 root root 18 Apr  9 15:22 oldboy.txt.soft -> /oldboy/oldboy.txt
[root@wolf1 ~]# 

二、查询相关的命令

1.which:显示命令的全路径

[root@wolf1 ~]# which sed awk grep
alias grep='grep --color=auto'
    /usr/bin/grep
/usr/bin/sed
/usr/bin/awk

2.whereis :显示命令及其相关文件全路径

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

3.locate:快速定位文件路径(不推荐)

[root@wolf1 ~]# yum provides locate
mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
软件包叫mlocate  
Repo        : base
Matched from:
Filename    : /usr/bin/locate   

4.find:查找目录下的文件

[root@wolf1 ~]# find /oldboy -type f -name "oldboy.txt"
/oldboy/oldboy.txt

相关参数:
**1)-maxdepth 这个参数要放在其他参数之前

[root@wolf1 ~]# find / -maxdepth 1 -type d
/
/boot
/dev
/proc
/run
/sys
/etc
/root
/date
/data

2)-type:文件类型 f d l
3)-iname:文件名称(忽略大小写)
4)-size+1M(大于1M) -100K(小于100k):根据大小查找文件

5.xargs 分组

[root@wolf1 ~]# echo {1..10} >>/oldboy/sf.txt 
[root@wolf1 ~]# cat /oldboy/sf.txt 
1 2 3 4 5 6 7 8 9 10
[root@wolf1 ~]# xargs -n3 

6.tar 打包压缩命令

文本文件(配置文件) 备份
Windows:压缩工具
Linux : 打包压缩

[root@wolf1 ~]# tar zcvf /tmp/etc.tar.gz /etc/
/etc 目录 压缩完成放在、tmp/etc.tar.gz (通过tar打包 gzip进行压缩)
z 通过gzip工具进行压缩
c create 创建包
v verbose 显示压缩过程
f 指定压缩包(放在最后)

1)压缩文件

 [root@wolf1 ~]# tar zcvf /tmp/etc.tar.gz /etc/

2)查看压缩包的内容

 [root@wolf1 ~]#tar ztf /tmp/etc.tar.gz

3)解压到当前目录

[root@wolf1 tmp]# tar zxf etc.tar.gz

**4)解压到指定位置 ** 格式:~ + -C 目的位置

[root@wolf1 tmp]# tar xf /tmp/etc.tar.gz -C /opt/
[root@wolf1 tmp]# ls -l /opt
total 12
drwxr-xr-x. 79 root root 8192 Apr  9 16:38 etc
[root@wolf1 tmp]# 

5)压缩是出现提示:
tar: Removing leading /' from member names

提示含义
[root@wolf1 ~]# tar zcf /tmp/data.tar.gz /data
tar: Removing leading `/' from member names
从压缩包中删除每个文件最开头的/

把压缩包中的  绝对路径 --->相对路径
解压到的时候默认会解压到当前目录
原因
假设压缩包中存放的是绝对路径
/tmp/etc/.tar.gz
        /etc/hosts
        /etc/services
解压的时候 也会按照绝对路径    会把源文件覆盖
系统替我们预防故障,通过把绝对路径--->相对路径

温馨提示
不要加上-P(创建压缩包的时候强制使用绝对路径)

如果不想要提示
先进入目录,然后再压缩

[root@wolf1 ~]# cd /
[root@wolf1 /]# tar zcvf /tmp/etc.tar.gz etc

三、yum故障集合:

Error: Nothing to do
    No package locate available.
    没有叫做 locate 的软件包 

你可能感兴趣的:(day 10 文件属性及文件查找类命令)