Linux 获取文件时间信息 判断文件是否存在

时间:2023-03-08 22:02:41

获取文件时间戳

(1)查看全部信息:
stat e4.txt
范例:
[root@localhost ~]# stat e4.txt
File: “e4.txt”
Size: 0 Blocks: 0 IO Block: 4096 一般空文件
Device: 806h/2054d Inode: 486265 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 500/ whuang)
Access: 2002-03-23 10:23:33.000000000 +0800
Modify: 2002-03-23 10:23:33.000000000 +0800
Change: 2012-08-16 14:15:13.000000000 +0800 (2)查看上次访问时间
stat -c %x e4.txt
范例:
[root@localhost ~]# stat -c %x e4.txt
2002-03-23 10:23:33.000000000 +0800
(3)查看上次修改时间
stat -c %y e4.txt
范例:
[root@localhost ~]# stat -c %y e4.txt
2002-03-23 10:23:33.000000000 +0800
(4)查看上次更改时间
stat -c %z e4.txt
范例:
[root@localhost ~]# stat -c %z e4.txt
2012-08-16 14:15:13.000000000 +0800
还有另外两种方式:
[root@localhost ~]# ls --full-time e4.txt
-rw-r--r-- 1 root whuang 0 2002-03-23 10:23:33.000000000 +0800 e4.txt -------------------------------------------------
[root@localhost ~]# perl -le 'print scalar (localtime((stat("./e4.txt"))[9]))'
Sat Mar 23 10:23:33 2002
------------------------------------------------------------
判断文件是否存在:
#shell判断文件夹是否存在

#如果文件夹不存在,创建文件夹
if [ ! -d "/myfolder" ]; then
mkdir /myfolder
fi #shell判断文件,目录是否存在或者具有权限 folder="/var/www/"
file="/var/www/log" # -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$folder"]; then
mkdir "$folder"
fi # -d 参数判断 $folder 是否存在
if [ ! -d "$folder"]; then
mkdir "$folder"
fi # -f 参数判断 $file 是否存在
if [ ! -f "$file" ]; then
touch "$file"
fi # -n 判断一个变量是否有值
if [ ! -n "$var" ]; then
echo "$var is empty"
exit 0
fi # 判断两个变量是否相等
if [ "$var1" = "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi