linux文件操作
查看目录中的文件信息
ls [可选项]
-l 显示出详细的信息
-h 显示出目录的大小,带单位
h: human readable
-d 查看特定文件的属性
ll 相当于 ls -l (但是 unix没有ll)
创建目录
mkdir [可选项 -p] [路径] [自定义目录名]
-p 递归创建 如 d1/d2/d3
p: parent
删除目录
rmdir [可选项] [目录名]
-rf 递归删除目录
查看目录及文件占用的内存大小
du -sh [目录名]
-a: all 包括所有文件,不仅仅是目录
-s: sumary 只统计每个参数所占用的空间的总大小
-h: human readable
查看当前所在的目录
pwd
print working directory
切换工作目录
cd [可选项]
change Dirctory
. 当前目录
.. 上级目录
~ 用户的家目录
- 上个工作目录
创建文件
touch [可选项] [文件名]
touch 用来创建新文件, 如果文件已经存在了,就更新文件的时间标记
-a: 改变读取时间
-m: 改变修改时间
-r: 使用参考文件来记录
-d: 设置时间和日期
例: 指定文件的读取时间
touch -a -d [日期] [文件名]
查看文件的时间标识
stat [文件名]
读 时区
Access: 2019-08-22 04:29:21.575475520 +0000
修改
Modify: 2019-08-22 04:29:21.575475520 +0000
文件属性
Change: 2019-08-22 04:29:21.575475520 +0000
每次touch 都会用当前的时间替换,access 和 modify 时间
拷贝,复制文件或目录
cp [选项] [源文件/目录] [目标文件/目录]
-r: recursive 递归的
-a: 复制时保留链接,文件属性,并递归的赋值整个目录
例: cp [文件1] [文件2]
例: cp [文件1] [文件2] 目录
复制单个文件可以同时改名
复制多个文件不能同时改名
剪切/改名
mv [选项] [源文件/目录] [目标文件/目录]
目标位置和源相同就是在改名
查看文件类型
linux中看后缀识别文件的类型是没用的
file [文件名]
删除
rm [选项] [文件或目录]
-f: 强制的
-r: recursive 递归
通配:
* 匹配0个或多个字符
? 匹配一个字符
例:
rm *.log
查看文件内容
仅能查看文件的全部信息
cat -n [文件名]
-n: number 显示行号
从最后一行开始,倒着显示出全部文件内容, 不能显示行号
tac [文件名]
全屏分页显示文件内容
more [文件名]
空格: 向下翻页
b: 向上翻页
enter: 逐行滚动
q: 退出
less [文件名]
page down/up 翻页
查看文件的部分内容
head [选项] [文件名]
默认查看10行
-n: 显示多少行
tail -n [文件名]
tail -f [文件名] 当文件内容发生变动,会动态的显示出来
tail -n +3 [文件名] 从第三行开始显示
tail -n -3 [文件名] 显示最后三行
head -n -3 [文件名] 不显示最后三行
head -n +3 [文件名] 显示前三行
查找可执行文件,并显示位置
which [命令/程序名]
查找文件路径,该文件的帮助文件路径, 并显示位置
whereis
查找文件
locate [文件名]
他是在一个每天不断更新的数据库中查找文件信息,
模糊匹配用户输入的文件名,查找的速度快,
但是可以查找到已经删除的文件,
找不到新创建的文件, 所以在使用前使用 updatedb 手动更新数据库
find 查找文件或目录
find [查找范围] [查找条件] [查找动作]
-name: 按文件名称查找
-size: 按文件大小查找
-user: 按照文件所有者查找
-type: 按文件类型查找
-perm: 按文件权限查找
-mtime: 按文件的更新时间查找
-newer: 比某个文件更新查找
特殊查找
-o: 逻辑或
-not: 逻辑非, 在命令中可以用 ! 表示
-a: 逻辑与
文件名,支持通配
例: 查找到文件后, 顺道把他复制一份到 其他目录
find [查找范围] -name "XXX" -exec cp -r {} /tem \;
{} find的查找结果 \ 命令结束符号
查找属于目录的文件
find /etc -type d
查找属于文件的文件
find /etc -type f
find [范围] -mtime 4 : 表示四天前的那一天
find [范围] -mtime -4 : 表示四天内
find [范围] -mtime +4 : 表示四天前
制作压缩文件
- zip
压缩
zip [自定义的压缩文件名] [文件1] [文件2] ...
压缩文件夹 -r 递归,否则压缩不全
解压
unzip -d [路径] [压缩文件名]
不加路径的话,默认是当前文件夹
- gzip 不能对文件夹进行压缩
它压缩完的文件以 .gz结尾
gzip 可选项 [文件名]
-9: 1-9 压缩比例, 默认是6
-d: 用于解压缩文件
-c: 将输出重定向到标准输出
查看压缩文件的内容
zcat [文件名]
制作归档文件
将多个文件打包到一起,成为归档文件, 默认情况下归档文件不会被压缩,反而体积会比它囊括的全部文件大
tar 制作归档文件,释放归档文件
tar [选项] [归档文件名] [源文件/目录]
-c: create 创建 .tar 结尾的归档文件
-x: extract 解开 .tar 结尾的归档文件
-v: 输出详细信息,(解压了哪些文件)
-f: file 后面跟文件名,或者目录名
-t: list 查看归档文件中的内容
-p: 保存源文件的属性
-P: 保存绝对路径, 不建议使用
-z: 在创建归档文件的同时,使用gzip方式进行压缩
-j: 调用后bzip2的程序进行压缩
-J: 使用xz进行压缩
例:
制作:
tar -cf [自定名字] [源]
查看tar 文件中的内容
tar -tf [tar文件]
-C: 在建包时,先进入指定的目录
tar cf c.tar -C /tmp a b 意思是先进入 /tmp目录, 将压缩成 c.tar
注意点:
- 制作归档文件时,推荐使用相对路径
- 使用z或者j进行压缩文件不需要加上 z j, tar自动识别
- tar 可以对文件,也可以对目录进行操作, gzip bzip2 只能针对文件