Tag: Linux101Hacks


[翻译]Linux命令行技巧5

January 9th, 2010 — 11:12am

7.使用指定格式显示当前时间和日期

$ date
2010年 01月 09日 星期六 10:27:32 CST

$ date –date=”now”
2010年 01月 09日 星期六 10:27:54 CST

$ date –date=”today”
2010年 01月 09日 星期六 10:28:14 CST

$ date –date=’1970-01-01 00:00:01 UTC +5 hours’ +%s
18001

$ date ‘+Current Date: %m/%d/%y%nCurrent Time:%H:%M:%S’
Current Date: 01/09/10
Current Time:10:29:28

$ date +”%d-%m-%Y”
09-01-2010

$ date +”%d/%m/%Y”
09/01/2010

$ date +”%A,%B %d %Y”
星期六,一月 09 2010

日期格式化选项的注释

  %D date (mm/dd/yy)

  %d 日 (01..31)

  %m 月 (01..12)

  %y 年份的最后两位 (00..99)

  %a 星期的缩写 (Sun..Sat)

  %A 星期的完整名称(Sunday..Saturday)

  %b 月份缩写 (Jan..Dec)

  %B 月份的完整名称(January..December)

  %H 24小时制 (00..23)

  %I 12小时制 (01..12)

  %Y 年份 (1970…)

8.显示过去的时间和日期

$ date –date=’3 seconds ago’
2010年 01月 09日 星期六 10:38:42 CST

$ date –date=”1 day ago”
2010年 01月 08日 星期五 10:39:09 CST

$ date –date=”1 days ago”
2010年 01月 08日 星期五 10:39:24 CST

$ date –date=”1 month ago”
2009年 12月 09日 星期三 10:39:45 CST

$ date –date=”1 year ago”
2009年 01月 09日 星期五 10:40:04 CST

$ date –date=”yesterday”
2010年 01月 08日 星期五 10:40:21 CST

$ date –date=”10 months 2 day ago”
2010年 11月 07日 星期日 10:40:36 CST

9.显示未来的时间和日起

$ date
2010年 01月 09日 星期六 10:41:14 CST

$ date –date=’3 seconds’
2010年 01月 09日 星期六 10:41:31 CST

$ date –date=’4 hours’
2010年 01月 09日 星期六 14:41:38 CST

$ date –date=’tomorrow’
2010年 01月 10日 星期日 10:41:51 CST

$ date –date=”1 day”
2010年 01月 10日 星期日 10:42:03 CST

$ date –date=”1 days”
2010年 01月 10日 星期日 10:42:14 CST

$ date –date=”2 days”
2010年 01月 11日 星期一 10:42:34 CST

$ date –date=”2 days”
2010年 01月 11日 星期一 10:42:47 CST

$ date –date=’1 month’
2010年 02月 09日 星期二 10:43:01 CST

$ date –date=’1 week’
2010年 01月 16日 星期六 10:43:13 CST

$ date –date=”2 months”
2010年 03月 09日 星期二 11:06:52 CST

$ date –date=”2 years”
2012年 01月 09日 星期一 11:09:14 CST

$ date –date=”next day”
2010年 01月 10日 星期日 11:09:25 CST

$ date –date=”-1 days ago”
2010年 01月 10日 星期日 11:09:38 CST

$ date –date=”this Wednesday”
2010年 01月 13日 星期三 00:00:00 CST

原书下载 Free eBook: Linux 101 Hacks

Comment » | Linux101Hacks, 技术, 翻译

[翻译]Linux命令行技巧4

December 16th, 2009 — 1:48pm

4.使用“shopt -s cdspell”自动修正cd里的错误文件目录名

使用shopt -s cdspell可以自动修正cd命令里的错误文件目录名,
如下所示:

# cd /etc/mall
-bash: cd: /etc/mall: No such file or directory
# shopt -s cdspell
# cd /etc/mall
# pwd
/etc/mail
[注意: 错误的mall自动被修正为mail]

5.设置系统时间和日期

改变系统时间可以使用如下命令:

# date {mmddhhmiyyyy.ss}
    o mm – 月
    o dd – 日 
    o hh – 时
    o mi – 分
    o yyyy – 年
    o ss – 秒

设置系统时间为一月31日 2008年 下午10点19分53秒

# date 013122192009.53

你也可以使用以下参数来修改系统日起和时间

# date 013122192009.53
# date +%Y%m%d -s “20090131″
# date -s “01/31/2009 22:19:53″
# date -s “31 JAN 2009 22:19:53″
# date set=”31 JAN 2009 22:19:53″

只设置时间

# date +%T -s “22:19:53″

6.设置硬件的时间和日期
将硬件日期和时间修改为基于系统的日期和时间

# hwclock –systohc
# hwclock –systohc –utc

hwclock命令不加任何参数则显示当前硬件设置的日起和时间

原书下载 Free eBook: Linux 101 Hacks

Comment » | Linux101Hacks, 技术, 翻译

[翻译]Linux命令行技巧3

November 16th, 2009 — 11:01am

3.将mkdir和cd合并为一条命令

一般你创建一个新的目录后,你想进入这个目录需要在执行cd
如下所示:

# mkdir -p /tmp/subdir1/subdir2/subdir3
# cd /tmp/subdir1/subdir2/subdir3
# pwd
/tmp/subdir1/subdir2/subdir3

通过下列配置将cd和mkdir合并为一条命令

$ vi .bash_profile
function mkdircd () { mkdir -p “$@” && eval cd
“\”\$$#\”"; }

测试一下合并后的命令

# mkdircd /tmp/subdir1/subdir2/subdir3
[注意: 此时创建目录并自动进入创建的目录]
# pwd

/tmp/subdir1/subdir2/subdir3

4.使用“cd-”在最后进入的两个目录中切换
如下所示

# cd /tmp/very/long/directory/structure/that/is/too/deep
# cd /tmp/subdir1/subdir2/subdir3
# cd -
# pwd
/tmp/very/long/directory/structure/that/is/too/deep
# cd -
# pwd
/tmp/subdir1/subdir2/subdir3
# cd -
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

使用dirs,pushd和popd对目录进行栈操作
压入弹出目录栈主要是通过下列三个命令完成的
o dirs: 显示目录栈
o pushd: 压入目录栈
o popd: 弹出目录栈

dir输入当前目录栈中的内容,如果目录栈为空,则输入
当前目录的内容,如下所示:

# popd
-bash: popd: directory stack empty
# dirs
~
# pwd
/home/ramesh

如何运用pushd和popd呢?首先创建些零时目录,然后
将他们压入栈中,如下所示:

# mkdir /tmp/dir1
# mkdir /tmp/dir2
# mkdir /tmp/dir3
# mkdir /tmp/dir4
# cd /tmp/dir1
# pushd .
# cd /tmp/dir2
# pushd .
# cd /tmp/dir3
# pushd .
# cd /tmp/dir4
# pushd .
# dirs
/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
[注意: 命令行中第一个输出的目录(/tmp/dir4)是当前文件夹
下的目录名,不是目录栈中的]

当前目录栈中的内容

/tmp/dir4
/tmp/dir3
/tmp/dir2
/tmp/dir1

最后压入栈中的总是显示在最上方,当你执行popd,将
首先弹出他,如下所示,最后压入的是/tmp/dir4,所以
当执行popd,将弹出/tmp/dir4

# popd
# pwd
/tmp/dir4
[注意: 若执行popd之后,栈中内容为:
/tmp/dir3
/tmp/dir2
/tmp/dir1]

# popd
# pwd
/tmp/dir3
[注意: 若执行popd之后,栈中内容为:
/tmp/dir2
/tmp/dir1]

# popd
# pwd
/tmp/dir2
[注意: 若执行popd之后,栈中内容为:
/tmp/dir1]

# popd
# pwd
/tmp/dir1
[注意: 若执行popd之后,栈中内容为空!]
# popd
-bash: popd: directory stack empty

原书下载 Free eBook: Linux 101 Hacks

Comment » | Linux101Hacks, 技术, 翻译

Back to top