说明Linux系统上的命令使用格式,并详细介绍:ifconfig,echo , tty ,startx , export , pwd , history ,shutdown , poweroff , reboot , hwclock , date命令的使用,并配合相应的示例来阐述

0.192字数 10641阅读 1068

Linux命令格式:

command [options] [arguments]
command:命令
options: --单词 或 -单字
如: ls --all
equ ls -a
ls -a -b -c
equ ls -abc
argument:参数(档案名称或其他)

ifconfig

  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 ~]# 

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) DOS命令是接触计算机的人首先要学到的,对许多人来说是太熟悉太简单了,其实不然,在这些命令中蕴藏着丰富的内容,仍有待于我们进一步去理解去开发,如果你是一个有心人就一定会从这些自以为熟知的命令中发现新的闪光点,淘得真金。

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 表示发生了写错误

startx

初始化一个 X 会话。

语法

startx [ -d Display:0 ] [ -t | -w ] [ -x Startup | [ -r Resources ] [ -m Window_Manager ] ] [ -wait ]

描述

startx 命令简化了启动 X 会话的过程。

该命令执行下列操作:
设置用户的 DISPLAY 环境变量以标识 X 服务器到 X 客户机
当从工作站运行时,启动 X 服务器
启动 X 客户机。

startx 命令将 X 服务器和 X 客户机的错误消息重定向至用户的 XERRORS 环境变量指定的文件。该处理对调试很有用,并且使 X 服务器在工作站上有一个清洁的启动和关机外观。

如果 startup 脚本文件名没有用 -x 选项在命令行中给出,那么 startx 命令就会搜索一个由用户的 XINITRC 环境变量指定的文件。如果未设置 XINITRC 环境变量,startx 命令就会在用户的主目录中分别搜索名为 .Xinit、.xinit、 .Xinitrc、.xinitrc 或 .xsession 的文件来开始 X 客户机程序。

如果未找到启动文件,startx 命令运行在命令行上由 -m 选项指定的窗口管理器,或在找到相关的配置文件(.mwmrc、.twmrc、.awmrc 或 .uwmrc, 分别地)之后,调用窗口管理器 mwm、twm、awm 或 uwm。如果没有在用户主目录中找到窗口管理器配置文件,startx 将启动 Xterm 客户机和 mwm 窗口管理器。

当启动文件找不到时,startx 命令也将在命令行上使用 -r 选项指示装入资源文件,或分别装入用户主目录中的名为 .Xdefaults、.xdefaults、.Xresources 或 .xresources 的文件。如果未找到 X 资源文件,将不个性化 X 会话。

如果工作站中存在一个启动文件并且用户未装入任何资源,则 startx 命令中的 xinit 命令将尝试装入 .Xdefaults 文件。

当 X 会话从 /dev/lft* 启动时,就假定使用工作站。如果不是这种情况,就必须使用 -t 或 -w 选项。
标志

-d Display :0 指定在启动过程中传递给 X 客户机的 X 服务器的显示名称。
-m Window_Manager 当未找到 startup 脚本时,启动窗口管理器。
-r Resources 当未找到 startup 脚本时,装入资源文件。
-t 为一个 X 终端启动 X 客户机。
-w 为工作站上的 X 窗口会话启动 X 服务器和 X 客户机。
-wait 当 xdm 命令调用 startx 时,防止重新启动 X 会话。
-x Startup 使用 startup 脚本启动 X 窗口会话。

注:您可以单独或同时使用 -m 和 -r 选项, 或者使用 -x 选项,但是您不能在使用 -x 选项的同时使用 -m 和 -r 选项。在启动脚本中,启动窗口管理器会话、装入 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

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

语法

export [-fnp][变量名称]=[变量设置值]
参数说明:
-f  代表[变量名称]中为函数名称。
-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p  列出所有的shell赋予程序的环境变量。

实例

  • 列出当前所有的环境变量
    export -p //列出当前的环境变量值
    declare -x HOME=“/root“
    declare -x LANG=“zh_CN.UTF-8“
    declare -x LANGUAGE=“zh_CN:zh“
    declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
    declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
    declare -x LOGNAME=“root“
    declare -x LS_COLORS=““
    declare -x MAIL=“/var/mail/root“
    declare -x OLDPWD
    declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
    declare -x PWD=“/root“
    declare -x SHELL=“/bin/bash“
    declare -x SHLVL=“1“
    declare -x SPEECHD_PORT=“6560“
    declare -x SSH_CLIENT=“192.168.1.65 1674 22“
    declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
    declare -x SSH_TTY=“/dev/pts/2“
    declare -x TERM=“XTERM“
    declare -x USER=“root“
    declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
  • 定义环境变量
    export MYENV //定义环境变量
    export -p //列出当前的环境变量
    declare -x HOME=“/root“
    declare -x LANG=“zh_CN.UTF-8“
    declare -x LANGUAGE=“zh_CN:zh“
    declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
    declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
    declare -x LOGNAME=“root“
    declare -x LS_COLORS=““
    declare -x MAIL=“/var/mail/root“
    declare -x MYENV
    declare -x OLDPWD
    declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
    declare -x PWD=“/root“
    declare -x SHELL=“/bin/bash“
    declare -x SHLVL=“1“
    declare -x SPEECHD_PORT=“6560“
    declare -x SSH_CLIENT=“192.168.1.65 1674 22“
    declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
    declare -x SSH_TTY=“/dev/pts/2“
    declare -x TERM=“XTERM“
    declare -x USER=“root“
    declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
  • 定义环境变量赋值
    export MYENV=7 //定义环境变量并赋值
    export -p
    declare -x HOME=“/root“
    declare -x LANG=“zh_CN.UTF-8“
    declare -x LANGUAGE=“zh_CN:zh“
    declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
    declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
    declare -x LOGNAME=“root“
    declare -x LS_COLORS=““
    declare -x MAIL=“/var/mail/root“
    declare -x MYENV=“7“
    declare -x OLDPWD
    declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
    declare -x PWD=“/root“
    declare -x SHELL=“/bin/bash“
    declare -x SHLVL=“1“
    declare -x SPEECHD_PORT=“6560“
    declare -x SSH_CLIENT=“192.168.1.65 1674 22“
    declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
    declare -x SSH_TTY=“/dev/pts/2“
    declare -x TERM=“XTERM“
    declare -x USER=“root“
    declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“

pwd

Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用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 ~]#

history

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

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个命令中的所有项目,当然你也可以加入数字来列出最近的笔命令列表。
linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。

运行特定的历史命令

history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:
[test@linux]# [!number] [!command] [!!]
参数说明:
number :第几个指令的意思;
command :指令的开头几个字母
! :上一个指令的意思!

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 终端提示下,你也可以使用上下方向键来翻阅命令历史(向下箭头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入类似的命令。

shutdown

shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。

该命令的一般格式

语  法:

shutdown [-efFhknr][-t 秒数][时间][警告信息]

参  数:

-c  当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。
 -f  重新启动时不执行fsck。
 -F  重新启动时执行fsck。
 -h  将系统关机。
 -k  只是送出信息给所有用户,但不会实际关机。
 -n  不调用init程序进行关机,而由shutdown自己进行。
 -r  shutdown之后重新启动。
 -t<秒数>  送出警告信息和删除信息之间要延迟多少秒。
 [时间]  设置多久时间后执行shutdown指令。
 [警告信息]  要传送给所有登入用户的信息。

需要特别说明的是该命令只能由超级用户使用。

例1,系统在十分钟后关机并且马上重新启动

shutdown –r +10

例2,系统马上关机并且不重新启动

shutdown –h now

poweroff

poweroff命令用来关闭计算机操作系统并且切断系统电源。

语法

poweroff(选项)

选项

-n:关闭操作系统时不执行sync操作; -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; -f:强制关闭操作系统; -i:关闭操作系统之前关闭所有的网络接口; -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。 实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统: poweroff
实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统: poweroff

实例

如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统:
pweroff

reboot

命令简介:

该命令用来重启Linux系统。相当于Windows系统中的restart命令。

命令语法:

/sbin/reboot [-n] [-w] [-d] [-f] [-i]

reboot [-n] [-w] [-d] [-f] [-i]

命令参数:

-d 重新启动时不把数据写入记录文件/var/tmp/wtmp

-f 强制重新开机,不调用shutdown指令的功能。

-h 在系统关机或poweroff之前,将所有的硬盘处于待机模式

-i 关闭网络设置之后再重新启动系统

-n 保存数据后再重新启动系统

-p When halting the system, do a poweroff. This is the default when halt is called as poweroff

-w 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件

使用示例:

强制重新开机,不调用shutdown指令的功能

[root@DB-Server ~]# reboot -f

关闭网络设置之后再重新启动系统

[root@DB-Server ~]# reboot -i

Broadcast message from root (pts/1) (Mon Jul 28 11:31:28 2014):

The system is going down for reboot NOW!

保存数据后再重新启动系统

[root@DB-Server ~]# reboot -n

Broadcast message from root (pts/1) (Mon Jul 28 11:33:57 2014):

The system is going down for reboot NOW!

重新启动时不把数据写入记录文件/var/tmp/wtmp

[root@DB-Server ~]# reboot -d

Broadcast message from root (pts/2) (Mon Jul 28 11:23:26 2014):

The system is going down for reboot NOW!

hwclock

功能说明:显示与设定硬件时钟。

语  法:hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=<日期与时间>]

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

参  数:
--adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug  显示hwclock执行时详细的信息。
--directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys  将系统时钟调整为与目前的硬件时钟一致。
--set --date=<日期与时间>  设定硬件时钟。
--show  显示硬件时钟的时间与日期。
--systohc  将硬件时钟调整为与目前的系统时钟一致。
--test  仅测试程序,而不会实际更改硬件时钟。
--utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version  显示版本信息。

使用示例

示例一 hwclock命令与clock命令是一个东西

[root@linuxso.com~]# type -a hwclock
hwclock is /sbin/hwclock
hwclock is /usr/sbin/hwclock
[root@linuxso.com~]# ls -l /sbin/hwclock /usr/sbin/hwclock
-rwxr-xr-x 1 root root 34096 2010-01-07 /sbin/hwclock
lrwxrwxrwx 1 root root 18 08-13 00:14 /usr/sbin/hwclock -> ../../sbin/hwclock

[root@linuxso.com~]# type -a clock
clock is /sbin/clock
[root@linuxso.com~]# ls -l /sbin/clock
lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock
[root@linuxso.com~]#

示例二 显示硬件时钟

[root@linuxso.com~]# hwclock
2010年11月06日 星期六 21时09分28秒 -0.134840 seconds
[root@linuxso.com~]# hwclock -r
2010年11月06日 星期六 21时09分33秒 -0.469123 seconds
[root@linuxso.com~]# hwclock --show
2010年11月06日 星期六 21时09分45秒 -0.127548 seconds
[root@linuxso.com~]#

示例三 修改日期并同步到硬件时钟

[root@linuxso.com~]# date
2010年 11月 06日 星期六 21:11:57 CST
[root@linuxso.com~]# date 11062112 <== 格式 mmddHHMM,即 月日时分
2010年 11月 06日 星期六 21:12:00 CST
[root@linuxso.com~]# hwclock -w
[root@linuxso.com~]# hwclock
2010年11月06日 星期六 21时12分13秒 -0.648818 seconds
[root@linuxso.com~]#

注:要使系统时间准确,最好还是使用ntp方式。

示例四 使用ntpdate命令从网络同步时间,再同步到硬件时钟

ntpdate命令是使用NTP协议来从网络同步时间的命令。NTP=Network Time Protocol 网络时间协议。

[root@linuxso.com~]# ntpdate 0.rhel.pool.ntp.org
6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec
[root@linuxso.com~]# date
2010年 11月 06日 星期六 21:17:59 CST
[root@linuxso.com~]# hwclock -w

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: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" //显示下一年的日期

5.使用实例:

实例1:显示当前时间

命令:

复制代码代码如下:
date
date '+%c'
date '+%D'
date '+%x'
date '+%T'

输出:

复制代码代码如下:
[root@localhost ~]# date
2012年 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:00
2012年 12月 08日 星期六 08:42:00 CST
[root@localhost ~]# date '+%c' --date 08:45:00
2012年12月08日 星期六 08时45分00秒
[root@localhost ~]#
[code]</p> <p>实例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 ~]#

推荐阅读更多精彩内容