Linux学习——2016.10.8
简要内容
ls命令,ctime & mtime & atime 以及 touch命令
ls
名称: ls – list directory contents
用法: ls [OPTION]… [FILE]…
常用选项:
- -l 最常用的选项,显示详细信息(权限,所有者,修改时间等)
- -h 自动格式化合适的大小 k,m,G 等,按照1k=1024
- -si 同-l ,但是单位转换使用1000而不是1024
- -F 在文件或者文件夹后面增加一些字符,eg 可执行文件后面加*,文件夹后面加/ 等
- -a 显示所有选项 包括 ‘.’ ‘..’ ‘.开头的隐藏文件’
- -A 同-A 不包括 ‘.’ ‘..’
- –color[=WHEN] never | auto 颜色选项
- -i 显示inode号
- -S 按照大小排序
- -r 倒序
- -R 递归打印目录内容
- -c 和lt一起,显示ctime,按ctime排序,和l,显示ctime
- -t 使用修改时间排序
- -u 和lt 一起用,使用访问时间排序,和l,显示访问时间
ctime & mtime & atime
Linux系统文件有三个主要的时间属性,分别是ctime(change time, 而不是create time), atime(access time), mtime(modify time)。
- ctime, 很多朋友把它理解成create time,实际上ctime是指change time。
- mtime, 就是modify time。mtime和ctime的区别在于,只有修改了文件的内容,才会更新文件的mtime,而对文件更名,修改文件的属主等操作,只会更新ctime。
- 举例说明: 对文件进行mv操作,mtime不变,ctime更新;编辑文件内容,mtime和ctime同时修改。touch操作,会同时修改mtime和ctime
- atime, 这个就是每次查看文件内容的时候会更新。比如cat操作,而ls操作是不会更新的
- 可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
touch
名称:touch - change file timestamps
用法:touch [OPTION]… FILE…
常用选项:
- -a 只改变atime
- -c 不创建文件,touch一个不存在的文件会新建
- -d 解析时间string作为变动时间,默认当前时间
- -m 修改mtile
- -t 使用指定格式时间
- -r touch -r f1 f2 把f1的时间戳改成f2的
touch file,若file不存在则新建名为file的文件,ctime,mtime,atime均为当前时间,如果file存在,则把上述3个时间均改为当前时间,不想使用当前时间可以使用-d / -t。eg: touch -t 201610081530.50 file