Linux系统命令使用详解

字数 13413阅读 805

1.命令格式:ifconfig [网络设备] [参数]

2.命令功能: ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

3.命令参数: up 启动指定网络设备/网卡。 down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。 arp 设置指定网卡是否支持ARP协议。 -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包 -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包 -a 显示全部接口信息 -s 显示摘要信息(类似于 netstat -i) add 给指定网卡配置IPv6地址 del 删除指定网卡的IPv6地址 <硬件地址> 配置网卡最大的传输单元 mtu<字节数> 设置网卡的最大传输单元 (bytes) netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。 tunel 建立隧道 dstaddr 设定一个远端地址,建立点对点通信 -broadcast<地址> 为指定网卡设置广播协议 -pointtopoint<地址> 为网卡设置点对点通讯协议 multicast 为网卡设置组播标志 address 为网卡设置IPv4地址 txqueuelen<长度> 为网卡设置传输列队的长度

4.使用实例:

实例1:显示网络设备信息(激活状态的) 命令:ifconfig 输出:  代码如下: [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20 inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0 TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:68 errors:0 dropped:0 overruns:0 frame:0

TX packets:68 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)

说明:

eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:50:56:BF:26:20

inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.120.204,广播地址, Bcast:192.168.120.255,掩码地址Mask:255.255.255.0

lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息。

实例2:启动关闭指定网卡

命令:

代码如下:

ifconfig eth0 up

ifconfig eth0 down

说明:

ifconfig eth0 up 为启动网卡eth0 ;ifconfig eth0 down 为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

实例3:为网卡配置和删除IPv6地址

命令:

代码如下:

ifconfig eth0 add 33ffe:3240:800:1005::2/64

ifconfig eth0 del 33ffe:3240:800:1005::2/64

说明:

ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0配置IPv6地址;

ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0删除IPv6地址;

练习的时候,ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。

实例4:用ifconfig修改MAC地址

命令:ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

输出:

代码如下:

[root@localhost ~]# ifconfig eth0 down //关闭网卡

[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址

[root@localhost ~]# ifconfig eth0 up //启动网卡

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE

inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0

TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:68 errors:0 dropped:0 overruns:0 frame:0

TX packets:68 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)

[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //关闭网卡并修改MAC地址

[root@localhost ~]# ifconfig eth0 up //启动网卡

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20

inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0

TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:68 errors:0 dropped:0 overruns:0 frame:0

TX packets:68 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)

实例5:配置IP地址

命令:

代码如下:

[root@localhost ~]# ifconfig eth0 192.168.120.56

[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0

[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255

说明:

ifconfig eth0 192.168.120.56

给eth0网卡配置IP地:192.168.120.56

ifconfig eth0 192.168.120.56 netmask 255.255.255.0

给eth0网卡配置IP地址:192.168.120.56 ,并加上子掩码:255.255.255.0

ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255

给eth0网卡配置IP地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255

实例6:启用和关闭ARP协议

命令:

代码如下:

ifconfig eth0 arp

ifconfig eth0 -arp

输出:

代码如下:

[root@localhost ~]# ifconfig eth0 arp

[root@localhost ~]# ifconfig eth0 -arp

说明:

ifconfig eth0 arp 开启网卡eth0 的arp协议;

ifconfig eth0 -arp 关闭网卡eth0 的arp协议;

实例7:设置最大传输单元

命令:ifconfig eth0 mtu 1500

输出:

代码如下:

[root@localhost ~]# ifconfig eth0 mtu 1480

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F

inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1480 Metric:1

RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0

TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:597062089 (569.4 MiB) TX bytes:2643973 (2.5 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:9973 errors:0 dropped:0 overruns:0 frame:0

TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)

[root@localhost ~]# ifconfig eth0 mtu 1500

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F

inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0

TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:597072333 (569.4 MiB) TX bytes:2650581 (2.5 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:9973 errors:0 dropped:0 overruns:0 frame:0

TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)

[root@localhost ~]#

说明:

设置能通过的最大数据包大小为 1500 bytes

echo

该命令的一般格式为: echo [ -n ] 字符串

其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。

语   法:echo [-ne][字符串]或 echo [--help][--version]

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

参   数:-n 不要在最后自动换行

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般

文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

–help 显示帮助

–version 显示版本信息

ECHO命令是大家都熟悉的DOS批处理命令的一条子命令,但它的一些功能和用法也许你并不是全都知道,不信你瞧:

1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。

2. 显示当前ECHO设置状态 格式:ECHO

3. 输出提示信息 格式:ECHO信息内容 上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:

4. 关闭DOS命令提示符 在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。

5. 输出空行,即相当于输入一个回车 格式:ECHO. 值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[/]+等任一符号替代。 在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态: C:〉ECHO.|TIME ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。

6. 答复命令中的提问 格式:ECHO答复语|命令文件名 上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del *.*)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入“Y”回车: C:〉ECHO Y|CHKDSK/F C:〉ECHO Y|DEL A :*.*

7. 建立新文件或增加文件内容 格式:ECHO 文件内容>文件名 ECHO 文件内容>>文件名 例如:C:〉ECHO @ECHO OFF〉AUTOEXEC.BAT建立自动批处理文件 C:〉ECHO C:/CPAV/BOOTSAFE〉〉AUTOEXEC.BAT向自动批处理文件中追加内容 C:TYPE AUTOEXEC.BAT显示该自动批处理文件 @ECHO OFF C:/CPAV/BOOTSAFE

8. 向打印机输出打印内容或打印控制码 格式:ECHO 打印机控制码>PRN ECHO 打印内容>PRN 下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入156,类似情况依此类推: C:〉ECHO 〈Alt〉+156〈Alt〉+42〈Alt〉+116〉PRN(输入下划线命令FS*t) C:〉ECHO 〈Alt〉+155@〉PRN(输入初始化命令ESC@) C:〉ECHO.〉PRN(换行)

9. 使喇叭鸣响 C:〉ECHO ^G “^G”是用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。

10.执行ESC控制序列修改屏幕和键盘设置 我们知道DOS的设备驱动程序ANSI.SYS提供了一套用来修改屏幕和键盘设置的ESC控制序列。如执行下述内容的批处理程序可以把功能键F12定义为DOS命令“DIR/W”,并把屏幕颜色修改为白色字符蓝色背景。 @ECHO”←[0;134;”DIR/W”;13p @ECHO”←[1;37;44m (注:批处理文件中“←”字符的输入方法是在编辑状态下按Alt中小键盘上的27)

tty

tty [选项]...

[功能]

打印连接到标准输入的终端的文件名。

[描述]

命令项:

-s, --silent, --quiet: 什么也不打印,只是返回退出状态码。

--help: 打印帮助信息。

--version: 打印版本信息并退出。

返回的状态码:

0 表示标准输入是一个终端。

1 表示标准输入不是一个终端。

2 表示给定的参数是不正确的参数。

3 表示发生了写错误。

[举例]

*查看当前的标准终端文件描述符号:

[quietheart@lv-k etc]$ tty

/dev/pts/6

这里,输入tty之后,输出"/dev/pts/6"就是当前连接的终端对应的文件描述符号,我们可以通过向这个文件,这样会看到当前终端会输出我们写入的数据,例如:

[quietheart@lv-k etc]$ echo "mytest" >/dev/pts/6

mytest

可见,向/dev/pts/6文件写入的内容,直接显示到我们的终端上面了。如果我在机器上面开了多个终端,然后我在别的终端中输入上面的echo命令,那么将会看到对应"/dev/pts/6"的终端上面会显示相应的字符了。

*运行tty什么也不输出,然后查看其退出码:

[quietheart@lv-k etc]$ tty -s

[quietheart@lv-k etc]$ echo $?

0

这里,使用shell的命令"echo $?"来显示上一条命令的退出状态码。状态码的含义如下:

0 表示标准输入是一个终端。

1 表示标准输入不是一个终端。

2 表示给定的参数是不正确的参数。

3 表示发生了写错误。

[其它]

*基本概念:

1,tty(终端设备的统称):

tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。

2,pty(虚拟终端):

如果我们远程telnet到主机或使用xterm时,也需要一个终端交互,这就是虚拟终端pty(pseudo-tty)

3,pts/ptmx(pts/ptmx结合使用,进而实现pty):

pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。

*Linux终端:

在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:

1,串行端口终端(/dev/ttySn)

串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。可接串口来实验。

2,伪终端(/dev/pty/)

伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。

例如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty/m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。

这样,两个程序就可以通过这种逻辑设备进行互相交流,而其中一个使用ttyp3的程序则认为自己正在与一个串行端口进行通信。这很象是逻辑设备对之间的管道操作。对于ttyp3(s3),任何设计成使用一个串行端口设备的程序都可以使用该逻辑设备。但对于使用ptyp3的程序,则需要专门设计来使用 ptyp3(m3)逻辑设备。

例如,如果某人在网上使用telnet程序连接到你的计算机上,则telnet程序就可能会开始连接到设备 ptyp2(m2)上(一个伪终端端口上)。此时一个getty程序就应该运行在对应的ttyp2(s2)端口上。当telnet从远端获取了一个字符时,该字符就会通过m2、s2传递给 getty程序,而getty程序就会通过s2、m2和telnet程序往网络上返回”login:”字符串信息。这样,登录程序与telnet程序就通过“伪终端”进行通信。通过使用适当的软件,就可以把两个甚至多个伪终端设备连接到同一个物理串行端口上。

在使用设备文件系统 (device filesystem)之前,为了得到大量的伪终端设备特殊文件,使用了比较复杂的文件名命名方式。因为只存在16个ttyp(ttyp0—ttypf) 的设备文件,为了得到更多的逻辑设备对,就使用了象q、r、s等字符来代替p。例如,ttys8和ptys8就是一个伪终端设备对。不过这种命名方式目前仍然在RedHat等Linux系统中使用着。

但Linux系统上的Unix98并不使用上述方法,而使用了”pty master”方式,例如/dev/ptm3。它的对应端则会被自动地创建成/dev/pts/3。这样就可以在需要时提供一个pty伪终端。目录 /dev/pts是一个类型为devpts的文件系统,并且可以在被加载文件系统列表中看到。虽然“文件”/dev/pts/3看上去是设备文件系统中的一项,但其实它完全是一种不同的文件系统。

即: TELNET ---> TTYP3(S3: slave) ---> PTYP3(M3: master) ---> GETTY

*实践:

以下过程是在ubuntu上面的实践结果。

1,虚拟终端/dev/tty*和伪终端/dev/pts/*:

假设5个xterm终端的话,会发现/dev下面有一个/dev/ptmx /和5个/dev/pts/*

而如果用"[Ctrl][Alt]F1"进入一个终端的话,就会发现/dev下面多出一个/dev/tty1

2,查看终端的方法:

使用命令"tty"可以查看当前对应的终端,命令"ps -ax"可以查看所有程序以及对应的终端。通过这个命令,发现如果多开一个screen程序,或者用telnet登陆之后,那么机器上面就会多一个/dev/pts/*。可知,一般伪终端用户模拟终端程序。

3,向指定终端发送信息:

如果运行"echo hello >/dev/tty2",

那么"[Ctrl][Alt]F2"打开"/dev/tty2"对应的终端,就会发现刚才发送的hello了。

注意,如果发送"echo -n ls >/dev/tty2"那么会显示ls,但是回车之后,并没有执行ls。可见:ttyN是代表linux的纯命令行终端,而写到这个终端的字符串只是做为这个终端的输出,并没有当做终端的输入处理。

如果运行"echo hello >/dev/pts/2",

那么,就可以在xterm的第二个窗口看到hello了。可知,/dev/pts/n是Xwindows模式下的伪终端.

startx

startx命令

X-Windows

startx命令用来启动X Window,实际上启动X Window的程序为xinit。

语法

startx(参数)

参数

• 客户端及选项:X客户端及选项;

• 服务器及选项:X服务器及选项。

实例

要在工作站上或 X 终端上启动 X 会话,请输入:

startx

要在工作站上强制启动 X 会话,请输入:

startx -w

要为 X 终端启动 X 会话,并注销用户的 telnet 会话,请输入:

startx; kill -9 $$

要使用 .xinitrc 脚本启动 X 会话,请输入:

startx -x .xinitrc

要使用 mwm 窗口管理器启动 X 会话,请输入:

startx -m mwm

但是,如果找到启动脚本文件,则忽略-w选项。在启动脚本中,启动窗口管理器、装入X资源以及产生X客户机是用户的责任。以下是.xsession脚本的一个示例。

#!/bin/csh

(mwm &)

xrdb -load .Xdefaults

(xclock -g 75x75+0+0 &)

(xbiff -g 75x75+101-0 &)

if ("/dev/lft*" == "`tty`") then

aixterm -g 80x24+0+0 +ut -C -T `hostname`

else

aixterm -g 80x24+0+0 +ut -T `hostname`

endif

对于工作站,startup脚本中的最后一行应该是前台aixterm命令,该命令带有-C选项表示控制台信息。对于X终端,startup脚本中的最后一行应该是不带有-C选项的前台aixterm命令。另外,由于某些X终端在关闭时不终止telnet会话,所以用户必须在使用热键切换至X会话前退出当前的telnet会话。

/usr/lib/X11/xdm/Xsession文件中的xdm命令也可以使用startx命令。这为xdm命令提供了startx命令的功能。

以下是启动X会话一贯使用的文件名。

$HOME/.xerrors 其中,startx 用来重定向错误消息。在缺省情况下,startx 将错误重定向至用户主目录中的 .xerrors 文件中。

$HOME/.Xinit,

$HOME/.xinit,

$HOME/.Xinitrc,

$HOME/.xinitrc,

$HOME/.xsession 作为包含 shell 命令的“启动文件”来启动窗口管理器、装入 X 资源并产生 X 客户机。

$HOME/.Xdefaults,

$HOME/.xresources 作为装入的 X 资源文件来设置 X 客户机的用户首选项。

$HOME/.mwmrc mwm 配置文件。

$HOME/.twmrc twm 配置文件。

$HOME/.awmrc awm 配置文件。

$HOME/.uwmrc uwm 配置文件。

/dev/lft* 终端或 tty、工作站初始 login shell 的界面。

export

export 命令

功能说明:

设置或显示环境变量。

语  法:

export [-fnp][变量名称]=[变量设置值]

补充说明:

在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。

参  数:

-f  代表[变量名称]中为函数名称。

-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p  列出所有的shell赋予程序的环境变量。

export PATH

配置交叉编译工具链的时候需要指定编译工具的路径,需要设置环境变量。

例如:

我的mips-linux-gcc编译器在“ /opt/au1200_rm /build_tools/bin”目录下

1、直接用export命令:

#export PATH=$PATH:/opt/au1200_rm/build_tools/bin

查看配置的环境变量:

# export

declare -x BASH_ENV="/root/.bashrc"

declare -x G_BROKEN_FILENAMES="1"

declare -x HISTSIZE="1000"

declare -x HOME="/root"

declare -x HOSTNAME="localhost.localdomain"

declare -x PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/ccy/buildroot-gcc342/bin/"

declare -x INPUTRC="/etc/inputrc"

declare -x PWD="/opt/au1200_rm/build_tools/bin"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

# echo $PATH

/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/ccy/buildroot-gcc342/bin/

2、修改profile文件:下面

#vi /etc/profile

在里面加入:

export PATH="$PATH:/ opt/au1200_rm/build_tools/bin "

3. 修改.bashrc文件:

# vi /root/.bashrc

在里面加入:

export PATH="$PATH: /opt/au1200_rm/build_tools/bin "

# echo $PATH

看看输出里面是不是已经有了 /my_new_path这个路径了。

另有:

4 . 修改/etc/re.local 文件:

# vi /etc/re.local

在里面加入:

export PATH="$PATH: /opt/au1200_rm/build_tools/bin "

pwd

1.命令格式:

pwd [选项]

2.命令功能:

查看”当前工作目录“的完整路径

3.常用参数:

一般情况下不带任何参数

如果目录是链接时:

格式:pwd -P  显示出实际路径,而非使用连接(link)路径。

4.常用实例:

实例1:用 pwd 命令查看默认工作目录的完整路径

命令:

pwd

输出:

复制代码

代码如下:

[root@localhost ~]# pwd

/root

[root@localhost ~]#

实例2:使用 pwd 命令查看指定文件夹

命令:

pwd

输出:

复制代码

代码如下:

[root@localhost ~]# cd /opt/soft/

[root@localhost soft]# pwd

/opt/soft

[root@localhost soft]#

实例三:目录连接链接时,pwd -P  显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径

命令:

pwd -P

输出:

复制代码

代码如下:

[root@localhost soft]# cd /etc/init.d

[root@localhost init.d]# pwd

/etc/init.d

[root@localhost init.d]# pwd -P

/etc/rc.d/init.d

[root@localhost init.d]#

实例4:/bin/pwd

命令:

/bin/pwd [选项]

选项:

-L 目录连接链接时,输出连接路径

-P 输出物理路径

输出:

复制代码

代码如下:

[root@localhost init.d]# /bin/pwd

/etc/rc.d/init.d

[root@localhost init.d]# /bin/pwd --help

[root@localhost init.d]# /bin/pwd -P

/etc/rc.d/init.d

[root@localhost init.d]# /bin/pwd -L

/etc/init.d

[root@localhost init.d]#

实例五:当前目录被删除了,而pwd命令仍然显示那个目录

输出:

复制代码

代码如下:

[root@localhost init.d]# cd /opt/soft

[root@localhost soft]# mkdir removed

[root@localhost soft]# cd removed/

[root@localhost removed]# pwd

/opt/soft/removed

[root@localhost removed]# rm ../removed -rf

[root@localhost removed]# pwd

/opt/soft/removed

[root@localhost removed]# /bin/pwd

/bin/pwd: couldn't find directory entry in “..” with matching i-node

[root@localhost removed]# cd

[root@localhost ~]# pwd

/root

[root@localhost ~]#

以下是补充:

本文介绍下,linux中pwd命令的详细用法,除了打印当前的工作目录,还有些特殊的用法,希望对大家有所帮助。

linux上pwd命令是Print Working Directory的缩写,基本功能是打印当前的工作目录,但是也有一些特殊的用法,本文总结关于pwd的使用方法。

先来看下没有参数的pwd,然后介绍-P的作用,例如:

复制代码

代码如下:

www.jb51.net:~# cd /proc/self

www.jb51.net:/proc/self# pwd

/proc/self

www.jb51.net:/proc/self# pwd -P

/proc/5401

www.jb51.net:/proc/self# ls -l /proc/self

lrwxrwxrwx 1 root root 64 Jun 23 18:25 /proc/self -> 5410

www.jb51.net:/proc/self#

pwd:显示当前的工作路径。

pwd  -P:如果当前的工作路径是链接的话,显示链接的原始路径,也就是实际路径,如ls -l /proc/self 显示的一样。

pwd -L:与pwd  -P完全相反,显示链接路径

这里再谈下linux系统中的环境变量PWD和OLDPWD。

环境变量PWD:显示当前工作路径的环境变量

环境变量OLDPWD:显示上一次的工作路径。

注意:由于是环境变量,使用的时候需要加上$变量标志,下面的命令详细演示了该环境变量的用法。

复制代码

代码如下:

www.jb51.net:~# cd /var/www

www.jb51.net:/var/www# echo $PWD

/var/www

www.jb51.net:/var/www# echo $OLDPWD

/root

www.jb51.net:/var/www#

看看还是比较容易理解的。

附,获取当前目录的父目录的代码:

复制代码

代码如下:

www.jb51.net:/var/www# echo $(dirname $(pwd))

/var

www.jb51.net:/var/www#

内建命令pwd和外部命令/bin/pwd。

内建命令pwd和外部命令/bin/pwd是两个不同的命令,通过以下的示例,看下其中的区别:

复制代码

代码如下:

www.jb51.net:/var/www# pwd -P

/var/www

www.jb51.net:/var/www# /bin/pwd -P

/bin/pwd: invalid option -- P

Try `/bin/pwd --help' for more information.

可见内建命令pwd和外部命令/bin/pwd压根不是同一个命令,那问题就来了,这两个命令的联系跟区别是什么呢?

来看这些例子:

复制代码

代码如下:

www.jb51.net:/var/www# cd //

www.jb51.net://# pwd

//

www.jb51.net://# /bin/pwd

/

www.jb51.net://#

history

History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 。

1>History命令语法:

[test@linux]# history [n]

[test@linux]# history [-c]

[test@linux]# history [-raw] histfiles

参数:

n  :数字,要列出最近的 n 笔命令列表

-c  :将目前的shell中的所有 history 内容全部消除

-a  :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,

则预设写入 ~/.bash_history

-r  :将 histfiles 的内容读到目前这个 shell 的 history 记忆中

-w  :将目前的 history 记忆内容写入 histfiles

Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。

如果你键入 history, history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目, 当然你也可以加入数字来列出最近的 n 笔命令列表。

linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。

2>运行特定的历史命令

history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.

语法说明:

[test@linux]# [!number]  [!command] [!!]

参数说明:

number  :第几个指令的意思;

command  :指令的开头几个字母

!        :上一个指令的意思!

3>History命令实战

列出所有的历史记录:

[test@linux] # history

只列出最近10条记录:

[test@linux] # history 10 (注,history和10中间有空格)

使用命令记录号码执行命令,执行历史清单中的第99条命令

[test@linux] #!99 (!和99中间没有空格)

重复执行上一个命令

[test@linux] #!!

执行最后一次以rpm开头的命令(!?  ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)

[test@linux] #!rpm

逐屏列出所有的历史记录:

[test@linux]# history | more

立即清空history当前所有历史命令的记录

[test@linux] #history -c

除了使用history命令,在 shell 或 GUI 终端提示下,你也可以使用上下方向键来翻阅命令历史(向下箭头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入类似的命令。

History命令的用途确实很大!但需要小心安全的问题!尤其是 root 的历史纪录档案,这是黑客们的最爱!因为不小心的 root 会将很多的重要资料在执行的过程中会被纪录在 ~/.bash_history 当中,如果这个档案被解析的话,后果不堪设想!

shutdown

关闭、重启系统

Linux是一个多用户、多任务系统,如果不正确地关闭或重启系统,可能会导致系统中的用户数据丢失。可能的情况是用户正在执行某个关键的运算或操作等,如果不经提示关闭系统,用户将来不及保存当前数据,从而导致数据丢失。因此应该掌握正确地关闭、重启系统的方法,以避免数据丢失。

关闭系统命令之shutdown

shutdown命令是最常用的关闭系统命令,不仅可以用于立即关闭系统,还可以在指定时间关闭系统。

(1)在1分钟后关闭系统:

# shutdown -h 1

由于关闭、重启系统需要管理员权限,因此应该以root用户的身份执行shutdown等关闭、重启系统命令。

立即关闭系统:

# shutdown -h now

(2)指定时间关闭系统:

# shutdown -h 15:30

当根用户发出关机指令后,系统中的其他用户可以得到如下提示:

The system is going DOWN for system halt in 2 minutes!

如果得到此提示信息,用户应该立即停止正在进行的作业,保存必要的数据然后退出系统。

(3)shutdown命令也可用于重启系统:

# shutdown -r 2

系统将在2分钟后重新启动。

如果正在使用系统的用户不止一个,关闭系统时应该使用shutdown命令,并采用延时关闭的方法,以避免数据丢失。

关机命令:

1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

重启命令:

1、reboot 2、shutdown -r now 立刻重启(root用户使用) 3、shutdown -r 10 过10分钟自动重启(root用户使用) 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。

Linux centos重启命令:

1、reboot

2、shutdown -r now 立刻重启(root用户使用)

3、shutdown -r 10 过10分钟自动重启(root用户使用)

4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)

如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

Linux centos关机命令:

1、halt 立刻关机

2、poweroff 立刻关机

3、shutdown -h now 立刻关机(root用户使用)

4、shutdown -h 10 10分钟后自动关机

如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

1.shutdown

shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。

而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

shutdown 参数说明:

[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。

[-r] 重启计算器。

[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。

[-h] 关机后关闭电源〔halt〕。

[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。

[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。

[-f] 在重启计算器〔reboot〕时忽略fsck。

[-F] 在重启计算器〔reboot〕时强迫fsck。

[-time] 设定关机〔shutdown〕前的时间。

2.halt----最简单的关机命令

其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前﹐关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

3.reboot

reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。

4.init

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有 telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

5.reboot 重启命令

reboot的工作过程差不多跟halt一样。不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。

hwclock命令

用于显示与设定硬件时钟。

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

语法

hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]

[--utc][--version][--set --date=<日期与时间>]

参数:

--adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。

--debug  显示hwclock执行时详细的信息。

--directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。

--hctosys  将系统时钟调整为与目前的硬件时钟一致。

--set --date=<日期与时间>  设定硬件时钟。

--show  显示硬件时钟的时间与日期。

--systohc  将硬件时钟调整为与目前的系统时钟一致。

--test  仅测试程序,而不会实际更改硬件时钟。

--utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。

--version  显示版本信息。

实例

显示当前时间

# hwclock

2010年05月27日 星期四 18时04分31秒 -0.704214 seconds

查看版本信息

# hwclock -v

hwclock from util-linux-2.12a

date

1.命令格式:date [参数]... [+格式]2.命令功能:date 可以用来显示或设定系统的日期与时间。3.命令参数:必要参数:%H 小时(以00-23来表示)。 %I 小时(以01-12来表示)。 %K 小时(以0-23来表示)。 %l 小时(以0-12来表示)。 %M 分钟(以00-59来表示)。 %P AM或PM。 %r 时间(含时分秒,小时以12小时AM/PM来表示)。 %s 总秒数。起算时间为1970-01-01 00:00:00 UTC。 %S 秒(以本地的惯用法来表示)。 %T 时间(含时分秒,小时以24小时制来表示)。 %X 时间(以本地的惯用法来表示)。 %Z 市区。 %a 星期的缩写。 %A 星期的完整名称。 %b 月份英文名的缩写。 %B 月份的完整英文名称。 %c 日期与时间。只输入date指令也会显示同样的结果。 %d 日期(以01-31来表示)。 %D 日期(含年月日)。 %j 该年中的第几天。 %m 月份(以01-12来表示)。 %U 该年中的周数。 %w 该周的天数,0代表周日,1代表周一,异词类推。 %x 日期(以本地的惯用法来表示)。 %y 年份(以00-99来表示)。 %Y 年份(以四位数来表示)。 %n 在显示时,插入新的一行。 %t 在显示时,插入tab。 MM 月份(必要) DD 日期(必要) hh 小时(必要) mm 分钟(必要)ss 秒(选择性) 选择参数:-d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。 -s<字符串>  根据字符串来设置日期与时间。字符串前后必须加上双引号。 -u  显示GMT。 --help  在线帮助。 --version  显示版本信息 4.使用说明: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)2.在设定时间方面:date -s //设置当前时间,只有root权限才能设置,其他只能查看。date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00date -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"  //显示下一年的日期5.使用实例:实例1:显示当前时间命令:复制代码代码如下:datedate '+%c'date '+%D'date '+%x'date '+%T'输出:复制代码代码如下:[root@localhost ~]# date2012年 12月 08日 星期六 08:31:35 CST[root@localhost ~]# date '+%c'2012年12月08日 星期六 08时34分44秒[root@localhost ~]# date '+%D'12/08/12[root@localhost ~]# date '+%x'2012年12月08日[root@localhost ~]# date '+%T'08:35:36[root@localhost ~]# date '+%X'08时35分54秒[root@localhost ~]#实例2:显示日期和设定时间命令:date --date 08:42:00输出:复制代码代码如下:[root@localhost ~]# date '+%c'2012年12月08日 星期六 08时41分37秒[root@localhost ~]# date --date 08:42:002012年 12月 08日 星期六 08:42:00 CST[root@localhost ~]# date '+%c' --date 08:45:002012年12月08日 星期六 08时45分00秒[root@localhost ~]#[code]

实例3:date -d参数使用

命令: date -d "nov 22"

输出:

[code]

[root@localhost ~]# date -d "nov 22"

2012年 11月 22日 星期四 00:00:00 CST

[root@localhost ~]# date -d '2 weeks'

2012年 12月 22日 星期六 08:50:21 CST

[root@localhost ~]# date -d 'next monday'

2012年 12月 10日 星期一 00:00:00 CST

[root@localhost ~]# date -d next-day +%Y%m%d

20121209

[root@localhost ~]# date -d tomorrow +%Y%m%d

20121209

[root@localhost ~]# date -d last-day +%Y%m%d

20121207

[root@localhost ~]# date -d yesterday +%Y%m%d

20121207

[root@localhost ~]# date -d last-month +%Y%m

201211

[root@localhost ~]# date -d next-month +%Y%m

201301

[root@localhost ~]# date -d '30 days ago'

2012年 11月 08日 星期四 08:51:37 CST

[root@localhost ~]# date -d '-100 days'

2012年 08月 30日 星期四 08:52:03 CST

[root@localhost ~]# date -d 'dec 14 -2 weeks'

2012年 11月 30日 星期五 00:00:00 CST

[root@localhost ~]# date -d '50 days'

2013年 01月 27日 星期日 08:52:27 CST

说明:#后为需要输入的命令

date 命令的另一个扩展是 -d 选项,该选项非常有用。使用这个功能强大的选项,通过将日期作为引号括起来的参数提供,您可以快速地查明一个特定的日期。-d 选项还可以告诉您,相对于当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为 -d 选项的参数,就可以完成这项任务。

具体说明如下:

date -d "nov 22"  今年的 11 月 22 日是星期三

date -d '2 weeks' 2周后的日期

date -d 'next monday' (下周一的日期)

date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d

date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d

date -d last-month +%Y%m(上个月是几月)

date -d next-month +%Y%m(下个月是几月)

使用 ago 指令,您可以得到过去的日期:

date -d '30 days ago' (30天前的日期)

使用负数以得到相反的日期:

date -d 'dec 14 -2 weeks' (相对:dec 14这个日期的两周前的日期)

date -d '-100 days' (100天以前的日期)

date -d '50 days'(50天后的日期)

实例4:显示月份和日数

命令:date  '+%B %d'

输出:

复制代码

代码如下:

[root@localhost ~]# date '+%B %d'

十二月

08[root@localhost ~]#

实例5:显示时间后跳行,再显示目前日期

命令:date '+%T%n%D'

输出:

复制代码

代码如下:

[root@localhost ~]# date '+%T%n%D'

09:00:30

12/08/12

[root@localhost ~]#

推荐阅读更多精彩内容