Linux的命令系统4
Linux的图形界面虽然使用简单、直观,但是会占用大量系统资源,降低运行效率,增加安全的隐患
。学习和工作中,应尽可能使用 Linux系统的命令行界面,通过命令来完成操作。要熟练掌握 Linux操作系统,就必须熟练运用 Linux下的各种命令,本章将为大家介绍 Linux命令的基本功能和使用。
4.1shell
shell是 —个命令解释程序,它在用户和操作系统之间提供了一个可交互接口。
常见 shell版本
Bash shell的命令分为两类:
( 1)内部命令
( 2)外部命令
shell名 详 细 描 述 文件位置
sh Unix下应用广泛的 shell /bin/sh
bash 最常用的 shell,Red Hat 9默认 shell /bin/bash
csh 与 C编程语言相近,被很多系统支持 /bin/csh
tcsh 微型 shell,在一些小型系统里应用 /bin/tcsh
转义符与通配符转义符指的是在 shell中有特殊含义的字符
shell还有一套被称为通配符的专用符号,它们能搜索
、匹配并产生一个文件名列表。
通配符 功 能 说 明表示该位置可以是一个任意的单个字符
* 表示该位置可以是若干个任意字符
[ ] 可替代括号中出现的任何单个字符字符 说 明
\ 反斜杠,将特殊符号字符的特殊含义屏蔽掉; 分号,一行上放多个命令
$ 表明一个变量名的开头
# 用于注释命令别名命令别名指的是用一个简单的名字来代替一条复杂的命令(起别名),定义命令别名使用 alias命令。
语法,alias alias-name=’ original-command’
其中,alias-name是用户给命令取的别名,original-
command是原来的命令和参数。
例 1:创建 ls –a的别名 lsa。
# alias lsa='ls -a'
例 2;取消别名 ls –a的别名 lsa。
# unalias lsa
重定向系统定义了三个标准文件,即标准输入( stdin)
、标准输出( stdout)和标准错误输入( stderr)。
默认时,标准输入指的是终端键盘,标准输出指的是屏幕。 Linux具有重定向功能,让用户能够将数据输出到一个文件中保存起来,而不一定要显示在屏幕上;也可以重新定向输入,从指定的文件而不是键盘读入输入。
输入重定向输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。
输入重定向一般形式为:命令 <文件
# cat</home/bxs/mydoc
输出重定向输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,
该命令的输出就不显示在屏幕上,而是写入到指定文件中。
输出重定向的一般形式为:命令 >文件名
#ls –l /root >/home/bxs/my.out
追加输出重定向一般形式为:命令 >>文件名
# ls –l /root >/home/bxs/my.out
管道管道将一个程序或命令的输出作为另一个程序或命令的输入。
,|”通常放在两个命令的中间,将,|”左边的命令作为,|”右边的命令的输入。例如:
# rpm –qa | grep samba
shell变量
shell不但是命令解释器,而且本身还是一种解释型的程序设计语言。
shell中有三种变量:
系统变量
环境变量
用户变量
4.2 Linux的启动和关闭
Linux是多用户、多任务操作系统,每个用户都必须使用帐号才可以登陆系统,并且使用结束以后还需要注销帐号。此外,系统管理员还需要知道如何关闭系统和重新启动系统。本节将介绍在 Redhat Linux
9下登陆、注销和关机的相关知识。
登陆系统使用帐号进行登陆 Linux系统。一个帐号包括用户名和口令两部分,只有用户名和口令都正确才可以正常登陆系统。
注销系统用户使用系统结束以后,为保证帐号的安全,需要使用 logout命令注销系统。用户在文本提示符下直接输入 logout命令即可注销系统:
# logout
关闭和重启系统 --shutdown命令
shutdown命令可以安全地关闭或重启 Linux系统
shutdown [选项 ] [时间 ] [警告信息 ]
-k:并不真正关机,而只是发出警告信息给所有用户
-r:关机后立即重新启动。
-h:关机后不重新启动。
-f:快速关机,重启动时跳过检查 Linux文件系统。
-F:关机时,强迫进行 fsck动作。
time:设定关机的时间。
Message:传送给所有使用者的警告信息。
shutdown命令(续 1)
例 1:两分钟后重启系统,并向所有使用者发布
,System will be down in 2 minutes”的信息。
# shutdown -r +2 "System will be down
in 2 minutes“
例 2:系统马上关机,并且不重新启动。
# shutdown – h now
例 3:在 23,00的时候关机。
# shutdown 23:00
halt命令
Halt命令用于关闭计算机。
halt [选项 ]
-n:在关机前不做将内存资料写回硬盘的动作。
-d:不把记录写到 /var/log/wtmp 里
-f:强迫关机,不调用 shutdown命令。
-i:在关机之前先停止所有与网络相关的装置。
-p:当关机后关闭电源。
poweroff命令
poweroff用于关闭计算机系统
poweroff [选项 ]
-p:关闭计算机后再关闭电源。
-f:强制关机,不调用 shutdown命令。
例:关闭系统后再关闭电源。
# poweroff -p
init命令
iinit命令改变系统运行级别
init [0123456] [选项 ]
0:关闭系统。
1:进入单用户模式。
2:进入多用户模式(不带网络功能)。
3:进入多用户模式(带网络全功能)。
4:进入用户自定义使用模式。
5:进入 X Window模式。
6:重启系统。
reboot命令
( 1)语法,reboot [选项 ]
( 2)命令说明:用于重新启动计算机系统。
-n:在重开机前不做将内存资料写回硬盘的动作。
-d:不把记录写到 /var/log/wtmp 里
-f:强迫重开机,不呼叫 shutdown这个命令。
-i:在重开机之前先把所有网络相关的设备停止。
例 1:重启系统。
# reboot
用户界面切换
RedHat Linux有图形界面和文本界面两种操作方式。
在文本模式下,可以通过输入 startx命令直接进入 X
Windows System界面。
# startx
图形界面和文本界面切换的另一种方法是使用 init命令从命令行界面模式进入图形界面模式:
# init 5
从图形界面模式进入命令行界面模式:
# init 3
4.3 Linux文件和目录操作命令文件是 Linux用来存储信息的基本结构,它是被命名的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串构成。 Linux要求文件名的长度限制在 255个字符以内。
文件的类型
Linux系统中有三种基本的文件类型:普通文件、目录文件和设备文件。
( 1)普通文件:普通文件是用户最常接触的文件。它又分为文本文件和二进制文件。
( 2)目录文件:简称为目录,它存储一组位置、大小等与文件有关的信息。
( 3)设备文件,Linux系统把每一个 I/O设备都看成一个文件。
树型目录结构
Linux系统以文件目录的方式来组织和管理系统中的所有文件。 Linux系统目录将系统中所有的文件分级
、分层组织在一起,形成树型层次结构。
显示文件目录命令 ——ls命令
ls显示指定目录或文件的相关信息。
ls [选项 ]目录名例:显示某个目录下所有的文件(包括隐藏文件)。
#1s -a /home/bxs
参数 说 明
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-c 按文件的修改时间排序
-i 在输出的第一列显示文件的 i节点号
-l 列出文件的详细信息
-R 递归式地显示指定目录的各个子目录中的文件
ls命令(续 1)
显示当前目录和文件的详细信息使用 -l参数显示的信息中,可以将文件的详细信息分为七列。
第一列:文件和目录权限,由 10位字符构成:类型(
第 1位)、用户所有者权限(第 2-4位)、用户工作组权限(第 5-7位)、其他用户或组权限(第 8-10位)。
-:普通文件 d:目录 l:符号链接
-B:块设备文件 c:字符设备文件
-P:表示管道文件 s:表示 socket文件
ls命令(续 2)
第二列:硬链接数,即通过 ln命令创建链接时,其数值会加 1。
第三列,UID,文件或目录的所有者。
第四列,GID,文件或目录的工作组。
第五列:文件或目录的大小。
第六列:修改该文件或目录的日期。格式为“月 日 小时”。
第七列:文件或目录名。
切换目录命令 ——cd命令该命令将当前目录改变至目录名所指定的目录。
cd 目录名例 1:从当前目录转到 /usr/bin/目录。
#cd /usr/bin
例 2:转到用户自己的主目录。
#cd ~
例 3:跳到当前目录的上两层目录。
#cd,./..
查看当前目录 ——pwd命令此命令显示出当前工作目录的绝对路径。
语法,pwd
例:显示当前工作目录名。
#pwd
/usr/bin
创建目录 ——mkdir命令
mkdir [选项 ] 目录名创建一个新目录。
-m 对新建目录设置存取权限。
-p 创建目录路径中的尚不存在的目录。
例 2:创建 aaa目录,并在 aaa目录下创建 bbb目录。
#mkdir –p aaa/bbb
例 2:在当前目录下创建权限为 777的 ccc目录。
#mkdir -m 777 ccc
删除目录 ——rmdir命令
rmdir [选项 ] 目录名用于删除空目录。
-p 递归删除目录。当子目录删除后其父目录为空时,也一同被删除。
例 2:在工作目录下的 bbb目录中,删除名为 ccc的子目录。若 ccc删除后,bbb目录成为空目录,则 bbb亦予删除。
# rmdir -p bbb/ccc
建立文件 ——touch命令
touch [选项 ] 文件 1[文件 2]
改变文件的时间记录和创建一个新的文件。
-r 使用参考档的时间记录
-d 设定时间与日期,可以使用各种不同的格式例 1:在当前目录下一次性创建 aa,bb,cc三个文件
#touch {aa,bb,cc}
例 2:将 aa的时间记录改为 2007年 12月 31日 22点 10分
# touch -d "10:10pm12/31/2007" aa
删除文件 ——rm命令
rm [选项 ] 文件删除文件或目录。
-f 强制删除文件,不给用户任何提示。
-I 删除每个文件时提示用户。
-v 删每个文件时输出文件信息。
-r/-R 递归删除目录和子目录。
例 2:强制删除 /aaa文件夹和其中的所有文件。
#rm –fr /root/aaa
复制文件 ——cp命令
cp [选项 ] 源文件或目录 目标文件或目录将给出的文件或目录拷贝到另一文件或目录中。
-f 删除已经存在的目标文件而不提示
-I 覆盖目标文件之前将给出要求用户确认的提示
-r 递归复制目录下所有的子目录和文件例 1:将 /home/bxs下的文件 aa复制到 /root目录下。
# cp /home/bxs/aa /root
移动文件 ——mv命令
mv [选项 ] 源文件或目录 目标文件或目录将文件由一个目录移入另一个目录中。
-I 如果导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答 y或 n。
-f 要覆盖某已有的目标文件时不给任何指示。
例 1:将文件 aa从 /home/bxs移动到 /root。
#mv –f /home/bxs/aa /root
例 2:将文件 aa 更名为 bb。
#mv aa bb
复制文件 ——rcp命令
rcp [参数 ] 源文件或目录 目标文件或目录远端复制文件或目录。
-p 保留源文件或目录的属性,包括拥有者、所属群组、权限与时间。
-r 递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是一个目录。
-k 要求 rcp获得外部许可。
-x 给拷贝的数据流用 DES方法加密。
查找命令 ——find命令
find 起始目录 寻找条件 操作在目录结构中搜索文件,并执行指定的操作。
1.以名称和文件属性为条件查找。
2.以时间为条件查找。
find命令(续 1)
例 1:在 /home/bxs目录下,寻找以,conf结尾的文件
#find /home/bxs –name,*.conf” –ls
例 2:在当前目录下,查找属于 root用户的文件和目录
#find,–user root
例 3:查找当前目录及其子目录下所有最近 5分钟内更新过的文件。
# find,-ctime -5
查找命令 ——whereis命令
whereis [选项 ] 要查找的字符串
whereis命令会在特定目录中查找符合条件的文件。
-b 只查找二进制文件
-m 只查找说明文件
-s 只查找源代码文件例 1:查找 mkdir命令的所有信息。
# whereis mkdir
例 2:查看 rmdir命令的手册信息。
# whereis -m rmdir
查找命令 ——which命令
which [选项 ] 要查找的字符串查找命令或别名。
--skip-alias 跳过别名的查找
--skip-dot 跳过文档的查找
--all 查找所有信息例 1:查找 mv命令的信息。
# which mv
例 2:查找 mv命令,跳过别名查找。
# which --skip-alias mv
查找命令 ——locate命令
locate 相关字
locate命令用于查找文件,需要一个数据库。
-u 建立资料库。
-r 使用正规运算式,做寻找的条件。
-o 指定资料库存的名称。
-d 指定资料库的路径。
例 1:查找相关字 issue。
#locate issue
文件显示 ——cat命令
cat [选项 ] 文件名显示文本文件内容。
-n 由 1开始对所有输出的行数编号。
-b 和 -n相似,只不过对于空白行不编号。
-s 当遇到有连续两行以上的空白行,就代换为一行空白行。
-e 在每行末尾显示 $符号。
cat命令(续 1)
例 1:显示文件 test的内容,同时显示每一行的行号,
并在每行末尾显示 $符号。
# cat -en test
例 2:把 textfile1的文件内容加上行号后输入 textfile2
这个文件里。
# cat -n testfile1>testfile2
例 3:把 textfile1和 textfile3的文件内容加上行号(空白行不加)之后将内容附加到 textfile4。
# cat -b testfile1 testfile3>>testfile4
文件显示 ——head命令
head [参数 ] 文件名显示文件的前几行。
-c N 输出文件的前 N个字节。
-n N 输出文件的前 N行。
例 1:显示 smb.conf文件的前 200个字节内容。
# head -c 200 /etc/samba/smb.conf
例 2:显示 smb.conf文件的前 5行内容。
# head -n 5 /etc/samba/smb.conf
文件显示 ——tail命令
tail [选项 ] 文件名显示文件的最后一部分。
-c N 显示文件后部的 N比特大小的部分
-n N 显示文件的尾部 N行。
-v 一直输出,==>文件名 <==”形式。
例 1:显示 smb.conf文件的后 200个字节内容。
#tail -c 200 -v /etc/samba/smb.conf
文件显示 ——more命令
more [选项 ] 文件名一页一页的显示文件内容。
-num 一次显示的行数
+num 从第 num行开始显示
-s 将连续两行以上的空白行代换为一行空白行例 1:逐页显示 smb.conf文件内容,一次显示 10行。
# more -10 /etc/samba/smb.conf
例 2:从第 20行开始显示 smb.conf文件内容。
# more +20 /etc/samba/smb.conf
文件显示 ——less命令
less [选项 ] 文件名用来按页显示文件。
-E 第一次到文件尾后自动退出
-s 将多个空行压缩成一个空行
-n 显示时去掉行号例 1:逐页显示 /etc/vsftpd/vsftpd.conf的文件内容。
# less /etc/vsftpd/vsftpd.conf
例 2:显示 test文件,出现多个空行时只显示一个
# less -s test
改变存取权限 ——chmod命令
chmod命令用来改变文件或目录的访问权限
( 1)文字设定法
chmod [who] [+ | - | =] [mode] 文件名操作对象 who可是下述中的任一个或者它们的组合:
u( user):表示“用户”,即文件或目录的所有者
g( group):表示“同组用户”,即与文件属主有相同组 ID的所有用户
o( others):表示“其他用户”
a( all):表示“所有用户”
chmod命令(续 1)
操作符号可以是:
+:添加某个权限
-:取消某个权限
=:赋予给定权限并取消其他所有权限(如果有的话)
设置 mode所表示的权限可用下述字母的任意组合:
r:可读
w:可写
x:可执行
s:表示特殊权限
chmod命令(续 2)
( 2)数字设定法
chmod [mode] 文件名
0表示没有权限,1表示可执行权限,2表示可写权限,
4表示可读权限,然后将其相加。所以数字属性的格式应为 3个从 0到 7的八进制数,其顺序是 u,g,o。
chmod命令(续 3)
例 1:设定文件 text2的属性为:文件属主( u)增加写权限
,与文件属主同组用户( g)增加写权限,其他用户( o)
删除执行权限。
# chmodug+w,o-x test
例 2:设定文件 aaa的属性为文件属主( u)拥有读、写权限
,与文件属主同组用户( g)拥有读权限,其他人( o)拥有读权限。
# chmod644 test
改变文件属主 ——chown命令
chown命令用于改变目录或文件的属主、属组。
chown [选项 ] 用户名或用户组名 文件名或目录名用户名:新的文件拥有者的使用者。
用户组名:新的文件拥有者的使用者群体( group)
例 1:将文件 bbb的所有者设为 stu。
# chown stu bbb
例 2:将目前目录下的所有文件与子目录的所有者皆设为 student,群体的使用者设为 stu。
# chown -R student:stu *
改变文件所属组 ——chgrp命令
chgrp命令用于改变文件或目录所属的组。
chgrp [选项 ] 组名 文件名例 1:改变文件 aaa所属组为 student。
# chgrp student aaa
例 2:改变当前目录下及子目录下的所有文件的属组为
student。
# chgrp -R student *
chattr命令设置文件具有不可删除和修改权限,改变文件属性。
chattr [选项 ] [+/-/=<属性 >] 文件或目录
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
+,<属性 >开启文件或目录的该项属性。
-,<属性 >关闭文件或目录的该项属性。
=,<属性 >指定文件或目录的该项属性。
例:设置 /home/bxs/myfile文件不可修改。
# chattr +i /home/bxs/myfile
lsattr命令
lsattr [选项 ] 文件或目录显示文件属性。执行 chattr命令改变文件或目录的属性,可执行 lsattr命令查询其属性。
-a:显示所有文件和目录,包括以 "."为开头的文件。
-d:显示目录的隐藏属性。
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
例 1:显示 /home/bxs目录下所有文件的隐藏属性。
# lsattr /home/bxs
链接文件 ——ln命令
ln在文件间建立链接。链接可分为两种:硬链接
( hard link)与软链接( symbolic link)。
ln [选项 ]源对象 目的对象
-n:在进行软链接时,将目标文档视为一般的文件。
-s:进行软链接。
例 1:为文件 yy创建一个软链接 zz。
# ln -s yy zz
例 2:为文件 yy创建一个硬链接 xx。
# ln yy xx
过滤命令 grep,fgrep和 egrep
grep命令一次只能搜索一个指定的模式; egrep
命令检索扩展的正则表达式(包括表达式组和可选项
); fgrep命令检索固定字符串,它不识别正则表达式
,是快速搜索命令。
grep [选项 ] [查找模式 ] 文件名例 1:在 smb.conf文件中,查找 samba字符。
# grep samba /etc/samba/smb.conf
例 5:在 /vsftpd.conf查找不含,#”的行并列出行号
# grep -vn "#" /etc/vsftpd/vsftpd.conf
比较文件命令 ——comm命令
comm [- 123 ] file1 file2
该命令是对两个已经排好序的文件进行比较。
-1:不显示仅在 file1中存在的行。
-2:不显示仅在 file2中存在的行。
-3:不显示在 file1,file2中都存在的行。
例:对文件 myfile1和 myfile2进行比较,显示 myfile1
和 myfile2中共有的行。
# comm -12 myfile1 myfile2
diff命令
diff [选项 ] file1 file2
该命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序
。
例:使用 diff比较文件 m1.c和 m2.c。
# diff m1.c m2.c
打印命令 ———lpq命令
lpq[ -l][ -P printer][ job #][ user… ]
用于打印队列检查,报告指定作业的状态或指定用户的所有作业。
-P:指定一个打印机,否则使用缺省打印机或环境变量 PRINTER指定的打印机。
-l:打印组成作业的所有文件的信息。
例:显示打印作业信息。
# lpq -l
lpr命令
lpr [ -P printer][ #num][其他选项][ name]
用于脱机打印。该命令将打印作业放到打印缓冲队列中。
-P:指定打印机。如果不用此项,则使用缺省打印机
#num打印 num份。
例:将 www.c和 kkk.c送到印表机 lp。
# lpr -P lp www.c kkk.c
lprm命令
lprm [ -P printer][ -][ job #][ user… ]
用于从打印队列中删除打印作业。
-P:指定一个打印机,否则使用缺省打印机。
-:删除用户所有的打印作业。
user:删除队列中属于用户 user的作业。
job #:通过指定作业号 #删除某个打印作业。
例:删除 bxs用户的所有打印作业。
# lprm bxs
文件内容统计命令 wc
wc [选项 ] 文件名统计文件中字节、字和行的数量。
-c只输出字节数。
-w只输出单词数。
-l只输出行数。
例 1:对文件 /etc/samba/smb.conf进行字节、字和行的数量统计。
# wc /etc/samba/smb.conf
例 2:只统计 /etc/samba/smb.conf中的行数。
# wc -l /etc/samba/smb.conf
排序命令 sort
sort[选项]文件对指定文件中所有的行进行排序,并将结果显示在标准输出上。
-o:输出文件。
-d:按字典顺序排序。
-f:将小写字母与大写字母同等对待。
-r:按逆序输出排序结果。
例:对文件 text排序,并按逆序输出。
# sort -r text
4.4 压缩与解压缩命令 ——tar命令
tar [主选项 +辅选项 ] 文件或者目录将多个文件或目录打包,但不进行压缩。 tar命令同样也可以还原打包文件。
使用该命令时,主选项是必须有的,它告诉 tar要做什么事情,辅选项是辅助使用的,可以选用。
选项 说 明
-c 创建新的打包文件
-x 从打包文件中释放文件
-f 使用打包文件或设备,这个选项通常是必选的
-z 用 gzip来压缩 /解压缩文件
-Z 调用 compress来压缩 /解压缩文件
tar命令(续 1)
例 1:把 /home/bxs目录下文件和子目录打包,打包文件名为 usr.tar。
# tar cvf usr.tar /home/bxs
例 2:把 /home/bxs目录下的文件和子目录打包,并进行压缩,文件名为 usr.tar.gz。
# tar czvf usr.tar.gz /home/bxs
例 3:把 usr.tar.gz这个打包文件还原并解压缩。
# tar xzvf usr.tar.gz
gzip命令对文件进行压缩和解压缩。压缩后,会自动在文件名后加上,gz扩展名。
gzip [选项 ] 压缩(解压缩)的文件名
-c 将输出写到标准输出上,并保留原有文件
-d 将压缩文件解压
-r 递归式地查找指定目录并压缩、解压缩例 1:把 /home/bxs目录下的每个文件压缩成,gz文件
# gzip /home/bxs/*
gunzip
gunzip [选项 ] 文件列表解压缩用 gzip命令压缩过的文件
-l:列出压缩文件中的文件而不解压缩。
-r:递归解压缩,解压缩命令行所指定目录中的所有子目录内的文件。
例:解压缩 usr.tar.gz
# gunzip usr.tar.gz
bzip2
对目录和文件进行压缩或解压缩,压缩文件默认扩展名为 bz2。
bzip2 [选项 ] 文件名
-d:强制解压缩。
-v:显示压缩或解压缩的过程。
-f:当文件重名时,进行覆盖。
例 1:将 man.conf.bz2解压缩。
# bzip2 -d man.conf.bz2
bzcat
bzcat压缩文件显示压缩文件中的内容。
例:查看 /home/bxs/man.conf.bz2文件。
# bzcat man.config.bz2
zip
对一个或多个文件进行压缩。压缩后的默认后缀名为
.zip。
zip [选项 ] 压缩文件名,zip 文件 1 文件 2 文件 3……
例 1:压缩 /root文件夹下的 test.conf文件,压缩后将原文件删除。
# zip -m test.zip test.conf
例 2:压缩 /home/bxs下的所有文件和目录。
# zip –r bxs.zip bxs
unzip
该命令用于解压缩扩展名为,zip的文件。
unzip [选项 ] 压缩文件名,zip
例 1:将压缩文件 neuq.zip在当前目录下解压缩。
# unzip neuq.zip
例 2:查看压缩文件 neuq.zip目录,但不解压。
# unzip -v neuq.zip
4.5其它命令 ——挂载命令 mount
在 Linux中,如果要使用储存设备(硬盘、光驱、移动存储等),必须先将设备挂载上,当设备挂载上之后,就可以把它当成一个目录来进行 访问。
mount [参数 ] [-L<标签 >] [-o<选项 >] [-t<文件系统类型 >] [设备名 ] [加载点 ]
参数选项 说 明
-o<选项 > 指定加载文件系统时的选项
-t<文件系统类型 > 指定设备的文件系统类型。使用 auto表示自动检测文件系统。
-L<标签 > 加载文件系统标签为 <标签 >的设备
-r 以只读方式加载设备
mount命令(续 2)
例 1:挂载 fat32的分区。
# mount -t vfat -o iocharset=cp936
/dev/hda7 /mnt/cdrom
例 2:挂载镜像文件。
# mount -o loop /abc.iso /mnt/cdrom
例 3:挂载 USB闪存,并支持中文。
# mount -t vfat -o
codepage=936,iocharset=cp936 /dev/sda1
/mnt/cdrom
用户操作命令 ——su命令
su命令可以让一个普通用户拥有超级用户或其它用户的权限,也可以让超级用户以普通用户的身份做一些事情。
su [选项 ] 用户
-l 改变身份,同时变更工作目录,以及环境变量
-m 变更身份时,不变更环境变量例 1,变成 root用户。
$ su root
sudo命令
sudo [选项 ] 命令
sudo可让用户以其它的身份来执行指定的命令,预设的身份为 root。用户使用 sudo时,必须先输入密码,
之后有 5分钟的有效期限,超过期限则必须重新输入密码。
例 2:切换 bxs用户到 root。
$ sudo -s
通信命令 ——write命令
write 用户帐号 [ttyname]
ttyname 选择合适的 tty传信息。
例:向 bxs用户发送信息 hello。
#write bxs hello
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按 Ctrl+C组合键即可。
talk命令和另一个登录系统用户实现双向对话。
talk person [ttyname]
person 预备对话的用户号。
ttyname 选择合适的 tty传信息。
例:与用户 bxs对话。
# talk bxs
执行命令后进入 talk分屏界面,双方输入的信息会出现在对方的屏幕。用户完成会话后使用 Crth+C组合键断开连接。
mesg命令选择接收或不接收其它用户发送来的信息。
mesg [y|n]
y 允许别人给自己发送信息。
n 不允许别人给自己发送信息。
如果 mesg后不带任何参数,则显示当前的状态是 y还是 n。
例:改变目前信息设定为不允许接受信息:
#mesg n
wall命令
wall 文件名对全部已登录的用户发送信息。
例:传信息,hi”给每一个使用者。
# wall hi
帮助命令 ——man命令
man [选项 ] name,..
man命令用来提供在线帮助。在 Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用
man命令可以查阅其中的帮助信息。
例 1:查看 rm命令的帮助文件。
# man rm
例 2:显示 umount命令简要说明。
# man -f mount
info命令
info [选项 ] 命令名称
info是 GNU的超文本帮助系统。
-f:指定具体访问的 info文件名。
-o:不启动 info会话,直接生成结果至指定文件。
-h:生成有关 info选项的简要说明。
例:显示 emacs的使用帮助,并输出到 myemacs。
# info emacs -o myemacs
help命令
help [选项 ] 命令名显示 shell内建命令的帮助信息。
-s:只显示命令的语法。
例 1:显示 pwd命令的帮助。
# help pwd
例 2:仅显示 pwd命令的语法。
# help -s pwd
杂项命令 ——echo命令
echo [-n] 字符串在显示器上显示一段文字。
-n:输出文字后不换行。
例:在屏幕上输出,Hello Linux”。
# echo "Hello Linux"
sync命令
sync
刷新缓冲区,将缓冲区数据写回硬盘。
例:刷新缓冲区。
# sync
date命令显示或设置系统时间。
date [选项 ] [显示时间格式 ](以 +开头,后面接时间格式)
例 1:显示时间后跳行,再显示目前日期。
# date +%T%n%D
例 2:设置时间。
# date -d,01/01/01 11:22:33”
例 3:显示系统的时间和日期。
# date
cal命令显示日历。
cal [-mjy] [month] [year]
-m:以星期一为每周的第一天方式显示。
-j:以凯撒历显示,即以一月一日起的天数显示。
-y:显示今年年历。
例 1:显示本月月历。
# cal
例 2:显示 2000年 7月日历。
# cal 7 2000
Linux的图形界面虽然使用简单、直观,但是会占用大量系统资源,降低运行效率,增加安全的隐患
。学习和工作中,应尽可能使用 Linux系统的命令行界面,通过命令来完成操作。要熟练掌握 Linux操作系统,就必须熟练运用 Linux下的各种命令,本章将为大家介绍 Linux命令的基本功能和使用。
4.1shell
shell是 —个命令解释程序,它在用户和操作系统之间提供了一个可交互接口。
常见 shell版本
Bash shell的命令分为两类:
( 1)内部命令
( 2)外部命令
shell名 详 细 描 述 文件位置
sh Unix下应用广泛的 shell /bin/sh
bash 最常用的 shell,Red Hat 9默认 shell /bin/bash
csh 与 C编程语言相近,被很多系统支持 /bin/csh
tcsh 微型 shell,在一些小型系统里应用 /bin/tcsh
转义符与通配符转义符指的是在 shell中有特殊含义的字符
shell还有一套被称为通配符的专用符号,它们能搜索
、匹配并产生一个文件名列表。
通配符 功 能 说 明表示该位置可以是一个任意的单个字符
* 表示该位置可以是若干个任意字符
[ ] 可替代括号中出现的任何单个字符字符 说 明
\ 反斜杠,将特殊符号字符的特殊含义屏蔽掉; 分号,一行上放多个命令
$ 表明一个变量名的开头
# 用于注释命令别名命令别名指的是用一个简单的名字来代替一条复杂的命令(起别名),定义命令别名使用 alias命令。
语法,alias alias-name=’ original-command’
其中,alias-name是用户给命令取的别名,original-
command是原来的命令和参数。
例 1:创建 ls –a的别名 lsa。
# alias lsa='ls -a'
例 2;取消别名 ls –a的别名 lsa。
# unalias lsa
重定向系统定义了三个标准文件,即标准输入( stdin)
、标准输出( stdout)和标准错误输入( stderr)。
默认时,标准输入指的是终端键盘,标准输出指的是屏幕。 Linux具有重定向功能,让用户能够将数据输出到一个文件中保存起来,而不一定要显示在屏幕上;也可以重新定向输入,从指定的文件而不是键盘读入输入。
输入重定向输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。
输入重定向一般形式为:命令 <文件
# cat</home/bxs/mydoc
输出重定向输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,
该命令的输出就不显示在屏幕上,而是写入到指定文件中。
输出重定向的一般形式为:命令 >文件名
#ls –l /root >/home/bxs/my.out
追加输出重定向一般形式为:命令 >>文件名
# ls –l /root >/home/bxs/my.out
管道管道将一个程序或命令的输出作为另一个程序或命令的输入。
,|”通常放在两个命令的中间,将,|”左边的命令作为,|”右边的命令的输入。例如:
# rpm –qa | grep samba
shell变量
shell不但是命令解释器,而且本身还是一种解释型的程序设计语言。
shell中有三种变量:
系统变量
环境变量
用户变量
4.2 Linux的启动和关闭
Linux是多用户、多任务操作系统,每个用户都必须使用帐号才可以登陆系统,并且使用结束以后还需要注销帐号。此外,系统管理员还需要知道如何关闭系统和重新启动系统。本节将介绍在 Redhat Linux
9下登陆、注销和关机的相关知识。
登陆系统使用帐号进行登陆 Linux系统。一个帐号包括用户名和口令两部分,只有用户名和口令都正确才可以正常登陆系统。
注销系统用户使用系统结束以后,为保证帐号的安全,需要使用 logout命令注销系统。用户在文本提示符下直接输入 logout命令即可注销系统:
# logout
关闭和重启系统 --shutdown命令
shutdown命令可以安全地关闭或重启 Linux系统
shutdown [选项 ] [时间 ] [警告信息 ]
-k:并不真正关机,而只是发出警告信息给所有用户
-r:关机后立即重新启动。
-h:关机后不重新启动。
-f:快速关机,重启动时跳过检查 Linux文件系统。
-F:关机时,强迫进行 fsck动作。
time:设定关机的时间。
Message:传送给所有使用者的警告信息。
shutdown命令(续 1)
例 1:两分钟后重启系统,并向所有使用者发布
,System will be down in 2 minutes”的信息。
# shutdown -r +2 "System will be down
in 2 minutes“
例 2:系统马上关机,并且不重新启动。
# shutdown – h now
例 3:在 23,00的时候关机。
# shutdown 23:00
halt命令
Halt命令用于关闭计算机。
halt [选项 ]
-n:在关机前不做将内存资料写回硬盘的动作。
-d:不把记录写到 /var/log/wtmp 里
-f:强迫关机,不调用 shutdown命令。
-i:在关机之前先停止所有与网络相关的装置。
-p:当关机后关闭电源。
poweroff命令
poweroff用于关闭计算机系统
poweroff [选项 ]
-p:关闭计算机后再关闭电源。
-f:强制关机,不调用 shutdown命令。
例:关闭系统后再关闭电源。
# poweroff -p
init命令
iinit命令改变系统运行级别
init [0123456] [选项 ]
0:关闭系统。
1:进入单用户模式。
2:进入多用户模式(不带网络功能)。
3:进入多用户模式(带网络全功能)。
4:进入用户自定义使用模式。
5:进入 X Window模式。
6:重启系统。
reboot命令
( 1)语法,reboot [选项 ]
( 2)命令说明:用于重新启动计算机系统。
-n:在重开机前不做将内存资料写回硬盘的动作。
-d:不把记录写到 /var/log/wtmp 里
-f:强迫重开机,不呼叫 shutdown这个命令。
-i:在重开机之前先把所有网络相关的设备停止。
例 1:重启系统。
# reboot
用户界面切换
RedHat Linux有图形界面和文本界面两种操作方式。
在文本模式下,可以通过输入 startx命令直接进入 X
Windows System界面。
# startx
图形界面和文本界面切换的另一种方法是使用 init命令从命令行界面模式进入图形界面模式:
# init 5
从图形界面模式进入命令行界面模式:
# init 3
4.3 Linux文件和目录操作命令文件是 Linux用来存储信息的基本结构,它是被命名的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串构成。 Linux要求文件名的长度限制在 255个字符以内。
文件的类型
Linux系统中有三种基本的文件类型:普通文件、目录文件和设备文件。
( 1)普通文件:普通文件是用户最常接触的文件。它又分为文本文件和二进制文件。
( 2)目录文件:简称为目录,它存储一组位置、大小等与文件有关的信息。
( 3)设备文件,Linux系统把每一个 I/O设备都看成一个文件。
树型目录结构
Linux系统以文件目录的方式来组织和管理系统中的所有文件。 Linux系统目录将系统中所有的文件分级
、分层组织在一起,形成树型层次结构。
显示文件目录命令 ——ls命令
ls显示指定目录或文件的相关信息。
ls [选项 ]目录名例:显示某个目录下所有的文件(包括隐藏文件)。
#1s -a /home/bxs
参数 说 明
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-c 按文件的修改时间排序
-i 在输出的第一列显示文件的 i节点号
-l 列出文件的详细信息
-R 递归式地显示指定目录的各个子目录中的文件
ls命令(续 1)
显示当前目录和文件的详细信息使用 -l参数显示的信息中,可以将文件的详细信息分为七列。
第一列:文件和目录权限,由 10位字符构成:类型(
第 1位)、用户所有者权限(第 2-4位)、用户工作组权限(第 5-7位)、其他用户或组权限(第 8-10位)。
-:普通文件 d:目录 l:符号链接
-B:块设备文件 c:字符设备文件
-P:表示管道文件 s:表示 socket文件
ls命令(续 2)
第二列:硬链接数,即通过 ln命令创建链接时,其数值会加 1。
第三列,UID,文件或目录的所有者。
第四列,GID,文件或目录的工作组。
第五列:文件或目录的大小。
第六列:修改该文件或目录的日期。格式为“月 日 小时”。
第七列:文件或目录名。
切换目录命令 ——cd命令该命令将当前目录改变至目录名所指定的目录。
cd 目录名例 1:从当前目录转到 /usr/bin/目录。
#cd /usr/bin
例 2:转到用户自己的主目录。
#cd ~
例 3:跳到当前目录的上两层目录。
#cd,./..
查看当前目录 ——pwd命令此命令显示出当前工作目录的绝对路径。
语法,pwd
例:显示当前工作目录名。
#pwd
/usr/bin
创建目录 ——mkdir命令
mkdir [选项 ] 目录名创建一个新目录。
-m 对新建目录设置存取权限。
-p 创建目录路径中的尚不存在的目录。
例 2:创建 aaa目录,并在 aaa目录下创建 bbb目录。
#mkdir –p aaa/bbb
例 2:在当前目录下创建权限为 777的 ccc目录。
#mkdir -m 777 ccc
删除目录 ——rmdir命令
rmdir [选项 ] 目录名用于删除空目录。
-p 递归删除目录。当子目录删除后其父目录为空时,也一同被删除。
例 2:在工作目录下的 bbb目录中,删除名为 ccc的子目录。若 ccc删除后,bbb目录成为空目录,则 bbb亦予删除。
# rmdir -p bbb/ccc
建立文件 ——touch命令
touch [选项 ] 文件 1[文件 2]
改变文件的时间记录和创建一个新的文件。
-r 使用参考档的时间记录
-d 设定时间与日期,可以使用各种不同的格式例 1:在当前目录下一次性创建 aa,bb,cc三个文件
#touch {aa,bb,cc}
例 2:将 aa的时间记录改为 2007年 12月 31日 22点 10分
# touch -d "10:10pm12/31/2007" aa
删除文件 ——rm命令
rm [选项 ] 文件删除文件或目录。
-f 强制删除文件,不给用户任何提示。
-I 删除每个文件时提示用户。
-v 删每个文件时输出文件信息。
-r/-R 递归删除目录和子目录。
例 2:强制删除 /aaa文件夹和其中的所有文件。
#rm –fr /root/aaa
复制文件 ——cp命令
cp [选项 ] 源文件或目录 目标文件或目录将给出的文件或目录拷贝到另一文件或目录中。
-f 删除已经存在的目标文件而不提示
-I 覆盖目标文件之前将给出要求用户确认的提示
-r 递归复制目录下所有的子目录和文件例 1:将 /home/bxs下的文件 aa复制到 /root目录下。
# cp /home/bxs/aa /root
移动文件 ——mv命令
mv [选项 ] 源文件或目录 目标文件或目录将文件由一个目录移入另一个目录中。
-I 如果导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答 y或 n。
-f 要覆盖某已有的目标文件时不给任何指示。
例 1:将文件 aa从 /home/bxs移动到 /root。
#mv –f /home/bxs/aa /root
例 2:将文件 aa 更名为 bb。
#mv aa bb
复制文件 ——rcp命令
rcp [参数 ] 源文件或目录 目标文件或目录远端复制文件或目录。
-p 保留源文件或目录的属性,包括拥有者、所属群组、权限与时间。
-r 递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是一个目录。
-k 要求 rcp获得外部许可。
-x 给拷贝的数据流用 DES方法加密。
查找命令 ——find命令
find 起始目录 寻找条件 操作在目录结构中搜索文件,并执行指定的操作。
1.以名称和文件属性为条件查找。
2.以时间为条件查找。
find命令(续 1)
例 1:在 /home/bxs目录下,寻找以,conf结尾的文件
#find /home/bxs –name,*.conf” –ls
例 2:在当前目录下,查找属于 root用户的文件和目录
#find,–user root
例 3:查找当前目录及其子目录下所有最近 5分钟内更新过的文件。
# find,-ctime -5
查找命令 ——whereis命令
whereis [选项 ] 要查找的字符串
whereis命令会在特定目录中查找符合条件的文件。
-b 只查找二进制文件
-m 只查找说明文件
-s 只查找源代码文件例 1:查找 mkdir命令的所有信息。
# whereis mkdir
例 2:查看 rmdir命令的手册信息。
# whereis -m rmdir
查找命令 ——which命令
which [选项 ] 要查找的字符串查找命令或别名。
--skip-alias 跳过别名的查找
--skip-dot 跳过文档的查找
--all 查找所有信息例 1:查找 mv命令的信息。
# which mv
例 2:查找 mv命令,跳过别名查找。
# which --skip-alias mv
查找命令 ——locate命令
locate 相关字
locate命令用于查找文件,需要一个数据库。
-u 建立资料库。
-r 使用正规运算式,做寻找的条件。
-o 指定资料库存的名称。
-d 指定资料库的路径。
例 1:查找相关字 issue。
#locate issue
文件显示 ——cat命令
cat [选项 ] 文件名显示文本文件内容。
-n 由 1开始对所有输出的行数编号。
-b 和 -n相似,只不过对于空白行不编号。
-s 当遇到有连续两行以上的空白行,就代换为一行空白行。
-e 在每行末尾显示 $符号。
cat命令(续 1)
例 1:显示文件 test的内容,同时显示每一行的行号,
并在每行末尾显示 $符号。
# cat -en test
例 2:把 textfile1的文件内容加上行号后输入 textfile2
这个文件里。
# cat -n testfile1>testfile2
例 3:把 textfile1和 textfile3的文件内容加上行号(空白行不加)之后将内容附加到 textfile4。
# cat -b testfile1 testfile3>>testfile4
文件显示 ——head命令
head [参数 ] 文件名显示文件的前几行。
-c N 输出文件的前 N个字节。
-n N 输出文件的前 N行。
例 1:显示 smb.conf文件的前 200个字节内容。
# head -c 200 /etc/samba/smb.conf
例 2:显示 smb.conf文件的前 5行内容。
# head -n 5 /etc/samba/smb.conf
文件显示 ——tail命令
tail [选项 ] 文件名显示文件的最后一部分。
-c N 显示文件后部的 N比特大小的部分
-n N 显示文件的尾部 N行。
-v 一直输出,==>文件名 <==”形式。
例 1:显示 smb.conf文件的后 200个字节内容。
#tail -c 200 -v /etc/samba/smb.conf
文件显示 ——more命令
more [选项 ] 文件名一页一页的显示文件内容。
-num 一次显示的行数
+num 从第 num行开始显示
-s 将连续两行以上的空白行代换为一行空白行例 1:逐页显示 smb.conf文件内容,一次显示 10行。
# more -10 /etc/samba/smb.conf
例 2:从第 20行开始显示 smb.conf文件内容。
# more +20 /etc/samba/smb.conf
文件显示 ——less命令
less [选项 ] 文件名用来按页显示文件。
-E 第一次到文件尾后自动退出
-s 将多个空行压缩成一个空行
-n 显示时去掉行号例 1:逐页显示 /etc/vsftpd/vsftpd.conf的文件内容。
# less /etc/vsftpd/vsftpd.conf
例 2:显示 test文件,出现多个空行时只显示一个
# less -s test
改变存取权限 ——chmod命令
chmod命令用来改变文件或目录的访问权限
( 1)文字设定法
chmod [who] [+ | - | =] [mode] 文件名操作对象 who可是下述中的任一个或者它们的组合:
u( user):表示“用户”,即文件或目录的所有者
g( group):表示“同组用户”,即与文件属主有相同组 ID的所有用户
o( others):表示“其他用户”
a( all):表示“所有用户”
chmod命令(续 1)
操作符号可以是:
+:添加某个权限
-:取消某个权限
=:赋予给定权限并取消其他所有权限(如果有的话)
设置 mode所表示的权限可用下述字母的任意组合:
r:可读
w:可写
x:可执行
s:表示特殊权限
chmod命令(续 2)
( 2)数字设定法
chmod [mode] 文件名
0表示没有权限,1表示可执行权限,2表示可写权限,
4表示可读权限,然后将其相加。所以数字属性的格式应为 3个从 0到 7的八进制数,其顺序是 u,g,o。
chmod命令(续 3)
例 1:设定文件 text2的属性为:文件属主( u)增加写权限
,与文件属主同组用户( g)增加写权限,其他用户( o)
删除执行权限。
# chmodug+w,o-x test
例 2:设定文件 aaa的属性为文件属主( u)拥有读、写权限
,与文件属主同组用户( g)拥有读权限,其他人( o)拥有读权限。
# chmod644 test
改变文件属主 ——chown命令
chown命令用于改变目录或文件的属主、属组。
chown [选项 ] 用户名或用户组名 文件名或目录名用户名:新的文件拥有者的使用者。
用户组名:新的文件拥有者的使用者群体( group)
例 1:将文件 bbb的所有者设为 stu。
# chown stu bbb
例 2:将目前目录下的所有文件与子目录的所有者皆设为 student,群体的使用者设为 stu。
# chown -R student:stu *
改变文件所属组 ——chgrp命令
chgrp命令用于改变文件或目录所属的组。
chgrp [选项 ] 组名 文件名例 1:改变文件 aaa所属组为 student。
# chgrp student aaa
例 2:改变当前目录下及子目录下的所有文件的属组为
student。
# chgrp -R student *
chattr命令设置文件具有不可删除和修改权限,改变文件属性。
chattr [选项 ] [+/-/=<属性 >] 文件或目录
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
+,<属性 >开启文件或目录的该项属性。
-,<属性 >关闭文件或目录的该项属性。
=,<属性 >指定文件或目录的该项属性。
例:设置 /home/bxs/myfile文件不可修改。
# chattr +i /home/bxs/myfile
lsattr命令
lsattr [选项 ] 文件或目录显示文件属性。执行 chattr命令改变文件或目录的属性,可执行 lsattr命令查询其属性。
-a:显示所有文件和目录,包括以 "."为开头的文件。
-d:显示目录的隐藏属性。
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
例 1:显示 /home/bxs目录下所有文件的隐藏属性。
# lsattr /home/bxs
链接文件 ——ln命令
ln在文件间建立链接。链接可分为两种:硬链接
( hard link)与软链接( symbolic link)。
ln [选项 ]源对象 目的对象
-n:在进行软链接时,将目标文档视为一般的文件。
-s:进行软链接。
例 1:为文件 yy创建一个软链接 zz。
# ln -s yy zz
例 2:为文件 yy创建一个硬链接 xx。
# ln yy xx
过滤命令 grep,fgrep和 egrep
grep命令一次只能搜索一个指定的模式; egrep
命令检索扩展的正则表达式(包括表达式组和可选项
); fgrep命令检索固定字符串,它不识别正则表达式
,是快速搜索命令。
grep [选项 ] [查找模式 ] 文件名例 1:在 smb.conf文件中,查找 samba字符。
# grep samba /etc/samba/smb.conf
例 5:在 /vsftpd.conf查找不含,#”的行并列出行号
# grep -vn "#" /etc/vsftpd/vsftpd.conf
比较文件命令 ——comm命令
comm [- 123 ] file1 file2
该命令是对两个已经排好序的文件进行比较。
-1:不显示仅在 file1中存在的行。
-2:不显示仅在 file2中存在的行。
-3:不显示在 file1,file2中都存在的行。
例:对文件 myfile1和 myfile2进行比较,显示 myfile1
和 myfile2中共有的行。
# comm -12 myfile1 myfile2
diff命令
diff [选项 ] file1 file2
该命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序
。
例:使用 diff比较文件 m1.c和 m2.c。
# diff m1.c m2.c
打印命令 ———lpq命令
lpq[ -l][ -P printer][ job #][ user… ]
用于打印队列检查,报告指定作业的状态或指定用户的所有作业。
-P:指定一个打印机,否则使用缺省打印机或环境变量 PRINTER指定的打印机。
-l:打印组成作业的所有文件的信息。
例:显示打印作业信息。
# lpq -l
lpr命令
lpr [ -P printer][ #num][其他选项][ name]
用于脱机打印。该命令将打印作业放到打印缓冲队列中。
-P:指定打印机。如果不用此项,则使用缺省打印机
#num打印 num份。
例:将 www.c和 kkk.c送到印表机 lp。
# lpr -P lp www.c kkk.c
lprm命令
lprm [ -P printer][ -][ job #][ user… ]
用于从打印队列中删除打印作业。
-P:指定一个打印机,否则使用缺省打印机。
-:删除用户所有的打印作业。
user:删除队列中属于用户 user的作业。
job #:通过指定作业号 #删除某个打印作业。
例:删除 bxs用户的所有打印作业。
# lprm bxs
文件内容统计命令 wc
wc [选项 ] 文件名统计文件中字节、字和行的数量。
-c只输出字节数。
-w只输出单词数。
-l只输出行数。
例 1:对文件 /etc/samba/smb.conf进行字节、字和行的数量统计。
# wc /etc/samba/smb.conf
例 2:只统计 /etc/samba/smb.conf中的行数。
# wc -l /etc/samba/smb.conf
排序命令 sort
sort[选项]文件对指定文件中所有的行进行排序,并将结果显示在标准输出上。
-o:输出文件。
-d:按字典顺序排序。
-f:将小写字母与大写字母同等对待。
-r:按逆序输出排序结果。
例:对文件 text排序,并按逆序输出。
# sort -r text
4.4 压缩与解压缩命令 ——tar命令
tar [主选项 +辅选项 ] 文件或者目录将多个文件或目录打包,但不进行压缩。 tar命令同样也可以还原打包文件。
使用该命令时,主选项是必须有的,它告诉 tar要做什么事情,辅选项是辅助使用的,可以选用。
选项 说 明
-c 创建新的打包文件
-x 从打包文件中释放文件
-f 使用打包文件或设备,这个选项通常是必选的
-z 用 gzip来压缩 /解压缩文件
-Z 调用 compress来压缩 /解压缩文件
tar命令(续 1)
例 1:把 /home/bxs目录下文件和子目录打包,打包文件名为 usr.tar。
# tar cvf usr.tar /home/bxs
例 2:把 /home/bxs目录下的文件和子目录打包,并进行压缩,文件名为 usr.tar.gz。
# tar czvf usr.tar.gz /home/bxs
例 3:把 usr.tar.gz这个打包文件还原并解压缩。
# tar xzvf usr.tar.gz
gzip命令对文件进行压缩和解压缩。压缩后,会自动在文件名后加上,gz扩展名。
gzip [选项 ] 压缩(解压缩)的文件名
-c 将输出写到标准输出上,并保留原有文件
-d 将压缩文件解压
-r 递归式地查找指定目录并压缩、解压缩例 1:把 /home/bxs目录下的每个文件压缩成,gz文件
# gzip /home/bxs/*
gunzip
gunzip [选项 ] 文件列表解压缩用 gzip命令压缩过的文件
-l:列出压缩文件中的文件而不解压缩。
-r:递归解压缩,解压缩命令行所指定目录中的所有子目录内的文件。
例:解压缩 usr.tar.gz
# gunzip usr.tar.gz
bzip2
对目录和文件进行压缩或解压缩,压缩文件默认扩展名为 bz2。
bzip2 [选项 ] 文件名
-d:强制解压缩。
-v:显示压缩或解压缩的过程。
-f:当文件重名时,进行覆盖。
例 1:将 man.conf.bz2解压缩。
# bzip2 -d man.conf.bz2
bzcat
bzcat压缩文件显示压缩文件中的内容。
例:查看 /home/bxs/man.conf.bz2文件。
# bzcat man.config.bz2
zip
对一个或多个文件进行压缩。压缩后的默认后缀名为
.zip。
zip [选项 ] 压缩文件名,zip 文件 1 文件 2 文件 3……
例 1:压缩 /root文件夹下的 test.conf文件,压缩后将原文件删除。
# zip -m test.zip test.conf
例 2:压缩 /home/bxs下的所有文件和目录。
# zip –r bxs.zip bxs
unzip
该命令用于解压缩扩展名为,zip的文件。
unzip [选项 ] 压缩文件名,zip
例 1:将压缩文件 neuq.zip在当前目录下解压缩。
# unzip neuq.zip
例 2:查看压缩文件 neuq.zip目录,但不解压。
# unzip -v neuq.zip
4.5其它命令 ——挂载命令 mount
在 Linux中,如果要使用储存设备(硬盘、光驱、移动存储等),必须先将设备挂载上,当设备挂载上之后,就可以把它当成一个目录来进行 访问。
mount [参数 ] [-L<标签 >] [-o<选项 >] [-t<文件系统类型 >] [设备名 ] [加载点 ]
参数选项 说 明
-o<选项 > 指定加载文件系统时的选项
-t<文件系统类型 > 指定设备的文件系统类型。使用 auto表示自动检测文件系统。
-L<标签 > 加载文件系统标签为 <标签 >的设备
-r 以只读方式加载设备
mount命令(续 2)
例 1:挂载 fat32的分区。
# mount -t vfat -o iocharset=cp936
/dev/hda7 /mnt/cdrom
例 2:挂载镜像文件。
# mount -o loop /abc.iso /mnt/cdrom
例 3:挂载 USB闪存,并支持中文。
# mount -t vfat -o
codepage=936,iocharset=cp936 /dev/sda1
/mnt/cdrom
用户操作命令 ——su命令
su命令可以让一个普通用户拥有超级用户或其它用户的权限,也可以让超级用户以普通用户的身份做一些事情。
su [选项 ] 用户
-l 改变身份,同时变更工作目录,以及环境变量
-m 变更身份时,不变更环境变量例 1,变成 root用户。
$ su root
sudo命令
sudo [选项 ] 命令
sudo可让用户以其它的身份来执行指定的命令,预设的身份为 root。用户使用 sudo时,必须先输入密码,
之后有 5分钟的有效期限,超过期限则必须重新输入密码。
例 2:切换 bxs用户到 root。
$ sudo -s
通信命令 ——write命令
write 用户帐号 [ttyname]
ttyname 选择合适的 tty传信息。
例:向 bxs用户发送信息 hello。
#write bxs hello
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按 Ctrl+C组合键即可。
talk命令和另一个登录系统用户实现双向对话。
talk person [ttyname]
person 预备对话的用户号。
ttyname 选择合适的 tty传信息。
例:与用户 bxs对话。
# talk bxs
执行命令后进入 talk分屏界面,双方输入的信息会出现在对方的屏幕。用户完成会话后使用 Crth+C组合键断开连接。
mesg命令选择接收或不接收其它用户发送来的信息。
mesg [y|n]
y 允许别人给自己发送信息。
n 不允许别人给自己发送信息。
如果 mesg后不带任何参数,则显示当前的状态是 y还是 n。
例:改变目前信息设定为不允许接受信息:
#mesg n
wall命令
wall 文件名对全部已登录的用户发送信息。
例:传信息,hi”给每一个使用者。
# wall hi
帮助命令 ——man命令
man [选项 ] name,..
man命令用来提供在线帮助。在 Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用
man命令可以查阅其中的帮助信息。
例 1:查看 rm命令的帮助文件。
# man rm
例 2:显示 umount命令简要说明。
# man -f mount
info命令
info [选项 ] 命令名称
info是 GNU的超文本帮助系统。
-f:指定具体访问的 info文件名。
-o:不启动 info会话,直接生成结果至指定文件。
-h:生成有关 info选项的简要说明。
例:显示 emacs的使用帮助,并输出到 myemacs。
# info emacs -o myemacs
help命令
help [选项 ] 命令名显示 shell内建命令的帮助信息。
-s:只显示命令的语法。
例 1:显示 pwd命令的帮助。
# help pwd
例 2:仅显示 pwd命令的语法。
# help -s pwd
杂项命令 ——echo命令
echo [-n] 字符串在显示器上显示一段文字。
-n:输出文字后不换行。
例:在屏幕上输出,Hello Linux”。
# echo "Hello Linux"
sync命令
sync
刷新缓冲区,将缓冲区数据写回硬盘。
例:刷新缓冲区。
# sync
date命令显示或设置系统时间。
date [选项 ] [显示时间格式 ](以 +开头,后面接时间格式)
例 1:显示时间后跳行,再显示目前日期。
# date +%T%n%D
例 2:设置时间。
# date -d,01/01/01 11:22:33”
例 3:显示系统的时间和日期。
# date
cal命令显示日历。
cal [-mjy] [month] [year]
-m:以星期一为每周的第一天方式显示。
-j:以凯撒历显示,即以一月一日起的天数显示。
-y:显示今年年历。
例 1:显示本月月历。
# cal
例 2:显示 2000年 7月日历。
# cal 7 2000