介绍常用的文件操作命令。可以参考 linux命令大全.
文件和目录操作
cp
拷贝数据
常用命令:
cp 源目录或文件 目标目录或文件, -r 表示递归拷贝
示例:
cp -r /opt/souredir /opt/target -r 表示递归拷贝
mkdir
创建新的目录
示例: mkidr -p /opt/test1/test2 , -p递归创建
mv
移动文件或给文件改名
命令: mv source target
示例: mv /opt/test1 /opt/test2
pwd
显示当前目录的绝对路径
命令: pwd
rename
给文件重命名
命令: rename source target
rm
删除文件或目录
命令: rm file
示例: rm -rf /opt/test -r 递归删除, -f 强制删除
touch
创建新的文件,改变已有文件的时间戳属性
命令: touch source
示例: touch /opt/test
tree
树结构显示目录下内容
命令: tree
basename
显示文件名或目录名
命令: basename source
示例: basename /opt/xx/yy , 结果为 yy
dirname
显示文件或目录路径
命令: dirname source
示例: dirname /opt/xx/yy , 结果为 /opt/xx
lsattr
查看文件扩展属性
命令: lsattr source
chattr
改变文件扩展属性
命令: chattr source
file
显示文件类型
命令: file source
md5sum
计算和校验文件的md5值
命令: md5sum file
Ctrl/Command + Z
文件切割合并
cut
将文件内容按照指定分隔符分割并输出
命令:
cut [-bn] [file] , 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志
cut [-c] [file] , 以字符为单位进行分割
cut [-df] [file] , -d 自定义分隔符,默认为制表符;-f 与-d一起使用,指定显示哪个区域
spilt
将文件分割为小单位
命令: split [–help][–version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
-<行数> : 指定每多少行切成一个小文件
-b<字节> : 指定每多少字节切成一个小文件
–help : 在线帮助
–version : 显示版本信息
-C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
[输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号
paste
按行合并文件内容
命令: paste [-s][-d <间隔字符>][–help][–version][文件…]
-d<间隔字符>或–delimiters=<间隔字符> 用指定的间隔字符取代跳格字符。
-s或–serial 串列进行而非平行处理。
–help 在线帮助。
–version 显示帮助信息。
[文件…] 指定操作的文件路径
文件压缩
tar
文件打包
命令: tar [选项] 文件
示例:
tar -zcvf /opt/test.tar.gz /opt/test
– 将test压缩成成test.tar.gz,-z用bz格式操作文件,-c压缩命令,-v:显示进度
tar -zxvf /opt/test.tar.gz .-C /opt/test1
– 解压文件到test1中,-x解压文件,-f操作指定文件,-C新文件位置
unzip
解压文件
命令: unzip xxx.zip
gzip
压缩文件
文件查找
which
查找二进制命令,按照PATH环境便令查找
命令: which 命令
find
从磁盘中查找文件或目录
命令: find path -option [-print] [ -exec -ok command ] {} ;
选项:
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-prune 可以不在当前指定的目录中查找,如果同时使用了 -depth选项,那么-prune选项将被忽略。
-mtime - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在 n天以前。
-nogroup 查找无有效所属组的文件,即该文件所属的组在 /etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在 /etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount 在查找文件时不跨越文件系统 mount点。
-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
示例:
find ./ -path ‘./dir’ -prune -o -name logs , 当前目录中排除dir目录,查找logs
find ./ -mtime +10 -exec rm -f {} ; 查找并删除最后修改到现在10天以上的文件
whereis
查找二进制文件,按照PATH环境变量查找
命令: whereis ls
查看和显示
cat
连接多个文件打印到屏幕或指定位置
命令 : cat source
示例: cat /opt/test1
tac
cat命令的反写,方向实现文件内容
命令: tac source
more
分页显示文件内容
命令: more sourceFile
示例: more /opt/test1
less
分析显示文件内容,more的反向用法
命令: less sourceFile
head
显示文件前几行内容
命令: head [-n] sourceFile
tail
显示文件尾部内容,可以持续显示
命令: tail [-nf] source , n 代表数字
wc
统计文件行数,或字节数
命令: wc [-clw][–help][–version][文件…]
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 显示行数。
-w或–words 只显示字数。
–help 在线帮助。
–version 显示版本信息。
diff
对比文件差异,常用与文本文件,参考diff
命令:
diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][–help][–left-column][–suppress-common-line][文件或目录1][文件或目录2]