linux指令(stat date cal)
2017-03-20 19:06
337 查看
一、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 trythats
2.700
3.$ stat --format=%A trythat
4.-rwx------
5.$ stat --format=%C trythat
6.(null)
7.$ stat --format=%X bin
8.1411282845
下面全部是可用的选项:
1.%a 八进制表示的访问权限
2.%A 可读格式表示的访问权限
3.%b 分配的块数(参见%B)
4.%B %b 参数显示的每个块的字节数
5.%d 十进制表示的设备号
6.%D 十六进制表示的设备号
7.%f 十六进制表示的Raw模式
8.%F 文件类型
9.%g 属主的组 ID
10.%G 属主的组名
11.%h 硬连接数
12.%i Inode号
13.%n 文件名
14.%N 如果是符号链接,显示器所链接的文件名
15.%o I/O 块大小
16.%s 全部占用的字节大小
17.%t 十六进制的主设备号
18.%T 十六进制的副设备号
19.%u 属主的用户 ID
20.%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 十六进制表示的文件系统 ID
8.%l 文件名的最大长度
9.%n 文件系统的文件名
10.%s 块大小(用于更快的传输)
11.%S 基本块大小(用于块计数)
12.%t 十六进制表示的文件系统类型
13.%T 可读格式表示的文件系统类型
二、date指令
时间相关:date显⽰示:
date指定格式显⽰示时间:date +%Y_%m_%d,date
+%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 :从1970年1⽉月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 time或Unix
timestamp)是从1970年1⽉月1⽇日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
实例如下:
三、cal指令
cal命令可以⽤用来显⽰示公历(阳历)⽇日历。公历是现在国际通⽤用
的历法,⼜又称格列历,通称阳历。“阳历”⼜又名“太阳历”,系以地球绕⾏行太阳⼀一周为⼀一年,为⻄西⽅方各国所通⽤用,故⼜又名“⻄西历”。命令格式:
cal [参数][⽉月份][年份]
命令功能:
⽤用于查看⽇日历等时间信息,如只有⼀一个参数,则表⽰示年份
(1-9999),如有两个参数,则表⽰示⽉月份和年份
命令参数:
1 显示一整年的时间
-1显⽰示⼀一个⽉月的⽉月历
-3显⽰示系统前⼀一个⽉月,当前⽉月,下⼀一个⽉月的⽉月历
显⽰示星期天为⼀一个星期的第⼀一天,默认的格式
-m显⽰示星期⼀一为⼀一个星期的第⼀一天
-j 显⽰示在当年中的第⼏几天(⼀一年⽇日期按天算,从1⽉月1号算起,默认显⽰示当前⽉月在⼀一年中的天数)
-y
显⽰示当前年份的⽇日历
⽰例:
一、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 trythats
2.700
3.$ stat --format=%A trythat
4.-rwx------
5.$ stat --format=%C trythat
6.(null)
7.$ stat --format=%X bin
8.1411282845
下面全部是可用的选项:
1.%a 八进制表示的访问权限
2.%A 可读格式表示的访问权限
3.%b 分配的块数(参见%B)
4.%B %b 参数显示的每个块的字节数
5.%d 十进制表示的设备号
6.%D 十六进制表示的设备号
7.%f 十六进制表示的Raw模式
8.%F 文件类型
9.%g 属主的组 ID
10.%G 属主的组名
11.%h 硬连接数
12.%i Inode号
13.%n 文件名
14.%N 如果是符号链接,显示器所链接的文件名
15.%o I/O 块大小
16.%s 全部占用的字节大小
17.%t 十六进制的主设备号
18.%T 十六进制的副设备号
19.%u 属主的用户 ID
20.%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 十六进制表示的文件系统 ID
8.%l 文件名的最大长度
9.%n 文件系统的文件名
10.%s 块大小(用于更快的传输)
11.%S 基本块大小(用于块计数)
12.%t 十六进制表示的文件系统类型
13.%T 可读格式表示的文件系统类型
二、date指令
时间相关:date显⽰示:
date指定格式显⽰示时间:date +%Y_%m_%d,date
+%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 :从1970年1⽉月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 time或Unix
timestamp)是从1970年1⽉月1⽇日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
实例如下:
三、cal指令
cal命令可以⽤用来显⽰示公历(阳历)⽇日历。公历是现在国际通⽤用
的历法,⼜又称格列历,通称阳历。“阳历”⼜又名“太阳历”,系以地球绕⾏行太阳⼀一周为⼀一年,为⻄西⽅方各国所通⽤用,故⼜又名“⻄西历”。命令格式:
cal [参数][⽉月份][年份]
命令功能:
⽤用于查看⽇日历等时间信息,如只有⼀一个参数,则表⽰示年份
(1-9999),如有两个参数,则表⽰示⽉月份和年份
命令参数:
1 显示一整年的时间
-1显⽰示⼀一个⽉月的⽉月历
-3显⽰示系统前⼀一个⽉月,当前⽉月,下⼀一个⽉月的⽉月历
显⽰示星期天为⼀一个星期的第⼀一天,默认的格式
-m显⽰示星期⼀一为⼀一个星期的第⼀一天
-j 显⽰示在当年中的第⼏几天(⼀一年⽇日期按天算,从1⽉月1号算起,默认显⽰示当前⽉月在⼀一年中的天数)
-y
显⽰示当前年份的⽇日历
⽰例:
相关文章推荐
- 学习date , clock , hwclork , cal, ls ,cd , pwd, tty, whereis , which ,stat, e
- 20160217自学Linux_最基本(ls,cd,date,cal,stat,printenv,flie)+使用帮助
- Linux常用命令之cal date
- 【Unix/Linux】【命令】日历,时间 —— cal, date
- 每日linux命令学习之wc date cal
- linux日期命令date/cal
- date(时间),timedatectl(时区),cal(日历)的用法
- 一天一条Linux指令-stat
- 4.4、 Shell编程中数组、date和cal命令
- Linux基础之命令练习Day1-init,who,date,cal,man,clear,passwd,su,whoami,mkdir,touch,rm,cp,mv,head,tail,more...
- 命令 date ,clock,hwclock,cal,ls作业
- Linux基础之命令练习Day1-init,who,date,cal,man,clear,passwd,su,whoami,mkdir,touch,rm,cp,mv,head,tail,more,less,echo
- CentOS简单命令学习:date cal bc
- Linxu指令--date,cal
- linux cat echo cal date clear命令
- 一天一条Linux指令-date
- Command-date,clock,hwclock,cal,ls,cd,pwd,tty…
- Linux之简单命令之日期时间命令之date,cal,clock & hwclock,tzselect
- Linxu指令--date,cal
- Linux基本命令-date,cal,bc,man,无线路由器连接上网