Linux文件操作
创建新文件 touch
它的主要功能不是用于创建文件,而是修改文件时间,touch +已存在的文件名 是将该文件的所有时间戳改为当前时间(系统时间)
创建新目录 mkdir
-p 递归创建(有就不建了) mkdir -p a/b/c/d/e 依次确保a,b,c,d,e存在,从哪个开始不存在就创建哪个
-m 创建目录使设置操作目录的权限,格式类似chmod
mkdir -m u-rw a.txt 先设置权限再写文件名(因为是新创建的文件,最好直接写=,别用-+来修改权限)
删除文件 rm
-r 递归删除
-f 强制执行(不问是否删除 文件不存在也不报错)
rm -rf /删库跑路必会操作
移动文件路径 mv
很多公司不允许用rm删除文件,要用mv把垃圾文件放到统一的路径下
mv a.txt /etc 会把a.txt移动到/etc目录下,如果目标目录也存在一个同名文件,它会询问是否覆盖(目录可以覆盖文件,文件不能覆盖目录)
执行文件
sh 文件路径
bash 文件路径
.文件路径
./文件路径
修改文件的属组和属主
chown(change own) 改属主
chown root /u 把u的属主改为root
-R递归改 chown -R root /u 把u及子目录下的所有文件属主改为root
chgrp(change group) 改属组
同上
改文件用户权限 chmod (详在用户操作那篇)
覆盖,追加文件内容
>
a.txt > b.txt 将左边的文件内容覆盖到右边 不存在则新建
a.txt b.txt > c.txt 将左边的两个文件内容整合后覆盖到c文件
>>
a.txt >> b.txt 将左边的文件内容追加到右边
归档打包 tar
打包
tar -cfv test.tar cf(creatfilename) v显示详细信息
这个只是把几个文件打包成一个文件,没有进行压缩
tar -cfv test.tar a.txt b.txt c.txt 把abc三个文件打包在test下(就好像新建了一个目录,把三个文件放进去)
压缩
tar czvf test.tar.gz z->zip
打包并压缩,加z结尾表示压缩方式 zip方式压缩
tar cjf test.tar.bz2 j->bzip2
压缩的对象只能是打包文件
解压
tar xvf test.tar 解压tets文件 不加参数原地解压(原打包文件.tar仍然存在)
-C (-C解压到指定目录 不管压没压缩都可以用这个命令)
文件的行数、单词计数和字节数 wc
-l (lines) 统计文件行数
-c (bytes) 统计字节数
-m (chars) 统计字符数