Linux 常 用 命 令
一:关机命令
1:shutdown
语 法:shutdown [-efFhknr][-t 秒数][时间][警告信息]
说明:shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。使用shutdown命令时在系统将要关机前,系统管理员会通知所有登录的使用者系统将要关闭。而且login指令会被冻结,即新的用户不能再登录。这是最安全的一种关机方法,因为在关机之前所有进程都会收到shutdown所发送的信号。shutdown执行它的工作是送信号给init程序,要求它改变runlevel。runlevel 0被用来停机(halt),runlevel 6是用来重新启动(reboot)系统,而runlevel 1则是被用来让系统进入管理工作可以进行的状态;这是预设的,假定没有-h也没有-r参数给shutdown。
参 数:
-c Cancel Current Process取消目前正在执行的关机程序。当执行"shutdown -h 11:50"指令时,只要按Ctrl+c键就可以中断关机的指令。
-f 重新启动时不执行fsck。
-F 重新启动时执行fsck。
-h 将系统关机(halt)。
-k 只是送出信息给所有用户,但不会实际关机。
-n 不调用init程序进行关机,而由shutdown自己进行。不鼓励使用这个选项,而且该选项所产生的后果往往不总是你所预期得到的。
-r shutdown之后重新启动。
-t<秒数> 送出警告信息和删除信息之间要延迟多少秒。
[时间] 设置多久时间后执行shutdown指令。
[警告信息] 要传送给所有登入用户的信息。
2:reboot
语 法:reboot [-dfinw]
说明:执行reboot指令可让系统停止运作,并重新开机。
参 数:
-d 重新开机时不把数据写入记录文件/var/log/wtmp。本参数具有"-n"参数的效果。
-f 强制重新开机,不调用shutdown指令的功能。
-i 在重开机之前,先关闭所有网络界面。
-n 重开机之前不检查是否有未结束的程序。
-w 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。
3:init
语 法:init [0-6]
功能说明:转换运行级别(runlevel);init 0为关机,init 6为重启。
二:文件目录操作命令
1:cat
语 法:cat [选项列表] [文件列表]...
功能说明:连接文件并在标准输出上输出
2:head / tail
语 法:head/tail [OPTION]... [FILE]...
功能说明:输出文件的开始/结尾部分
3:more / less
在显示器上阅读文件的过滤器,less比more功能要强大。
4:cp
语 法:cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][--help][--spares=<使用时机>][--version][源文件或目录][目标文件或目录] [目的目录]
说明:复制文件或目录。cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
参 数:
-a或--archive 此参数的效果和同时指定"-dpR"参数相同。
-b或--backup 删除,覆盖目标文件之前作备份,备份文件会在字尾加上一个备份字符串。
-d或--no-dereference 复制符号链接作为符号链接而不是复制它指向的文件, 并且保护在副本中原文件之间的硬链接.
-f或--force 强行复制文件或目录,不论目标文件或目录是否已存在。
-i或--interactive 覆盖既有文件之前先询问用户。
-l或--link 对源文件建立硬连接,而非复制文件。
-p或--preserve 保留源文件或目录的属性。
-P或--parents 保留源文件或目录的路径。
-r 递归处理,将指定目录下的文件与子目录一并处理。
-R或--recursive 递归处理,将指定目录下的所有文件与子目录一并处理。
-s或--symbolic-link 对源文件建立符号连接,而非复制文件。
-S<备份字尾字符串>或--suffix=<备份字尾字符串> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号"~"。
-u或--update 使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标文件并不存在,才复制文件。
-v或--verbose 显示指令执行过程。
-V<备份方式>或--version-control=<备份方式> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用"-S"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字串。
-x或--one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。
--help 在线帮助。
--sparse=<使用时机> 设置保存稀疏文件的时机。
--version 显示版本信息。
5:rm
语 法:rm [-dfirv][--help][--version][文件或目录...]
说明:删除文件或目录。执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
参 数:
-d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或--force 强制删除文件或目录。
-i或--interactive 删除既有文件或目录之前先询问用户。
-r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--version 显示版本信息。
6:grep
语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
说明:查找文件里符合条件的字符串。grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
参 数:
-a或--text 不要忽略二进制的数据。
-A<显示列数>或--after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内容。
-b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
-B<显示列数>或--before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。
-c或--count 计算符合范本样式的列数。
-C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
-E或--extended-regexp 将范本样式为延伸的普通表示法来使用。
-f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
-F或--fixed-regexp 将范本样式视为固定字符串的列表。
-G或--basic-regexp 将范本样式视为普通的表示法来使用。
-h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i或--ignore-case 忽略字符大小写的差别。
-l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。
-n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
-q或--quiet或--silent 不显示任何信息。
-r或--recursive 此参数的效果和指定“-d recurse”参数相同。
-s或--no-messages 不显示错误信息。
-v或--revert-match 反转查找。
-V或--version 显示版本信息。
-w或--word-regexp 只显示全字符合的列。
-x或--line-regexp 只显示全列符合的列。
-y 此参数的效果和指定“-i”参数相同。
--help 在线帮助。
7:mv
语 法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]
说明:移动或更名现有的文件或目录。mv可移动文件或目录,或是更改文件或目录的名称。
参 数:
-b或--backup 若需覆盖文件,则覆盖前先行备份。
-f或--force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
-i或--interactive 覆盖前先行询问用户。
-S<附加字尾>或
--suffix=<附加字尾> 与-b参数一并使用,可指定备份文件的所要附加的字尾。
-u或--update 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
-v或--verbose 执行时显示详细的信息。
-V=<方法>或
--version-control=<方法> 与-b参数一并使用,可指定备份的方法。
--help 显示帮助。
--version 显示版本信息。
8:touch
语 法:touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]
说明:改变文件或目录时间。使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。若touch后跟信文件,也可以创建这个新文件。
参 数:
-a或--time=atime或--time=access或--time=use 只更改存取时间。
-c或--no-create 不建立任何文件。
-d<时间日期> 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m或--time=mtime或--time=modify 只更改变动时间。
-r<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
-t<日期时间> 使用指定的日期时间,而非现在的时间。
--help 在线帮助。
--version 显示版本信息。
9:mkdir
语 法:mkdir [-p][--help][--version][-m <目录属性>][目录名称]
说明:建立目录。mkdir可建立目录并同时设置目录的权限。
参 数:
-m<目录属性>或--mode<目录属性> 建立目录时同时设置目录的权限。
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
--help 显示帮助。
--verbose 执行时显示详细的信息。
--version 显示版本信息。
10:rmdir
语 法:rmdir [-p][--help][--ignore-fail-on-non-empty][--verbose][--version][目录...]
说明:删除空目录。
参 数:
-p或--parents 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。
--help 在线帮助。
--ignore-fail-on-non-empty 忽略非空目录的错误信息。
--verbose 显示指令执行过程。
--version 显示版本信息。
11:cd
说明:改变工作目录。
12:pwd
说明:返回当前的工作目录
13:ls
语 法:ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I <范本样式>][-T <跳格字数>][-w <每列字符数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<标注样式>][--quoting-style=<引号样式>][--show-control-chars][--sort=<排序方式>][--time=<时间戳记>][--version][文件或目录...]
说明:列出目录内容。包括文件和子目录的名称。
参 数:
-1 每列仅显示一个文件或目录名称。
-a或--all 下所有文件和目录。
-A或--almost-all 显示所有文件和目录,但不显示现行目录和上层目录。
-b或--escape 显示脱离字符。
-B或--ignore-backups 忽略备份文件和目录。
-c 以更改时间排序,显示文件和目录。
-C 以又上至下,从左到右的直行方式显示文件和目录名称。
-d或--directory 显示目录名称而非其内容。
-D或--dired 用Emacs的模式产生文件和目录列表。
-f 此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。
-F或--classify 在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。
-g 次参数将忽略不予处理。
-G或--no-group 不显示群组名称。
-h或--human-readable 用"K","M","G"来显示文件和目录的大小。
-H或--si 此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。
-i或--inode 显示文件和目录的inode编号。
-I<范本样式>或--ignore=<范本样式> 不显示符合范本样式的文件或目录名称。
-k或--kilobytes 此参数的效果和指定"block-size=1024"参数相同。
-l 使用详细格式列表。
-L或--dereference 如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。
-m 用","号区隔每个文件和目录的名称。
-n或--numeric-uid-gid 以用户识别码和群组识别码替代其名称。
-N或--literal 直接列出文件和目录名称,包括控制字符。
-o 此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。
-p或--file-type 此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。
-q或--hide-control-chars 用"?"号取代控制字符,列出文件和目录名称。
-Q或--quote-name 把文件和目录名称以""号标示起来。
-r或--reverse 反向排序。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-s或--size 显示文件和目录的大小,以区块为单位。
-S 用文件和目录的大小排序。
-t 用文件和目录的更改时间排序。
-T<跳格字符>或--tabsize=<跳格字数> 设置跳格字符所对应的空白字符数。
-u 以最后存取时间排序,显示文件和目录。
-U 列出文件和目录名称时不予排序。
-v 文件和目录的名称列表以版本进行排序。
-w<每列字符数>或--width=<每列字符数> 设置每列的最大字符数。
-x 以从左到右,由上至下的横列方式显示文件和目录名称。
-X 以文件和目录的最后一个扩展名排序。
--block-size=<区块大小> 指定存放文件的区块大小。
--color=<列表格式> 配置文件和目录的列表格式。
--full-time 列出完整的日期与时间。
--help 在线帮助。
--indicator-style=<标注样式> 在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。
--quoting-syte=<引号样式> 把文件和目录名称以指定的引号样式标示起来。
--show-control-chars 在文件和目录列表时,使用控制字符。
--sort=<排序方式> 配置文件和目录列表的排序方式。
--time=<时间戳记> 用指定的时间戳记取代更改时间。
--version 显示版本信息。
14:clear
说明:清除终端屏幕。
15:wc
说明:输出文件中的字节数、单词数、行数
16:ps
功能说明:报告程序状况。
语 法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称>][-g <群组名称>][-G <群组识别码>][-p <程序识别码>][p <程序识别码>][-s <阶段作业>][-t <终端机编号>][t <终端机编号>][-u <用户识别码>][-U <用户识别码>][U <用户名
称>][-<程序识别码>][--cols <每列字符数>][--columns <每列字符数>][--cumulative][--deselect][--forest][--headers][--help][--info][--lines <显示列数>][--no-headers][--group <群组名称>][-Group <群组识别码>][--pid <程序识别码>][--rows <显示列数>][--sid <阶段作业>][--tty <终端机编号>][--user <用户名称>][--User <用户识别码>][--version][--width <每列字符数>]
补充说明:ps是用来报告程序执行状况的指令,您可以搭配kill指令随时中断,删除不必要的程序。
参 数:
-a 显示所有终端机下执行的程序,除了阶段作业领导者之外。
a 显示现行终端机下的所有程序,包括其他用户的程序。
-A 显示所有程序。
-c 显示CLS和PRI栏位。
c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
-C<指令名称> 指定执行指令的名称,并列出该指令的程序的状况。
-d 显示所有程序,但不包括阶段作业领导者的程序。
-e 此参数的效果和指定"A"参数相同。
e 列出程序时,显示每个程序所使用的环境变量。
-f 显示UID,PPIP,C与STIME栏位。
f 用ASCII字符显示树状结构,表达程序间的相互关系。
-g<群组名称> 此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定。
g 显示现行终端机下的所有程序,包括群组领导者的程序。
-G<群组识别码> 列出属于该群组的程序的状况,也可使用群组名称来指定。
h 不显示标题列。
-H 显示树状结构,表示程序间的相互关系。
-j或j 采用工作控制的格式显示程序状况。
-l或l 采用详细的格式来显示程序状况。
L 列出栏位的相关信息。
-m或m 显示所有的执行绪。
n 以数字来表示USER和WCHAN栏位。
-N 显示所有的程序,除了执行ps指令终端机下的程序之外。
-p<程序识别码> 指定程序识别码,并列出该程序的状况。
p<程序识别码> 此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。
r 只列出现行终端机正在执行中的程序。
-s<阶段作业> 指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
s 采用程序信号的格式显示程序状况。
S 列出程序时,包括已中断的子程序资料。
-t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
t<终端机编号> 此参数的效果和指定"-t"参数相同,只在列表格式方面稍有差异。
-T 显示现行终端机下的所有程序。
-u<用户识别码> 此参数的效果和指定"-U"参数相同。
u 以用户为主的格式来显示程序状况。
-U<用户识别码> 列出属于该用户的程序的状况,也可使用用户名称来指定。
U<用户名称> 列出属于该用户的程序的状况。
v 采用虚拟内存的格式显示程序状况。
-V或V 显示版本信息。
-w或w 采用宽阔的格式来显示程序状况。
x 显示所有程序,不以终端机来区分。
X 采用旧式的Linux i386登陆格式显示程序状况。
-y 配合参数"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
-<程序识别码> 此参数的效果和指定"p"参数相同。
--cols<每列字符数> 设置每列的最大字符数。
--columns<每列字符数> 此参数的效果和指定"--cols"参数相同。
--cumulative 此参数的效果和指定"S"参数相同。
--deselect 此参数的效果和指定"-N"参数相同。
--forest 此参数的效果和指定"f"参数相同。
--headers 重复显示标题列。
--help 在线帮助。
--info 显示排错信息。
--lines<显示列数> 设置显示画面的列数。
--no-headers 此参数的效果和指定"h"参数相同,只在列表格式方面稍有差异。
--group<群组名称> 此参数的效果和指定"-G"参数相同。
--Group<群组识别码> 此参数的效果和指定"-G"参数相同。
--pid<程序识别码> 此参数的效果和指定"-p"参数相同。
--rows<显示列数> 此参数的效果和指定"--lines"参数相同。
--sid<阶段作业> 此参数的效果和指定"-s"参数相同。
--tty<终端机编号> 此参数的效果和指定"-t"参数相同。
--user<用户名称> 此参数的效果和指定"-U"参数相同。
--User<用户识别码> 此参数的效果和指定"-U"参数相同。
--version 此参数的效果和指定"-V"参数相同。
--widty<每列字符数> 此参数的效果和指定"-cols"参数相同。
17:su
功能说明:变更用户身份。
语 法:su [-flmp][--help][--version][-][-c <指令>][-s <shell>][用户帐号]
补充说明:su可让用户暂时变更登入的身份。变更时须输入所要变更的用户帐号与密码。
参 数:
-c<指令>或--command=<指令> 执行完指定的指令后,即恢复原来的身份。
-f或--fast 适用于csh与tsch,使shell不用去读取启动文件。
-.-l或--login 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
-m,-p或--preserve-environment 变更身份时,不要变更环境变量。
-s<shell>或--shell=<shell> 指定要执行的shell。
--help 显示帮助。
--version 显示版本信息。
[用户帐号] 指定要变更的用户。若不指定此参数,则预设变更为root。
18:top
功能说明:显示,管理执行中的程序。
语 法:top [bciqsS][d <间隔秒数>][n <执行次数>]
补充说明:执行top指令可显示目前正在系统中执行的程序,并通过它所提供的互动式界面,用热键加以管理。
参 数:
b 使用批处理模式。
c 列出程序时,显示每个程序的完整指令,包括指令名称,路径和参数等相关信息。
d<间隔秒数> 设置top监控程序执行状况的间隔时间,单位以秒计算。
i 执行top指令时,忽略闲置或是已成为Zombie的程序。
n<执行次数> 设置监控信息的更新次数。
q 持续监控程序执行的状况。
s 使用保密模式,消除互动模式下的潜在危机。
S 使用累计模式,其效果类似ps指令的"-S"参数。
三:帮助类命令
1:man
说明:格式化并显示在线帮助手册页
2:help
说明:大部分命令后都有一个-help选项可以得到命令的使用说明。
四:linux下的文本编辑器VI的使用命令
1、移动光标
H 移到屏幕的左上角
M 移到屏幕的中间行开头
L 移到屏幕的最后一行
[ 移到文件开始位置 (双击)
] 移到文件结束位置(双击)
:n 移到文件的第n行
Ctrl + b 屏幕上卷一个菜单
Ctrl + F 屏幕下卷一个菜单
h 将光标左移一格
l 将光标右移一格
j 将光标下移一格
k 将光标上移一格
w 将光标移到下一个小字的前面
b 将光标移到前一个小字的前面
0 把光标移到当前行的第一个字符处
$ 把光标移到当前行的最后一个字符处
2、修改内容
nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删
除光标所在的字符)
ndw 删除光标位置其实的n个字符组(dw删除光标所在的单词)
d0 将行的开始到光标位置的字符全部删除
d$ 或D 将光标位置起始到行尾的字符全部删除
ndd 将光标位置起始的n行(整行)删除(dd表示删除光标所在行)
:start,endd 删除文件的第start到end行
rc 把光符所在字符替换成c
R 覆盖本行内容
u 恢复上一次的修改
cw 改变光标所在单词
C 改变一行光标位置以后的部分
cc或S 修改一整行
3、寻找替换
/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。
?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始。
n 在上次指定的方向上,再次执行
N 在上次指定的方向的相反方向上,再次执行上次定义的查找
:%s/old/new/g 查找所有old并替换为new
:start,ends/old/new 替换指定区域
4、编辑切换
a 在光标之后开始输入文本
A 在行尾开始输入文本
I 在光标之前开始输入文本
i 在行首第一个非空白字符前输入文本
o 在光标所在行后插入一空行
O 在光标所在行前插入一空行
5、复制及移动文件
yy 把当前行放入缓冲区
yw 把光标所在的单词放入缓冲区
p 将缓冲区内容取到光标所在行的下面一行
P 将缓冲区内容取到光标所在行的上面一行
:first,last co dest 将first 到last行的数据复制到目标行(dest)下面
:Start,end m dest 将start 到 end行的数据移动到目标行(dest)下
:r filename 将指定文件的内容读入光标所在行下
6、其它
vi 进入vi而不读入任何文件
vi filename 进入vi并读入指定名称的文件(新、旧文件均可)。
vi +n filename 进入vi并且由文件的第几行开始。
vi + filename 进入vi并且由文件的最后一行开始
vi filename(s) 进入vi并且将各指定文件列入名单内,第一个文件先读入
u 取消前一指令
Ctrl + l 刷新屏幕显示
:set nu 显示文件的行号,但不会存文件
:set nonu 解除行号显示
e! 重新装入当前文件,若当前文件有改动,则丢弃以前的改动
:sh 启动sh ,从sh中返回可用exit或ctrl+d
:! Command 执行命令command
!! 重新执行上次的:! Command子命令
7、增补
1)删除多余的回车符:
※vi中执行:g/^Ms///g,其中^M为ctrl+v和ctrl+m组和输入
※执行dos2unix filename
※执行sed 's/^M//' test.sh > back.sh
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其他
1.find
比如你要找linux系统中名字为mysql的文件,可以
find / -name "mysql"
2.tac
3.where is
4.ln
5.ls -l |more 分页看
其他用户命令
1.Useradd
2.Passwd
3.groupadd
4.Su
5.exit