进阶sre第一阶段(重温linux基础02)
pwd
显示当前目录
知识点插入:
绝对路径,相对路径,不赘述,百度。
注意:文件夹也是文件.
文件完整路径为 dirname(目录名)+basename(基名)
linux上文件存储到硬盘上时,粗略将文件分为二部分单独存储,分别是元数据+实际数据,元数据存储文件的属性信息,如存放真实路径,而实际数据,顾名思义
文件拥有一个时间属性:
mtime:记录文件内容修改的时间
atime:文件的读取时间
ctime:文件状态更改时间 如属性被修改等,内容不更改
一般 mtime改变则ctime也会跟随改变 如一个文件写入了20M的数据,那么内容改变的同时,属性也会改变,也就是元数据和实
际数据的关系.
dirname + 路径
取出目录名
basename + 路径
取出基名
注意:windows上直接编写的脚本,切记必须经过格式转化后才能在linux上执行,windows默认会给文本文件加一些符号如换行回车等,但linux上没有回车符号只有换行符号 ,推荐linux上的转换工具dos2unix
cd
改变文件夹
ll
ll --time=atime
ll --time=ctime
ll 默认mtime
ll -S 从大到小排序显示
ll -t 时间升序
stat 文件名
将三个时间进行显示
file 文件
判断文件是什么类型
知识点插入:
通配符,可结合文件浏览工具进行使用 此处列出部分
* 代表任意字符,非隐藏文件
? 匹配任意一个字符
~ 家目录
. 当前工作目录
[0-9] 匹配0到9某一个字符 如 ls c[0-9].txt 显示c开头中间为一个数字结尾为txt的文件
[a-z] 如上
ls
列出目录下所有文件
ls -d /etc/*/ 列出目录下所有文件夹
touch
创建一个空文件
若文件已经存在则刷新文件创建时间而不改变文件内容
cp
复制文件
注意复制时文件所有者可能会更改
cp -p 保留文件权限进行复制
cp -a 保留大部分属性进行复制
cp -v 显示复制过程
cp -u 只将复制比目标文件更新的文件或目标不存在的文件
cp -b 目标存在,则覆盖前先备份 备份的文件以 文件名~ 的形式存储
在root下的cp命令是以别名形式执行的,而一般用户则是使用的真cp命令,区别点cp命令原始状态下默认覆盖目标文件,
而root下则会进行提示
cp 使用举例
备份一个文件夹且文件夹以日期命名
cp -a /root/ /tmp/aa-`date +%F_%H_%M_%S`
%Y表示年
%m表示月
%d表示日
%H表示小时
%M表示分钟
%S表示秒
%N表示纳秒
mv
移动或者改名文件
rename
多个文件同时改名
如当前目录下有{1..20}.log 个文件需要将所有文件都修改为{1..20}log.bak如下
rename .log log.bak *
rm
删除文件,但有恢复的可能
rm -rf 文件免提示删除
被删除文件如果正在使用,则此时系统不会立即返还空间,需找出占用文件的程序,关闭即可
lsof | grep delete 可查看被删除文件信息
shred
彻底删除文件,被恢复的几率很低
shred -zvun 5 文件名
tree
显示目录结构
-d 只显示目录
-L 指定层
mkdir
创建目录
-p 递归创建
-v 显示创建目录过程
history
查看执行历史
!标号 执行对应历史命令
lsof
lsof 加文件名可查看文件正在被谁使用