Linux系统管理命令
wall命令
功能:这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:
# wall < 文件名
这样就能对所有的用户发送信息了。
在上面的例子中符号“<”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。例如:
# wall ‘Thank you!’
Broadcast message from root (tty1) Fri Nov 26 14:15:07 1999…
Thank you!
#
执行以上命令后,用户的屏幕上显示出“Thank you!”信息后,并不出现系统提示符$(#),再次按回车键后,屏幕出现系统提示符。
write命令
功能:write命令的功能是向系统中某一个用户发送信息。
格式:write 用户帐号 [终端名称]
例如: $ write xxq hello
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键< Ctrl+c>即可。
上述命令执行的结果是,用户xxq的屏幕上会显示:
message from [email protected] tty1 at 15:51…
hello
EOF
mesg指令
mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
# mesg y
否则,输入:
# mesg n
对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为y。如果mesg后不带任何参数,则显示当前的状态是y还是n,如:
$ mesg is
y
或:
# mesg is
n
sync命令
功能:sync命令是在关闭Linux系统时使用的。用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。 sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。
格式: sync
shutdown命令
功能:shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
格式:shutdown [选项] [时间] [警告信息]
参数:
- k 并不真正关机,而只是发出警告信息给所有用户。
- r 关机后立即重新启动。
- h 关机后不重新启动。
- f 快速关机,重启动时跳过fsck。
- n 快速关机,不经过init程序。
- c 取消一个已经运行的shutdown。
需要特别说明的是,该命令只能由超级用户使用。
例1:系统在十分钟后关机,并且马上重新启动。
# shutdown – r +10
例2:系统马上关机,并且不重新启动。
# shutdown – h now
free命令
功能:free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
格式: free [-b | -k | -m]
参数:
-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以兆字节为单位显示。
例:
$ free
total used free shared buffers cached
Mem: 63076 32020 31056 8204 16360 6048
-/+ buffers/cache: 9612 53464
Swap: 64476 2240 62236
uptime命令
功能:uptime命令显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
格式: uptime
例:
# uptime
4:43pm up 1 day, 5:51, 2 user, load average: 0.01, 0.01, 0.00
Linux与用户有关的命令
passwd命令
出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令。因此使用useradd命令增加时,还需使用passwd命令为每一位新增加的用户设置口令;用户以后还可以随时用passwd命令改变自己的口令。
该命令的一般格式为: passwd [用户名] 其中用户名为需要修改口令的用户名。只有超级用户可以使用“passwd 用户名”修改其他用户的口令,普通用户只能用不带参数的passwd命令修改自己的口令。
该命令的使用方法如下:
输入
passwd< Enter>;
在(current) UNIX passwd:下输入当前的口令
在new password:提示下输入新的口令(在屏幕上看不到这个口令):
系统提示再次输入这个新口令。
输入正确后,这个新口令被加密并放入/etc/shdow文件.选取一个不易被破译的口令是很重要的.
选取口令应遵守如下规则:
口令应该至少有六位(最好是八位)字符;
口令应该是大小写字母、标点符号和数字混杂的。
超级用户修改其他用户(xxq)的口令的过程如下,
# passwd xxq
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
#
su命令
这个命令非常重要。它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以打exit。
该命令的一般形式为: su [选项] [? ] [使用者帐号]
说明:若没有指定使用者帐号,则系统预设值为超级用户root。
参数:
? c 执行一个命令后就结束。
? 加了这个减号的目的是使环境变量和欲转换的用户相同。
? m 保留环境变量不变。
例1: 变成root用户
$ su ?
password: 【输入超级用户的密码】
例2: 变成xu使用者,并执行一个命令就结束。
$ su -xu ? c “rmdir cat1”
Linux目录的创建与删除命令
mkdir命令
功能:创建一个目录(类似DOS下的md命令)。
语法:mkdir [选项] dirname
说明:该命令创建由dirname命名的目录。要求创建目录的用户在当前目录中(dirname的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
参数:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
例如:在当前目录中建立inin 和inin下的/mail目录,也就是连续建两个目录。
$ mkdir - p - m 700 ./inin/mail/
该命令的执行结果是在当前目录中创建嵌套的目录层次inin /mail,权限设置为只 有文件主有读、写和执行权限。
rmdir 命令
功能:删除空目录。
语法:rmdir [选项] dirname
说明:dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。(注意,rm - r dir命令可代替 rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
参数:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
例如:
$ rmdir - p /usr/xu/txt 将/usr/xu/txt目录删除。
改变工作目录、显示目录内容命令
cd 命令
功能:改变工作目录。
语法:cd [directory]
说明:该命令将当前目录改变至directory所指定的目录。若没有指定directory,则回到用户的主目录。为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。
该命令可以使用通配符(通配符含义请参见第十章)。
例如:假设用户当前目录是:/home/xu,现需要更换到/home/xu/pro目录中,
$ cd pro 此时,用户可以执行pwd命令来显示工作目录。
$ pwd /home/xu/pro
pwd 命令
功能:在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。
语法:pwd
说明:此命令显示出当前工作目录的绝对路径。
例:
$ pwd /home/xu 显示的路径名为/home/xu,每个目录名都用“/”隔开,根目录以开头的“/”表示。
ls 命令
功能:ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。
语法:ls [选项] [目录或是文件]
对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
参数:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- b 对文件名中的不可显示字符用八进制逃逸字符显示。
- c 按文件的修改时间排序。
- C 分成多列显示各项。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信息。
- f 不排序。该选项将使lts选项失效,并使aU选项有效。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- i 在输出的第一列显示文件的i节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组文件大小 建立或最近修改的时间 名字
对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
目录中的总块数显示在长格式列表的开头,其中包含间接块。
- L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
- m 输出按字符流格式,文件跨页显示,以逗号分开。
- n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- o 与l选项相同,只是不显示拥有者信息。
- p 在目录后面加一个“/”。
- q 将文件名中的不可显示字符用“?”代替。
- r 按字母逆序或最早优先的顺序显示输出结果。
- R 递归式地显示指定目录的各个子目录中的文件。
- s 给出每个目录项所用的块数,包括间接块。
- t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修改时间。
- u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间标记修改为最后一次访问的时间。
- x 按行显示出各排序项的信息。
-----------------------------------------------------------------------------------------------------
用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- 普通文件
d 目录
l 符号链接
b 块设备文件
c 字符设备文件
后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读
w 写
x 执行。对于目录,表示进入权限。
s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
- 没有设置权限。
------------------------------------------------------------------------------------------------------
例1:列出当前目录的内容。
$ ls
-F bin/ lib/ var/
etc/ tmp/ index. html
例2:列出某个目录的内容。
$ ls –F /home/xu Mai1/
map1e/ mm/ ptr/ telnetd*
fd/ mbox mount sobsrc. tgz tmp/
例3:列出某个目录下所有的文件(包括隐藏文件)。
$ 1s -aF /home/xu
./ . .e1m/ .netscape/ map1e ptr/
../ .fvwin2rc95 .term/ mbox sobsrc. tgz
.Xauthority .kermrc Mai1/ mm/ te1netd*
.bash-history .ncftp/ fd/ mount tmp/
例4:用长格式列出某个目录下所有的文件(包括隐藏文件)。
$ 1s -laF /home/xu
total 584
drwxr-xr-x l2 root root 1024 Nov 02 22:07 ./
drwxr-xr-x 15 bbs bbs 1024 Jul 29 07:08 ../
-rw-r--r-- 1 yu users 4343 Ju1 29 22:20 .bash-history
drwx------ 2 yu users 1024 May 17 06:36 .e1m/
--rw------ 1 root root 4628 Jun 2 1l:34 mbox
lrwxrwxrwx 1 root root l4 Ju1 29 03:08 mount->/mnt
drwxrwxr-x 4 root root 1024 Ju1 23 03:43 ptr/
-rw--r--r- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz
-rwxr-xr-x l root users 60177 Jun 8 01:29 telnetd*
drwxr-xr-x 2 root root 1024 Mar 6 22:32 tmp/
例5:用长格式列出某个目录下所有的文件包括隐藏文件和它们的i节点号。并把文件属主和属组以UID号和GID号的形式显示。
$ 1s -1ainF /home/xu tota1 584 399672
drwxr-xr-x l2 0 0 l024 Nov 30 22:07 ./ 333907
drwxr-xr-x 15 9999 99 l024 Ju1 29 07:08 ../ 39980l
-rw------- l 0 0 0 Jun 2 2:09 .Xauthority 399679
-rw-r--r-- 1 505 l00 4343 Jul 29 22:20 .bash-hist0ry 30l763
drwxr----- 2 505 100 l024 May 17 06:36 .e1m/ ……