美文网首页
Linux59期day10

Linux59期day10

作者: A宽宽 | 来源:发表于2019-04-09 20:40 被阅读0次

文件类型:

扩展名:.avi .txt .log .sh
Windows:系统根据不同的扩展名,区分不同类型的文件
Linux:扩展名是给我们看的。方便人类区分不同类型的文件
常见的扩展名:
.txt 文本文件
.log 日志文件
.conf .cfg 配置文件
.sh .bash 脚本文件(命令大礼包)

常见的文件类型:

‘-’ file 普通文件

1.二进制文件(命令)
2.文本文件(test)
3.数据文件(data) 压缩包

d diectory 目录(文件夹)
l softlink 软连接(快捷方式)
b block 设备(块)文件
c character 字符设备(不断的向外发出或接受字符)

[root@oldboyedu59 oldboy]# ls -l /bin/ls /oldboy/alex.txt   
-rwxr-xr-x. 1 root root 117680 Oct 31 03:16 /bin/ls
-rw-r--r--  1 root root      0 Mar 29 09:03 /oldboy/alex.txt

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

[root@oldboy59 ~]# file /bin/ls    /tmp/oldboy.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
/tmp/oldboy.txt: ASCII text

l softlink 软连接/符号链接(快捷方式)

创建软连接

[root@oldboy59 ~]# touch /oldboy/oldboy.txt
[root@oldboy59 ~]# ln -s  /oldboy/oldboy.txt  /oldboy/oldboy.txt.soft
[root@oldboy59 ~]# cd /oldboy
[root@oldboy59 oldboy]# ll
total 4
drwxr-xr-x 3 root root 19 Mar 28 11:50 alex
-rw-r--r-- 1 root root  0 Mar 29 09:05 alex.txt
drwxr-xr-x 3 root root 18 Mar 28 20:12 lidao
-rw-r--r-- 1 root root 16 Apr  9 15:23 oldboy.txt
-rw-r--r-- 1 root root  0 Mar 28 12:38 oldboy.txt.bak
lrwxrwxrwx 1 root root 18 Apr  9 15:23 oldboy.txt.soft -> /oldboy/oldboy.txt

b block 设备(块)文件 光盘 硬盘

[root@oldboyedu59 oldboy]# ls -l /dev/cdrom /dev/sr0  /dev/sda
lrwxrwxrwx 1 root root      3 Apr  3 14:39 /dev/cdrom -> sr0
brw-rw---- 1 root disk   8, 0 Apr  3 14:39 /dev/sda
brw-rw---- 1 root cdrom 11, 0 Apr  3 14:39 /dev/sr0

c character 字符设备(不断的向外发出或接受字符)

/dev/urandom 随机字符生成器(生成随机密码)
/dev/null 黑洞(不断接受信息)
/dev/zero 白洞(不断发出信息 无法查看)

tr -d 删除 (不删除空格)-c 取反 -cd删除除xxx之外的内容(删除空格)

[root@oldboy59 oldboy]# echo {a..z}  {0..10} > /oldboy/oldboy.txt
[root@oldboy59 oldboy]# tr -d 'a-z' </oldboy/oldboy.txt 
                          0 1 2 3 4 5 6 7 8 9 10
[root@oldboy59 oldboy]# tr -cd 'a-z' </oldboy/oldboy.txt 
abcdefghijklmnopqrstuvwxyz[root@oldboy59 oldboy]# 

查询相关命令

[root@oldboyedu59 ~]# \which sed awk grep
/usr/bin/sed
/usr/bin/awk
/usr/bin/grep

which:显示命令的全路径
whereis:显示命令及其相关文件全路径

yum故障集合:

No package locate available.
Error: Nothing to do
没有叫做locate的软件包
如何查询命令属于哪个软件包

[root@oldboy59 oldboy]# yum provides locate
mlocate-0.26-8.el7.x86_64 : An utility for finding files by name
Repo        : base
Matched from:
Filename    : /usr/bin/locate

软件包-多个命令

光盘安装

[root@oldboyedu59 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu59 ~]# ls /mnt/
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@oldboyedu59 ~]# rpm -ivh    /mnt/Packages/mlocate-0.26-8.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
    package mlocate-0.26-8.el7.x86_64 is already installed
[root@oldboyedu59 ~]# rpm -qa mlocate 
mlocate-0.26-8.el7.x86_64

查找find

[root@oldboy59 ~]# find /oldboy -type f -name 'oldboy.txt'
/oldboy/alex/lidao/oldboy.txt
/oldboy/lidao/alex/oldboy.txt
/oldboy/oldboy.txt

-maxdepth放在其他参数前面,最大深度的意思

[root@oldboy59 ~]# find / -maxdepth 1 -type d
/
/boot
/dev
/proc
/run
/sys
/etc
/root
/var
/tmp
/usr
/home
/media
/mnt
/opt
/srv
/old
/oldboy
/data
/sunyuyang
/a
/b
/c
/11
/22

通过find命令找出ip命令的位置

[root@oldboyedu59 ~]# find  /oldboy -type f  -name "*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex.txt
/oldboy/oldboy.txt
[root@oldboyedu59 ~]# find / -type d -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
warning 警告 
-maxdepth 这个参数要放在其他参数之前。

find -iname参数 (不区分大小写)

[root@oldboyedu59 ~]# find  /oldboy/alex/   -type f  -name "oldboy*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex/oldboy01.txt
/oldboy/alex/oldboy02.txt
/oldboy/alex/oldboy03.txt
/oldboy/alex/oldboy04.txt
/oldboy/alex/oldboy05.txt
[root@oldboyedu59 ~]# find  /oldboy/alex/   -type f  -iname "oldboy*.txt"
/oldboy/alex/lidao/oldboy.txt
/oldboy/alex/oldboy01.txt
/oldboy/alex/oldboy02.txt
/oldboy/alex/oldboy03.txt
/oldboy/alex/oldboy04.txt
/oldboy/alex/oldboy05.txt
/oldboy/alex/OLDboy01.txt
/oldboy/alex/OLDboy02.txt
/oldboy/alex/OLDboy03.txt
/oldboy/alex/OLDboy04.txt
/oldboy/alex/OLDboy05.txt

xargs 分组

[root@oldboy59 ~]# echo {1..10} >/oldboy/asd.txt
[root@oldboy59 ~]# cat /oldboy/asd.txt
1 2 3 4 5 6 7 8 9 10
[root@oldboy59 ~]# xargs -n2 </oldboy/asd.txt
1 2
3 4
5 6
7 8
9 10

tar:打包压缩命令

文本文件 (配置)备份

Windows:压缩(winrar 好压 2345压缩)
Linux:打包压缩

tar

创建压缩包

/etc 目录 压缩完成放在/tmp/etc.tar.gz(通过tar打包,gzip进行压缩)

z 通过gzip工具进行压缩
c create 创建包
v verbose 显示过程
f 指定压缩包(放在最后)

tar zcvf /tmp/etc.tar.gz /etc/
tar zcf /tmp/etc.tar.gz /etc/

查看压缩包的内容

tar ztf /tmp/etc.tar.gz
t list 查看压缩包内容

解压(默认解压到当前目录)

tar zxf  /tmp/etc.tar.gz 

-C表示解压到指定目录

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

【巨坑】tar让你迷茫的提示: Removing leading `/' from member names

出现的背景
使用tar创建压缩包的时候 被压缩的文件或目录使用了绝对路径 会有这个提示

[root@oldboyedu59 tmp]# tar zcf  /tmp/etc.tar.gz   /etc/ 
tar: Removing leading `/' from member names

提示含义
tar: Removing leading `/' from member names

从压缩包中删除每个文件最开头的/
把压缩包中的 绝对路径---->相对路径
所以tar命令解压到的时候默认会解压到当前目录

为何tar命令这么做?
假设压缩包中存放的是绝对路径

/tmp/etc.tar.gz

/etc/hosts
/etc/services

解压的时候 也会按照绝对路径解压 会把源文件覆盖。
系统替我们预防故障,通过把绝对路径--->相对路径。

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

不想要这个提示?
先进入这个目录,然后再压缩

[root@oldboyedu59 tmp]# cd / 
root@oldboyedu59 /]# tar zcf  /tmp/etc.tar.gz   etc/ 

相关文章

  • Linux59期day10

    文件类型: 扩展名:.avi .txt .log .shWindows:系统根据不同的扩展名,区分不...

  • Linux59期day12

    创建1个新目录他的硬链接数是2? 为何? 在这个目录下面创建1个新目录 /lidao/alex/ lidao目录...

  • Linux59期day05

    了解:/oldboy和/oldboy/ 区别?大部分命令是一样的./oldboy 表示oldboy目录和下面的内...

  • Linux59期day04

    Linux基础操作与命令 快捷键 Ctrl+c 取消当前操作 Ctrl+l 清屏 Ctrl+a 光标移到行首 C...

  • Linux59期day08

    1、vim编辑器的快捷键光标移动操作: l:光标向右移动h:光标向左移动j:光标向下移动k:光标向上移动gg或1G...

  • Linux59期day09

    vim 故障 1.vim 执行过程 2.故障产生原因 a.同时打开一个文件b.之前的文件没有正常保存退出导致的 3...

  • Linux59期day03

    什么是救援模式? 解决故障 root密码忘记\服务器无法开机 linux磁盘分区方案 1.通用-数据不重要的时候...

  • Linux59期day02

    什么是操作系统? 人与硬件设备的中介/桥梁 Linux操作系统的组成? 外围应用程序 命令解释器 shell 系...

  • Linux59期day16

    正则表达式(Regular Expression RE) 什么是正则表达式: 发明一套符号,不同的符号有不同的...

  • Linux59期day06

    根下/etc目录作用: /etc: 网卡配置文件 /etc/sysconfig/network-scripts/i...

网友评论

      本文标题:Linux59期day10

      本文链接:https://www.haomeiwen.com/subject/zqibiqtx.html