版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux操作系统实训指导书实训名称:Linux操作系统实训课程代码: 学 分:3实训周数:3课 时 数:60适用专业:计算机科学与技术一、实训的目标1.培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。2.能熟练应用Linux桌面版,使用Linux替代Windows进行日常办公操作,学会在Linux平台上构建应用服务器,参与小组协作,共同完成综合课题任务。3.根据个人的使用经验和结果,撰写实验报告。二、实训的背景知识背景知识是学生具备基本的网络基础知识,会操作windows平台。3、 实训内容(1) Ubuntu server的安装1. 到ubuntu的
2、网站下载光盘镜像(For X86)2. 我们使用vm安装,可以不用刻盘,要在新计算机上安装一般要刻盘3. 使用vm6.5安装步骤如下:创建虚拟机选择虚拟机类型选择cd的ISO所在地目录用cd引导选择语言,我们工作时建议选择English,在做实验时可以选择中文简体,一般来说,安装 Ubuntu server 没有必要选择中文环境。因为服务器配置和管理都是在终端下进行的,很少用到中文也不能用中文(默认无法显示中文,除非用 zhcon)。不过这里还是选择“中文(简体)”好了,需要英文环境还可以改的。选择第一项开始安装,需要做一些安装的设置,比如:选择键盘布局选择china加载组件和配置网络接下来会
3、加载光盘上的组件,然后自动进行网络的配置前面我已经说过我的网络是DHCP自动分配的了,所以我这里很顺利。如果你不是,也不要紧,安装好以后也可以进行网络的配置,这两个步骤完成后,就会要求输入主机名,默认是“ubuntu”,我取成了“kxsrv”接着是时钟设置硬盘分区是 Linux 中非常重要的一关,如果要详细介绍可以单独介绍成一个章节,但是现在的重点不是这个,所以分区也采用的默认的设置。在企业中我们也可以选择手动,分成一个“/”和一个 SWAP和用户自己的数据分区。最后分区的结果如下,选择后会提示“将改动写入磁盘吗?”,选择“是”即可。系统开始安装基本系统接下来就是设置用户和密码了。跟 Desk
4、top 版一样,Ubuntu 不使用 root 帐号,要求创建一个用户帐号。根据提示一步步的创建下去,第一步输入用户的全名,这相当于对用户名的一个描述,可以写的详细点。第二步才是真正的用户名,我两处都写一样的。最后重复两遍密码,就进入最后的安装阶段了!挺快的吧!可以对用户的主目录选择是否加密设置系统的升级需要的网络设置,不使用代理就为空如果系统可以联网,就会自动使用apt系统在线升级升级过程,要求选择系统更新方式,一般选择默认的“没有自动更新”,如果你有ubuntu landscape的帐号,就可以使用它。选择系统安装的服务器组件,这个界面和以前的版本不一样,借鉴了redhat的方式我的选择:
5、12.04lts如果选择LAMP server安装后,会提示输入mysql的root密码,如下图所示:组件安装完毕后,安装硬盘启动器grub,选择“是”结束安装,重启动第一次启动的界面,注意是命令行方式,没有图形界面登录后:实验要求:课堂使用vm安装ubuntu server,要求server 组件选择lamp课外自己装一个真机,要求和说明如下:安装程序的获取选择合适的版本,主要考虑:32位还是64位桌面版还是服务器版界面是gnome还是KDE等可以从网上直接下载Linux的ISO映像文件通过刻录到光盘或直接使用光盘镜像进行安装。安装方式的选择 Ubuntu的常规安装方式有3种从CD-ROM安
6、装 从CD-ROM中安装Linux ,首先在计算机BIOS中将系统设为从光盘启动,然后将安装光盘放入光驱。重新启动系统后,如果能正常从光盘读入安装程序,说明光盘引导成功,可以开始安装。用户只需按安装向导的提示依次完成安装即可。 从U盘安装通过livecd进入系统后,我们可以制作一个安装U盘,然后从U盘启动,安装过程同光盘在Windows中安装我们如果不想单独给Linux分区,可以将ubuntu安装在Windows分区中,这时我们是wubi工具安装,备注:还有硬盘安装和网络安装,有兴趣的可以自己查询相关资料。安装ubuntu时有几个要注意到地方选择安装语言选择默认安装还是字符方式定制安装选择安装
7、的分区卸载Linux系统,除了删除Linux分区外,还必须从主引导记录(Master Boot Record,缩写MBR)里删除Linux引导装载程序(boot loader)信息。最简单的实现方法是使用Windows下的fdisk /mbr命令。 (2) Ubuntu的日常使用和设置1. 能播放音视频2. 体验ubuntu的面板,添加需要的对象(如系统监视器)和快捷方式(如终端)3. 体验ubuntu的桌面环境,体验ubuntu的工作区4. 尝试设置ubuntu的桌面外观5. 尝试设置ubuntu的系统设置如分辨率、时间日期等(3) Shell命令学习基础通过cd命令学习命令自动补齐查看使用
8、命令行的历史记录通过按向上方向键,您可以向后遍历近来在该控制台下输入的命令。用向下方向键可以向前遍历。与 SHIFT 键连用的话,您还可以遍历以往在该控制台中的输出。您也可以编辑旧的命令,然后再运行。也可以使用history查看历史记录,然后使用!n(n为命令行号)运行命令(4) 文件和目录管理常用命令1) 创建一个用户at2) 使用cp命令,将/etc目录复制到at用户的主目录中3) 注销root,用at登录4) 进入终端5) 使用cd命令切换到用户的主目录6) 用mkdir 创建a1/a2/a3目录,加-p参数创建/b1/b2/b37) 用cd命令进入b3目录,创建一个b4的文件夹,一个t
9、1文件8) 用cd命令进入b1目录9) 使用ls 命令查看当前所有文件夹和文件10) 使用rmdir删除b2文件夹(5) 学习用户(user)和用户组(group)管理1、 使用命令添加一个组,例如ag2、 使用命令添加一个用户,例如a1,所属组为ag3、 使用图形界面重复以上操作4、 使用cat 命令查看1)与用户(user)相关的配置文件;/etc/passwd 注:用户(user)的配置文件;/etc/shadow 注:用户(user)影子口令文件;2)与用户组(group)相关的配置文件;/etc/group 注:用户组(group)配置文件;/etc/gshadow 注:用户组(gr
10、oup)的影子文件;5、 使用命令批量添加5个用户,每个用户都设一个不相同的6位密码6、 使用新用户登录系统7、 在命令行输入fdisk l,发现没有显示所需要的信息,我们使用su或sudo再试一下(6) 学习文件权限设置命令使用文字设定设置文件和目录的权限文字设定法chmod命令的文字设定法格式是:格式1:chmod -Rugoa+-=rwxst 格式2:chmod -Rugoa+-=ugo 说明:-R:若操作对象是目录,则递归地对该目录下所有的子目录实施权限设置 内的内容称为一个模式,可以指定多个模式,多个模式之间用逗号间隔第一个选项表示要赋予权限的用户u 表示属主(user)g 表示所属
11、组用户(group)o 表示其他用户(other)a 表示所有用户(all)第二个选项表示要进行的操作+ 表示增加权限- 表示删除权限= 表示分配权限,同时将原有权限删除第三个选项是要分配的权限r 表示允许读取w 表示允许写入x 表示允许执行s 表示设置 SUID 或 SGIDt 表示设置 stick y-bit两种格式的不同:格式1的用法是对文件或目录设置r、w、x、s、t等权限格式2的用法是参考当前u、g、o的权限设置其它用户类的权限下面给出几个使用格式1的例子:$ touch testfile1$ ll-rw-r-r- 1 osmond osmond 0 2007-03-17 15:27
12、 testfile1# 取消组用户和其他用户对文件的读取权限$ chmod go-r testfile1$ ll-rw- 1 osmond osmond 0 2007-03-17 15:27 testfile1# 对文件的属主添加执行权限$ chmod u+x testfile1$ ll-rwx- 1 osmond osmond 0 2007-03-17 15:27 testfile1# 对文件的属主取消执行权限同时添加组用户和其他用户对文件的读取权限$ chmod u-x,go+r testfile1$ ll-rw-r-r- 1 osmond osmond 0 2007-03-17 15:2
13、7 testfile1# 对文件添加SUID 和 SGID设置的同时添加执行权限$ chmod ug+xs testfile1$ ll-rwsr-sr- 1 osmond osmond 0 2007-03-17 15:27 testfile1# 对文件添加 sticky-bit 设置的同时添加执行权限$ chmod +xt testfile1$ ll-rwsr-sr-t 1 osmond osmond 0 2007-03-17 15:27 testfile1下面给出几个使用格式2的例子:$ touch testfile1$ ll-rw-r-r- 1 osmond osmond 0 2007-0
14、3-17 15:00 testfile1# 将组权限设置为与属主相同$ chmod g=u testfile1$ ll-rw-rw-r- 1 osmond osmond 0 2007-03-17 15:00 testfile1# 对其他人添加属主具有的权限$ chmod o+u testfile1$ ll-rw-rw-rw- 1 osmond osmond 0 2007-03-17 15:00 testfile1# 对其他人取消属主具有的权限$ chmod o-u testfile1$ ll-rw-rw- 1 osmond osmond 0 2007-03-17 15:00 testfile1
15、使用数值设定设置文件和目录的权限数值设定法格式:chmod -R n0n1n2n3 说明:-R:若操作对象是目录,则递归地对该目录下所有的子目录实施权限设置其中n1代表属主的权限,n2代表组用户的权限,n3代表其他用户的权限,这三个选项都是8进制数字权限数值读写执行二进制八进制说明-0000 没有权限-x0011 允许执行-w-0102 允许写入-wx0113 允许执行和写入r-1004 允许读取r-x1015 允许执行和读取rw-1106 允许写入和读取rwx1117 允许执行写入和读取其中 n0 是设置特殊权限的8进制数字,当不设置特殊权限时 n0 可以省略。SUID SGID stick
16、y 二进制八进制说明-0000 不设置特殊权限-t0011 只设置sticky-s- 010 2 只设置SGID-st 0113 只设置SGID和stickys-100 4 只设置SUIDs-t1015 只设置SUID和stickyss- 1106 只设置SUID和SGIDsst111 7 同时设置三种特殊权限下面给出几个使用数值设置法的例子:$ touch testfile2$ ll-rw-r-r- 1 osmond osmond 0 2007-03-17 16:25 testfile2# 对文件的属主设置可读、写和执行权限,所属组用户和其他用户只设置读和执行的权限,没有写的权限。$ chm
17、od 755 testfile2$ ll-rwxr-xr-x 1 osmond osmond 0 2007-03-17 16:25 testfile2# 取消组用户和其他用户对文件users1的一切权限$ chmod 600 testfile2$ ll-rw- 1 osmond osmond 0 2007-03-17 16:25 testfile2# 为文件设置SUID和属主的执行权限$ chmod 4700 testfile2$ ll-rws- 1 osmond osmond 0 2007-03-17 16:25 testfile2# 同时设置SUID和SGID权限,并使组用户能读、写、执行
18、,其他人能读和执行$ chmod 6775 testfile2$ ll-rwsrwsr-x 1 osmond osmond 0 2007-03-17 16:25 testfile2# 设置 sticky权限$ chmod 1755 testfile2$ ll-rwxr-xr-t 1 osmond osmond 0 2007-03-17 16:25 testfile2改变文件的属主和组改变文件的属主和组可以用chown命令,命令格式是:chown -R 说明:-R:若操作对象是目录,则递归地对该目录下所有的子目录实施设置要单独改变组,可以使用下面的格式:(注意:组前必须有“:”)chown -R
19、 例如:$ touch testfile3$ ll-rw-rw-r- 1 osmond osmond 0 Dec 14 15:19 testfile3# 切换为超级用户$ su # 将文件testfile3的属主改成jason# chown jason /home/osmond/testfile3$ ll /home/osmond/testfile3-rw-rw-r- 1 jason osmond 0 Dec 14 15:19 /home/osmond/testfile3# 将文件testfile3的组改成 users# chown :users /home/osmond/testfile3#
20、 ll /home/osmond/testfile3-rw-rw-r- 1 jason users 0 Dec 14 15:19 /home/osmond/testfile3# 将文件testfile3的属主和组改成 osmond# chown osmond:osmond /home/osmond/testfile3# ll /home/osmond/testfile3-rw-rw-r- 1 osmond osmond 0 Dec 14 15:19 /home/osmond/testfile3# 退出 root 的登录# exit$ mkdir -p testdir/dir1$ lldrwxr
21、wxr-x 3 osmond osmond 4096 Dec 14 15:25 testdir-rw-rw-r- 1 osmond osmond 0 Dec 14 15:19 testfile3# 切换为超级用户$ su -# 将 testdir 目录及其子目录下的所有文件或目录的属主和组都改成 apache# chown -R apache:apache /home/osmond/testdir# tree -ug /home/osmond/home/osmond/|- apache apache testdir| - apache apache dir1- osmond osmond te
22、stfile3设置文件的缺省生成掩码Umask用户可以使用umask命令设置文件的缺省生成掩码。缺省的生成掩码告诉系统当创建一个文件或目录时不应该赋予其哪些权限。如果用户将 umask 命令放在环境文件(.bash_profile)中,就可以控制所有新建的文件或目录的访问权限。umask命令的格式为:umask u1u2u3其中:u1表示的是不允许属主有的权限;u2表示的是不允许同组人有的权限;u3表示的是不允许其他人有的权限。可以使用不带任何参数或带 -S 参数的umask命令查看当前的文件缺省生成掩码:$ umask0022$ umask -Su=rwx,g=rx,o=rx例如:设置允许同
23、组用户有写权限可以如下设置$ umask 002$ touch testfile4$ ll testfile4-rw-rw-r- 1 osmond osmond 0 2007-03-17 17:15 testfile4$ mkdir testdir1$ ll -d testdir1drwxrwxr-x 2 osmond osmond 48 2007-03-17 17:20 testdir1这与默认的不允许允许同组用户有写权限不同$ umask 022$ touch testfile5$ ll testfile5-rw-r-r- 1 osmond osmond 0 2007-03-17 17:1
24、6 testfile5$ mkdir testdir2$ ll -d testdir2drwxr-xr-x 2 osmond osmond 48 2007-03-17 17:18 testdir2umask的计算:新建文件的默认权限是0666,文件夹是0777,与权限掩码相减就得到最终权限。如0666-0022=0644(7) 使用图形界面设置文件和目录权限 操作参考教材(8) 学习文件查找学习find命令find 命令find 命令用来查找文件和目录的位置。该命令的语法为:find 路径名 选项find PATH option action 参数1. 与时间有关的参数 -atime n n
25、为数字,意义为在 n 天之前的一天之内被 access 过的文件; -ctime n n 为数字,意义为在 n 天之前的一天之内被 change 过状态的文件; -mtime n n 为数字,意义为在 n 天之前的一天之内被 modification(1. 缓和,限制,减轻2. 更改,改变,修改指文件权限被改变) 过的文件; -newer file file 为一个存在的文件,意思是说,只要文件比 file 还要新, 就会被列出来2. 与使用者或群组名称有关的参数 -uid n n 为数字,这个数字是使用者的帐号 ID,亦即 UID ,这个 UID 是记录在 /etc/passwd 里面与帐号
26、名称对应的数字。这方面我们会在第四篇介绍。 -gid n n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在 /etc/group,相关的介绍我们会第四篇说明 -user name name 为使用者帐号名称喔!例如 dmtsai -group namename 为群组名称,例如 users ; -nouser 寻找文件的拥有者不存在 /etc/passwd 的人! -nogroup 寻找文件的拥有群组不存在于 /etc/group 的文件! 当您自行安装软体时,很可能该软体的属性当中并没有文件拥有者, 这是可能的!在这个时候,就可以使用 -nouser 与 -nogr
27、oup 搜寻。3. 与文件权限及名称有关的参数 -name filename搜寻文件名称为 filename 的文件; -size +-SIZE搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有 c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB 还要大的文件,就是 -size +50k -type TYPE 搜寻文件的类型为 TYPE 的,类型主要有一般正规文件 (f), 装置文件 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。 -perm mode 搜寻文件属性刚好等于 mode 的
28、文件,这个 mode 为类似 chmod 的属性值,举例来说, -rwsr-xr-x 的属性为 4755 ! -perm -mode 搜寻文件属性必须要全部囊括 mode 的属性的文件,举例来说, 我们要搜寻 -rwxr-r- ,亦即 0744 的文件,使用 -perm -0744, 当一个文件的属性为 -rwsr-xr-x ,亦即 4755 时,也会被列出来, 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr-r- 的属性了。 -perm +mode 搜寻文件属性包含任一 mode 的属性的文件,举例来说,我们搜寻 -rwxr-xr-x ,亦即 -perm +755 时,但一个文件属
29、性为 -rw- 也会被列出来,因为他有 -rw. 的属性存在!4. 额外可进行的动作 -exec command command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到 的结果。 -print 将结果列到萤幕上,这个动作是预设动作!其中,常用的选项有:-print:显示输出查找到的结果。如果未指定任何选项,则系统默认是 -print。如 find命令的最基本的用法就是列出指定目录下的所有文件和子目录:# find /usr -print-name:按文件名查找。-size:按文件大小查找。例如,下面的命令将查找/usr目录下超过100k的文件:# find /usr -siz
30、e 100k-user:按文件主查找。-type: 按文件类型查找。常见的类型有:b块特别文件c字符特别文件。f普通文件l符号链接文件d目录文件# 不指定匹配表达式,显示所有文件# 递归显示当前目录的文件列表$ find# 递归显示 / 目录的文件列表$ find /# 递归显示 / 目录的文件列表(仅限于3层目录)$ find / -maxdepth 3# 递归显示 / 目录的文件列表(仅限于 / 文件系统)$ find / -xdev# 递归显示 /home、/www、/srv 目录的文件列表$ find /home /www /srv# 按文件名/路径名查找# 查找特定的文件名$ fin
31、d -name myfile$ find -maxdepth 2 -name symfony# 使用通配符查找特定的文件名$ find -name d*$ find -name ?$ find -name afd*$ find -iname a-z*$ find -name ch0-20-9.txt*# 匹配文件路径名$ find -path *server./vbird/server./server$ find -path *server12./server1./server2./server1/server2./server2/server2# 以正则表达式匹配文件路径名$ find -r
32、egex .*$ find -regex .*ch0.*./ch01./ch00./vbird/server/1000results/ch09-01.jpg$ find -regex .*ch0-9+./ch01./ch21./ch00./ch333./ch1./ch41$ find -regex .*ch0-9+.txt./ch1.txt./ch24.txt# 按文件属性查找# 只查找普通文件$ find . -type f# 只查找符号链接文件$ find . -type l# 查找硬连接数大于 1 的文件或目录$ find /home -links +1# 查找 /tmp 目录下小于 1
33、0M 的文件$ find /tmp -size -10M# 查找 /home 目录下大于 1G 的文件$ find /home -size +1G# 查找系统中为空的文件或者目录$ find / -empty# 查找在 /www 中最后10分钟访问过的文件$ find /www -amin -10# 查找在 /www 中最后2天访问过的文件$ find /www -atime -2# 查找在 /home 下最近2天内改动过的文件$ find /home -mtime -2# 列出被改动过后 2 日内被存取过的文件或目录$ find /home -used -2# 列出被改动过后 90 日前被存
34、取过的文件或目录$ find /home -used +90# 列出 /home 目录中属于用户 osmond 的文件或目录$ find /home -user osmond# 列出 /home 目录中 UID 大于 501 的文件或目录$ find /home -uid +501# 列出 /home 目录中组为 osmond 的文件或目录$ find /home -group osmond# 列出 /home 目录中 GID 为 501 的文件或目录$ find /home -gid 501# 列出 /home 目录中不属于本地用户的文件或目录$ find /home -nouser# 列出
35、 /home 目录中不属于本地组的文件或目录$ find /home -nogroup# 精确查找权限为 664 的文件或目录$ find . -perm 664# 查找权限至少为 664 的文件或目录$ find . -perm -664# 使用逻辑运算构造复杂表达式# 查找 /tmp 目录下21天之前访问过的大于 10G 的文件$ find /tmp -size +10M -a -atime +21# 查找 / 目录下属主为 jjheng 或 osmond 的文件$ find / -user jjheng -o -user osmond# 查找 /tmp 目录下的属主不是 osmond 的
36、文件$ find /tmp ! -user osmond# 在 /mnt 下查找 *.txt 且文件系统类型不为 vfat 的文件$ find /mnt -name *.txt ! -fstype vfat# 在 /tmp 下查找名为 l 开头且类型为符号链接的文件$ find /tmp -name l* -type l# 查找以 server 开头的目录名$ find . -type d -name server*# 找出 /var/log 目录下所有的前5天修改过的.log 文件$ find /var/log -name *.log -mtime +5# 按文件样本查找# 查找所有比 FI
37、LE1 的访问时间新的文件$ find -anewer FILE1# 查找所有比 FILE2 的访问时间旧的文件$ find ! -anewer FILE2# 查找所有比 FILE1 的访问时间新的# 且比 FILE2 的访问时间旧的文件$ find -anewer FILE1 ! -anewer FILE2# 查找所有比 FILE1 的内容修改时间新的文件$ find -newer FILE1# 查找所有比 FILE2 的内容修改时间旧的文件$ find ! -newer FILE2# 查找所有比 FILE1 的内容修改时间新的# 且比 FILE2 的内容修改时间旧的文件$ find -ne
38、wer FILE1 ! -newer FILE2# 查找与 FILE 具有相同 i-node 的文件(硬链接)$ find -samefile FILE -ls# 对查找到的文件实施命令操作# 查找并列出当前目录下不安全的文件(世界可读写执行)$ find . -perm -007 -exec ls -l ;# 查找 logs 目录下的所有的 .log 文件并查看它的详细信息$ find logs -name *.log -type f -exec ls -l ;# 查找当天修改过的普通文件$ find . -type f -mtime -1 -exec ls -l ;# 查找当前目录下的.p
39、hp文件并用grep过滤出包含include的行$ find . -name *.php -exec grep include ; -print# 查找并删除当前目录及其子目录下所有扩展名为 .tmp 的文件$ find . -name *.tmp -exec rm ;# 在logs目录中查找7天之内未修改过的文件并在删除前询问$ find logs -type f -mtime +7 -exec -ok rm ;# 查询并删除一周以来从未访问过的以 .o 结尾或名为 a.out# 且不存在于 nfs 文件系统中的所有文件$ find / ( -name a.out -o -name *.o
40、) -atime +7 ! -fstype nfs -exec rm ;# 查询并删除当前目录及其子目录下所有的空目录$ find . -depth -type d -empty -exec rmdir ;# 将default目录下的文件由GBK编码转换为UTF-8编码# 目录结构不变,转码后的文件保存在utf/default目录下# From: /archives/it/convert-gbk-utf-8.shtml$ find default -type d -exec mkdir -p utf/ ;$ find default -type f -e
41、xec iconv -f GBK -t UTF-8 -o utf/ ;# 在查找中排除指定的目录# 显示当前目录树$ tree -F -L 2.|- bin/| |- switch-lang.sh*| - sys2wiki.sh*|- book/| |- basic/| |- basic-utf8/| |- basic.zip| |- server/| |- server-utf8/| |- server.zip| - to-zh-CN-utf8.sh*- bak.sh*# 显示当前目录下除 book 目录的所有文件$ find . -name book -prune -o -print# 查
42、找当前目录下(除了 book 目录)的所有 .sh 文件$ find . -name book -prune -o -name *.sh -print# 显示当前目录下除 book/server 目录的所有文件$ find . -path ./book/server -prune -o -print# 使用绝对路径完成上述任务$ find /home/osmond -path /home/osmond/book/server -prune -o -print# 查找当前目录下(除了 book/server 目录)的所有 .sh 文件$ find . -path ./book/server -p
43、rune -o -name *.sh -print# 显示当前目录下除 book/server 和 book/server-utf8 目录的所有文件$ find . -path ./book/server* -prune -o -print# 查找当前目录下(除了 book/server 和 book/server-utf8 目录)的所有 .sh 文件$ find . -path ./book/server* -prune -o -name *.sh -print# 显示当前目录下除 book/server 和 book/basic 目录的所有文件$ find . ( -path ./book
44、/server -o -path ./book/basic ) -prune -o -print# 查找当前目录下(除了 book/server 和 book/basic 目录)的所有 .sh 文件$ find . ( -path ./book/server -o -path ./book/basic ) -prune -o -name *.sh -print学习locate和whereislocate 命令locate 是一个使用方便且查询速度极快的文件和目录查找命令。该命令的语法为:locate 文件名 选项使用 locate 命令的前提是要先创建一个用于定位文件或目录位置的 slocat
45、e 数据库,而且该数据库应是时时更新的,这样才可以保证 locate 查找结果的准确性。以下命令用于从 / 开始创建 slocate 数据库:# locate -u 更新 slocate 数据库的命令是 updatedb ,需要以 root 用户身份执行此命令。数据库创建后就可以查找文件了。例如,要查找所有关于 telnet 命令的文件。可以使用:# locate telnetlocate 命令将在其数据库中检查所有匹配于 telnet 的文件和目录并在屏幕上显示结果。whereis (寻找特定文件)语法格式:whereis -bmsu 文件或目录名参数-b :只找 binary 的文件-m
46、:只找在说明档 manual 路径下的文件-s :只找 source 来源文件-u :没有说明档的文件!范例rootlinux # whereis passwdpasswd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz# 任何与 passwd 有关的文件名都会被列出来rootlinux # whereis -b passwdpasswd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
47、rootlinux # whereis -m passwdpasswd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gzwhereis查找文件用的也是located创建的数据库,因此有的时侯你还会发现使用这两个命令会找到已经被删除掉的文件,而且也找不到最新的刚刚建立的文件! 这就是因为这两个指令是由数据库当中的结果去搜寻文件的所在,数据库的更新不及时就会查找出错。which (寻找执行命令文件)rootlinux # which -a command参数-a 将所有可以找到的指令均列出,而不止第一个被找到的指令名称
48、范例rootlinux # which passwd/usr/bin/passwdrootlinux # which traceroute -a/usr/sbin/traceroute/bin/traceroute这个指令是根据PATH这个环境变数所规范的路径,去搜寻执行文件的绝的路径 ,which 后面接的是完整命令名!若加上 -a 参数,则可以列出所有的可以找到的同名执行档,而非仅显示第一个。文件的查找和定位总结注意:通常 find 不很常用的!因为速度慢。通常我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜寻!为什么呢?因为 whereis 与 locate 是利用数据库来查找,所以相当快速,而且并没有实际的搜寻硬盘,比较省时间。(9) 学习重定向/管道命令学习重定向命令输出重定向的一般形式为:命令文件名例如:$ ls directory.out$ cat directory.outch1.doc ch2.doc ch3.doc chimp config ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年小学成语故事《悔不当初》反思教育语文课堂教案
- 2026年小学成语故事《翻然改图》知错能改教学设计教案
- 2026年小学成语故事《不入虎穴焉得虎子》勇气教学教案
- 税务师涉税服务相关法律章节练习与易错题集
- 临床医学检验技术基础知识考试要点与章节练习
- 中西医结合执业医师实践技能模拟试卷(含操作步骤)
- 执业药师(西药)药学专业知识一高频考点及章节练习
- 2027年加盟转让合同模板二篇
- 配电柜合同-模板
- 授权委托合同协议-1
- 2026年湖南湘西自治州州直事业单位招聘考试笔试试卷附答案
- 新版(2026秋新版)部编版语文五年级上册教学计划合集
- 新版2026秋新教科版科学六年级上册全册核心素养教案教学设计合集
- 2026年甘肃省嘉峪关市招聘辅助岗位工作人员40人笔试参考题库及答案详解
- 2026年秋新教材统编版小学语文一年级上册教学计划及进度表
- 初中七年级英语上册 Unit 5 Exploring Space 跨学科主题学习教学设计
- 2026中国城市地下空间土地使用权确权登记制度研究分析
- 高一英语阅读理解专项训练100及解析
- 2026年郑州财税金融职业学院教师招聘考试备考试题及答案解析
- 2026年中医技术操作综合提升练习试题附完整答案详解(夺冠)
- (2026年)女性围绝经期骨质疏松症的诊疗和预防课件
评论
0/150
提交评论