linux 下开发常用命令

时间:2021-07-29 10:56:59

************文件和目录*****************

 

pwd  

查看自己所在位置  

pwd -p /*显示链接到的真实路径*/  

ls  

列出目录及文件的属性信息  

ls -a /*列出所有文件和子目录,包括隐藏文件和目录*/  

ls -A /*列出所有文件和目录,但不包括隐藏文件和目录*/  

ls -d /*知县是目录本深的属性信息*/  

ls -l /*以长格式显示文件和目录的详细信息*/  

ls -i /*先是文件的i节点编号*/  

ls -h /*显示信息是更人性化容量的大小,如KB,MB,GB等*/  

ls -R /*递归显示制定目录下的各级目录及文件*/  

ll -h:列表显示目录下的文件,并且显示文件大小.

cat  

用于显示指定文件的内容  

cat -n /*显示文件内容是在每一行行首添加行号*/  

cat -b /*显示文件内容是为非空白添加行号*/

tail  

一直跟踪显示文件变化(查看文件末尾指定行数的内容)

tail -N /*N为用户指定的行数*/  

tail -f /*跟踪文件中新增加的内容*/  

head  

用来显示文件开头n行  

head -N /*N为用户指定的行数*/

more  

分页显示文件内容   (通过空格向下翻页,通过回车一行一行滚动)

more -N /*N为每屏指定的行数*/  

less  

分页显示文件内容(和more一样。more只能向下翻页,less可以向上翻页。可以通过上下箭头进行上下一行行滚动,也可以通过page up/空格命令向上/向下进行一屏一屏滚动.ctrl+b,用关键字查询按‘n’键可以跳转到下一个关键字)

less 在查看之前不会加载整个文件。可以尝试使用 less 和 vi 打开一个很大的文件,你就会看到它们之间在速度上的区别。

在 less 中导航命令类似于 vi。本文中将介绍一些导航命令以及使用 less 的其它一些技巧。

1 搜索

当使用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会被高亮显示。

向前搜索

/ - 使用一个模式进行搜索,并定位到下一个匹配的文本

n - 向前查找下一个匹配的文本

N - 向后查找前一个匹配的文本

向后搜索

? - 使用模式进行搜索,并定位到前一个匹配的文本

n - 向后查找下一个匹配的文本

N - 向前查找前一个匹配的文本

2 全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

3 单行导航

j - 向前移动一行

k - 向后移动一行

4 其它导航

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

5 其它有用的命令

v - 使用配置的编辑器编辑当前文件

h - 显示 less 的帮助文档

&pattern - 仅显示匹配模式的行,而不是整个文件

Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。他们的相互关系如所示。
指令模式(Command Mode) 下输入 a、i、o进入文本输入模式(Input Mode)
文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)

指令模式(Command Mode)下输入:进入末行模式(Last line Mode)
末行模式(Last line Mode)下指令错误则返回指令模式(Command Mode)
下面分别介绍这三种模式

1、指令模式(Command Mode)
指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义。
0 -----光标移动至行首
h -----光标左移一格
l -----光标右移一格
j -----光标下移一行
k -----光标上移一行
$+A-----将光标移动到该行最后
PageDn ----- 向下移动一页
PageUp ----- 向上移动一页
d+方向键 -----删除文字
dd -----删除整行
pp -----整行复制
r -----修改光标所在的字符
S -----删除光标所在的列,并进入输入模式

2、文本输入模式(Input Mode)
在指令模式下(Command Mode)按a/A键、i/I键、o/O键进入文本模式,文本输入模式的命令及其含义如下所示。
a -----在光标后开始插入
A -----在行尾开始插入
i -----从光标所在位置前面开始插入
I -----从光标所在列的第一个非空白字元前面开始插入
o -----在光标所在列下新增一列并进入输入模式
O -----在光标所在列上方新增一列并进入输入模式
ESC -----返回命令行模式

3、末行模式(Last line Mode)
末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。主要命令如下
:q -----结束Vi程序,如果文件有过修改,先保存文件
:q! -----强制退出Vi程序
:wq -----保存修改并退出程序
set nu -----设置行号

需要注意的是,以上指令都是在英文输入模式下才有效,在linux 终端下有时我们用的是中文输入模式,输入中文的“:”就不能转换模式了。




grep  

在文件中查找并显示包含指定字符串的行,查找字符串可使用正则表达式匹配  

grep -i /*查找内容是忽略大小写*/

grep -v /*反转查找,技术处于查找条件不相符的行*/

[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数:-a :将 binary 文件以 text 文件的方式搜寻数据-c :计算找到 '搜寻字符串' 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!--color=auto :可以将找到的关键词部分加上颜色的显示喔! tail -fn 2000 server.out |grep -i --color=auto 1010002508 less server.out |grep -E '2014-02-20 13:5[0-4]|2014-02-20 14:[00-10]'|grep 'sql'  --color=auto 

find  

在子目录中搜索匹配的文件 

find -name /*按文件名称查找,可以只用通配符*/  

find -size /*按万大小查找,可以使用K,M等容量单位*/  

find -type /*按文件类型查找,类型f,d,l,b,c分别表示普通文件,目录,链接文件,块设备文件,字符设备文件*/  

cd  

更改工作目录,不带任何选项或参数时,默认切换到用户宿主目录  

cd -p /*如果指定的目录为符号链接,则切换到对应的物理路径*/  

whereis

查找文件

locate

定位文件

mkdir  

创建新目录

mkdir -p /*递归创建多级目录*/  

touch  

更新文件的时间标记,如文件不存在则建立对应的空文件  

cp  

复制文件或目录,复制源是目录或多个文件,目标必须是目录  

cp -f /*直接强制复制不进行提醒*/  

cp -i /*复制时进行提醒确认*/  

cp -l /*为源文件建立硬链接,而不是直接复制磁盘数据块*/  

cp -p /*复制时保持原文件权限,宿主及时间*/  

cp -r /*复制目录时,递归复制所有文件及子目录*/  

mv  

移动文件或目录,可以在移动时改名。移动多个文件或目录时,目标必须是目录  

mv -f /*直接强制移动不进行提醒*/  

mv -i /*移动时进行提醒确认*/  

rm  

删除文件或目录  

mv -f /*直接强制删除而不进行提醒*/  

mv -i /*删除是时进行提醒确认*/  

mv -r /*递归删除所有文件及目录*/

*******************压缩和解压*************

tar

linux传播的文件基本是压缩文件tgz,tar.gz

-c(生成)

-f(文件)

-v(verbose)

-z(压缩)

-t(测试)

-x(展开)

#tar cz(v)f mydir.tar.gz mydir

#tar xz(v)f mydir.tar.gz mydir

--使用示例:

tar -tvzf 20140221130101.log.tgz  --查看该压缩包下是否有文件

tar xfv 20140221130101.log.tgz     --解压到当前文件夹下

******************vi******************

linux/unix下的配置文件都是文本文件

vi是使用最广泛的编辑器

vi分为三种工作模式

-一般模式

-编辑模式

-命令模式

vi常用命令

w q wq wq!

****************远程管理****************

telnet/ssh

ssh使用:

# ssh user1@192.168.0.1 输入密码

scp

 

secure copy (remote file copy program) 也是一个基于SSH安全协议的文件传输命令。与sftp不同的是,它只提供主机间的文件传输功能,没有文件管理的功能。

复制local_file 到远程目录remote_folder下

scp local_file remote_user@host:remote_folder

复制local_folder 到远程remote_folder(需要加参数 -r 递归)

scp –r local_folder remote_user@host:remote_folder

以上命令反过来写就是远程复制到本地

[weblogic@test testdomain]$ scp bbb.txtweblogic@10.10.236.59:/weblogic/wls1036/user_projects/domains/mydomain

 

sz/rz

sz/rz 是基于ZModem传输协议的命令。对传输的数据会进行核查,并且有很好的传输性能。使用起来更是非常方便,但前提是window端需要有能够支持ZModem的telnet或者SSH客户端,例如secureCRT。

首先需要在secureCRT中可以配置相关的本地下载和上传目录,然后用rz、sz命令即可方便的传输文件数据。

下载数据到本地下载目录:sz filename1 filename2 …

上传数据到远程:执行rz –be 命令,客户端会弹出上传窗口,用户自行选择(可多选)要上传的文件即可。

 

************系统相关***********************

ps  

以静态快照方式输出当前运行的进程的状态统计数据  

格式:ps [选项]  

ps a /*显示当前终端下的所有进程信息,包括其他用户信息*/  

ps u /*使用以用户为主的格式输出进程信息*/  

ps x /*显示当前用户在所有终端下的进程信息*/  

ps -e /*显示系统内所有进程信息*/  

ps -l /*使用长格式显示进程信息*/  

ps -f /*使用完整格式显示进程信息*/  

top   动态显示当前运行的进程信息  

对于多个或者多核的CPU,top显示的是多个CPU所占用的百分比总和,进入top视图后按1可以按核来显示消耗情况。

us表示用户进程占用百分比,sy表示内核线程(系统线程)处理所占百分比,ni表示nice命令改变优先级的任务所占的百分比,id表示CPU空闲时所占的百分比,wa表示为在执行过程中等待IO所占的百分比,hi表示为硬件中断所占的百分比,si表示为软件中断所占的百分比.

在top视图中按shift+h可以按线程查看CPU的消耗情况。默认情况top视图显示的为进程的CPU消耗情况.

格式:top [-d] 时间  

top -d /*指定动态信息的刷新间隔时间,单位为秒。也可以使用ss.tt格式*/  

pidstat:

pidstat是sysstat中的工具如需要使用pidstat必须先安装sysstat工具。

如:pidstat 1 2

pidstat -p[PID] -t 1 5

vmstat:

pstree  

以树型结构查看系统中的进程及其相互关系(进程数)  

格式:pstree [-aup]  

pstree -a /*显示进程对应的命令行*/  

pstree -u /*显示进程对应的用户名信息*/  

pstree -p /*显示进程对应的进程号信息*/

kill  

终止指定进程号的进程,PID可以通过ps命令获得  

格式:kill [-9] <PID号>  

KILL -9 /*无条件强行终止进程*/  

killall  

与kill命令相似  

格式:killall [-9] <进程名>  

free  

查看系统内存,交互空间的使用情况  

格式:free  [-bkm]  

free -b /*以Byte为单位显示信息*/  

free -k /*以Kb为单位显示信息*/  

free -m /*以Mb为单位显示信息*/

**************************环境相关*********************

echo  

显示指定的字符串或变量的内容,不指定任何参数时将显示一个空行  

read  

从标准输入读入一个字符串并赋值给指定的变量  

read -p /*在接受输入内容前显示提示字符串的内容,以增强交互性*/  

export  

将局部变量导出为全局变量或取消设置,允许在命令中直接为变量赋值  

export -p /*查看当前命令环境中导出的全局变量  

export -n /*取消全局变量的全局属性*/  

exit  

退出当前shell程序或命令环境,并返回一个退出状态的数字(0为正常,1为异常

********************************按名称查询文件****************************************** 
[root@emed4test /]# find / -name install.log 
#####################查看当前线程################################ 
[root@jyyy ~]# ps -aux 
5、查看进程情况 
[root@localhost /]# ps -ef|grep rpc 
********************************显示某一进程实时耗用的资源************************************************ 
top -p processId  显示某一进程实时耗用的资源 
********************************显示包含该字符串的文件路径****************************************** 
[root@emed4test /]# locate install.html. 
**********************************linux快捷键*************************** 
----------------------------------------------------------- 
1、将光标移到行首   Ctrl + a 
2、将光标移到行尾   Ctrl + e 
3、擦除光标前的整行 Ctrl + u 
4、擦除光标后的整行 Ctrl + k 
5、删除光标前的一个词 Ctrl + w  (以空格分隔) 
6、清屏             Ctrl + l 
7、杀掉当前进程     ctrl + c 
8、重起             Ctrl + Alt + Del 
*****************************************用vi修改文件************************************** 
先启动shell:  bash 
vi filename 
切换模式                   i/esc    (修改模式显示insert,命令模式无显示) 
输入命令冒号加行号数字     :1   即跳到第一行 
跳到文件尾ctrl g 
找某个关键字用             /关键字    按n向下找 
输入:wq           保存修改并退出 
apache的配置文件在conf/httpd.conf 通常修改影响压力测试的最大和最小进程数

***********************用户和组管*******************

useradd  

添加系统用户  

格式:useradd [选项] <用户名>  

useradd -d /*制定用户的宿主目录*/  

useradd -e /*指定用户的账号失效时间,可使用YYYY-MM-DD的日期格式*/  

useradd -g /*指定用户的基本组名,也可以使用GID*/  

useradd -G /*指定用户的公共组名,也可以使用GID*/  

useradd -M /*不为用户建立并初始化宿主目录*/  

useradd -s /*指定用户的登陆shell环境*/  

useradd -u /*指定用户的UID号*/  

passwd  

设置系统用户密码,及锁定解锁用户帐户,若为指定用户,默认设置当前用户密码  

格式:passwd [选项] <用户名>  

passwd -d /*清空指定用户密码*/  

passwd -l /*锁定指定用户账户*/  

passwd -S /*查看指定用户状态*/  

passwd -u /*解锁指定用户账户*/  

usermod  

修改指定用户帐户信息,大部分选项与useradd命令中的相同,不再赘余!可参考useradd选项设置  

格式:usermod [选项] <用户名>

userdel  

删除指定用户帐户  

格式:userdel [-r] <用户名>  

userdel -r /*删除用户后,也将该用户的宿主目录一并删除*/  

groupadd  

添加一个系统用户组  

格式:groupadd [-g] <组名>  

groupadd -g /*为新建的组指定GID组标记*/  

groupdel  

删除一个系统用户组  

格式:groupdel  <组名>  

su  

切换为另一个用户身份,不指定参数时默认切换到root用户  

格是:su [-l] [目标用户名]

su -l /*使用目标用户的登陆shell环境,该选项可简写为"-" 

id  

输出指定用户的身份标记信息,省略用户名参数时则输出当前用户的信息  

格式:id [选项] <用户名>  

id -u /*只显示有效用户信息*/  

id -g /*只显示有效组信息*/  

id -n /*只输出用户名称*/

 

 

/*************************查看日志常用*************************/

1、more命令2、cat命令3:tac命令,倒序显示4、head命令,可以指定显示那些内容5、tali命令,可以指定显示那些内容6、less 与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页! 


1、more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比; 

# more /etc/profile 

  more 的语法、参数和命令; 

more [参数选项] [文件] 

参数如下: 
+num                    从第num行开始显示; 
-num                    定义屏幕大小,为num行; 
+/pattern       从pattern 前两行开始显示; 
-c                      从顶部清屏然后显示; 
-d                      提示Press space to continue' q ' to quit.(按空 键继续,按q键退出),禁用响铃功能; 
-l                      忽略Ctrl+l (换页)字符; 
-p                      通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似; 
-s                              把连续的多个空行显示为一行; 
-u                              把文件内容中的下划线去掉 

  退出more的动作指令是q 

  more 的参数应用举例; 

# more -dc /etc/profile    注:显示提示,并从终端或控制台顶部显示; 
# more + 4 /etc/profile      注:从profile的第4行开始显示; 
# more - 4 /etc/profile      注:每屏显示4行; 
# more +/MAIL /etc/profile     注:从profile中的第一个MAIL单词的前两行开始显示; 

  more 的动作指令; 

  我们查看一个内容较大的文件时,要用到more的动作指令,比如ctrl+f(或空格键)是向下显示一屏,ctrl+b是返回上一屏; Enter键可以向下滚动显示n行,要通过定,默认为1行; 

  我们只说几个常用的;自己尝试一下就知道了; 

Enter         向下n行,需要定义,默认为1行; 
Ctrl+f                  向下滚动一屏; 
空 键                       向下滚动一屏; 
Ctrl+b          返回上一屏; 
=                               输出当前行的行号; 
:f                      输出文件名和当前行的行号; 
v                               调用vi编辑器; 
! 命令                        调用Shell,并执行命令; 
q                               退出more 

  当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的; 

  其它命令通过管道和more结合的运用例子; 

  比如我们列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来,比如: 

# ls -l /etc  |more 

2、cat命令 

使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 
参数: 
-n 或 --number 由 1 开始对所有输出的行数编号 
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 
-v 或 --show-nonprinting 
范例: 
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。 
范例: 
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 
cat -n textfile1 > textfile2 
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。 
cat -b textfile1 textfile2 >> textfile3 
cat /dev/ null > /etc/test.txt 此为清空/etc/test.txt档案内容 
cat 也可以用来制作 image file。例如要制作软碟的 image file,将软碟放好后打 
cat /dev/fd0 > OUTFILE 

3:tac命令,倒序显示 

tac: 从最后一行开始显示,可以看出 tac 是 cat 的反向显示! 

4、head命令,可以指定显示那些内容 

语法: 

[root @test /root ]# head [-n number] [檔名] 
参数说明: 
-n :显示 number 行 

说明: 
head 的英文意思就是『头』啦,那么这个东东的用法自然就是显示出一个档案的前几行啰!没错!就是这样!若不加参数就默认输出前面十行内容,不信自己操作一下,也可以自定义输出的行数 那就加入『 head -n number filename 』即可! 
比如我们显示/etc/profile的前10行内容,应该是:# head -n 10 /etc/profile 

5、tali命令,可以指定显示那些内容 

tail 是显示一个文件的内容的后多少行; 

  用法比较简单; 

tail   -n  行数值  文件名; 

  比如我们显示/etc/profile的最后5行内容,应该是: 

# tail  -n 5 /etc/profile 


6、less 与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页! 

more ,less 

其实这两个命令有极大的相似之处都是分页显示档案内容,但是区别也是有的,如下: 

1)more:以百分比的形式分页显示,提示给用户已经显示了多少内容 

     less:没有百分比的提示 

2)less更加灵活,可用通过【page down】【page up】上翻下翻页查看已经显示出的内容,而more不具备 

3)对less显示出的内容中可以使用 / ' 字符 ' 输入需要查找的字符或者字符串并高亮显示,而more 不具备 

3. nl 

显示档案内容时输出行号,跟cat -n类似的功能,也是全盘输出

 

 more & less 用 cat 的確可以顯示一個檔案的的內容﹐但如果檔案很長﹐超過一個熒幕怎麼辦﹖

您可以按著 Shift 鍵﹐再配合 PageUP 和 PageDown 鍵來回翻閱熒幕。但畢竟有限和不方便﹐您最好用 more 命令看一個檔案﹐這樣﹐結果只顯示一個熒幕的內容﹐然後您按 Enter 鍵的話﹐則往下捲動一行﹔如果按空白鍵的話﹐則往下捲動一個熒幕。同時﹐會在最底下告訴您目前所顯示的百分比。當檔案顯示到最後一行的時候﹐命令就結束。

不過﹐用 more 命令卻不能往上翻頁哦﹐如果您想要在顯示檔案的時候能夠上下來回翻頁﹐那就用 less 命令吧。這樣﹐您按 Enter 或向下方向鍵﹐則往下捲動一行﹔按空白鍵或 PageDown 則往下捲動一個熒幕﹔按向上方向鍵則往上捲動一行﹔按 PageUp 則往上捲動一個熒幕。但是﹐用 less 命令就算檔案顯示最後一行了﹐也不會自動結束﹐您得按 Q 鍵才能離開。

head & tail 好了﹐您用 more 或 less 可以逐頁翻開一個長檔案﹐但有時候您只想看檔案的前面數行﹐而不管後面的內容是什麼﹐那您可以用 head 這個命令。預設上﹐head 只會顯示一個檔案的前 10 行﹐但您可以用 -number 來指定顯示的行數﹕

head -20 /var/log/boot.log

那就可以看到這個檔案的前 20 行內容。但反過來﹐您只想看這個檔案的最後 20 行呢﹖用 tail 命令就是了﹕

tail -20 /var/log/boot.log

和 head 一樣﹐如果您不指定顯示行數﹐那麼 tail 也只顯示檔案的最後 10 行內容。不過﹐tail 還有一個很好用的參數﹐您可以用+number 來顯示第幾行起至檔案結尾的內容﹕

tail +2 /var/log/boot.log

那麼﹐除了第一行之外﹐第 2 行後面的內容都會顯示出來。其實﹐可用的選項很多啦﹐請您自己慢慢發掘囉。

tac 仔細點看﹐這個命令 cat 是調過來寫的﹐那麼它執行結果是否也調過來呢﹖猜對了﹗用 cat 命令可以顯示一個檔案內容﹐而且按每一行的排列順序的先後顯示。而這個 tac 呢﹐也是顯示檔案內容﹐但每一行的排列順序卻是調過來的。也就是﹐最後一行最先顯示﹐最先一行最後顯示。就醬子。 

 

关机:

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。  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时的信息和等待时间。