《开始使用LINUX课件》由会员分享,可在线阅读,更多相关《开始使用LINUX课件(156页珍藏版)》请在金锄头文库上搜索。
1、 第四章第四章 开始使用开始使用LINUXLINUX本章目标本章目标v了解了解shellshell的概念的概念v熟练掌握命令行指令的使用熟练掌握命令行指令的使用 开始使用LINUX课件掌握掌握ShellShellvshellshell是用户和是用户和LinuxLinux操作系统之间的接口操作系统之间的接口v用户就是通过用户就是通过shellshell和操作系统的内核之间进行交互的和操作系统的内核之间进行交互的开始使用LINUX课件开始使用LINUX课件什么是什么是ShellShellvshellshell是一个命令语言解释器,它拥有自己内建的是一个命令语言解释器,它拥有自己内建的shellsh
2、ell命命令集,令集,shellshell也能被系统中其它应用程序所调用也能被系统中其它应用程序所调用开始使用LINUX课件人与系统之间人与系统之间shellshellv核心核心(kernel)(kernel)是操作系统最主要的程序。在使用操作系统的是操作系统最主要的程序。在使用操作系统的时候,用户并不是直接控制核心,而是通过时候,用户并不是直接控制核心,而是通过shellshell来操作。登来操作。登入系统后,第一个执行的程序就是入系统后,第一个执行的程序就是shellshell。v在在windows 95/98windows 95/98中也有中也有shellshellexplorer.ex
3、eexplorer.exe;vMS-DOSMS-DOS的的shellshell是是。Linux/UnixLinux/Unix下有多种下有多种shellshell可可供选择供选择开始使用LINUX课件vshellshell是一个命令语言解释器,它拥有自己内建的是一个命令语言解释器,它拥有自己内建的shellshell命令集,命令集,shellshell也能被系统中其它应用程序所调用。用户在提示符下输入也能被系统中其它应用程序所调用。用户在提示符下输入的命令都由的命令都由shellshell先解释然后传给先解释然后传给LinuxLinux核心。核心。v有一些命令,比如改变工作目录命令有一些命令,比
4、如改变工作目录命令cdcd,是包含在,是包含在shellshell内部的。内部的。v还有一些命令,例如拷贝命令还有一些命令,例如拷贝命令cpcp和移动命令和移动命令rmrm,是存在于文件,是存在于文件系统中某个目录下的单独的程序。系统中某个目录下的单独的程序。开始使用LINUX课件vshellshell首先检查命令是否是内部命令,若不是再检查是否是一个首先检查命令是否是内部命令,若不是再检查是否是一个应用程序。应用程序。v然后然后shellshell在搜索路径里寻找这些应用程序。在搜索路径里寻找这些应用程序。v如果键入的命令不是一个内部命令并且在路径里没有找到这个如果键入的命令不是一个内部命令
5、并且在路径里没有找到这个可执行文件,将会显示一条错误信息。可执行文件,将会显示一条错误信息。v如果能够成功找到命令,该内部命令或应用程序将被分解为系如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给统调用并传给LinuxLinux内核。内核。 开始使用LINUX课件vshellshell的另一个重要特性是它自身就是一个解释型的程序设计语的另一个重要特性是它自身就是一个解释型的程序设计语言,言,shellshell程序设计语言支持绝大多数在高级语言中能见到的程程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。序元素,如函数、变量、数组和程序控
6、制结构。vshellshell编程语言简单易学,任何在提示符中能键入的命令都能放编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的到一个可执行的shellshell程序中。程序中。 开始使用LINUX课件v当普通用户成功登录,系统将执行一个称为当普通用户成功登录,系统将执行一个称为shellshell的程序。的程序。正是正是shellshell进程提供了命令行提示符。作为默认值进程提供了命令行提示符。作为默认值(RedHat(RedHat、TurboLinuxTurboLinux系统默认的系统默认的shellshell是是BASH)BASH),对普通用户用,对普通用户用“$”“$
7、”作提示符,对超级用户作提示符,对超级用户(root)(root)用用“#”“#”作提示符。作提示符。v一旦出现了一旦出现了shellshell提示符,就可以键入命令名称及命令所提示符,就可以键入命令名称及命令所需要的参数。需要的参数。shellshell将执行这些命令。如果一条命令花费将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按可以从键盘上按ctrl+cctrl+c发出中断信号来中断它发出中断信号来中断它( (在正常结在正常结束之前,中止它的执行束之前,中止它的执行) )。开始使用LINUX
8、课件v当用户准备结束登录对话进程时,可以键入当用户准备结束登录对话进程时,可以键入logoutlogout命令、命令、exitexit命令或文件结束符命令或文件结束符(EOF)(EOF)(按按ctrl+dctrl+d实现实现) ),结束登录。,结束登录。开始使用LINUX课件ShellShell的种类的种类vLinuxLinux中的中的shellshell有多种类型有多种类型v最常用的几种是:最常用的几种是:qBourne shell(sh)Bourne shell(sh)qC shell(csh)C shell(csh)qKorn shell(ksh) Korn shell(ksh) vLi
9、nuxLinux操作系统缺省的操作系统缺省的shellshell是是Bourne Again shellBourne Again shell。它是。它是Bourne Bourne shellshell的扩展,简称的扩展,简称bashbash,与,与Bourne shellBourne shell完全兼容,并且在完全兼容,并且在Bourne shellBourne shell的基础上增加、增强了很多特性。例如指令编辑、的基础上增加、增强了很多特性。例如指令编辑、指令自动完成等功能。指令自动完成等功能。开始使用LINUX课件vkshksh是是Korn shellKorn shell的缩写,由的缩写
10、,由Eric GisinEric Gisin编写,共有编写,共有4242条内部命条内部命令。该令。该shellshell的最大优点是几乎和商业发行版的的最大优点是几乎和商业发行版的kshksh完全兼容,可完全兼容,可以在不花钱购买商业版本的情况下尝试商业版本的性能了。以在不花钱购买商业版本的情况下尝试商业版本的性能了。开始使用LINUX课件vcshcsh是是linuxlinux比较大的内核,它由以比较大的内核,它由以William JoyWilliam Joy为代表的共为代表的共计计4747位作者编成,共有位作者编成,共有5252个内部命令。该个内部命令。该shellshell其实是指向其实是
11、指向/bin/tcsh/bin/tcsh这样的一个这样的一个shellshell,cshcsh其实就是其实就是tcshtcsh。开始使用LINUX课件vzchzch是是linuxlinux最大的最大的shellshell之一,由之一,由Paul FalstadPaul Falstad完成,共有完成,共有8484个个内部命令。如果只有一般的用途,是没有必要安装这样的内部命令。如果只有一般的用途,是没有必要安装这样的shellshell的。的。开始使用LINUX课件v可以通过查看可以通过查看/etc/shells/etc/shells文件,了解系统支持的文件,了解系统支持的shellshell的种
12、类。的种类。开始使用LINUX课件v查看登入的查看登入的shellshellecho $SHELLecho $SHELL显示在环境变量中的显示在环境变量中的shellshell的设置值的设置值在在/etc/passwd/etc/passwd文件中有每一个用户的文件中有每一个用户的bashbash的设置。每一个用的设置。每一个用户在登录户在登录linuxlinux以后就会进入设置的以后就会进入设置的bashbash环境下。环境下。开始使用LINUX课件变更登入变更登入shellshellv改变改变passwdpasswd文件中的文件中的shellshell的设置,最好不要直接编辑的设置,最好不要
13、直接编辑/etc/passwd/etc/passwd文件,而以文件,而以chshchsh指令变更。用户可以直接更改自己的设置。指令变更。用户可以直接更改自己的设置。 chsh chsh 选项选项用户用户 一般用户只能改变自己的登入一般用户只能改变自己的登入shellshell,rootroot则可以指定更改其他用则可以指定更改其他用户的设置。户的设置。-l-l显示列在显示列在/etc/shells/etc/shells文件内的文件内的shellshell-s-s直接指定直接指定shellshell为要设置变更的登入为要设置变更的登入shellshellchsh -s chsh -s 包含绝对路
14、径的包含绝对路径的shell shell 用户名用户名-u-u或或helphelp显示指令说明显示指令说明-v-v显示指令版本信息显示指令版本信息开始使用LINUX课件普通用户要求输入密码,普通用户要求输入密码,rootroot直接更改。直接更改。设置完成后并不会马上改变设置完成后并不会马上改变shellshell,用户必须退出再登入系统,用户必须退出再登入系统,才会启动新设置的才会启动新设置的shellshell。开始使用LINUX课件使用不同的使用不同的shellshellv登录后,可以执行系统中其他的登录后,可以执行系统中其他的shellshell来使用。例如:来使用。例如:tcshtc
15、sh可以在系统中连续执行多个可以在系统中连续执行多个shellshell。但当你执行了一层以上的其他但当你执行了一层以上的其他shellshell时,并不能用时,并不能用logoutlogout退退出系统,必须要一一离开每一层的出系统,必须要一一离开每一层的shellshell开始使用LINUX课件命令行命令行v用户与操作系统之间的交流是通过命令行来实现的用户与操作系统之间的交流是通过命令行来实现的v用户登录时,实际进入了用户登录时,实际进入了shellshell,它遵循一定的语法将,它遵循一定的语法将输入的命令加以解释并传给系统输入的命令加以解释并传给系统开始使用LINUX课件指令解析指令解
16、析v指令可以分成两种:一些是指令可以分成两种:一些是linuxlinux指令,例如:指令,例如:lsls,在,在/bin/bin或其或其它路径下可以找到独立的文件,执行这些指令时,必须从指定的它路径下可以找到独立的文件,执行这些指令时,必须从指定的路径去搜寻这些文件。路径去搜寻这些文件。v另一种是另一种是shellshell内建的指令,例如:内建的指令,例如:cdcd,并没有独立的文件存在。,并没有独立的文件存在。v不管是独立的文件,或是内建的指令,都有相同的基本指令格式:不管是独立的文件,或是内建的指令,都有相同的基本指令格式:指令指令-选项选项-选项选项-参数参数 命令行中输入的第一个字必
17、须是一个命令的名字,第二个字是命命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或令的选项或参数,命令行中的每个字必须由空格或TABTAB隔开隔开开始使用LINUX课件显示目录内容显示目录内容vls ls 可以看到不同颜色的文件和目录可以看到不同颜色的文件和目录蓝色蓝色目录目录 绿色绿色可执行文件可执行文件 红色红色压缩文件压缩文件 浅蓝色浅蓝色链接文件链接文件 灰色灰色其他文件其他文件 v如果在一些终端下没有颜色,可以使用如果在一些终端下没有颜色,可以使用 ls -color(always,auto,never) ls -color(alwa
18、ys,auto,never)打开打开“/etc/profile.d”/etc/profile.d”,加入:,加入:alias ls=ls -coloralias ls=ls -color,那么在下次启动,那么在下次启动bashbash时就可以显示颜色的目录列表了时就可以显示颜色的目录列表了开始使用LINUX课件v像像硬盘、软盘、磁带硬盘、软盘、磁带等存储设备,它们传输数据的速等存储设备,它们传输数据的速度很快,一般以数据块进行传输的,每个数据块通常度很快,一般以数据块进行传输的,每个数据块通常为为512512字节。这些以块为单位进行传输的设备叫做字节。这些以块为单位进行传输的设备叫做“块块设备
19、设备”。在列出目录清单时,在一行前有。在列出目录清单时,在一行前有“b b”符号显符号显示。示。v像像终端、显示器终端、显示器等为字符设备,传输速度较慢。在列等为字符设备,传输速度较慢。在列出目录清单时,在一行前有出目录清单时,在一行前有“c c”符号显示。符号显示。开始使用LINUX课件选项和参数选项和参数v选项是包括一个或多个字母的代码选项是包括一个或多个字母的代码v选项可用于改变命令执行的动作的类型选项可用于改变命令执行的动作的类型v参数是在命令行中的选项之后键入的一个或多个单词参数是在命令行中的选项之后键入的一个或多个单词v如果参数的数目与命令要求不符,如果参数的数目与命令要求不符,s
20、hellshell将会给出出错信息将会给出出错信息开始使用LINUX课件长格式显示长格式显示vls -lls -lvls -alls -alvls a /etc/skells a /etc/skelv一个圆点一个圆点“.”“.”表示当前目录,两个圆点表示当前目录,两个圆点“.”“.”表示当前目录的父目表示当前目录的父目录。录。开始使用LINUX课件ls d /etcls d /etcls Fls F开始使用LINUX课件v相对于根目录的路线称为绝对路径,相对于当前目录的路线称为相对于根目录的路线称为绝对路径,相对于当前目录的路线称为相对路径。相对路径。v相对路径只能用于当前目录的子目录及父目录
21、。相对路径只能用于当前目录的子目录及父目录。开始使用LINUX课件开始使用LINUX课件v“/”根目录部分有以下子目录:/usr目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。/var目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等/home目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。/proc目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用lsl可以显示
22、它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统/bin系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。/sbin系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)/etc操作系统的配置文件目录。/root系统管理员(也叫超级用户或根用户)的Home目录。/dev设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。/lib根文件系统目录
23、下程序和核心模块的共享库。/boot用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。/opt可选的应用程序,譬如,REDHAT5.2下的KDE(REDHAT6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)/tmp临时文件。该目录会被自动清理干净。/lost+found在文件系统修复时恢复的文件“/usr”目录下比较重要的部分有
24、:/usr/X11R6X-WINDOWS系统(version11,release6)/usr/X11同/usr/X11R6(/usr/X11R6的符号连接)/usr/X11R6/bin大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。/usr/docLINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。/usr/share独立与你计算机结构的数据,譬如,字典中的词。/usr/bin和/usr/sbin类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。/usr/
25、local本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。/usr/local/bin可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。/proc目录的内容:/proc/cpuinfo关于处理器的信息,如类型、厂家、型号和性能等。/proc/devices当前运行内核所配置的所有设备清单。/proc/dma当前正在使用的DMA通道。/proc/当前运行内核所配置的文件系统。/proc/interrupts正在使用的中断,和曾经有多少个中断。/proc/i
26、oports当前正在使用的I/O端口。开始使用LINUX课件切换目录切换目录vcd cd 路径路径 vcd / cd / 切换到根目录切换到根目录/ /vcd cd 回到用户的家目录回到用户的家目录vcd .cd .仍为当前目录仍为当前目录vcd . . cd . . 退到父目录退到父目录vcd -cd - 后退到上一次进入的目录后退到上一次进入的目录v 代表自己的家目录代表自己的家目录 vuser user 代表到代表到 user user 这个人的家目录这个人的家目录开始使用LINUX课件vroot test /root # cd root test /root # cd 相对路径或绝对路
27、径相对路径或绝对路径 范例:范例: root test /root# cd .root test /root# cd .回到上一层目录回到上一层目录 root test /root# cd ./homeroot test /root# cd ./home 相对路径的写法相对路径的写法 root test /root# cd /var/root test /root# cd /var/ 绝对路径的写法绝对路径的写法 root test /etc# cdroot test /etc# cd回到使用者的家目录回到使用者的家目录 root test /etc# cd root test /etc# c
28、d 回到使用者的家目录!回到使用者的家目录!root test /etc# cd testroot test /etc# cd test回到回到 test test 这个使用者的家目录这个使用者的家目录 开始使用LINUX课件显示当前绝对路径显示当前绝对路径vpwdpwd /home/neighbor /home/neighbor开始使用LINUX课件显示文字文件内容显示文字文件内容vcatcat可以直接将文字文件的内容显示在屏幕上可以直接将文字文件的内容显示在屏幕上有几种方法:有几种方法:(1)(1)显示单个文件显示单个文件例如:显示单个文件例如:显示单个文件filefile的内容的内容ca
29、t filecat file(2)(2)在一次显示多个文件时,按顺序处理每个文件在一次显示多个文件时,按顺序处理每个文件例如:依次显示三个文件例如:依次显示三个文件file1file1、file2file2、file3file3的内容的内容cat file1 file2 file3cat file1 file2 file3(3)(3)用户可以将用户可以将catcat命令的执行结果改向到终端或某个文件中去命令的执行结果改向到终端或某个文件中去例如:将三个文件例如:将三个文件file1file1、file2file2、file3file3的内容依次串接起来,存放到的内容依次串接起来,存放到文件文件
30、filefile中中cat file1 file2 file3 file cat file1 file2 file3 file 开始使用LINUX课件例如:从键盘例如:从键盘( (标准输入标准输入) )上输入上输入( (读入读入) )数据并送到新文件数据并送到新文件file8file8中中cat file8cat file8指令执行后,系统等待操作者从键盘上输入数据,可按下指令执行后,系统等待操作者从键盘上输入数据,可按下ctrl+dctrl+d结束输入。结束输入。开始使用LINUX课件vroot test /root # cat -nAv root test /root # cat -nAv
31、 参数说明:参数说明: -n:-n: 显示时,连行号印出屏幕上。显示时,连行号印出屏幕上。 -A:-A: 将将 DOS DOS 下的下的 与断行字符都列出来!与断行字符都列出来!-v-v:使用使用catcat命令来显示控制字符命令来显示控制字符MM root test /root# cat /.bashrcroot test /root# cat /.bashrc 显示显示 .bashrc .bashrc 这个文件这个文件 # .bashrc # User specific aliases and functions # .bashrc # User specific aliases and
32、functions PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH local/bin:$PATH alias rm=rm -i alias rm=rm -i alias cp=cp -i alias cp=cp -i alias mv=mv -i alias mv=mv -i alias ll=ls -l -color=never alias ll=ls -l -color=never
33、开始使用LINUX课件root test /root# cat /.bashrc -nroot test /root# cat /.bashrc -n 显示显示 .bashrc .bashrc 並且加上行号並且加上行号 1 1 # .bashrc # .bashrc 2 2 3 3 # User specific aliases and functions # User specific aliases and functions 4 4 PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/uPATH=/bin:/sbin:/usr/sbin
34、:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH sr/local/bin:$PATH 6 6 alias rm=rm -i alias rm=rm -i 7 7 alias cp=cp -i alias cp=cp -i 8 8 alias mv=mv -i alias mv=mv -i 9 9 alias ll=ls -l -color=never alias ll=ls -l -color=never 开始使用LINUX课件root test /root# cat -A regexp.txt root test /root# cat -A re
35、gexp.txt This is a cat, however, I need a dog.M$ This is a cat, however, I need a dog.M$ I want to Happy and and /Happy/ I want to Happy and and /Happy/ here.M$ here.M$ OK! Ieverythins is OKM$ OK! Ieverythins is OKM$ Now, I will eat my foodM$ Now, I will eat my foodM$ are you Ifinished your workM$ a
36、re you Ifinished your workM$ what do you 123 goto whereM$ what do you 123 goto whereM$ 显示出显示出 DOS DOS 文件的几个特殊符号,以上面文件为例,文件的几个特殊符号,以上面文件为例,可发现可发现M M 为断行符号,而每行的为断行符号,而每行的 $ $ 为行尾符号,至于为行尾符号,至于 I I 則是則是 按键啦!按键啦!开始使用LINUX课件v显示更多内容显示更多内容 如果显示的内容大于屏幕范围,可以使用如果显示的内容大于屏幕范围,可以使用moremore命令显示指定文件内命令显示指定文件内容。按空格键
37、将显示一屏信息,按回车键将显示一行信息。容。按空格键将显示一屏信息,按回车键将显示一行信息。more more 选择项选择项 文件名文件名 选择项:选择项:-d-d每次显示满一屏后提示每次显示满一屏后提示开始使用LINUX课件查看查看readmereadme的内容的内容more more readmereadmev上下浏览上下浏览lessless more more只能一页一页往下看。只能一页一页往下看。lessless可以让你回顾前面的内容。可以让你回顾前面的内容。 less less readmereadme开始使用LINUX课件v有时只需看文件的开头部分,用有时只需看文件的开头部分,用h
38、eadhead命令可达到此目的。命令可达到此目的。headhead - -开头行数开头行数 文件名文件名例如:显示文件例如:显示文件/etc/asktime/etc/asktime的开头的开头1010行行head -10 /etc/asktimehead -10 /etc/asktime开始使用LINUX课件v有时只需看文件的末尾部分有时只需看文件的末尾部分tail tail - -末尾的行数末尾的行数 文件名文件名例如:在屏幕上显示文件例如:在屏幕上显示文件formatformat最后的最后的5 5行行tail -5 formattail -5 format开始使用LINUX课件v例题一:假
39、如我想要显示例题一:假如我想要显示 /.bashrc /.bashrc 的第的第 11 11 到第到第 20 20 行呢?行呢? 答:答: 在第在第 11 11 到第到第 20 20 行,取前行,取前 20 20 行,再取后十行,所以结果就行,再取后十行,所以结果就是:是: head n 20 /.bashrc | tail n 10 head n 20 /.bashrc | tail n 10 这样就可以得到第这样就可以得到第 11 11 到第到第 20 20 行之间的内容了!行之间的内容了! 开始使用LINUX课件目录目录vmkdirmkdir 目录名称目录名称 mkdir myfiles
40、 mkdir myfiles例如:在根目录下建立一个例如:在根目录下建立一个dbfdbf子目录子目录mkdir dbfmkdir dbfmkdir /dbfmkdir /dbf开始使用LINUX课件vroot test /root # mkdir -mp root test /root # mkdir -mp 目录名称目录名称 参数说明:参数说明: -m -m :设定文件的权限!:设定文件的权限! -p -p :帮助你直接将上面的目录递归建立起来!:帮助你直接将上面的目录递归建立起来! root test /root# cd tmp root test /root# cd tmp root t
41、est /tmp# mkdir testroot test /tmp# mkdir test建立名称为建立名称为 test test 的目录的目录 root test /tmp# mkdir -p test1/test2/test3/test4 root test /tmp# mkdir -p test1/test2/test3/test4 直接建立直接建立 test2. test2.等上层目录等上层目录 root test /tmp# mkdir -m 711 testqqroot test /tmp# mkdir -m 711 testqq 建立权限为建立权限为 711 711 的目录的目
42、录root test /tmp# ll test* root test /tmp# ll test* drwxrwxr-xdrwxrwxr-x 2 test 2 test test test 4096 Feb 4096 Feb 6 20:47 test/ 6 20:47 test/ drwxrwxr-xdrwxrwxr-x 3 test 3 test test test 4096 Feb 4096 Feb 6 20:48 test1/ 6 20:48 test1/ drwx-x-xdrwx-x-x 2 test 2 test test test 4096 Feb 4096 Feb 6 20:4
43、8 testqq/ 6 20:48 testqq/ 开始使用LINUX课件如果如果dbfdbf目录为当前目录,建立名为目录为当前目录,建立名为prgprg的子目录的子目录mkdir /dbf/prgmkdir /dbf/prgmkdir prgmkdir prg如果如果/usr/xian/usr/xian目录是当前目录,创建子目录目录是当前目录,创建子目录zdzzdzmkdir zdzmkdir zdz若当前目录是根目录若当前目录是根目录/ /,建立名为,建立名为wwwwww的子目录的子目录mkdir wwwmkdir www开始使用LINUX课件如果当前目录是如果当前目录是/dos/dos,
44、要建立,要建立/cad/autocad/cad/autocad子目录子目录mkdir /cad/autocadmkdir /cad/autocadmkdir ./cad/autocadmkdir ./cad/autocad开始使用LINUX课件v当一些目录不再使用时,可以将他们删除。需要使用当一些目录不再使用时,可以将他们删除。需要使用rmrm命令和命令和rmdirrmdir命令结合完成。命令结合完成。 rmdir p /p rmdir p /p参数是删所指定的空目当,如果删除当前目参数是删所指定的空目当,如果删除当前目录之后父目录也是一个空目录时,也一并删除录之后父目录也是一个空目录时,也一
45、并删除rmrm删除将要删除的子目录中的文件,当这个目录变成一个空目录删除将要删除的子目录中的文件,当这个目录变成一个空目录时,再使用时,再使用rmdirrmdir删除一个空目录。删除一个空目录。 rmdir rmdir 目录名称目录名称 删除的目录必须是已经没有文件的空目录删除的目录必须是已经没有文件的空目录假如目录假如目录abcabc是当前目录的子目录而且是空的是当前目录的子目录而且是空的rmdir abcrmdir abc开始使用LINUX课件 rm -r rm -r 名称名称 将目录和目录下的所有文件一并删除。将目录和目录下的所有文件一并删除。-i-i对每个文件都询问操作者是否删除对每个
46、文件都询问操作者是否删除开始使用LINUX课件vroot test /root # root test /root # rmdirrmdir -p -p 目录名称目录名称 参数说明:参数说明: -p -p :将上层的目录也刪除!:将上层的目录也刪除! 范例:范例: root test /root# rmdir testroot test /root# rmdir test刪除名称为刪除名称为 test test 的目录的目录 root test tmp# ll root test tmp# ll drwxrwxr-xdrwxrwxr-x 3 test 3 test test test 4096
47、 Feb 4096 Feb 6 20:48 test1/ 6 20:48 test1/ root test tmp# rmdir test1 root test tmp# rmdir test1 rmdir: test1: Directory not empty rmdir: test1: Directory not empty root test tmp# rmdir -p test1/test2/test3/test4 root test tmp# rmdir -p test1/test2/test3/test4 root test tmp$ ll root test tmp$ ll 开始
48、使用LINUX课件范例:范例: root test /root# root test /root# cpcp .bashrc bashrc .bashrc bashrc将将 .bashrc .bashrc 拷贝成拷贝成 bashrc bashrc 这个文件这个文件root test /root# cp root test /root# cp -r-r /bin /tmp/bin /bin /tmp/bin 这是用来这是用来 copy copy 整个目录的参数整个目录的参数 root test /root# cp -s .bashrc bashrcroot test /root# cp -s .
49、bashrc bashrc将将 .bashrc .bashrc 建立一个连结文件,文件名为建立一个连结文件,文件名为 bashrc bashrc 开始使用LINUX课件复制文件复制文件vcp -r cp -r 名称名称 目的地目的地 -r -r表示将子目录下的文件一起复制表示将子目录下的文件一起复制 cp r cp r myfiles myfiles /root/root将文件将文件a1a1,a2a2,a3a3一起复制到目录一起复制到目录abcabc中中cp a1 a2 a3 cp a1 a2 a3 abcabcv移动或改名移动或改名 将文件从一个目录移动到另一个目录将文件从一个目录移动到另一
50、个目录 mvmv 名称名称 目的目的 如果名称与目的地路径一样,作用就是改名如果名称与目的地路径一样,作用就是改名 mv /root/myfile mv /root/myfile /tmp/tmp 将将myfilemyfile文件名改为文件名改为file1file1 mv /root/myfile mv /root/myfile /root/file1 /root/file1开始使用LINUX课件将文件将文件123123更名为更名为789789mv 123 789mv 123 789将目录将目录abcabc改变为改变为xyzxyzmv abc xyzmv abc xyz将目录将目录abcabc
51、作为一个子目录,移动到作为一个子目录,移动到/usr/usr目录中目录中mv abc /usrmv abc /usr开始使用LINUX课件vroot test /root # root test /root # mv -umv -u 源文件源文件 目的文件目的文件 参数说明:参数说明: -u-u : :为为 update update 的简写,当源文件比目的文件还新的时后才会动的简写,当源文件比目的文件还新的时后才会动作!作! 范例:范例: root test /root# cp .bashrc bashrc root test /root# cp .bashrc bashrc root te
52、st /root# mv bashrc bashrc.old root test /root# mv bashrc bashrc.old root test /root# mv bashrc bashrc2 /tmproot test /root# mv bashrc bashrc2 /tmp将将bashrc bashrc 与与 bashrc2 bashrc2 移动到移动到 /tmp /tmp 这个目录下!请注意,最这个目录下!请注意,最后一个才是最终的目标,其他的都是后一个才是最终的目标,其他的都是 SOURCE SOURCE 开始使用LINUX课件locate locate 查找文件查找文
53、件语法:语法: root test /root # root test /root # locatelocate 目录名称目录名称 例:例: root test /root# locate root root test /root# locate root 一大堆跟一大堆跟 root root 有关字眼的文件都出来了有关字眼的文件都出来了 root test /root# updatedbroot test /root# updatedb 立刻更新资料库立刻更新资料库(/var/lib/slocate/slocate.db)(/var/lib/slocate/slocate.db)开始使用LI
54、NUX课件到底要建立哪些资料库呢?是否全部都要建立?似乎不需要,到底要建立哪些资料库呢?是否全部都要建立?似乎不需要,这个时候,可以选择需要建立文件资料库的目录!在这个时候,可以选择需要建立文件资料库的目录!在 /etc/updatedb.conf /etc/updatedb.conf 这个文件内即可设定这个文件内即可设定开始使用LINUX课件linuxlinux用户交流命令用户交流命令vwallwall命令命令对全部已登录的用户发送信息。用户可以将要发送的信息写好存入对全部已登录的用户发送信息。用户可以将要发送的信息写好存入一个文件中,输入:一个文件中,输入:#wall #wall myda
55、ta mydata newdata newdata开始使用LINUX课件shellshell中的特殊字符中的特殊字符v通配符通配符q? ? 任意一个字符任意一个字符q* * 零个域多个任意字符零个域多个任意字符v引号引号q单引号:单引号: 由单引号括起来的字符都作为普通字符出现。由单引号括起来的字符都作为普通字符出现。q双引号:双引号:“ ”“ ” 由双引号括起来的字符,除由双引号括起来的字符,除$ $、 和和 这几个字符仍这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。q反引号:反引号: 反引号括起来的字符串被反
56、引号括起来的字符串被shellshell解释为命令行,在执行解释为命令行,在执行时,时,shellshell首先执行该命令行,并以它的标准输出结果取代整个反首先执行该命令行,并以它的标准输出结果取代整个反引号引号( (包括两个反引号包括两个反引号) )部分。部分。v注释符注释符# #开始使用LINUX课件开始使用LINUX课件1 1、删除所有文件、删除所有文件 rm * rm *2 2、列出、列出files?files?的文件的文件 ls files? ls files?3 3、列出数字开头的文件、列出数字开头的文件 ls 0-9 * ls 0-9 *4 4、切换到自己主目录、切换到自己主目录
57、 cd cd 开始使用LINUX课件寻找文件寻找文件findfind/ /-name-namehttpd.conf httpd.conf 在在findfind后面写上后面写上-name-name,表明要求系统按照文件名查找,最后写上,表明要求系统按照文件名查找,最后写上httpd.confhttpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:示出查找结果列表:etc/httpd/conf/httpd.confetc/httpd/conf/httpd.conf 这就是这就是httpd.confhttpd.conf
58、这个文件在这个文件在LinuxLinux系统中的完整路径。查找成功。系统中的完整路径。查找成功。 如果输入以上查找命令后系统并没有显示出结果,那么不要以为系如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行统没有执行find/find/-name-namehttpd.confhttpd.conf命令,而可能是你的系统中没有命令,而可能是你的系统中没有安装安装ApacheApache服务器,这时只要你安装了服务器,这时只要你安装了ApacheApacheWebWeb服务器,然后再使服务器,然后再使用用findfind/ /-name-namehttpd.confhttpd.co
59、nf就能找到这个配置文件了。就能找到这个配置文件了。 开始使用LINUX课件v某个文件包含有某个文件包含有srmsrm这这3 3个字母,那么要找到系统中所有包含有这个字母,那么要找到系统中所有包含有这3 3个字母的文件个字母的文件 find find/etc/etc-name-name*srm*srm*find /etc name “srm*” find /etc name “srm*” 这个命令表明了这个命令表明了LinuxLinux系统将在系统将在/etc/etc整个目录中查找所有的整个目录中查找所有的包含有包含有srmsrm这这3 3个字母的文件,比如个字母的文件,比如absrmyzab
60、srmyz,tibc.srmtibc.srm等等符等等符合条件的文件都能显示出来。合条件的文件都能显示出来。 find /etc find /etc-name-namesrm*srm* 只有像只有像srmyzsrmyz这样的文件才被查找出来,象这样的文件才被查找出来,象absrmyzabsrmyz或者或者absrmabsrm这样的文件都不符合要求这样的文件都不符合要求 开始使用LINUX课件vfindfind/ /-size-size1500c 1500c 查找一个大小为查找一个大小为1,5001,500bytesbytes的的LinuxLinux文件。字符文件。字符c c表明表明这个要查找的
61、文件的大小是以这个要查找的文件的大小是以bytesbytes为单位为单位 。 find / find /-size-size +10000000c +10000000c 标明在根目录中查找出大于标明在根目录中查找出大于1000000010000000字节的文件并显示字节的文件并显示出来。命令中的出来。命令中的“”是表示要求系统只列出大于指定大是表示要求系统只列出大于指定大小的文件,而使用小的文件,而使用“-”“-”则表示要求系统列出小于指定大小则表示要求系统列出小于指定大小的文件。的文件。 开始使用LINUX课件vfindfind/ /-amin-amin-10-10 查找在系统中最后查找在系
62、统中最后1010分钟访问的文件分钟访问的文件 findfind/ /-atime-atime-2 -2 查找在系统中最后查找在系统中最后4848小时访问的文件小时访问的文件 findfind/ /-empty -empty 查找在系统中为空的文件或者文件夹查找在系统中为空的文件或者文件夹 findfind/ /-group-groupcatcat 查找在系统中属于查找在系统中属于catcat组的文件组的文件 findfind/ /-mmin-mmin-5-5 查找在系统中最后查找在系统中最后5 5分钟里修改过的文件分钟里修改过的文件 findfind/ /-mtime-mtime-1-1 查找
63、在系统中最后查找在系统中最后2424小时里修改过的文件小时里修改过的文件 findfind/ /-nouser-nouser 查找在系统中属于作废用户的文件查找在系统中属于作废用户的文件 findfind/ /-user-userfredfred 查找在系统中属于查找在系统中属于fredfred这个用户的文件这个用户的文件开始使用LINUX课件v当使用很多的逻辑选项时,可以用括号把这些选项括起来。为当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免了避免ShellShell本身对括号引起误解,在话号前需要加转义字符本身对括号引起误解,在话号前需要加转义字符“”“”来去除括号的意义。来
64、去除括号的意义。v例:例:$ find ( name tmp xtype c -user root )$ find ( name tmp xtype c -user root )开始使用LINUX课件以名称和文件属性查找。以名称和文件属性查找。v- name - name 字串字串 查找文件名匹配所给字串的所有文件,字串内可用查找文件名匹配所给字串的所有文件,字串内可用通配符通配符* *、? ?、 。v- lname - lname 字串字串 查找文件名匹配所给字串的所有符号链接文件,字查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符串内可用通配符* *、? ?、 。v-gid n
65、-gid n 查找属于查找属于IDID号为号为n n的用户组的所有文件。的用户组的所有文件。v-uid n -uid n 查找属于查找属于IDID号为号为n n的用户的所有文件。的用户的所有文件。v-group -group 字串字串 查找属于用户组名为所给字串的所有的文件。查找属于用户组名为所给字串的所有的文件。v-user -user 字串字串 查找属于用户名为所给字串的所有的文件。查找属于用户名为所给字串的所有的文件。v-empty -empty 查找大小为查找大小为0 0的目录或文件。的目录或文件。v-path -path 字串字串 查找路径名匹配所给字串的所有文件,字串内可用通查找路
66、径名匹配所给字串的所有文件,字串内可用通配符配符* *、? ?、 。v-perm -perm 权限权限 查找具有指定权限的文件和目录,权限的表示可以如查找具有指定权限的文件和目录,权限的表示可以如711711,644644。v-size nbckw -size nbckw 查找指定文件大小的文件,查找指定文件大小的文件,n n后面的字符表示单位,缺后面的字符表示单位,缺省为省为b b,代表,代表512512字节的块。字节的块。开始使用LINUX课件v-type x -type x 查找类型为查找类型为x x的文件,的文件,x x为下列字符之一:为下列字符之一:b b 块设备文件块设备文件c c
67、 字符设备文件字符设备文件d d 目录文件目录文件p p 命名管道命名管道(FIFO)(FIFO)f f 普通文件普通文件l l 符号链接文件符号链接文件(symbolic links)(symbolic links)s sockets socket文件文件-xtype x -xtype x 与与-type-type基本相同,但只查找符号链接文件。基本相同,但只查找符号链接文件。 开始使用LINUX课件-exec exec 命令名称命令名称 对符合条件的文件执行所给的对符合条件的文件执行所给的Linux Linux 命令,而不询问用户是否命令,而不询问用户是否需要执行该命令。需要执行该命令。表
68、示命令的参数即为所找到的文件;命令的末尾必须以表示命令的参数即为所找到的文件;命令的末尾必须以“ “ ;”结束。结束。-例:#find.-typef-execls-l;-#find.-typef-execrm;-ok ok 命令名称命令名称 对符合条件的文件执行所给的对符合条件的文件执行所给的Linux Linux 命令,与命令,与execexec不同的是,不同的是,它会询问用户是否需要执行该命令。它会询问用户是否需要执行该命令。-lsls 详细列出所找到的所有文件。详细列出所找到的所有文件。-fprintffprintf 文件名文件名 将找到的文件名写入指定文件。将找到的文件名写入指定文件。
69、-print print 在标准输出设备上显示查找出的文件名。在标准输出设备上显示查找出的文件名。- - printfprintf 格式格式 开始使用LINUX课件例例1 1:查找当前目录中所有以:查找当前目录中所有以mainmain开头的文件,并显示这些文件的内容。开头的文件,并显示这些文件的内容。$ find . -name main* -exec more ;$ find . -name main* -exec more ;例例2 2:删除当前目录下所有一周之内没有被访问过的:删除当前目录下所有一周之内没有被访问过的a .outa .out并且是并且是*.o*.o文件。文件。$ find
70、 . ( -name a.out -name *.out )$ find . ( -name a.out -name *.out )-atime +7 -exec rm ;-atime +7 -exec rm ;说明如下:说明如下:命令中的命令中的“.”“.”表示当前目录,此时表示当前目录,此时findfind将从当前目录开始,逐个在其将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。子目录中查找满足后面指定条件的文件。(和和)表示括号表示括号()(),其中的,其中的“”“”称为转义符。称为转义符。开始使用LINUX课件root test /root# find . -ctime
71、1root test /root# find . -ctime 1 寻找当前目录下一天内新增的目录或文件寻找当前目录下一天内新增的目录或文件 root test /root# find /home/test -newer .bashrcroot test /root# find /home/test -newer .bashrc 寻找寻找 /home/test /home/test 目录下比目录下比 .bashrc .bashrc 还要新的文件还要新的文件 root test /root# find /dev -type broot test /root# find /dev -type b寻
72、找寻找 /dev /dev 这个目录下,文件属性为这个目录下,文件属性为b b的文件的文件开始使用LINUX课件v例如想在例如想在/tmp/tmp目录中查找大于目录中查找大于100000000100000000字节并且在字节并且在4848小时内修改小时内修改的某个文件,可以使用的某个文件,可以使用-and-and来把两个查找选项链接起来组合成一来把两个查找选项链接起来组合成一个混合的查找方式。个混合的查找方式。 find find/tmp/tmp-size-size+10000000c+10000000c-and-and-mtime-mtime-2 -2 v在在/tmp/tmp目录中查找属于目
73、录中查找属于fredfred或者或者georgegeorge这两个用户的文件这两个用户的文件 find find/tmp/tmp-user-userfredfred-or-or-user-usergeorge george v在在/tmp/tmp目录中查找所有不属于目录中查找所有不属于pandapanda的文件的文件 find find/tmp/tmp ! !-user-userpanda panda find.!(-name*cc*-or-typed)find.!-name*cc*-or-typed开始使用LINUX课件v当我们在当我们在shellshell中执行命令的时候,每个进程都和三个
74、打开的文件中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,易记忆, shell shell同时也给出了相应的文件名。同时也给出了相应的文件名。v下面就是这些文件描述符及它们通常所对应的文件名:下面就是这些文件描述符及它们通常所对应的文件名:系统中实际上有系统中实际上有1212个文件描述符,但是正如我们在上表中所看个文件描述符,但是正如我们在上表中所看到的,到的, 0 0、1 1、2 2是标准输入、输出和错误。可以任意使用文件描是标准输入、输出和错误。可以任意使用文件描述符述符
75、3 3到到9 9。开始使用LINUX课件标准输入标准输入/ /输出和重定向输出和重定向v标准输入标准输入(stdin)(stdin),缺省是键盘,缺省是键盘, ,也可以是文件或其他命令的输出也可以是文件或其他命令的输出v标准输出标准输出(stdout)(stdout),缺省是终端,也就是屏幕,缺省是终端,也就是屏幕, ,也可以是文件也可以是文件v标准错误输出标准错误输出(stderr)(stderr),缺省是屏幕,缺省是屏幕, ,也可以是文件也可以是文件开始使用LINUX课件v输出重定向输出重定向qq v输入重定向输入重定向q qv管道管道q| |开始使用LINUX课件wc /etc/pass
76、wdwc /etc/passwdwc eofwc hellohelloworldworldare you here?are you here?eofeof开始使用LINUX课件sort name.txt sort name.txt 等同于等同于 sort name.txt sort name.txt cat a.txt = cat a.txt cat a.txt = cat a.txtv还可以更进一步地通过重定向为还可以更进一步地通过重定向为sortsort命令指定一个输出文件命令指定一个输出文件name.outname.out。这样屏幕上将不会出现任何信息。这样屏幕上将不会出现任何信息( (
77、除了错误信息以外除了错误信息以外) ):sort name.outsort name.out wc passwd.txtwc passwd.txt开始使用LINUX课件v重定向操作符重定向操作符command delimitercommand delimiter是一种非常有用的命令,是一种非常有用的命令,shellshell将将分界符分界符delimiterdelimiter之后直至下一个同样的分界符之前的所有内容都作为之后直至下一个同样的分界符之前的所有内容都作为输入,遇到下一个分界符,输入,遇到下一个分界符, shell shell就知道输入结束了。这一命令对于就知道输入结束了。这一命令对
78、于自动或远程的例程非常有用。可以任意定义分界符自动或远程的例程非常有用。可以任意定义分界符delimiterdelimiter,最常见,最常见的是的是EOFEOF,还可以在,还可以在 myfile myfile hello there I am using a $TERM terminal hello there I am using a $TERM terminal and my user name is $LOGNAME and my user name is $LOGNAME bye bye mayday maydayrootlinux8 # cat myfilerootlinux8 #
79、 cat myfilehello there I am using a xterm terminalhello there I am using a xterm terminaland my user name is rootand my user name is rootbyebye开始使用LINUX课件v程序的错误输出也可以重新定向。使用符号程序的错误输出也可以重新定向。使用符号2(2(或或2)2)表示对错表示对错误输出设备重定向。误输出设备重定向。如:如:ls /usr/tmp 2err.filels /usr/tmp 2err.file可在萤屏上看到程序的正常输出结果,但又将程序的任何
80、错误信可在萤屏上看到程序的正常输出结果,但又将程序的任何错误信息送到息送到err.fileerr.file中,以备将来检查用。中,以备将来检查用。开始使用LINUX课件合并标准输出和标准错误合并标准输出和标准错误v在合并标准输出和标准错误的时候,切记在合并标准输出和标准错误的时候,切记shellshell是从是从左至右左至右分分析相应的命令的。下面给出一个例子:析相应的命令的。下面给出一个例子:$ ls cleanup cleanup.out 2$ ls cleanup cleanup.out 2&1&1Ls a.txt out.txt 2 out.txtLs a.txt out.txt 2
81、out.txt$ ls cleanup 2$ ls cleanup 2&1 &1 cleanup.outcleanup.out开始使用LINUX课件v还可以使用还可以使用&重定向操作符将标准输出和错误输出同时送到重定向操作符将标准输出和错误输出同时送到同一文件中。同一文件中。ls /usr/tmp &output.filels /usr/tmp &output.file开始使用LINUX课件ls /usr/bin /tmp/dirls /usr/bin /tmp/dirwc w /tmp/dirwc w 右边右边只能只能是是文件文件左边的命令应该需要标准输入左边的命令应该需要标准输入右边右边只
82、能只能是是文件文件v2、管道触发两个子进程执行、管道触发两个子进程执行|两边的程序;而两边的程序;而重定向是在一个进程内执行重定向是在一个进程内执行开始使用LINUX课件v别名别名aliasalias输入输入aliasalias可以看到目前指令别名清单。可以看到目前指令别名清单。命令别名是命令别名是bashbash提供的使用户的工作变得轻松的方法。命令别名通常提供的使用户的工作变得轻松的方法。命令别名通常是其它命令的缩写,用来减少键盘输入。是其它命令的缩写,用来减少键盘输入。alias alias_name=original_commandalias alias_name=original_c
83、ommand alias alias 别名别名=别名代表的命令别名代表的命令注意:注意:1.1.定义别名时,等号两边不允许有空格存在。若命令中包含空格或其定义别名时,等号两边不允许有空格存在。若命令中包含空格或其它的特殊字符串则必须使用引号。它的特殊字符串则必须使用引号。2.2.如果需要定义的别名在每次登录时对于此用户均有效,则需要将其如果需要定义的别名在每次登录时对于此用户均有效,则需要将其写入用户家目录下的写入用户家目录下的.bashrc.bashrc文件。文件。开始使用LINUX课件当不使用任何参数来使用当不使用任何参数来使用aliasalias命令时,显示当前的别名设置。命令时,显示当
84、前的别名设置。当需要取消别名时使用当需要取消别名时使用unaliasunalias命令命令unalias alias_nameunalias alias_name开始使用LINUX课件v指令记录指令记录historyhistory会列出指令记录,而且每次记录都会加上号码,可以指定编号会列出指令记录,而且每次记录都会加上号码,可以指定编号执行指令。指定编号时以执行指令。指定编号时以! !加上号码,如:加上号码,如:!740!740开始使用LINUX课件SortSort命令命令v语法:语法:sort sort 选项选项 文件文件 v改变缺省设置的选项主要有:改变缺省设置的选项主要有:- m - m
85、 若给定文件已排好序,合并文件。若给定文件已排好序,合并文件。- c - c 检查给定文件是否已排好序,如果它们没有都排好序,则打检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值印一个出错信息,并以状态值1 1退出。退出。- u - u 对排序后认为相同的行只留其中一行。对排序后认为相同的行只留其中一行。- o - o 输出文件输出文件 将排序输出写到输出文件中而不是标准输出,如果将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,输出文件是输入文件之一,sortsort先将该文件的内容写入一个临先将该文件的内容写入一个临时文件,然后再排序和写输出
86、结果。时文件,然后再排序和写输出结果。开始使用LINUX课件改变缺省排序规则的选项主要有:改变缺省排序规则的选项主要有:- d - d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。- f - f 将小写字母与大写字母同等对待。将小写字母与大写字母同等对待。- I - I 忽略非打印字符。忽略非打印字符。- M - M 作为月份比较:作为月份比较:“JAN”“FEB”“JAN”“FEB” “DEC” clist$ cat veglist fruitlist | sort clist开始使用LINUX课件uniquniq命令命令v
87、这个命令读取输入文件,并比较相邻的行。在正常情况下,这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用文件中。输入文件和输出文件必须不同。如果输入文件用“-”表示,则从标准输入读取。表示,则从标准输入读取。语法:语法:uniq uniq 选项选项 文件文件开始使用LINUX课件- c - c 显示输出中,在每行行首加上本行在文件中出现的次数。它显
88、示输出中,在每行行首加上本行在文件中出现的次数。它可取代可取代- u- u和和- d- d选项。选项。- d - d 只显示重复行。只显示重复行。- u - u 只显示文件中不重复的各行。只显示文件中不重复的各行。 - f n - f n 省略掉前省略掉前n n栏栏 -s n -s n 省略掉前省略掉前n n个字符个字符( (包含空格在内包含空格在内) )-uniq a.txt f2 s3 uniq a.txt f2 s3 省略第省略第1,21,2栏和第三栏的前栏和第三栏的前3 3个字符个字符( (包含第包含第2 2栏后的空格栏后的空格) )开始使用LINUX课件例如:例如:1. 1. 显示文
89、件显示文件exampleexample中不重复的行。中不重复的行。uniq -u exampleuniq -u example2. 2. 显示文件显示文件exampleexample中不重复的行,从第中不重复的行,从第2 2个字段的第个字段的第2 2个字符开个字符开始做比较。始做比较。uniq -u f1 s2 exampleuniq -u f1 s2 example开始使用LINUX课件CommComm命令命令v对两个对两个有序有序的文件进行比较,可以使用的文件进行比较,可以使用commcomm命令。命令。 v语法:语法:comm -123 file1 file2comm -123 file
90、1 file2v说明:该命令是对两个已经排好序的文件进行比较。其中说明:该命令是对两个已经排好序的文件进行比较。其中file1file1和和file2file2是已排序的文件。是已排序的文件。commcomm读取这两个文件,然后生成三列输出:读取这两个文件,然后生成三列输出:仅在仅在file1file1中出现的行;仅在中出现的行;仅在file2file2中出现的行;在两个文件中都中出现的行;在两个文件中都存在的行。如果文件名用存在的行。如果文件名用“- ”“- ”,则表示从标准输入读取。,则表示从标准输入读取。 开始使用LINUX课件v选项选项1 1、2 2或或3 3抑制相应的列显示。抑制相应
91、的列显示。v-1不显示只在第不显示只在第1个文件里出现过的行。个文件里出现过的行。-2不显示只在第不显示只在第2个文件里出现过的行。个文件里出现过的行。-3不显示只在第不显示只在第1和第和第2个文件里出现过个文件里出现过的行。的行。v例如例如comm -12comm -12就只显示在两个文件中都存在的行;就只显示在两个文件中都存在的行;comm -23comm -23只显示在第一个文件中出现而未在第二个文件中出现只显示在第一个文件中出现而未在第二个文件中出现的行;的行; comm - 123comm - 123则什么也不显示。则什么也不显示。开始使用LINUX课件例如:假设要对文件例如:假设要
92、对文件myfile1myfile1和和myfile2myfile2进行比较进行比较$ cat myfile1$ cat myfile1main( )main( ) float a,b, i, j ,z ;float a,b, i, j ,z ;a=i=10 ; b=j=5 ; a=i=10 ; b=j=5 ; z= i + j ;z= i + j ;printf(“z=%dn”,z) ; printf(“z=%dn”,z) ; 开始使用LINUX课件$ cat myfile2$ cat myfile2#include #include main( )main( ) float i, j ,z
93、;float i, j ,z ;i=10 ; j=5 ; i=10 ; j=5 ; z= i + j ;z= i + j ;printf(“z=%fn”,z) ;printf(“z=%fn”,z) ; 开始使用LINUX课件$ comm -12 myfile1 myfile2$ comm -12 myfile1 myfile2main( )main( ) z= i + j ;z= i + j ; 就只显示文件就只显示文件myfile1myfile1和和myfile2myfile2中共有的行。中共有的行。开始使用LINUX课件DiffDiff命令命令v逐行比较两个文本文件,列出其不同之处。它比逐
94、行比较两个文本文件,列出其不同之处。它比commcomm命令完成命令完成更复杂的检查。它对给出的文件进行系统的检查,并显示出两更复杂的检查。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。个文件中所有不同的行,不要求事先对文件进行排序。v语法:语法:diff diff 选项选项 file1 file2 file1 file2v说明:该命令告诉用户,为了使两个文件说明:该命令告诉用户,为了使两个文件file1file1和和file2file2一致,一致,需要修改它们的哪些行。如果用需要修改它们的哪些行。如果用“- ”“- ”表示表示file1file1或或
95、fiie2fiie2,则,则表示标准输入。如果表示标准输入。如果file1file1或或file2file2是目录,那么是目录,那么diffdiff将使用该将使用该目录中的同名文件进行比较。目录中的同名文件进行比较。 开始使用LINUX课件diff /usr/xu minediff /usr/xu minev把目录把目录/usr/xu /usr/xu 中名为中名为minemine的文件与当前目录中的的文件与当前目录中的minemine文件进文件进行比较。行比较。v通常输出由下述形式的行组成:通常输出由下述形式的行组成:n1 a n3n1 a n3,n4n4n1n1,n2 d n3n2 d n3
96、n1n1,n2 c n3n2 c n3,n4n4开始使用LINUX课件v这些行类似这些行类似eded命令把命令把filelfilel转换成转换成file2file2。字母。字母(a(a、d d和和c)c)之前的之前的行号行号(n1(n1,n2)n2)是针对是针对file1file1的,其后面的行号的,其后面的行号(n3(n3,n4)n4)是针对是针对file2file2的。字母的。字母a a、d d和和c c分别表示附加、删除和修改操作。分别表示附加、删除和修改操作。v在上述形式的每一行的后面跟随受到影响的若干行,以在上述形式的每一行的后面跟随受到影响的若干行,以“”打头的行属于第一个文件,以
97、打头的行属于第一个文件,以“”打头的行属于第二个文件。打头的行属于第二个文件。vdiffdiff能区别块和字符设备文件以及能区别块和字符设备文件以及FIFO(FIFO(管道文件管道文件) ),不会把它,不会把它们与普通文件进行比较。们与普通文件进行比较。v如果如果file1file1和和file2file2都是目录,则都是目录,则diffdiff会产生很多信息。如果一会产生很多信息。如果一个目录中只有一个文件,则产生一条信息,指出该目录路径名个目录中只有一个文件,则产生一条信息,指出该目录路径名和其中的文件名。和其中的文件名。开始使用LINUX课件- b - b 忽略行尾的空格,而字符串中的一
98、个或多个空格符都视为相忽略行尾的空格,而字符串中的一个或多个空格符都视为相等。如等。如How are youHow are you与与How are youHow are you被视为相同的字符串。被视为相同的字符串。- c - c 采用上下文输出格式采用上下文输出格式( (提供三行上下文提供三行上下文) )。- C n - C n 采用上下文输出格式采用上下文输出格式( (提供提供n n行上下文行上下文) )。- e - e 产生一个合法的产生一个合法的eded脚本作为输出。脚本作为输出。- r - r 当当file1file1和和file2file2是目录时,递归作用到各文件和目录上。是目
99、录时,递归作用到各文件和目录上。开始使用LINUX课件例如,文件例如,文件m1.cm1.c的内容为的内容为( (左边行号是有意加上的,以便前后对照左边行号是有意加上的,以便前后对照) ):1 main( )1 main( )2 2 3 3 printf(“Helloprintf(“Hello!n”)n”); 445 5开始使用LINUX课件文件文件m2.cm2.c的内容为:的内容为:1 main()1 main()2 2 3 int n , m ;3 int n , m ;4 n=10 ;4 n=10 ;5 printf ( “% d n ” , m = n * 10);5 printf (
100、“% d n ” , m = n * 10);6 6 开始使用LINUX课件输入命令:输入命令:$ diff m1.c m2.c$ diff m1.c m2.c屏幕上显示:屏幕上显示:3,5c3,63,5c3,63 printf(“Hello3 printf(“Hello!n”)n”); 445 5- - - - -3 int n3 int n,m m;4 n4 n10 ;10 ;5 printf ( “ % d n ” , m = n * 10);5 printf ( “ % d n ” , m = n * 10);6 6 表示把文件表示把文件m1.cm1.c的的3 3至至5 5行改成行改成
101、m2.cm2.c的的3 3至至6 6行后,两个文件相同。行后,两个文件相同。开始使用LINUX课件文件内容查询命令文件内容查询命令vgrepgrep、fgrepfgrep和和egrepegrep命令命令 这组命令以指定模式搜索文件,并通知用户在什么文件中搜索这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。文本行,在该文本行的最前面是该行所在的文件名。grepgrep命令命令一次只能搜索一个指定的模式;一次只能搜索一个指定的模式;egre
102、pegrep命令检索扩展的正则表达命令检索扩展的正则表达式式( (包括表达式组和可选项包括表达式组和可选项) );fgrepfgrep命令检索固定字符串,它不命令检索固定字符串,它不识别正则表达式,是快速搜索命令。识别正则表达式,是快速搜索命令。开始使用LINUX课件v这组命令在搜索与定位文件中特定的主题方面非常有用。要搜索的模这组命令在搜索与定位文件中特定的主题方面非常有用。要搜索的模式可以被认为是一些关键词,您可以用它们来搜索文件中包含的这些式可以被认为是一些关键词,您可以用它们来搜索文件中包含的这些关键词。编写程序时,可以用它来寻找某一个函数,或是相关的词组。关键词。编写程序时,可以用它
103、来寻找某一个函数,或是相关的词组。grepgrep命令的搜索功能比命令的搜索功能比fgrepfgrep强大,因为强大,因为grepgrep命令的搜索模式可以是正命令的搜索模式可以是正则表达式,而则表达式,而fgrepfgrep却不能。却不能。v该组命令中的每一个命令都有一组选项,利用这些选项可以改变其输该组命令中的每一个命令都有一组选项,利用这些选项可以改变其输出方式。例如,可以在搜索到的文本行上加入行号,或者只输出文本出方式。例如,可以在搜索到的文本行上加入行号,或者只输出文本行的行号,或者输出所有与搜索模式不匹配的文本行,或只简单地输行的行号,或者输出所有与搜索模式不匹配的文本行,或只简单
104、地输出已搜索到指定模式的文件名,并且可以指定在查找模式时忽略大小出已搜索到指定模式的文件名,并且可以指定在查找模式时忽略大小写。写。v这组命令在指定的输入文件中查找与模式匹配的行。如果没有指定文这组命令在指定的输入文件中查找与模式匹配的行。如果没有指定文件,则从标准输入中读取。正常情况下,每个匹配的行被显示到标准件,则从标准输入中读取。正常情况下,每个匹配的行被显示到标准输出。如果要查找的文件是多个,则在每一行输出之前加上文件名。输出。如果要查找的文件是多个,则在每一行输出之前加上文件名。 开始使用LINUX课件v语法:语法:grep grep 选项选项 查找模式查找模式 文件名文件名1 1,
105、文件名,文件名2 2,egrep egrep 选项选项 查找模式查找模式 文件名文件名1 1,文件名,文件名2 2,fgrep fgrep 选项选项 查找模式查找模式 文件名文件名1 1,文件名,文件名2 2,开始使用LINUX课件- E - E 每个模式作为一个扩展的正则表达式对待。每个模式作为一个扩展的正则表达式对待。- F - F 每个模式作为一组固定字符串对待每个模式作为一组固定字符串对待( (以新行分隔以新行分隔) ),而不作为正则表,而不作为正则表达式。达式。- b- b在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。在输出的每一行前显示包含匹配字符串的行在文件中的字节
106、偏移量。- c - c 只显示匹配行的数量。只显示匹配行的数量。- i - i 比较时不区分大小写。比较时不区分大小写。- h - h 在查找多个文件时,指示在查找多个文件时,指示grepgrep不要将文件名加入到输出之前。不要将文件名加入到输出之前。- l - l 显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中多次出现匹配串时,不重复显示此文件名。多次出现匹配串时,不重复显示此文件名。- n - n 在输出前加上匹配串所在行的行号在输出前加上匹配串所在行的行号( (文件首行行号为文件首行行号为1)1)。- v - v 只显
107、示不包含匹配串的行。只显示不包含匹配串的行。- x - x 只显示整行严格匹配的行。只显示整行严格匹配的行。- e expression - e expression 指定检索使用的模式。用于防止以指定检索使用的模式。用于防止以“-”“-”开头的模式被开头的模式被解释为命令选项。解释为命令选项。- f expfile - f expfile 从从expfileexpfile文件中获取要搜索的模式,一个模式占一行。文件中获取要搜索的模式,一个模式占一行。开始使用LINUX课件v对该组命令的使用还需注意以下方面:对该组命令的使用还需注意以下方面:在命令后键入搜索的模式,再键入要搜索的文件。其中,文
108、件在命令后键入搜索的模式,再键入要搜索的文件。其中,文件名列表中也可以使用特殊字符,如名列表中也可以使用特殊字符,如“*”“*”等,用来生成文件名列等,用来生成文件名列表。如果想在搜索的模式中包含有空格的字符串,可以用单引表。如果想在搜索的模式中包含有空格的字符串,可以用单引号把要搜索的模式括起来,用来表明搜索的模式是由包含空格号把要搜索的模式括起来,用来表明搜索的模式是由包含空格的字符串组成。否则,的字符串组成。否则,ShellShell将把空格认为是命令行参数的定界将把空格认为是命令行参数的定界符,而符,而grepgrep命令将把搜索模式中的单词解释为文件名列表中的命令将把搜索模式中的单词
109、解释为文件名列表中的一部分。一部分。 开始使用LINUX课件v特殊字符特殊字符“*”“*”用来生成一个文件名列表,该列表包含当前目录用来生成一个文件名列表,该列表包含当前目录下所有的文件。该命令将搜索出当前目录下所有文件中与模式下所有的文件。该命令将搜索出当前目录下所有文件中与模式匹配的行。匹配的行。$ grep data *$ grep data *开始使用LINUX课件v用户可以在命令行上键入搜索模式,也可以使用用户可以在命令行上键入搜索模式,也可以使用-f-f选项从指定选项从指定文件中读取要搜索的模式。在文件中,每个搜索模式占一行。文件中读取要搜索的模式。在文件中,每个搜索模式占一行。
110、$ cat mypats$ cat mypatsEditorEditorCreateCreate$ grep -f mypats exam$ grep -f mypats exam开始使用LINUX课件ytalkytalkv功能说明:与其它用户交谈。功能说明:与其它用户交谈。语法:语法:ytalk -isxY-hytalk -isxY-h用户名称用户名称.v补充说明:通过补充说明:通过ytalkytalk指令,你可以和其它用户线上交谈,如果指令,你可以和其它用户线上交谈,如果想和其它主机的用户交谈,在用户名称后加上其主机名称或想和其它主机的用户交谈,在用户名称后加上其主机名称或IPIP地址即可
111、。地址即可。开始使用LINUX课件-h-h 指定交谈对象所在的远端主机。指定交谈对象所在的远端主机。-i -i 用提醒声响代替显示信息。用提醒声响代替显示信息。-s -s 在指令提示符号先开启在指令提示符号先开启ytalkytalk交谈窗。交谈窗。-x -x 关闭图形界面。关闭图形界面。-Y -Y 所有必须回应所有必须回应yesyes或或nono的问题,都必须用大写英文字母的问题,都必须用大写英文字母YY或或NN回答。回答。开始使用LINUX课件tty(teletypewriter)tty(teletypewriter)v功能说明:显示终端机连接标准输入设备的文件名称。功能说明:显示终端机连接
112、标准输入设备的文件名称。语法:语法:tty -s-help-versiontty -s-help-versionv补充说明:在补充说明:在LinuxLinux操作系统中,所有外围设备都有其名称与代操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于号,这些名称代号以特殊文件的类型存放于/dev/dev目录下。你可目录下。你可以执行以执行ttytty指令查询目前使用的终端机的文件名称。指令查询目前使用的终端机的文件名称。v参数:参数:-s-s或或-silent-silent或或-quiet -quiet 不显示任何信息,只回传状态代码。不显示任何信息,只回传状态代码。-h
113、elp -help 在线帮助。在线帮助。-version -version 显示版本信息。显示版本信息。开始使用LINUX课件traceroutetraceroutev功能说明:显示数据包到主机间的路径。功能说明:显示数据包到主机间的路径。语法:语法:traceroute -dFlnrvx-ftraceroute -dFlnrvx-f-g-g.-i-i-m-m-p-p-s-s-t-t-w-w主机名称或主机名称或IPIP地址地址数据包大数据包大小小 v补充说明:补充说明:traceroutetraceroute指令让你追踪网络数据包的路由途径,指令让你追踪网络数据包的路由途径,默认数据包大小是默
114、认数据包大小是40Bytes40Bytes,用户可另行设置。,用户可另行设置。开始使用LINUX课件v参数:参数:-d -d 使使用用SocketSocket层级的排错功能。层级的排错功能。-f-f 设置第一个检测数据包的存活数值设置第一个检测数据包的存活数值TTLTTL的大小。的大小。-F -F 设置勿离断位。设置勿离断位。-g-g 设置来源路由网关,最多可设置设置来源路由网关,最多可设置8 8个。个。-i-i 使用指定的网络界面送出数据包。使用指定的网络界面送出数据包。-I -I 使用使用ICMPICMP回应取代回应取代UDPUDP资料信息。资料信息。-m-m 设置检测数据包的最大存活数值
115、设置检测数据包的最大存活数值TTLTTL的大小。的大小。-n -n 直接使用直接使用IPIP地址而非主机名称。地址而非主机名称。-p-p 设置设置UDPUDP传输协议的通信端口。传输协议的通信端口。-r -r 忽略普通的忽略普通的Routing TableRouting Table,直接将数据包送到远端主机上。,直接将数据包送到远端主机上。-s-s 设置本地主机送出数据包的设置本地主机送出数据包的IPIP地址。地址。-t-t 设置检测数据包的设置检测数据包的TOSTOS数值。数值。-v -v 详细显示指令的执行过程。详细显示指令的执行过程。-w-w 设置等待远端主机回报的时间。设置等待远端主机
116、回报的时间。-x -x 开启或关闭数据包的正确性检验。开启或关闭数据包的正确性检验。 开始使用LINUX课件telnettelnetv功能说明:远端登入。功能说明:远端登入。语法:语法:telnet -8acdEfFKLrx-btelnet -8acdEfFKLrx-b-e-e-k-k-l-l-n-n-S-S-XX主机名称或主机名称或IPIP地址地址 开始使用LINUX课件v参数:参数:- -8 8 允许使用允许使用8 8位字符资料,包括输入与输出。位字符资料,包括输入与输出。-a -a 尝试自动登入远端系统。尝试自动登入远端系统。-b-b 使用别名指定远端主机名称。使用别名指定远端主机名称。
117、-c -c 不读取用户专属目录里的不读取用户专属目录里的.telnetrc.telnetrc文件。文件。-d -d 启动排错模式。启动排错模式。-e-e 设置脱离字符。设置脱离字符。-E -E 滤除脱离字符。滤除脱离字符。-f -f 此参数的效果和指定此参数的效果和指定-F-F参数相同。参数相同。-F -F 使用使用Kerberos V5Kerberos V5认证时,加上此参数可把本地主机的认证认证时,加上此参数可把本地主机的认证数据上传到远端主机。数据上传到远端主机。开始使用LINUX课件syncsync命令命令vsyncsync命令是在关闭命令是在关闭LinuxLinux系统时使用的。系统
118、时使用的。v用户需要注意的是,不能用简单的关闭电源的方法关闭系用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为统,因为LinuxLinux象其它象其它UnixUnix系统一样,在内存中缓存了许系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。才能确保数据不会丢失。v一般正常的关闭系统的过程是自动进行这些工作的,在系一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些
119、工作,不需要用户干预。统运行过程中也会定时做这些工作,不需要用户干预。开始使用LINUX课件vsyncsync命令是强制命令是强制把内存中的数据写回硬盘把内存中的数据写回硬盘,以免数据的丢失。,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:用户可以在需要的时候使用此命令。该命令的一般格式为:vsyncsync开始使用LINUX课件echoecho命令命令vechoecho命令的功能是在显示器上显示一段文字,一般起到一个提命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为:示的作用。该命令的一般格式为:echo -n echo -n 字符串字符串
120、v其中选项其中选项n n表示输出文字后不换行;字符串可以加引号,也可以表示输出文字后不换行;字符串可以加引号,也可以不加引号。不加引号。v用用echoecho命令输出加引号的字符串时,将字符串原样输出;用命令输出加引号的字符串时,将字符串原样输出;用echoecho命令输出不加引号的字符串时,将字符串中的各个单词作命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。为字符串输出,各字符串之间用一个空格分割。 开始使用LINUX课件calcal命令命令vcalcal命令的功能是显示某年某月的日历。该命令的一般格式为:命令的功能是显示某年某月的日历。该命令的
121、一般格式为:cal cal 选项选项 月月 年年v命令中各选项的含义为:命令中各选项的含义为:- j - j 显示出给定月中的每一天是一年中的第几天显示出给定月中的每一天是一年中的第几天( (从从1 1月月1 1日算起日算起) )。- y - y 显示出整年的日历。显示出整年的日历。开始使用LINUX课件v例例1 1 显示显示19991999年年1111月的日历。月的日历。$ cal 11 1999$ cal 11 1999v例例2 2 显示显示19991999年年1111月的每一天是一年中的第几天。月的每一天是一年中的第几天。$ cal j 11 1999$ cal j 11 1999开始使
122、用LINUX课件datedate命令命令vdatedate命令的功能是显示和设置系统日期和时间。该命令的一般命令的功能是显示和设置系统日期和时间。该命令的一般格式为:格式为:date date 选项选项 显示时间格式显示时间格式( (以以+ +开头,后面接格式开头,后面接格式) )vdate date 设置时间格式设置时间格式v命令中各选项的含义分别为:命令中各选项的含义分别为:-d datestr, -date datestr -d datestr, -date datestr 显示由显示由datestrdatestr描述的日期描述的日期-s datestr, -set datestr -s
123、 datestr, -set datestr 设置设置datestr datestr 描述的日期描述的日期 -u, -universal -u, -universal 显示或设置通用时间显示或设置通用时间开始使用LINUX课件v时间域时间域% H % H 小时小时(00.23)(00.23)% I % I 小时小时(01.12)(01.12)% k % k 小时小时(0.23)(0.23)% l % l 小时小时(1.12)(1.12)% M % M 分分(00.59)(00.59)% p % p 显示出显示出AMAM或或PMPM% r % r 时间时间(hh(hh:mmmm:ss AMss
124、AM或或PM)PM),1212小时小时% s % s 从从19701970年年1 1月月1 1日日0000:0000:0000到目前经历的秒数到目前经历的秒数% S % S 秒秒(00.59)(00.59)% T % T 时间时间(24(24小时制小时制)(hh:mm:ss)(hh:mm:ss)% X % X 显示时间的格式显示时间的格式( (H:H:M:M:S)S)% Z % Z 时区时区开始使用LINUX课件v日期域日期域% a % a 星期几的简称星期几的简称( Sun.Sat)( Sun.Sat)% A % A 星期几的全称星期几的全称( Sunday.Saturday)( Sunda
125、y.Saturday)% b % b 月的简称月的简称(Jan.Dec)(Jan.Dec)% B % B 月的全称月的全称(January.December)(January.December)% c % c 日期和时间日期和时间( Mon Nov 8 14( Mon Nov 8 14:1212:46 CST 1999)46 CST 1999)% d % d 一个月的第几天一个月的第几天(01.31)(01.31)% D % D 日期日期(mm(mmddddyy)yy)% h % h 和和%b%b选项相同选项相同% j % j 一年的第几天一年的第几天(001.366)(001.366)% m
126、 % m 月月(01.12)(01.12)开始使用LINUX课件% w % w 一一个星期的第几天个星期的第几天(0(0代表星期天代表星期天) )% W % W 一年的第几个星期一年的第几个星期(00.53(00.53,星期一为第一天,星期一为第一天) )% x % x 显示日期的格式显示日期的格式(mm/dd/yy)(mm/dd/yy)% y % y 年的最后两个数字年的最后两个数字( 1999( 1999则是则是99)99)% Y % Y 年年( (例如:例如:19701970,19961996等等) )v需要特别说明的是,只有超级用户才能用需要特别说明的是,只有超级用户才能用dateda
127、te命令设置时间,命令设置时间,一般用户只能用一般用户只能用datedate命令显示时间。命令显示时间。开始使用LINUX课件v例例1 1:用指定的格式显示时间。:用指定的格式显示时间。$ date +This date now is =%x $ date +This date now is =%x ,time is now =%X time is now =%X ,thank you !thank you !v例例2 2:用预定的格式显示当前的时间。:用预定的格式显示当前的时间。# date# datev例例3 3:设置时间为下午:设置时间为下午1414点点3636分。分。# date -s
128、 14:36:00# date -s 14:36:00v例例4 4:设置时间为:设置时间为19991999年年1111月月2828日。日。# date -s 991128# date -s 991128开始使用LINUX课件文件与目录操作文件与目录操作文件与文件名文件与文件名 v在多数操作系统中都有文件的概念。在多数操作系统中都有文件的概念。v文件是文件是LinuxLinux用来存储信息的基本结构,它是被命名用来存储信息的基本结构,它是被命名( (称为文件称为文件名名) )的存储在某种介质的存储在某种介质( (如磁盘、光盘和磁带等如磁盘、光盘和磁带等) )上的一组信息的上的一组信息的集合。集合
129、。LinuxLinux文件均为无结构的字符流形式。文件均为无结构的字符流形式。v文件名是文件的标识,它由字母、数字、下划线和圆点组成的文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串来构成。用户应该选择有意义的文件名。字符串来构成。用户应该选择有意义的文件名。vLinuxLinux要求文件名的长度限制在要求文件名的长度限制在255255个字符以内。个字符以内。开始使用LINUX课件v为了便于管理和识别,用户可以把扩展名作为文件名的一部分。为了便于管理和识别,用户可以把扩展名作为文件名的一部分。圆点用于区分文件名和扩展名。圆点用于区分文件名和扩展名。v扩展名对于将文件分类是十分有用的
130、。扩展名对于将文件分类是十分有用的。v用户可能对某些大众已接纳的标准扩展名比较熟悉,例如,用户可能对某些大众已接纳的标准扩展名比较熟悉,例如,C C语语言编写的源代码文件总是具有言编写的源代码文件总是具有C C的扩展名。的扩展名。v用户可以根据自己的需要,随意加入自己的文件扩展名。用户可以根据自己的需要,随意加入自己的文件扩展名。开始使用LINUX课件文件的类型文件的类型 vLinuxLinux系统中有三种基本的文件类型:普通文件、目录文件和设系统中有三种基本的文件类型:普通文件、目录文件和设备文件。备文件。 开始使用LINUX课件普通文件普通文件 v普通文件是用户最经常面对的文件。它又分为文
131、本文件和二进普通文件是用户最经常面对的文件。它又分为文本文件和二进制文件。制文件。 1 1) )文本文件:这类文件以文本的文本文件:这类文件以文本的ASCIIASCII码形式存储在计算机中。码形式存储在计算机中。它是以它是以 行行 为基本结构的一种信息组织和存储方式。为基本结构的一种信息组织和存储方式。 2)2)二进制文件:这类文件以文本的二进制形式存储在计算机中,二进制文件:这类文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们,只有通过相应的软件才能将其用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声显示出来。二进制文件一
132、般是可执行程序、图形、图像、声音等等。音等等。 开始使用LINUX课件目录文件目录文件 v设计目录文件的主要目的是用于管理和组织系统中的大量文件。设计目录文件的主要目的是用于管理和组织系统中的大量文件。它存储一组相关文件的位置、大小等与文件有关的信息。目录它存储一组相关文件的位置、大小等与文件有关的信息。目录文件往往简称为目录。文件往往简称为目录。开始使用LINUX课件设备文件设备文件 v设备文件是设备文件是LinuxLinux系统很重要的一个特色。系统很重要的一个特色。LinuxLinux系统把每一个系统把每一个I/OI/O设备都看成一个文件,与普通文件一样处理,这样可以使文设备都看成一个文
133、件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。件与设备的操作尽可能统一。v从用户的角度来看,对从用户的角度来看,对I/OI/O设备的使用和一般文件的使用一样,设备的使用和一般文件的使用一样,不必了解不必了解I/OI/O设备的细节。设备的细节。v设备文件可以细分为块设备文件和字符设备文件。前者的存取设备文件可以细分为块设备文件和字符设备文件。前者的存取是以一个个字符块为单位的,后者则是以单个字符为单位的。是以一个个字符块为单位的,后者则是以单个字符为单位的。开始使用LINUX课件树型目录结构树型目录结构 开始使用LINUX课件工作目录与用户主目录工作目录与用户主目录v从逻辑上讲,
134、用户在登录到从逻辑上讲,用户在登录到LinuxLinux系统中之后,每时每刻都系统中之后,每时每刻都“处处在在”某个目录之中,此目录被称作工作目录或当前目录某个目录之中,此目录被称作工作目录或当前目录(Working Directory)(Working Directory)。工作目录是可以随时改变的。用户初始。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录登录到系统中时,其主目录(Home Directory)(Home Directory)就成为其工作目就成为其工作目录。工作目录用录。工作目录用“.”“.”表示,其父目录用表示,其父目录用“.”“.”表示。表示。v用户主目录是系
135、统管理员增加用户时建立起来的用户主目录是系统管理员增加用户时建立起来的( (以后也可以改以后也可以改变变) ),每个用户都有自己的主目录,不同用户的主目录一般互不,每个用户都有自己的主目录,不同用户的主目录一般互不相同。相同。v用户刚登录到系统中时,其工作目录便是该用户主目录,通常用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。与用户的登录名相同。 v用户可以通过一个用户可以通过一个字符来引用自己的主目录。字符来引用自己的主目录。 开始使用LINUX课件路径路径v路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路路径是指从树型目录中的某个目录层次到某个文件的
136、一条道路。此路径的主要构成是目录名称,中间用径的主要构成是目录名称,中间用“/”“/”分开。任一文件在文件系统分开。任一文件在文件系统中的位置都是由相应的路径决定的。中的位置都是由相应的路径决定的。v用户在对文件进行访问时,要给出文件所在的路径。用户在对文件进行访问时,要给出文件所在的路径。 路径又分相对路径又分相对路径和绝对路径。路径和绝对路径。 绝对路径是指从绝对路径是指从“根根”开始的路径,也称为完全开始的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。路径;相对路径是从用户工作目录开始的路径。v应该注意到,在树型目录结构中到某一确定文件的绝对路径和相对路应该注意到,在树型目录
137、结构中到某一确定文件的绝对路径和相对路径均只有一条。绝对路径是确定不变的,而相对路径则随着用户工作径均只有一条。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断变化。这一点对于我们以后使用某些命令如目录的变化而不断变化。这一点对于我们以后使用某些命令如cpcp和和tartar等大有好处。等大有好处。v用户要访问一个文件时,可以通过路径名来引用。并且可以根据要访用户要访问一个文件时,可以通过路径名来引用。并且可以根据要访问的文件与用户工作目录的相对位置来引用它,而不需要列出这个文问的文件与用户工作目录的相对位置来引用它,而不需要列出这个文件的完整的路径名。件的完整的路径名。开始使用
138、LINUX课件LinuxLinux帮助的使用帮助的使用vLinuxLinux系统有一套完整的帮助系统,用户几乎可以从中得到想要的系统有一套完整的帮助系统,用户几乎可以从中得到想要的任何帮助任何帮助v获取帮助的命令有获取帮助的命令有qmanmanqinfoinfo开始使用LINUX课件roottsai root# man 5 passwd roottsai root# man 5 passwd roottsai root# man passwdroottsai root# man passwd 第二个显示的其实是第二个显示的其实是 /usr/bin/passwd /usr/bin/passwd
139、这个执行文件的使用方法介这个执行文件的使用方法介绍,但是第一个加上参数绍,但是第一个加上参数 5 5 的时候,就自动的变成去查询的时候,就自动的变成去查询 /etc/passwd /etc/passwd 这个文件的设定功能了!这个文件的设定功能了!记得:在记得:在 Linux Linux 当中,使用当中,使用 man man 的时候,参数设定文件的查询的时候,参数设定文件的查询都是以都是以 5 5 来设定的!怎么会是来设定的!怎么会是 5 5 呢?如何设定的,那就需要来呢?如何设定的,那就需要来查看一下查看一下 man man 的搜寻路径的搜寻路径 (MANPATH) (MANPATH) 了!
140、了! 开始使用LINUX课件v那么那么 MANPATH MANPATH 在哪里设定的呢?是在哪里设定的呢?是 /etc/man.config /etc/man.config 这个这个文件!在该文件中,当我们执行文件!在该文件中,当我们执行 man man 的时候,系統就会一个的时候,系統就会一个一个的去查询一个的去查询 PATH PATH ,预设的,预设的 MANPATH MANPATH 在哪里呀在哪里呀!?!?就是在:就是在: /usr/share/man /usr/share/man /usr/local/man /usr/local/man 开始使用LINUX课件v如果安裝了一个新的套件
141、,是以如果安裝了一个新的套件,是以 Tarball Tarball 安裝在安裝在 /usr/local/newpackes /usr/local/newpackes 底下,而且我知道该套件的底下,而且我知道该套件的 man pages man pages 放放在在 /usr/local/newpackes /usr/local/newpackes 底下,那么如何让该目录可以被底下,那么如何让该目录可以被 MANPATH MANPATH 查询到呢?将该目录写入查询到呢?将该目录写入 /etc/man.config /etc/man.config 里就可以啦里就可以啦! 开始使用LINUX课件ma
142、nmanv空白键:空白键: 往下翻一页;往下翻一页; vpage uppage up: 往上翻一页;往上翻一页; vpage downpage down: 往下翻一页;往下翻一页; vhomehome: 回到最前面;回到最前面; vendend: 去到最终页;去到最终页; v/word/word: 搜寻搜寻 word word 这个字符串。这个字符串。v?word?word: 搜寻搜寻 word word 这个字符串。这个字符串。开始使用LINUX课件v这些这些 man page man page 放在哪里呢?不同的放在哪里呢?不同的 distribution distribution 通常可
143、能有通常可能有点差异性,通常是放在点差异性,通常是放在 /usr/share/man /usr/share/man 里头,可以修改里头,可以修改man man page page 搜寻路径来改善这个目录的问题!搜寻路径来改善这个目录的问题!v修改修改 /etc/man.config ( /etc/man.config ( 有的版本为有的版本为 man.conf ) man.conf ) 即可!至于更即可!至于更多的关于多的关于 man man 的讯息您可以使用的讯息您可以使用 man man man man 来查询来查询 开始使用LINUX课件infoinfovinfo info 的功能比的功
144、能比 man man 还要更强大!在这个还要更强大!在这个 info page info page 里面,你里面,你可以输入可以输入 p p 及及 n n 往前及往后翻页,如果看到往前及往后翻页,如果看到 * text : * text :的的项目时,将游标移到该項目上面,按下项目时,将游标移到该項目上面,按下EnterEnter还可以进入次还可以进入次页面的说明画面中!这个页面的说明画面中!这个 info info 目前只有目前只有 Linux Linux 底下有,其他底下有,其他 Unix-Like Unix-Like 就没有啦!就没有啦! v/usr/share/doc/usr/shar
145、e/doc开始使用LINUX课件链接与符号链接链接与符号链接v分为硬链接分为硬链接(hard link)(hard link)和符号链接和符号链接(symbolic link)(symbolic link)。v硬链接:相当于创建文件的副本,在源文件修改时,同时修改,但文硬链接:相当于创建文件的副本,在源文件修改时,同时修改,但文件拥有者是原来的文件拥有者,权限也和原来的一样。如果源文件被件拥有者是原来的文件拥有者,权限也和原来的一样。如果源文件被删除了,链接文件一样使用。删除了,链接文件一样使用。v符号链接:文件拥有者和使用权限是链接文件的创建者,如果源文件符号链接:文件拥有者和使用权限是链接
146、文件的创建者,如果源文件被删除了,符号链接就会出错,不能够读取源文件的内容。被删除了,符号链接就会出错,不能够读取源文件的内容。开始使用LINUX课件链接与符号链接链接与符号链接v建立链接建立链接ln ln 源文件源文件 链接文件链接文件ln /home/ma/file1 link1ln /home/ma/file1 link1开始使用LINUX课件链接与符号链接链接与符号链接v建立符号链接建立符号链接ln -s ln -s 源文件源文件 链接文件链接文件v链接目录链接目录ln -s -d ln -s -d 源目录源目录 链接文件链接文件 注:硬链接不能对目录进行操作注:硬链接不能对目录进行操
147、作开始使用LINUX课件链接与符号链接链接与符号链接选选 项项说说 明明-b-b或或- -backup- -backup删除文件前备份文件删除文件前备份文件-d-d或或-F-F或或- -directory- -directory指定源目录,用在链接目录时指定源目录,用在链接目录时-f -f或或- -force- -force强制建立链接强制建立链接- -help- -help显示说明显示说明-i -i或或- -interactive- -interactive删除文件前先询问删除文件前先询问-s-s或或- -symbolic- -symbolic建立符号链接建立符号链接-v-v或或- -verbose- -verbose长格式长格式- -version- -version显示版本信息显示版本信息开始使用LINUX课件