linux运维学习:第一周作业


1 现代计算机硬件组成部分:运算器、控制器、存储器、I/O设备(输入,输出设备)


中央处理器(CPU):控制器+运算器,是计算机的核心CPU的性能基本决定了计算机的性能,CPU是整个电脑系统的核心。

存储器:可分为内存储器、外存储器、高速缓冲存储器


CPU:主要功能是按存在存储器内的程序 ,逐条地执行程序所指定的操作.


存储器:主要功能是存放程序和数据,程序是计算机操作的依据,数据是计算机操作的对象.


输入、输出设备:是用户与机器之间的桥梁.


2 Linux 发行版

Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用。

一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。


Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。


Redhat,应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server收费版本)、FedoraCore(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。


Debian,或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing和unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get /dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去。


Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。根据选择的桌面系统不同,有多个版本可供选择,比如基于unity的Ubuntu,基于Gnome的Ubuntu Gnome,基于KDE的Kubuntu,基于LXDE的Lubuntu以及基于Xfce的Xubuntu等。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。

Gentoo,伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo被称为最完美的Linux发行版本的原因之一。

FreeBSD,需要强调的是:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。



FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。


Linux 发行版:时间表

http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.svg



3  Linux的哲学思想: 


一切皆文件,把几乎所有资源,包括硬件设备都组织为文件格式

每一个程序只做好一件事情,模块化

只提供机制而非策略

单一目的的小程序;

组合小程序完成复杂任务;

文本文件保存配置信息;

尽量避免捕获用户接口


Linux 的核心思想(哲学)同时也是开源界的核心思想,那就是:自由与分享

自由:不是愚昧无知愚蠢任性的自由,而是在明白前因后果的前提下的无约束发挥创造力

分享:不是无条件得将自己思考与成就交给全世界,而是分享给内行,分享给值得分享得人



4 Linux系统上命令的使用格式:


本格式:


COMMAND options arguments


具体说明:


COMMAND: 表示命令的名称, 如 ls


options:定义命令的执行特性,可以有长短两种选项:


长选项: 用 -- 引导,后面跟完整的单词,如 --help


短选项: 用 - 引导,后面跟单个的字符, 如 -a


多个短选项可以组合使用,例如:


-h -l -a == -hla


但是长选项不能组合使用,如 --help后面就不能再跟另外一个单词了。


options 也可以有自己的参数,注意,选项与选项之间,选项与参数之间,参数与参数之间必须有空格!


arguments:表示命令的作用对象,如上述示例中,/etc 就是ls 命令的作用对象。


在linux中,命令的选项和参数所使用的符号也有相应的含义:


[] :可省略之内容


<> : 必须提供


a|b : 二选一,或多选一


... : 前面的内容可重复出现多次



ifconfig命令:


总览

ifconfig [接口] 

ifconfig 接口 [aftype] options | address ...  


描述

ifconfig 用于配置常驻内核的网络接口。它用于在引导成功时设定网络接口。此后,只在需要调试及系统调整时才使用。


如没有给出参数, ifconfig 显示当前有效接口的状态。如给定单个 接口 作为参数,它只显示给出的那个接口的状态;如果给出一个 -a 参数,它会显示所有接口的状态,包括那些停用的接口。否则就对一个接口进行配置。


地址族

如果跟在接口名称后的第一个参数是它支持地址族的名称,那么这个地址族被用于翻译和显示所有的协议地址。当前支持的地址族包括 inet ( TCP/IP ,缺省), inet6 ( IPv6 ) , ax25 ( AMPR 无线分组 ), ddp ( Appletalk 2 代), ipx ( Novell IPX ) 和 netrom ( AMPR 无线分组)。  


选项

接口 接口名称。通常是一个后跟单元号的驱动设备名,例如第一个以太接口 eth0 。


up

此选项激活接口。如果给接口声明了地址,等于隐含声明了这个选项。

down

此选项使接口驱动设备关闭。

[-]arp

允许或禁止在接口上使用 ARP 协议。

[-]promisc

允许或禁止接口置于混杂模式。如果选用,则接口可以接收网络上的所有分组。

[-]allmulti

允许或禁止 组播模式(all-multicast) 。 如果选用,则接口可以接收网络上的所有组播分组。

metric N

将接口度量值设置为整数 N。 (译注:度量值表示在这个路径上发送一个分组的成本,就是通过多少个路由)

mtu N

此选项设定接口的最大传输单元 MTU。

dstaddr addr

为点到点链路(如 PPP )设定一个远程 IP 地址。此选项现已废弃;用 pointopoint 选项替换。

netmask addr

为接口设定 IP 网络掩码。缺省值通常是 A,B 或 C 类的网络掩码 (由接口的 IP 地址推出),但也可设为其它值。

add addr/prefixlen

为接口加入一个 IPv6 地址。

del addr/prefixlen

为接口删除一个 IPv6 地址。

tunnel aa.bb.cc.dd

建立一个新的 SIT (在 IPv4 中的 IPv6 )设备,为给定的目的地址建立通道。

irq addr

为接口设定所用的中断值。并不是所有的设备都能动态更改自己的中断值。

io_addr addr

为接口设定起始输入/输出地址。

mem_start addr

设定接口所用的共享内存起始地址。只有少数设备需要。

media type

设定接口所用的物理端口或介质类型。并不是所有设备都会更改这项值,而且它们支持的类型可能并相同。典型的 type 是 10base2 (细缆以太网), 10baseT (双绞线 10Mbps 以太网), AUI (外部收发单元接口)等等。介质类型为 auto 则用于让设备自动判断介质。同样,并非所有设备都可以这样工作。

[-]broadcast [addr]

如果给出了地址参数,则可以为接口设定该协议的广播地址。否则,为接口设置(或清除) IFF_BROADCAST 标志。

[-]pointopoint [addr]

此选项允许接口置为 点到点 模式,这种模式在两台主机间建立一条无人可以监听的直接链路。 

如果还给出了地址参数,则设定链路另一方的协议地址,正如废弃的 dstaddr 选项的功能。否则,为接口设置(或清除) IFF_POINTOPOINT 标志。

hw class address

如接口驱动程序支持,则设定接口的硬件地址。此选项必须后跟硬件的类型名称和硬件地址等价的可打印 ASCII 字符。当前支持的硬件类型包括 ether (以太网), ax25 (AMPR AX.25), ARCnet 和 netrom (AMPR NET/ROM)。

multicast

为接口设定组播标志。通常无须用此选项因为接口本身会正确设定此标志。

address

为接口分配的 IP 地址。

txqueuelen length

为接口设定传输队列的长度。可以为具有高时延的低速接口设定较小值以避免在象 telnet 这样烦人的交互通信时大量高速的传输。

注意

从内核版本 2.2 起不再有别名接口的显式接口统计信息了。打印出的源地址统计信息被同一接口的所有别名地址共享。打印出的源地址统计信息被同一接口的所有别名地址共享。如果你需要每个地址的统计信息,就应该用 ipchains(8) 命令为地址加入显式的记帐规则。  


相关文件

/proc/net/socket 

/proc/net/dev 

/proc/net/if_inet6  


BUGS

当显示 appletalk DDP 和 IPX 地址时不能用此命令进行更改,但可以用这条命令显示。  


又见

route(8), netstat(8), arp(8), rarp(8), ipchains(8)


例子:

[root@localhost etc]# ifconfig

eno16777736: flags=4163  mtu 1500

        inet 172.16.1.128  netmask 255.255.0.0  broadcast 172.16.255.255

        inet6 fe80::20c:29ff:fe2b:ba58  prefixlen 64  scopeid 0x20

        ether 00:0c:29:2b:ba:58  txqueuelen 1000  (Ethernet)

        RX packets 6773  bytes 616389 (601.9 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1164  bytes 110303 (107.7 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


lo: flags=73  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10

        loop  txqueuelen 0  (Local Loopback)

        RX packets 2385  bytes 207266 (202.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 2385  bytes 207266 (202.4 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ifconfig eno16777736


[root@localhost etc]# ifconfig eno16777736

eno16777736: flags=4163  mtu 1500

        inet 172.16.1.128  netmask 255.255.0.0  broadcast 172.16.255.255

        inet6 fe80::20c:29ff:fe2b:ba58  prefixlen 64  scopeid 0x20

        ether 00:0c:29:2b:ba:58  txqueuelen 1000  (Ethernet)

        RX packets 6773  bytes 616389 (601.9 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1196  bytes 112223 (109.5 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


echo 命令:

允许在标准输出上显示STRING(s).


NAME(名称)

echo - 显示一行文本  


SYNOPSIS(总览)

echo[OPTION]... [STRING]...  


DESCRIPTION(描述)

允许在标准输出上显示STRING(s).


-n 不输出行尾的换行符.

-e 允许对下面列出的加反斜线转义的字符进行解释.

-E 禁止对在STRINGs中的那些序列进行解释.

--help 显示帮助并退出(须单独运行)

--version 输出版本信息并退出(须单独运行)

在没有 -E 的情况下,可承认并可以内置替换以下序列:


NNN字符的ASCII代码为NNN(八进制)

\\

反斜线

\a

报警符(BEL)

\b

退格符

\c

禁止尾随的换行符

\f

换页符

\n

换行符

\r

回车符

\t

水平制表符

\v

纵向制表符

REPORTING BUGS(报告BUGS)

报告bugs,请发邮件到.  


SEE ALSO(另见)

以Texinfo手册形式维护的 echo 完全文档.如果你正确地安装了 info 和 echo 命令


info echo

应该可以使你访问到整个手册.  


例子:

[root@localhost etc]# echo "test"

test

[root@localhost etc]# 



tty命令:

/etc/securetty 由 login(1) 使用,该文件由包含数行 tty 设备名(每行一个设备名,前面不加 /dev/) 在这些设备上可以允许 root 登录.


NAME (名称)

/etc/securetty 由 login(1) 使用,该文件由包含数行 tty 设备名(每行一个设备名,前面不加 /dev/) 在这些设备上可以允许 root 登录.  


FILES(相关文件)

/etc/securetty  


SEE ALSO(另见)

login(1)  


例子:

[root@localhost etc]# tty

/dev/pts/0


#cat /etc/securetty

root@iZ25prurj88Z:~# cat /etc/securetty

# /etc/securetty: list of terminals on which root is allowed to login.

# See securetty(5) and login(1).


console


# Local X displays (allows empty passwords with pam_unix's nullok_secure)

:0

:0.0

:0.1

:1

:1.0

:1.1

:2

:2.0

:2.1

:3

:3.0

:3.1

#...



# ==========================================================

#

# TTYs sorted by major number according to Documentation/devices.txt

#

# ==========================================================


# Virtual consoles

tty1

tty2

tty3

tty4

tty5

tty6

tty7

tty8

tty9

tty10

tty11


startx、export、pwd、history

、shutdown、poweroff、reboot、hwclock、date命令


startx

Linux系统命令startx的功能很简单,就是启动X Window的服务这一项,没有其他的了。其实startx命令启动的是xinit,然后再由xinit来启动X Window。


功能说明:启动X Window。

  语法:startx [程序][--服务器设置]

  补充说明:startx为启动X Window的script文件,实际上启动X Window的程序为xinit。

  参数:

  [程序] 此处所指定的[程序]为X Window所要执行程序的配置文件。

  [--服务器设置] startx预设会去读取.xerverrc中的配置,决定启动X Window的方式。

  以上就是Linux系统startx命令的功能和使用方法了,用startx命令启动X Window后就可以在一个窗口中运行多个程序了。


export命令:

功能说明:设置或显示环境变量。


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


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


参  数:


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


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


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


一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。     ----《UNIX教程》


pwd命令:


打印出完整的当前活动目录名.

名字 (NAME)

pwd - 打印出当前/活动目录的名称  


总览 (SYNOPSIS)

pwd [OPTION]  


描述 (DESCRIPTION)

打印出完整的当前活动目录名.


--help

显示 此帮助 信息, 然后 退出

--version

输出 版本 信息, 然后 退出

报告 BUGS

报告错误 给 .  


另见

pwd 的 完整文档 以 Texinfo 手册 的 形式 维护. 如果你的系统 中 正确的 安装了 info 和 pwd , 则命令


info pwd

应该能 让你 访问到 完整的手册. 


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 笔命令列表。



root@iZ25prurj88Z:~# history | more 

  198  ll -a

  199  cd ../

  200  ll -a

  201  mysql

  202  mysql -u -p

  203  ll -a

  204  cd ../

  205  ll -a

  206  cd var

  207  ll -a

  208  cd backups

  209  ll a

  210  ll -a

  211  cd home

  212  cd home.

  213  cd ../

  214  cd home/

  215  ll -a

  216  cd ../

  217  find / -name"dongyuan'"



shutdown、poweroff、reboot、hwclock、date命令:



shutdown命令:

shutdown 以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login(1) 将被阻塞。可以指定立刻关机,也可以指定系统在一定的延时后关机。所有进程都将接收到 SIGTERM 信号。


NAME

shutdown - 关闭系统  


总览 SYNOPSIS

/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]  


描述 DESCRIPTION

shutdown 以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login(1) 将被阻塞。可以指定立刻关机,也可以指定系统在一定的延时后关机。所有进程都将接收到 SIGTERM 信号。这可以使 vi(1) 等程序有时间将处于编辑状态的文件进行存储,邮件和新闻程序进程则可以将所有缓冲池内的数据进行适当的清除等等。 shutdown 通过通知 init 进程,要求它改换运行级别来实现。运行级别 0 用来关闭系统,运行级别 6 用来重启系统,运行级别 1 用来使系统进入执行系统管理任务状态,如果没有给出 -h 或 -r 标志时,这是 shutdown 命令的默认工作状态。具体关机或重启所执行的操作请查阅 /etc/inittab 文件中相应的运行级别栏。  


选项 OPTIONS

-a

使用 /etc/shutdown.allow 来验证身份。

-t sec

通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号。

-k

并非真正关机,只向所有人显示警告信息。

-r

重启。

-h

停机。

-n

[DEPRECATED(不应再使用)] 不调用 init(8) 程序进行关机操作,而由自己进行。不建议用户使用这种关机方式,它的结果一般也不是你希望的那样。

-f

重启时跳过磁盘检测。

-F

重启时强制磁盘检测。

-c

取消运行中的 shutdown 进程。不可能为此选项指定 time 参数,但你可以在命令行输入一条解释消息来向所有用户说明。(一般的shutdown指令可以用按“+”号来进行中断)

time

关机时间。

warning-message

发送给所有用户的消息。


 time 参数的格式可以有很多种。首先,可以是 hh:mm 格式的绝对时间,其中 hh 指的是小时(一到二位数),mm 指的是分钟(二位数)。第二种是 +m 格式,其中 m 指的是等待的分钟数。 now 是 +0 的别名。


如果 shutdown 在调用时使用了延时,它将自动创建一个咨询 (advisory) 文件 /etc/nologin ,作用是禁止 login(1) 允许新用户登陆,除非 shutdown 在向 init 发信号前意外中止 (就是说,它被取消或出了什么问题)。它会在调用 init 改变运行级之前删除这个文件。


-f 标志意味着 `快速重启'。这将创建一个咨询 (advisory) 文件 /fastboot ,此文件在系统重启时会被检测到。启动脚本 rc 会检测是否存在这样的文件,如果有,就不会再运行 fsck(1),因为系统是以正常方式关闭的。这之后,启动进程会删除 /fastboot。


-F 标志意味着 `强制 fsck'。这将创建一个咨询 (advisory) 文件 /forcefsck,此文件在系统重启时会被检测到。启动脚本 rc 会检测是否存在这个文件,如果有,就运行 fsck(1) 并且加上一个特殊的 `force' 标志,以使得即使正常卸载的文件系统也被检查。这之后,启动进程会删除 /forcefsck。



 -n 标志导致 shutdown 不调用 init 程序进行关机,而是自己关闭所有运行中的进程。shutdown 接下来会关闭配额 (quota),记账 (accounting) 和交换分区,卸载所有文件系统。  


访问控制 ACCESS CONTROL

如果在 /etc/inittab 文件中有适当的条目,当按下特殊键 CTRL-ALT-DEL 时,shutdown 可以被 init(8) 调用。这意味着可以物理地接触到终端键盘的任何人都可以关闭系统。要避免这种行为,shutdown 可以检测是否有授权的用户登录到了虚拟终端之一。如果 shutdown 在调用时带有 -a 参数 (可以将它添加到 /etc/inittab 中 shutdown 的执行命令之后),它将检测是否存在 /etc/shutdown.allow 文件。接下来它比较文件中的登录名与虚拟终端的登录用户列表 (在/var/run/utmp)。只有当授权的用户之一 或者 root 登录了,它才会继续。否则,它会把信息


shutdown: no authorized users logged in

写到 (物理的) 系统终端。/etc/shutdown.allow 的格式是每行一个用户名。允许出现空行和注释行 (以 # 开头)。此文件当前有最多 32 个用户的限制。


注意,如果 /etc/shutdown.allow 不存在,-a 参数将被忽略。  


文件 FILES

/fastboot

/etc/inittab

/etc/init.d/halt

/etc/init.d/reboot

/etc/shutdown.allow

注意 NOTES

很多用户忘记了传递 time 参数,结果被 shutdown 产生的错误消息所迷惑。time 参数是必须的,90% 的情况下这个参数会是 now。


Init 只能在终端模式捕获 CTRL-ALT-DEL 并且启动 shutdown。如果系统正在运行 X window System,X 服务器处理所有的按键。一些 X11 环境使得捕获 CTRL-ALT-DEL 成为可能,但是这个事件究竟做了什么依赖于那个环境。


Shutdown 没有被设计为使用 setuid。/etc/shutdown.allow 不用来找出谁在执行 shutdown ,它*只*用来检查当前在终端 (之一) 登录的用户。  


作者 AUTHOR

Miquel van Smoorenburg, [email protected]  


参见 SEE ALSO

fsck(8), init(8), halt(8), poweroff(8), reboot(8)  


poweroff


NAME

halt, reboot, poweroff - 中止系统运行 


SYNOPSIS

/sbin/halt [-n] [-w] [-d] [-f] [-i] [-p] 

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

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


描述

Halt 将系统正在关机的信息写入 /var/log/wtmp 文件,然后通知内核停止重启或关机系统。如果 halt 或 reboot 是在系统 没有 运行在运行级别 0 或 6 ,系统将调用 shutdown(8) 命令(使用参数 -h 或 -r )。  


选项

-n

在关机或重启之前不对系统缓存进行同步。

-w

不真正重启或关机,而仅仅将关机信息写入 wtmp (在 /var/log/wtmp 文件里)。

-d

不记录此次关机情况。当使用 -n 参数时隐含 -d。

-f

强制执行 halt 或 reboot 而不去调用 shutdown(8)。

-i

在关闭或重启系统之前关闭所有网络界面。

-p


reboot

Halt 将系统正在关机的信息写入 /var/log/wtmp 文件,然后通知内核停止重启或关机系统。如果 halt 或 reboot 是在系统 没有 运行在运行级别 0 或 6 ,系统将调用 shutdown(8) 命令(使用参数 -h 或 -r )。


hwclock

hwclock(hardware clock)


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


语  法: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  显示版本信息。



date:

date命令是显示或设置系统时间与日期。 很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。



date(选项)(参数)


-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

 -u:显示GMT; --help:在线帮助;

  --version:显示版本信息。


  <+时间日期格式>:指定显示时使用的日期时间格式。


5 man 

浅谈 man 命令的日常使用


Linux系统提供了相对比较丰富的帮助手册(man),man是manual的缩写,在日常linux系统管理中经常用到,今天就简单聊聊man。man 本身也提供自己的帮助手册,通过man就可以查看。


Linux系统提供了相对比较丰富的帮助手册(man),man是manual的缩写,在日常linux系统管理中经常用到,今天就简单聊聊man。man 本身也提供自己的帮助手册,通过man就可以查看。


(1)man手册分为多个section,每个section用一个字符表示。


这里的section可以理解为类别,例如:man 1 passwd 和 man 5 passwd是不一样的类别(详细见表一)。通常我们使用man passwd,这个时候man就按照预先设置的搜索路径和顺序去搜索passwd,当搜索到一个就停止继续搜索并将结果显示出来,如果我们指定了section,那么man只会在指定的section里去查找man帮助页。


(2)man的配置文件。


man的配置文件是/etc/man.config,我们现学现用,可以通过man 5 man.config看看这个配置文件的帮助信息。对于man.config,我们日常使用的不多,一般都是默认的设置,比较重要的是MANPATH (man帮助文件存放的路径)和MANSECT(man搜索的顺序)两个参数,通常不建议修改。


(3)man的日常使用。


man常用操作。使用man打开帮助手册,里面很多操作与我们经常使用的vi编辑器类似,当然可以通过h键查看具体的帮助信息,下面只简单谈谈我们经常使用的一些操作。

上下翻页。最常用的是使用空格键向下翻页。另外,[Page Up] 可以向上翻页,[Page Down]也可以实现向下翻页,[Home]返回首页,[End]返回末页。

行移动。使用键盘方向键进行上下文移动,或者使用j键往下移动, k键向上移动。

查找。使用/string向下搜索string关键字,?string向上搜索string关键字。n键继续关键字的下一个搜索,N键反向搜索关键字。

书签。man中可以定义书签,当我们想把帮助页的某个位置记录下来以便后面查看,就可以定义个书签。例如在当前位置定义个书签letter,我们需要输入m键后,再输入定义的书签名letter即可。那么如何使用这个书签呢?在当前帮助页里输入单引号'letter就可以定位到书签的位置。

执行shell。在man页内可以执行shell,通过!号再输入shell即可执行。例如:!echo 'hello world',即可打印hello world。这个在日常工作中基本用不到,这里提出来也就想开阔下大家的思路。

退出。q键退出当前帮助手册。

man常用命令参数


man -a:搜索并打开所有man中同名帮助,例如 man passwd ,你首先会进入一个PASSWD(1) section用户命令类的帮助手册,你再按q键退出当前正在显示的帮助手册,就会进入PASSWD(5) section文件格式类的帮助手册。

man -aw:显示所有手册文件的路径。例如man -aw passwd

/usr/share/man/man1/passwd.1.gz 

/usr/share/man/man5/passwd.5.gz 

man -M:指定手册文件的搜索路径,有的时候我们自己安装的软件是带有自己的帮助文件的,通常不在我们的MANPATH 里面,那么我们就可以手动指定man搜索的文件路径。如 man -M /home/mysql/man mysql 显示的就是你安装的mysql的帮助,而不是系统默认的旧版mysql的帮助。

man -k:根据关键字搜索联机帮助,是一种模糊搜索。例如要查找"passwd"相关的信息,使用man -k passwd会找到很多和passwd相关的帮助页。

man -f:关键字精确搜索,与-k不同,它只搜索与关键字完全匹配的帮助页。


6

1./:根

2./boot/:系统启动目录,内核文件vmlinuz,引导文件,启动加载器boot loader,grub(开机设置文件相关);

3./root/:root用户家目录;

4./home/用户名:普通用户家目录;

5./bin/:一般命令存放目录;

6./sbin/:开机或单用户模式还能操作的命令;

7./etc/:配置文件存放目录,init.d下存放了各种软件的启动脚本;

8./dev/:任何设备与接口设备都是以文件的形式存放在此目录,通过访问目录下的文件,就等于访问某个设备,这就相当于是设备的入口,类似有/dev/null,/dev/zero,dev/tty,/dev/sd*,/dev/lp*,/dev/hd*等设备文件;

9./lib/:基本共享库,内核模块文件/lib/modules;

10./lib64:专用于x86_64系统上的辅助共享库文件存放位置;


11./usr/:Unix Software Resource,Linux系统安装完成软件的默认安装目录。相当于Windows下的C:\Windows\和C:\Program files\两个目录的综合。/usr/的子目录包括:

1./usr/bin/用户可使用命令

2./usr/include/包含文件

3./usr/lib/软件的函数库,目标文件以及不被一般用惯用的执行文件或脚本。

4./usr/sbin/非系统正常运行所需的系统命令。

5./usr/local/本地软件或用户安装的软件目录

6./usr/share/放置共享文件的目录,其中有/usr/share/man在线帮助文档,/usr/share/doc软件杂项文档说明,/usr/share/zoneinfo与时区有关的时区文件。

7./usr/src/一般源码放置位置。


12./var/:常态性变动的文件,包括缓存(cache)、登录文件(log file)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),也许有MySQL数据库的文件等。/var/的子目录包括:

    1./var/lib

    2./var/cache程序运行过程中产生的缓存文件

    3./var/lock锁文件

    4./var/log日志文件

    5./var/run

    6./var/mail邮件

    7./var/spool程序数据池

        1./var/spool/cron

        2./var/spool/mail

        3./var/spool/mqueue

        4./var/spool/lpd

 

13./opt/:第三方软件安装目录

14./mnt/:临时挂载目录

15./media/:如cdrom,floppy等暂存媒体;

16./sys/:属于虚拟文件系统,内存中的数据,如内核、文件系统等。

17./proc/:属于虚拟文件系统,内存中的数据,如内核、程序进程、外部设备的状态,网络状态等,处于动态变化中。

18./srv/:service,一些网络服务启动后,这些服务所需要取用的数据目录。常见的服务有关www,FTP等,不同服务在不同的子文件夹中。

19./tmp/:临时存放目录,所用用户都能访问,

20./selinux/

21.Lost+found当文件发生错误时,将一些丢失的片段放置到这个目录下。