通配符
^
以什么开头
ls | grep ^d

$
以什么结尾
df -h |grep /$

linux系统文件如何压缩
tar zip rar bz2
为什么要使用压缩
1.节省空间
2.备份
3.减少IO (重要)1000个文件
什么时间压缩 业务的低谷期
tar
tar压缩格式
tar -zcvf 包名 文件或目录
tar -zcvf 框子 萝卜 香蕉 苹果 梨
-z 使用压缩的方式 gzip
-c 创建
-v verbose 显示压缩的过程
-f 指定包的名字 -f参数必须在最后
-x 解压压缩包
-P 如果不是相对路径执行 使用-P
-t 查看压缩包内的内容
-C 指定解压的目录
tar压缩 简写 tar zcf name.tar.gz /etc oldboy.txt
tar解压缩 简写 tar xf name.tar.gz
报警:
[root@oldboy ~]# tar -zcvf hosts.tar.gz /etc/hosts
tar: 从成员名中删除开头的“/”

解压压缩包
tar zxvf file.tar.gz

压缩的时候 建议使用相对路径压缩 如果不使用相对路径 压缩后带路径的名字
tar -tPf hosts.tar.gz
tar xf hosts.tar.gz -C /tmp/
压缩在哪里可以在hosts.tar.gz /etc/hosts.tar.gz
练习:
压缩 /etc/hosts /etc/passwd /tmp 名字叫 all.tar.gz 放在/oldboy 压缩的时候不要 /etc
tar zcvf /oldboy/all.tar.gz hosts passwd /tmp
解压缩 把all.tar.gz 解压到 /alex下
[root@oldboy oldboy]# mkdir /alex
[root@oldboy oldboy]# mv all.tar.gz /alex/
[root@oldboy oldboy]# cd /alex/
[root@oldboy alex]# tar xf all.tar.gz

zip
zip all.zip file
zip -r myfile.zip etc/
unzip all.zip
unzip -d /tmp/ myfile.zip
zcat all.zip 查看压缩文件内容
history
查看历史命令
-c 清空历史命令
!23 执行23条历史命令
.bash_history 保存历史命令的文件
文件的权限
9位权限
rw- r-- r--
属主权限(笔记本属于谁)属组权限(家庭对笔记本的权限) 其他人对笔记本的权限
r read 读权限
w write 写权限
x execute 执行权限 (脚本 可执行命令的集合 命令大礼包)

  • 没有权限
    在Linux中文件最大权限为rw-r--r--
    在Linux中目录最大权限为rwxr-xr-x
    在工作中 所有代码目录权限为755 文件权限为644
    硬链接
    什么是硬链接
    在相同的文件系统中 如果多个文件inode号相同 则文件互为硬链接
    给超市多开了几个门
    目录无法做硬链接
    文件默认的硬链接数为1 目录硬链接数为2
    inode 存放文件属性和block的指针 指向内容具体存放的位置
    block 存放文件内容的地方
    上级目录 存放文件名的位置
    如何设置硬链接
    ln 源文件 目标文件
    备份: 工作中比较少用(缺点:线上,被***了,中毒,就没有干净五毒的数据了)
    删除的原理
    如果删除源文件 则不是真正的删除
    如果删除目标文件 不删除源文件 也不是真正的删除
    只有删除源文件 和 目标文件 才是真正的删除
    硬链接数为0 则真正删除文件
    硬链接数为0 源文件和目标文件被删除(没有被程序调用) 真正的删除
    链接为普通文件 直接rm可删除
    删除之后 如果不往此空间内写写数据 或者使用fsck做磁盘检测 空间不会被释放(数据可恢复)
    软链接 *****
    windows快捷方式 软链接文件中存放着实际文件的路径
    软链接Inode不同
    目录也可做软链接
    如何做软链接
    ln -s 源文件 目标文件
    软链接用绝对路径
    软链接删除
    删除源文件则文件真正删除
    删除链接文件 文件没有真正的删除
    删除时候要删除前面的文件 不要删除后面的链接

        软链接的作用  谁讲磁盘 (文件大了 如何链接到第二块磁盘)
            1.简单 把文件名复杂的可链接为简单的
            2.数据太大 把数据存储第二块磁盘  不影响当前数据写入
    
            案例:那个目录的小文件多 
            目录越大,目录底下的小文件就越多
    
            mv oldboy/ /tmp/  把数据移动到第二块磁盘
            ln -s /tmp/oldboy oldboy    做软链接

文件属性时间
ctime change 文件属性的 属性变了 时间就变
mtime modify 文件的内容变 时间就变
atime access 看文件的内容 时间就变(如果文本没有被更改 第一次查看时间会变 后面不变)
find
-mtime
-ctime
-atime
stat
查看文件的详细属性
stat tax.a

date
date在Linux系统可以显示当前系统的日期和时间。示例命令如下:
参数-s 修改时间。
[root@oldboyedu ~]# date -s "2012/12/1"
Sat Dec 1 00:00:00 CST 2012
[root@oldboyedu ~]# date
Fri Jul 19 19:17:53 CST 2019
显示当前日期以年月日格式。示例如下:
[root@oldboyedu ~]# date +%F
2019-07-19
显示当日。示例如下:
[root@oldboyedu ~]# date +%d
19
显示当月。示例如下:
[root@oldboyedu ~]# date +%m
07
显示当年,显示两位数,示例如下:
[root@oldboyedu ~]# date +%y
19
显示当年,四位数字。示例如下:
[root@oldboyedu ~]# date +%Y
2019
显示分。示例如下:
[root@oldboyedu ~]# date +%M
31
显示小时。示例如下“”
[root@oldboyedu ~]# date +%H
19
显示当前时分秒。示例如下:
[root@oldboyedu ~]# date +%T
19:31:37
显示一天前。示例如下:
[root@oldboyedu ~]# date -d "1 day ago" +%F
2019-07-18
[root@oldboyedu ~]# date -d "-1 day" +%F
2019-07-18
显示一分钟前。示例如下:
[root@oldboyedu ~]# date -d "-1 min" +"%Y:%H:%M"
2019:19:49
[root@oldboyedu ~]# date -d "1 min ago" +"%Y:%H:%M"
2019:19:49
显示一月前。示例如下:
[root@oldboyedu ~]# date -d "1 month ago" +%F
2019-06-19
[root@oldboyedu ~]# date -d "-1 month" +%F
2019-06-19
[root@oldboyedu ~]# date -d "-1 month" +"%Y:%H:%M"
2019:19:52
[root@oldboyedu ~]# date -d "1 month ago" +"%Y:%H:%M"
2019:19:52