查看文件类型:file 文件
查看文件信息状态:stat 文件
创建文件:touch(主要目的是修改文件的时间戳)
-c:不创建任何文件
-a:只修改访问时间
-m:只修改修改时间(比如文件名 )
-t:修改时间 YYYYmmddHHMM.ss 例:touch -m -t 201803201530.22 Demo.java
删除文件:rm 文件
不使用别名形式删除方式为:\rm Hello.java
-i:删除时给出提示
-f:强行删除
-r:删除目录及内容
复制文件:cp 源文件 目的文件
-r(recursive):复制目录及其内容
-f:强行复制,如果目的文件存在则强行覆盖(有-i是-f不生效)
-i:复制时给出覆盖提示
-p:复制时保留属主,属组,时间戳(时间戳自己测试会改变,需待详细验证)
-L:复制链接时默认复制链接的源文件
-P:复制时不复制源文件,只复制链接本身
-a:归档复制,常用于备份(保留源文件所有的属性,看不出与-p有啥区别,回头在查些资料)
创建链接:ln(link)
-s:创建软链接(类似Windows的快捷方式 权限为lrwxrwxrwx)
例:ln -s Demo.java aa.sh
创建硬链接:ln Demo.java bb.sh
硬链接与复制的文件有何区别?
|
如何判断文件是否是硬链接? ls-i(inode):显示文件的索引节点号码,如果一样则是硬链接 |
移动文件:mv 源文件 目的地址
-i:如果目标存在给出覆盖提示
-f:强制覆盖(当有-i时候-f不发挥作用)
文件搜索:find
-name:根据文件名查找 例:find /root -name a.sh
-iname:根据文件名查找,不区分大小写
-size:根据文件大小查找 (默认单位为数据块,Linux默认数据块512k) +n:大于 -n:小于 n:等于
例:find /root -size -10240
-user:根据所有者查找 例:find /home -user zhaowl
-amin:根据访问时间查找(access) 例:find /etc -amin -4(默认单位为分钟)
-mmin:根据文件修改时间(modify) 例:find /etc -mmin -4
-cmin:根据文件属性修改时间(change)
-type:根据文件类型查找
f:文件 d:目录 l:软链接文件
例:find /etc -type l
-inum:根据inode节点查找 例:find /root -inum 10201
-exec 命令 {} \;:对搜索结果执行操作
例:find /etc -name "init*" -exec ls -dl {} \;
-a:两个条件同时满足 例:find /etc -size +2000 -a -size -3000
-o:两个条件满足任意一个: 例:find /etc -name "init*" -o -size -20 -exec ls -dl {} \;
快速查找:locate
快速查找库位置:/var/lib/mlocate/mlocate.db
-i:不区分大小写
更新快速查找库:updatedb