linux常用命令之文件管理
LS
ls:list directory contents
默认情况
默认情况下显示的是mtime
选项
-a 列出全部文件及目录包括隐藏的
-l 列出详细信息,包括文件类型、权限、节点、owner、group、size(b)、修改日期、文件名
-d 列出目录本身,且不列出目录下的内容
-h size用易读的单位 表示,如kg
-F 列出文件类型
-S按大小从大到小排序
-t 按更新时间从新到旧排序
-r 以相反的顺序排序
-i 显示inode号码
–time=atime 显示访问时间
–time=ctime 显示状态修改时间
参数
文件名或者目录名,列出该文件名或目录名的信息
注意
“连接的那个字段的意思是:有多少个文件名连接到这个inode号码”
MKDIR
mkdir – make directories 新建目录
用法
mkdir [-mp] 路径
选项
-m mode set file mode (as in chmod)
设置目录的权限,就像chmod一样,是数字模式
默认的权限是:770
demo:
mkdir -m 700 xxxxx
-p parent
如果父目录不存在,则会自动新建父目录
RMDIR
rmdir – remove empty directories 删除空目录
用法
rmdir [-p] 路径
选项
-p parents,如果上层目录为空,且足够权限,则连同上层目录一起删除
CP
cp – copy file and directory,复制文件和目录
用法
cp [-arsluf] sourse.. destination
sourse可以有很多个
当有两个以上sourse,或者sourse为目录的时候,destination必须是目录
当destination不存在的时候,会自动创建
参数
-a same of source,权限、时间…..都复制过去,相当于-pdr
-r recursive 递归复制,目录下的所有内容都复制
-s symbolic link 软链接
-l hard link 硬链接
-u update 更新,如果时间更新,则覆盖
-f force 强制复制
注意
- 目录一定要递归复制,即使是空目录,也有.和..两个目录
- 默认复制的时候,权限、owner、group和源文件不一定一样,更新时间一定和源文件不一样
- -a或者-d、-p复制的时候,权限、时间和源文件一样,但是owner和group不一定和源文件一样
- 硬链接复制的时候,权限等等属性都和源文件一样
- 软链接复制的时候,权限默认为777(rwxrwxrwx)
RM
rm – remove files or directories
用法
rm [-r] file
选项
-r recursive 递归删除该目录下所有内容
-f force 强制删除 不作询问
-i prompt 删除之前询问
MV
mv – move(rename) files and directories
用法
mv [-u] source… destination
选项
-u update 源文件比目标文件更新才会覆盖
-f force 不经询问就移动
-i interactive 移动前询问
注意
- source大于等于两个的时候,destination必须是目录
- 移动目录的话,不需要加-r递归移动
TOUCH
touch – change file timestamp and create new file 修改文件时间,以及新建文件
用法
touch [-amcdt] file
选项
-a access time (atime) 访问时间,既什么时候读取过这个问及爱你
-m modified time (mtime) 修改时间
-c status time (ctime) 状态改变时间(权限啊、属性啊这些东东改变都算状态改变,时间改变不算)
-d date 后面接日期 比如”2 years ago”
-t stamp 后面接YYMMDDhhmm
注意
- -d 后面的时间是相对于现在系统时间,不是相对于以前的时间
- ls 默认情况下显示的是mtime