
正文
linux取时间命令行 linux 取当前日期
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux怎么样显示命令历史后又显示命令的输入时间
linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history
命令后,通常只会显示已执行命令的序号和命令本身。
如果想要查看命令历史的时间戳,那么可以执行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service work restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
这样显示的格式就变成,序号 - 时间 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450
条:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改历史文件名称
默认情况下,命令历史存储在 ~/.bash_history 文件中。
添加下列内容到 .bash_profile 文件并重新登录
bash shell,将使用 mandline_warrior 来存储命令历史:
# vi ~/.bash_profile
HISTFILE=/root/mandline_warrior
3、使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中,pwd 命令被连续执行了三次。
执行 history 后会看到三条重复的条目。
要剔除这些重复的条目,可以将
HISTCONTROL 设置为 ignoredups:
# export HISTCONTROL=ignoredups
4、使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups 只能剔除连续的重复条目。
要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成
erasedups:
# export HISTCONTROL=erasedups
5、使用 -c 选项清除所有的命令历史
如果你想清除所有的命令历史,可以执行:
# history -c
6、使用 HISTIGNORE 忽略历史中的特定命令
下面的例子,将忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
相关问答
Q1: Linux系统里的expect里面怎么打印当前时间?
在 expect 中可以通过调用 Tcl 内置的 clock 模块来获取当前时间。具体可以使用以下命令来获取当前时间并输出到终端:
set now [clock format [clock seconds] -format "%Y-%m-%d %H:%M:%S"]
puts "当前时间为: $now"
上述代码中,首先使用 clock seconds 命令获取当前时间戳,然后通过 clock format 命令将时间戳格式化为指定的日期时间字符串。其中,-format 参数用于指定日期时间字符串的格式,例如 %Y-%m-%d %H:%M:%S 表示年月日时分秒。最后使用 puts 命令将当前时间字符串输出到终端。
Q2: 在LINUX的命令提示符及CMD命令提示符中显示时间
在linux的命令提示符及CMD命令提示符中显示时间用途之一是可以查看某个命令或程序的执行时间。一、CMD中显示时间设置参数说明:$P:当前路径$G:(大于号)$T:当前时间,精确到0.01s实验如下:C:/Users/g4-1016txprompt
$P$S$T$GC:/Users/g4-1016tx
13:19:53.92arp
-a接口:
192.168.0.189
---
0xb
Internet
地址
物理地址
类型
192.168.0.1
c8-3a-35-5a-f1-10
动态C:/Users/g4-1016tx
13:19:56.46二、修改linux中shell命令提示符显示1.修改单个用户的提示在用户环境变量中增加这一项即可,这种只修改当前用户的提示符。注意修改后需要重新加载用户环境
变量source
.bash_profile
或者退出重新登陆。[oracle@dg2:~Sat
Aug
03-13:09:57$]
tail
-n
1
.bash_profileexport
PS1='
[/u@/h:/w/d-/t/$]
'2.修改全局用户提示符如果需要修改整个系统所以用户的提示,需要修改/etc/bashrc
在里面增加的同样是下面这一句。[root@dg2
~]#
tail
-n
1
/etc/profileexport
PS1='
[/u@/h:/w/d-/t/$]
'[root@dg2
~]#
su
-
oracle[oracle@dg2:~Sat
Aug
03-13:16:59$]命令提示符中各个显示参数的详细解释:即可,其中/u显示当前用户账号,/h显示当前主机名,/W显示当前路径,/$显示'$'符号/W
代替
/w
就可以实现绝对路径到相对路径的转换/d
:代表日期,格式为weekday
month
date,例如:Mon
Aug
1/H
:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux/h
:仅取主机的第一个名字,如上例,则为fc4,.linux则被省略/t
:显示时间为24小时格式,如:HH:MM:SS/T
:显示时间为12小时格式/A
:显示时间为24小时格式:HH:MM/u
:当前用户的账号名称/v
:BASH的版本信息/w
:完整的工作目录名称。家目录会以
~代替/W
:利用basename取得工作目录名称,所以只会列出最后一个目录/#
:下达的第几个命令/$
:提示字符,如果是root时,提示符为:#
,普通用户则为:$三、直接在类UNIX中使用TIME命令统计命令运行时间使用方法是在需要执行的命令前加上time比如:[oracle@bys001
~]$
time
dateMon
Sep
16
17:00:31
CST
2013real
0m0.015suser
0m0.001ssys
0m0.013s[oracle@bys001
~]$
time
echo
hellohelloreal
0m0.000suser
0m0.000ssys
0m0.001s
Q3: 如何使用命令行更改Linux系统的日期和时间
方法一: Date 命令
在 Linux 中, 你可以通过 date 命令来更改系统的日期和时间:
# date --set=‘NEW_DATE’
其中 NEW_DATE 是诸如 “Sun, 28 Sep 2014 16:21:42” 或者 “2014-09-29 16:21:42” 的可读格式的日期字符串。
日期格式也可以手动指定以获得更精确的结果:
# date +FORMAT --set=‘NEW_DATE’
例如:
# date +’%Y%m%d %H%m’ --set=‘ 1518’
你也可以用相对的方式地增加或减少一定的天数,周数,月数和秒数,分钟数,小时数。 你也可以把日期和时间的参数放到一个命令中。
# date --set=‘+5 minutes’# date --set=‘-2 weeks’# date --set=‘+3 months’# date --set=‘-3 months +2 weeks -5 minutes’
最后, 把硬件时钟设置为当前系统时钟:
# hwclock --systohc
运行 hwclock --systohc 的目的是将硬件时钟同时钟同步, 这可以更正硬件时钟的系统漂移(即时钟按照一定的速度走快或走慢)。
另一方面, 如果硬件时钟是正确的, 但系统时钟有误, 可以用下面的命令更正:
# hwclock --hctosys
在两种情况下, hwclock 命令都是将两个时钟同步。 否则, 重启后时间会是错误的, 因为当电源关闭时硬件时钟会记忆时间。 然而, 这对于虚拟机器并不适用, 因为虚拟机器并不能访问硬件时钟。
方法二: NTP
另一种使系统日期和时间保持精确的方法是使用 NTP (网络时间协议)。 在 Linux 上, ntpdate 命令通过 NTP 将系统时钟和公共 NTP 服务器同步。
你可以使用如下命令来安装 ntpdate:
在 Debian 及基于 Debian 的发行版上:
# aptitude install ntpdate
在基于 Ret Hat 的发行版上:
# yum install ntpdate
使用 NTP 同步系统时钟:
# ntpdate -u 《NTP 服务器名或IP》# hwclock --systohc
除了一次性使用 ntpdate 来同步时钟, 你也可以使用 NTP 守护进程(ntpd), 它会始终在后台运行, 不断地通过 NTP 来调整系统时钟。
关于linux取时间命令行和linux 取当前日期的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






