linux指令(stat date cal)

2017-03-21 08:21:46来源:CSDN作者:wangpengcsdn1人点击

一、stat指令ls 命令可能是每一个 Unix 使用者第一个学习的命令之一, 但它仅仅显示了 stat 命令能给出的信息的一小部分。这里ll显示的时间仅仅是文件修改的时间stat 命令从文件的索引节点获取信息。使用 stat 命令, 你会看到下面这些:
正如你可能已经了解的那样, 每一个系统里的文件都存有三组日期和时间, 它们包括最近修改时间(即使用 ls -l 命令时显示的日期和时间), 最近状态改变时间(包括对文件重命名)和最近访问时间。access time ,modify time:  ,change time既然已经知道了这三个时间的属性那么我们就可以对它进行修改(1)、修改access time的时间(表示我们最后一次访问(仅仅是访问,没有改动)文件的时间 )(2)修改change time时间(表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等 )(3).modify time (表示我们最后一次修改文件的时间 )
 由此,我们可以知道
1,当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变
2,当修改文件时,access,modify,change time 都会跟着改变
3,当修改文件属性时,change time 改变,而access,modify time 不变。
如果我们喜欢的话, 我们也可以通过其他命令来获取这些信息。
stat 命令也可应用与文件夹。在这个例子中, 我们可以看到有许多的链接。 stat 命令还可以一次显示所有我们想要的信息。 下面的例子中, 我们只想查看文件类型, 然后是硬连接数。
在下面的例子中, 我们查看了文件权限 -- 分别以两种可用的格式 -- 然后是文件的 SELinux 安全环境。最后,我们我们可以以从 Epoch 开始的秒数格式来查看文件访问时间。1.$ stat --format=%a trythats2.7003.$ stat --format=%A trythat4.-rwx------5.$ stat --format=%C trythat6.(null)7.$ stat --format=%X bin8.1411282845
下面全部是可用的选项:1.%a 八进制表示的访问权限2.%A 可读格式表示的访问权限3.%b 分配的块数(参见%B)4.%B %b 参数显示的每个块的字节数5.%d 十进制表示的设备号6.%D 十六进制表示的设备号7.%f 十六进制表示的Raw模式8.%F 文件类型9.%g 属主的组 ID10.%G 属主的组名11.%h 硬连接数12.%i Inode号13.%n 文件名14.%N 如果是符号链接,显示器所链接的文件名15.%o I/O 块大小16.%s 全部占用的字节大小17.%t 十六进制的主设备号18.%T 十六进制的副设备号19.%u 属主的用户 ID20.%U 属主的用户名21.%x 最后访问时间22.%X 最后访问时间,自Epoch开始的秒数23.%y 最后修改时间24.%Y 最后修改时间,自Epoch开始的秒数25.%z 最后改变时间26.%Z 最后改变时间,自Epoch开始的秒数
针对文件系统还有如下格式选项:1.%a 普通用户可用的块数2.%b 文件系统的全部数据块数3.%c 文件系统的全部文件节点数4.%d 文件系统的可用文件节点数5.%f 文件系统的可用节点数6.%C SELinux的安全上下文7.%i 十六进制表示的文件系统 ID8.%l 文件名的最大长度9.%n 文件系统的文件名10.%s 块大小(用于更快的传输)11.%S 基本块大小(用于块计数)12.%t 十六进制表示的文件系统类型13.%T 可读格式表示的文件系统类型
二、date指令

时间相关:date显⽰示:

date指定格式显⽰示时间:date +%Y_%m_%ddate +%Y:%m:

%d

date命令本⾝身提供了⽇日期的加减运算

date⽤用法:date [OPTION]... [+FORMAT]


date [-u|--utc|--universal] [MMDDhhmm[[CC]YY]

[.ss]]


date可以⽤用来显⽰示或设定系统的⽇日期与时间。

1.在显⽰示⽅方⾯面,使⽤用者可以设定欲显⽰示的格式,格式设定为⼀一个加号后接数个标记,其中可⽤用的标记列表如下: 


%n :下⼀一⾏行

%t :跳格

%H :⼩小时(00..23)


%I :⼩小时(01..12)


%k :⼩小时(0..23)


%l :⼩小时(1..12)


%M :分钟(00..59)


%p :显⽰示本地AM PM


%r :直接显⽰示时间(12 ⼩小时制,格式为hh:mm:ss [AP]M)


%s :19701⽉月1⽇日00:00:00 UTC到⺫⽬目前为⽌止的秒数

%S :(00..61)


%T :直接显⽰示时间(24 ⼩小时制)


%X :相当于%H:%M:%S


%Z :显⽰示时区%a : 星期⼏几 (Sun..Sat)


%A :星期⼏几(Sunday..Saturday)


%b :⽉月份(Jan..Dec)


%B :⽉月份(January..December)


%c :直接显⽰示⽇日期与时间

%d :⽇日(01..31)


%D :直接显⽰示⽇日期(mm/dd/yy)


%h :%b


%j :⼀一年中的第⼏几天(001..366)


%m :⽉月份(01..12)


%U :⼀一年中的第⼏几周(00..53) (Sunday 为⼀一周的第⼀一天的情形)


%w :⼀一周中的第⼏几天(0..6)


%W :⼀一年中的第⼏几周(00..53) (Monday 为⼀一周的第⼀一天的情形)


%x :直接显⽰示⽇日期(mm/dd/yy)


%y :年份的最后两位数字(00.99)
%Y : 完整年份 (0000..9999) 在设定时间⽅方⾯面
date -s //设置当前时间,只有root权限才能设置,其他只能查看。

date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对⽇日期做更改date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间3.加减
date +%=Y%m%d         //显⽰示现在天年⽉月⽇日date +%Y%m%d --date="+1 day"  //显⽰示后⼀一天的⽇日期
date +%Y%m%d --date="-1 day"  //显⽰示前⼀一天的⽇日期date +%Y%m%d --date="-1 month"  //显⽰示上⼀一⽉月的⽇日期
date +%Y%m%d --date="+1 month"  //显⽰示下⼀一⽉月的⽇日期date +%Y%m%d --date="-1 year"  //显⽰示前⼀一年的⽇日期
date +%Y%m%d --date="+1 year"  //显⽰示下⼀一年的⽇日期

时间戳


时间->时间戳:date +%s时间戳->时间:date +%Y:%m:%d  -d @1425384141 Unix时间戳(英⽂文为Unix epoch, Unix time, POSIX timeUnix timestamp)是从19701⽉月1⽇日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。实例如下:
三、cal指令cal命令可以⽤用来显⽰示公历(阳历)⽇日历。公历是现在国际通⽤用

的历法,⼜又称格列历,通称阳历。阳历⼜又名太阳历,系以地球绕⾏行太阳⼀一周为⼀一年,为⻄西⽅方各国所通⽤用,故⼜又名⻄西历。命令格式:

cal [参数][⽉月份][年份]

命令功能:

⽤用于查看⽇日历等时间信息,如只有⼀一个参数,则表⽰示年份

(1-9999),如有两个参数,则表⽰示⽉月份和年份

命令参数:        1   显示一整年的时间

-1显⽰示⼀一个⽉月的⽉月历

-3显⽰示系统前⼀一个⽉月,当前⽉月,下⼀一个⽉月的⽉月历

  1. 显⽰示星期天为⼀一个星期的第⼀一天,默认的格式

-m显⽰示星期⼀一为⼀一个星期的第⼀一天

-j 显⽰示在当年中的第⼏几天(⼀一年⽇日期按天算,从1⽉月1号算起,默认显⽰示当前⽉月在⼀一年中的天数)

-y  显⽰示当前年份的⽇日历⽰例: 

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台