详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用。
命令基本格式:
[root@centos6.9~]# ls -l /etc (命令 [选项] [参数])
root:代表当前登录的用户
centos6.9:代表主机名
~:代表当前所在目录(~为家目录)。如果是root登录,那么他的家目录为/root,如果其他用户登录,如user1用户,则它的家目录就是/home/user1
#:代表当前用户为超级用户;普通用户的提示符为$.
COMMAND(命令);ls 命令用来显示目标列表。
OPTIONS(选项):-l 表示以长葛市显示目录下的内容列表。
ARGUMENTS(参数):/etc 制定要被显示列表的目录,也可以是具体的文件。
ifconfig
被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后、机器重启后,配置就不存在。要想永久更改配置信息,就要修改网卡的配置文件了。
格式:
ifconfig
参数:
add<地址>:设置网络设备IPv6的IP地址;
del<地址>:删除网络设备IPv6的IP地址;
down:关闭指定的网络设备;
<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;
io_addr<I/O地址>:设置网络设备的I/O地址;
mtu<字节>:设置网络设备的MTU;
netmask<子网掩码>:设置网络设备的子网掩码
up:启动指定的网络设备;
-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;
-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能;
-promisc:关闭或启动指定网络设备的promiscuous模式;
实例:
1.显示网络设备信息(激活状态的):
root@centos6.9 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3E:00:1E:51
inet addr:192.168.1.88 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61430830 errors:0 dropped:0 overruns:0 frame:0
TX packets:88534 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3607197869 (3.3 GiB) TX bytes:6115042 (5.8 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:56103 errors:0 dropped:0 overruns:0 frame:0
TX packets:56103 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5079451 (4.8 MiB) TX bytes:5079451 (4.8 MiB)
说明:
eth0表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:16:3E:00:1E:51
inet addr用来表示网卡的IP地址,此网卡的IP地址是192.168.1.88,广播地址Bcast:192.168.1.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
ssh登陆服务器操作时要小心,关闭网卡后远程将无法继续登陆,除非有多块网卡。
echo
echo命令用于shell中打印shell变量的值,或者直接输出制定的字符串。linux的echo命令,在shell编程中极为常用,在终端下打印变量value的时候也是常常用到的。
格式:
echo(选项)(参数)
选项:
-e:激活转义字符。
使用- e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一段文字输出
\a 发出警告声
\b 删除前一个字符
\c 最后不加上换行符号
\f 换行但光标仍旧停留在原来的位置
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入tab
\v与\f相同
\插入\字符
\nnn插入nnn(八进制)所代表的的ASCII字符
参数:
变量:制定要打印的变量。
实例:
用echo命令打印带有色彩的文字
1.文字颜色
\e[1;31m将颜色设置为红色
\e[0m 将颜色重新置回 (否则下一个命令输出的文字颜色都为红色)
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
2.背景色
颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
tty:
用于显示终端机连接标准输入设备的文件名称。
格式:
tty [选项]…
选项:
-s或-silent或-quiet:不显示任何信息,只回传状态码。
-help:在线帮助。
-version:显示版本信息
实例:
终端类型:
物理终端:/dev/console
虚拟终端:/dev/tty# [1.6]
串行终端:/dev/ttyS#
伪终端:/dev/pts/#
startx:
用来启动X Windows,实际上启动X Window 的程序为xinit。
实例:
要在工作站或X终端上启动X会话,输入:
[root@centos7 ~]# startx
要在工作站上强制启动X会话,输入:
[root@centos7 ~]# startx -w
要为X终端启动X会话,并注销用户的telnet会话,输入:
[root@centos7 ~]# startx; kill -9 $$
要使用 .xinitrc脚本启动X会话,输入:
[root@centos7 ~]# startx -x .xinitrc
要使用mwm窗口启动管理X会话,输入:
[root@centos7 ~]# startx -m mwm
export:
用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
一个变量创建时,它不会自动地为它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,他不会自动得到原脚本(调用者)里自定义的变量的访问权,除非这些变量已经被显示地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
格式:
export [ 选项] [参数]
选项:
-f:带边[变量名称]中为函数名称;
-n:删除制定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中;
-p:列出所有的shell赋予程序的环境变量。
参数:
变量:指定要输出或删除的环境变量。
实例:
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。查看已经存在的环境变量:
pwd:
以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从跟目录)
格式:
pwd [选项]
选项:
-help:显示帮助信息;
-version:显示版本信息
实例:
history:
用于显示指定数目的指令命令,读取历史命令文件中间的目录到历史命令缓冲区和将历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号 !执行制定序号的历史命令。例如,要执行第二个历史命令,则输入!2 。
历史命令是被保存在内存中的,当退出或者登陆shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制的。
格式:
history [选项] [参数]
选项:
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中。
参数:
-n:打印最近的n条历史命令。
实例:
使用history命令显示最近使用的10条历史命令,输入如下命令:
shutdown:
用来系统关机的命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
格式:
shutdown [选项] [参数]
选项:
-c:中断关机的指令;
-f:重新启动时不执行fsck;
-F:重新启动时执行fscl;
-h:将系统关机;
-k:只是送出信息给所有用户,但不会实际关机;
-n:不调用init程序进行关机,而由shutdown自己进行;
-r:shutdown之后重新启动;
-t<秒数>:送出警告信息和删除信息之间要延迟多少秒。
参数:
[时间]:设置多久时间后执行shutdown命令;
[警告信息]:要传送给所有登入用户的信息。
实例:
指定现在立即关机:
指定5分钟后关机,同时送出警告信息给登入用户:
取消之前的定时关机命令:
poweroff:
用来关闭计算机操作系统并且切断系统电源
格式:
poweroff [选项]
选项:
-n:关闭操作系统时不执行sync操作
-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;
-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;
-f:强制关闭操作系统;
-i:关闭操作系统之前关闭所有的网络接口;
-h:关闭操作系统之前将系统中所有的硬件设置为备用模式;
实例:
如果确认系统中已经没有哦用户存在且所有数据都已经保存,需要立即关闭系统,可以使用poweroff命令。
reboot:
用来重新启动正在运行的Linux系统。
用法:
reboot [选项]
选项:
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本选项具有-n选项效果。
-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-n:重开机之前不检查是否有未结束的程序;
-w:仅做测试,并不真正讲系统重新开机,置回把重开机的数据写入/var/log目录下的wtmp记录文件。
实例:
重启动:
做个重启动的模拟(只有记录并不会真的重启动)
hwclock:
是一个硬件时钟访问工具,他可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。
在Linux系统中有硬件时钟和系统时钟两种。硬件时钟是指主板上的时钟设备,也就是通常可在BIOS界面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
用法:
hwclock [选项]
选项:
--adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用-adjiust选项,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来矫正目前的硬件时钟;
--debug:显示hwclock执行时详细的信息;
--directisa:hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟;
--hctosys:将系统时钟调整为与目前的硬件时钟一致;
--set-date=<日期与时间>:设定硬件时钟;
--show:显示硬件时钟的时间与日期;
--systohc:将硬件时钟调整为与目前的系统时钟一致;
--test:仅测试程序,而不会实际更改硬件时钟;
--utc:若要使用格林威治时间,请加入此选项,hwclock会执行转换的工作;
--version:显示版本信息。
实例:
显示硬件时钟时间:
将硬件时钟同步为系统时钟:
date:
显示或设置系统时间与日期。
很多shell脚本里面需要打印不同格式的时间或日期,以及根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,时间被存储为一个整数,其大小为自时间标准时间(UTC)1970年1月1日0时0分0秒其流失的秒数。
用法:
date [选项] [参数]
选项:
-d<字符串>显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u:显示GMT
--help:在线帮助
参数:
<+时间日期格式>:指定显示使用的日期时间格式。
日期格式字符串列表:
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
实例:
格式化输出:
输出昨天日期:
输出2秒后的时间:
加减操作:
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” //这样可以设置全部时间