文件和目录操作命令(18个)
全拼list,功能是列出目录的内容及其内容属性信息。
-l(long) 长格式 注:-l 显示的时间是mtime
-d --directorys当遇到目录时列出目录本身而非目录内的文件
ls –d #只显示. (.表示目录本身)
ls –d */ #显示当前目录下的目录及其子目录
-r --reverse: 倒序显示(按字母)
ls -lrt #显示最近修改的文件
-R --recursive: 递归列出子目录
-t(time): 按时间显示(从现在到过去)
-h, --human-readable 以易于阅读的格式输出文件大小
-S: 按文件大小 大到小
ls-lhS #文件从小到大排序
-i --inode: 文件或目录的 索引节点号
-n: 显示UID和GID(-l显示的是名称)
-F: 给不同文件结尾加标识(目录是/)
-p: 给目录结尾加/
--color=auto 显示颜色
inode节点号:存储了文件的属性信息。指向一个或多个block(block里存放的是文件的数据信息)
文件类型与权限:第1位为文件类型,后9位为权限。若最后有个. 则代表该文件是在SELinux开启时创建的文件。若无. 则不是
文件类型总结
d:文件夹
-:普通文件
l:链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如猫等串口设备)
s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
特殊属性的总结
sst,显示在相应的x权限位上
setuid:让执行该命令的用户以该命令拥有者的权限去执行
setgid:1)执行文件的用户以该文件所属组的权限去执行
2)在设有该权限位的目录下创建的文件,文件权限和组一致
sticky:该文件只有root用户和文件属主可删除
硬链接数:文件为1,目录为2,目录下每多一个子目录,硬链接数加1
../oldboy #上层目录下的当前目录
../oldboy/. #上层目录下的当前目录.
oldboydir/.. #子目录的上层目录
硬链接与软链接区别
ln –s 源文件 链接文件 #创建软链接
ln 源文件 链接文件 #创建硬链接
1) 在软链接的inode与源文件不同,软链接的block里存放的是源文件的绝对地址。硬链接inode与软链接相同,硬链接与源文件指向同一个block
2) 删除源文件,软链家会变成红底白字失效。硬链接不受影响
3) 软链接可以跨文件系统,硬链接不能跨文件系统。(inode和block都是在创建文件系统时生成的。硬链接共享indoe,决定了它不能跨文件系统)
时间戳
atime:访问时间
ctime:属性改变时间(mtime变,ctime同步变)
mtime:内容改变时间
文件名
存放在上层目录的block中
全拼change directorylinux常用命令,功能是从当前工作目录切换到指定的工作目录。
全拼copy,其功能为复制文件或目录。
- i 覆盖前询问
-R/r:递归,用于复制目录;
-p:等于--preserve=模式,所有权,时间戳
--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳)
如果可能保持附加属性:环境、链接、xattr 等
-d:等于
--no-dereference:不跟随源文件中的符号链接
--preserve=links:保持链接的属性
-a:相当于-pdR;
-p:保持属性
–d:保持连接属性
–R:递归复制