Linux常用命令库
apachectl
grep
openssl
mdadm
groupmems
grub2-mkconfig
grub2-set-default
accept
groupadd
passwd
apk
gpm
paste
7z
grpconv
patch
ag
groupmod
pathchk
ack
grub
perl
arp
groupdel
objdump
atrm
gunzip
pfctl
atq
grpck
pgrep
axel
grpunconv
parted
ab
groups
partprobe
badblocks
halt
php
apt-key
gzip
od
apt-get
head
pigz
apt-sortpkgs
gzexe
pico
apropos
history
pidof
atop
help
pidstat
break
lastlog
ping
aptitude
hexdump
pkill
bg
ldconfig
ntsysv
arch
host
pmap
arpd
hostid
rpm2cpio
arpwatch
htop
ppp-off
as
hostnamectl
poweroff
arptables
hping3
rsync
ar
lilo
pr
arping
ifcfg
script
bzip2recover
htdigest
pssh
cal
hostname
printf
cancel
id
reject
arj
htpasswd
protoize
cd
hwclock
popd
chcon
lpr
pstree
base64
lsblk
pv
batch
iconv
sftp
chgrp
indent
ps
basename
ifconfig
slocate
chmod
ifstat
pstack
bc
ifup
pushd
chown
hdparm
pvscan
blockdev
mkdir
pwd
at
mkinitrd
pwck
builtin
info
pvck
chpasswd
ifdown
pvchange
chroot
iptables
pwconv
bind
mpstat
pvs
bmodinfo
iostat
pvdisplay
cksum
iftop
pvcreate
bye
inotifywait
sshd
bzgrep
ip6tables-restore
pwunconv
chsh
ip
quotacheck
bzcmp
insmod
rcconf
bzcat
ip6tables-save
quota
bzdiff
iotop
rcp
col
init
repquota
clockdiff
install
pvremove
bzip2
ip6tables
restorecon
command
iptables-save
read
comm
ncftp
quotaoff
bzless
ipcrm
return
cmp
ipcs
rev
consoletype
iptstate
quotaon
bunzip2
ipcalc
rename
cat
iperf
resize
bzmore
netstat
readonly
cdrecord
iptables-restore
rmdir
blkid
nice
rexec
cp
jed
restore
cpio
ispell
reboot
chage
jobs
rm
chattr
joe
rlogin
cu
jq
rmmod
chkconfig
kexec
tee
cupsenable
join
rpmbuild
date
iptraf
runlevel
cupsdisable
kernelversion
rpmdb
clear
kill
rsh
clock
jwhois
rpm
chfn
journalctl
scp
dd
lastb
sar
declare
last
route
compress
ld
times
depmod
ln
tftp
alias
let
rpmverify
dc
killall
service
continue
ldd
rpmsign
df
lha
screen
convertquota
lftp
sesearch
dhclient
locate
semanage
dhcpd
less
seinfo
dhcrelay
lftpget
scriptreplay
diff
logger
seq
diffstat
local
setfacl
dig
logsave
readelf
diff3
lp
sed
csplit
logout
sendmail
crontab
logname
rpmquery
dirname
login
set
dirs
lsattr
sftp-server
cut
lvremove
renice
domainname
losetup
setpci
dos2unix
lpadmin
setsid
dpkg-deb
lpc
sysctl
colrm
lnstat
shift
dpkg-preconfigure
look
shutdown
dnsdomainname
logwatch
sh
dpkg-query
lynx
shuf
dpkg-reconfigure
lpq
updatedb
dpkg
lscpu
skill
dpkg-divert
logrotate
shopt
dpkg-statoverride
lpstat
setsebool
dpkg-trigger
lvresize
showmount
dmidecode
gpasswd
tcpreplay
dstat
lprm
slabtop
e2fsck
lvdisplay
squid
du
mail
sort
dircolors
lspci
speedtest-cli
disown
lsof
smbclient
e2label
mesg
vgscan
dump
mailq
split
egrep
ltrace
vdfuse
eject
lsusb
sleep
echo
make
ss
ed
lsmod
ssh-agent
elm
lvcreate
sudo
emacs
mkbootdisk
strings
edquota
lvreduce
spell
ex
lvscan
tmux
exec
mkfs
znew
enable
lsb_release
xrandr
ethtool
nethogs
unarj
elinks
nologin
swapoff
dmesg
neofetch
tar
dris
mke2fs
touch
expand
nslookup
zcat
dpkg-split
md5sum
ssh
export
man
ssh-add
exit
mknod
syslog
dnf
mii-tool
userdel
false
mysqladmin
ssh-copy-id
fdisk
mailstat
ssh-keyscan
find
modprobe
squidclient
fgrep
mkswap
smbpasswd
expr
mtools
source
finger
mkisofs
suspend
env
mapfile
ssh-keygen
fishshell
mktemp
startx
fmt
mysql
swapon
firewall-cmd
more
stty
fping
mv
tail
ftp
nc
talk
file
mount
systemctl
fold
named-checkzone
stat
fc
lvextend
supervisord
gcc
mysqlimport
systool
findfs
mysqldump
sync
fsck
nano
tailf
fg
nl
tac
exportfs
ngrep
su
get_module
newusers
tcpdump
gcov
mysqlshow
test
getsebool
nmcli
zipsplit
gdb
nisdomainname
telinit
free
nmap
tracepath
curl
ntpdate
sum
ftpcount
nm
timedatectl
getenforce
nproc
trap
ftpshut
nfsstat
unlink
ftpwho
nohup
unrar
git
ls
unprotoize
ftptop
type
awk
watch
fuser
ulimit
telnet
whatis
yum
xlsatoms
uucico
xz
tty
wget
uptime
xinit
whoami
xhost
xauth
uname
who
usernetctl
tree
vgreduce
vi
xclip
which
xset
zfore
tempfile
zipinfo
strace
tput
umask
time
umount
unalias
uncompress
whereis
usermod
unset
unexpand
users
uupick
ypdomainname
write
yes
xargs
useradd
uuto
true
unzip
vgdisplay
vgconvert
vgchange
vgremove
vgcreate
vgextend
vgrename
xlsfonts
zip
uniq
tload
xlsclients
traceroute
tr
volname
wall
vmstat
wait
top
w
wc
私有云知识库
-
+
首页
date
date === 显示或设置系统时间与日期 ## 概要 ```shell date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] ``` ## 主要用途 - 转换时间到选定的格式,默认为当前。 - 设置系统时间。 ## 参数 format:输出的时间格式。 ```shell format可用的转义序列如下: %% 百分号 %a 当地缩写的工作日名称(例如,Sun) %A 当地完整的工作日名称(例如,Sunday) %b 当地缩写的月份名称(例如,Jan) %B 当地完整的月份名称(例如,January) %c 当地的日期和时间(例如,Thu Mar 3 23:05:25 2005) %C 世纪,和%Y类似,但是省略后两位(例如,20) %d 一月中的一天(例如,01) %D 日期,等价于%m/%d/%y %e 一月中的一天,格式使用空格填充,等价于%_d %F 完整的日期;等价于%+4Y-%m-%d %g ISO标准计数周的年份的最后两位数字 %G ISO标准计数周的年份,通常只对%V有用 %h 等价于%b %H 小时,范围(00..23) %I 小时,范围(00..23) %j 一年中的一天,范围(001..366) %k 小时,使用空格填充,范围(0..23),等价于%_H %l 小时,使用空格填充,范围(1..12),等价于%_I %m 月,范围(01..12) %M 分钟,范围(00..59) %n 换行符 %N 纳秒,范围(000000000..000000000) %p 用于表示当地的AM或PM,如果未知则为空白 %P 类似于%p,但用小写表示 %q 季度,范围(1..4) %r 当地以12小时表示的时钟时间(例如,11:11:04 PM) %R 24小时每分钟;等价于%H:%M %s 自协调世界时1970年01月01日00时00分以来的秒数 %S 秒数,范围(00..60) %t 水平制表符 %T 时间;等价于%H:%M:%S %u 一周中的一天(1..7),1代表星期一 %U 一年中的第几周,周日作为一周的起始(00..53) %V ISO标准计数周,该方法将周一作为一周的起始(01..53) %w 一周中的一天(0..6),0代表星期天 %W 一年中的第几周,周一作为一周的起始(00..53) %x 当地的日期表示(例如,12/31/99) %X 当地的时间表示(例如,23:13:48) %y 年份后两位数字,范围(00..99) %Y 年份 %z +hhmm格式的数值化时区格式(例如,-0400) %:z +hh:mm格式的数值化时区格式(例如,-04:00) %::z +hh:mm:ss格式的数值化时区格式(例如,-04:00:00) %:::z 数值化时区格式,相比上一个格式增加':'以显示必要的精度(例如,-04,+05:30) %Z 时区缩写(如EDT) 默认情况下,日期用零填充数字字段;以下可选的符号可以跟在'%'后面: - (连字符) 不要填充相应的字段。 _ (下划线) 使用空格填充相应的字段。 0 (数字0) 使用数字0填充相应的字段。 + 用数字0填充,未来年份大于4位数字则在前面加上'+'号。 ^ 允许的情况下使用大写。 # 允许的情况下将默认的大写转换为小写,默认的小写转换为大写。 在任何标志之后都有一个可选的字段宽度,如小数;然后是一个可选的修饰符,在可用的情况下,使用E来使用当地语言环境的替代表示, 使用O来使用当地语言环境的替代数字符号。 ``` ## 选项 ```shell 长选项与短选项等价 -d, --date=STRING 解析字符串并按照指定格式输出,字符串不能是'now'。 --debug 注释已解析的日期,并将有疑问的用法发送到标准错误。 -f, --file=DATEFILE 类似于--date; 一次从DATEFILE处理一行。 -I[FMT], --iso-8601[=FMT] 按照ISO 8601格式输出,FMT可以为'date'(默认),'hours','minutes','seconds','ns'。 例如:2006-08-14T02:34:56-06:00 -R, --rfc-email 按照RFC 5322格式输出,例如: Mon, 14 Aug 2006 02:34:56 -0600 --rfc-3339=FMT 按照RFC 3339格式输出,FMT可以为'date', 'seconds','ns'中的一个, 例如:2006-08-14 02:34:56-06:00 -r, --reference=FILE 显示文件的上次修改时间。 -s, --set=STRING 根据字符串设置系统时间。 -u, --utc, --universal 显示或设置世界协调时(UTC)。 --help 显示帮助信息并退出。 --version 显示版本信息并退出。 ``` ## 返回值 返回状态为成功除非给出了非法选项或非法参数。 ## 例子 ```shell # 格式化输出: date +"%Y-%m-%d" 2009-12-07 # 输出昨天日期: date -d "1 day ago" +"%Y-%m-%d" 2012-11-19 # 2秒后输出: date -d "2 second" +"%Y-%m-%d %H:%M.%S" 2012-11-20 14:21.31 # 传说中的 1234567890 秒: date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%M:%S" # 或者 date -d@1234567890 +"%F %T" # 输出结果 2009-02-13 23:02:30 # 时间格式转换: date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S" # 输出结果 2009/12/12 00:00.00 # apache格式转换: date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S" # 输出结果 2009-12-05 00:00.37 # 格式转换后时间游走: date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S" # 输出结果 2007-12-05 00:00.37 # 时间加减操作: date +%Y%m%d # 显示年月日 date -d "+1 day" +%Y%m%d # 显示前一天的日期 date -d "-1 day" +%Y%m%d # 显示后一天的日期 date -d "-1 month" +%Y%m%d # 显示上一月的日期 date -d "+1 month" +%Y%m%d # 显示下一月的日期 date -d "-1 year" +%Y%m%d # 显示前一年的日期 date -d "+1 year" +%Y%m%d # 显示下一年的日期 # 设定时间: date -s # 设置当前时间,只有root权限才能设置,其他只能查看 date -s 20120523 # 设置成20120523,这样会把具体时间设置成00:00:00 date -s 01:01:01 # 设置具体时间,不会对日期做更改 date -s "01:01:01 2012-05-23" # 这样可以设置全部时间 date -s "01:01:01 20120523" # 这样可以设置全部时间 date -s "2012-05-23 01:01:01" # 这样可以设置全部时间 date -s "20120523 01:01:01" # 这样可以设置全部时间 # 有时需要检查一组命令花费的时间: start=$(date +%s) nmap wangchujiang.com &> /dev/null end=$(date +%s) difference=$(( end - start )) # 显示执行时间 echo $difference seconds. # 当你考虑输出带有时间的字符串时,例如(Current time: 2019/05/19): # 通常使用的方法: echo "Current time: $(date +"%Y/%m/%d")" # 另一种方法: suffix='Current time:' # 注意如果换成单引号就不能替换变量了。 date +"${suffix} %Y/%m/%d" ``` ### 注意 1. 该命令是`GNU coreutils`包中的命令,相关的帮助信息请查看`man -s 1 date`或`info coreutils 'date invocation'`。
admin
2022年9月16日 01:11
61
0 条评论
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码