Linux经典教程.docx
《Linux经典教程.docx》由会员分享,可在线阅读,更多相关《Linux经典教程.docx(15页珍藏版)》请在冰豆网上搜索。
![Linux经典教程.docx](https://file1.bdocx.com/fileroot1/2023-1/24/16cb77d5-205a-40bb-b944-3da9c904e89a/16cb77d5-205a-40bb-b944-3da9c904e89a1.gif)
Linux经典教程
Linux经典实验
实验项目
(一)Linux系统的基本使用
一、学习目的
1、熟悉进入和退出Linux的一般过程。
2、掌握Linux有关目录的命令及操作。
3、掌握绝对路径和相对路径的概念及表达方法。
二、学习任务
1、在虚拟机环境下启动linux的步骤:
2、以root用户登录系统,需要输入2项信息:
3、记录下登录成功后的系统提示内容,并分析其含义:
4、需要再打开一个控制台,应该按什么键?
然后仍以root登录
5、察看当前目录是什么:
pwd
6、切换回第一个控制台,应按什么键:
7、使第二个控制台中的用户注销系统,有哪些命令可以:
8、了解UNIX的目录文件结构(通过cd、ls–l命令)。
9、使用ls命令的常用选项,选项-a,-d,-l,-t,-R,-u都有何意义?
-a下所有文件和目录
-d显示目录名称而非其内容
-l使用详细格式列表
-t用文件和目录的更改时间排序
-R将指定目录下的所有文件及子目录一并处理
-u以最后存取时间排序,显示文件和目录
10、检查当前的子目录pwd。
11、在你的注册目录下创建(mkdir)子目录:
dir1、dir2。
mkdirdir1dir2
12、进入dir1子目录。
cddir1
13、再回到你的注册目录,并用pwd证实。
14、使用cd和pwd命令,掌握相对路径和绝对路径。
对照右图,假如从目录user3开始,键完以下命令后,你的位置会在哪里。
请将结果填在横线上。
$pwd/home/user3
$cd..
$pwd
$cd..?
$cdusr
$pwd
$cd/usr
$pwd
$cd../tmp?
$pwd
$cd.
$pwd
15、在你的主目录中创建一个叫junk的目录。
将这个目录变为工作目录,应当使用什么命令?
这个新目录的绝对路径名是什么?
cd
16、在主目录创建以下目录,要求只能用一个命令行:
junk/dira/dirl
junk/dira
junk/dira/dir2
junk/dira/dirl/dirc
mkdir-pdira/dirl/dirc
你碰到什么问题了吗?
如果碰到问题,在重试之前,将刚才创建的所有目录删除,这个删除应该使用哪一个命令?
rmdir-pjunk/dira/dirl/dirc
rm-rfjunk
17、在主目录获取一个在junk目录下的dirA目录的列表。
既可以使用相对路径名,也可以使用绝对路径名。
应该使用什么命令?
tree/home/root/junk
treejunk
18、在主目录仅使用rmdir命令,删除在junk目录下的所有子目录。
仅用一个rmdir命令如何实现这一操作?
rmdir-pjunk/dira/dirl/dirc
19、返回主目录。
用一个命令显示文件cp和vi(在/bin目录)的长格式属性列表。
相对路径名和绝对路径名都试一试。
20、获得帮助信息的命令有:
manhelp
请查看以下命令的用法:
datelspwdcdhelp
21、启动图形界面,应该如何操作?
使用鼠标打开一些窗口,如何操作?
注销图形界面如何操作?
22、关闭系统的命令有:
并分别作关闭练习,注意观察它们有没有差别:
22、选作:
启动Linux分区下的linux,并作上述各步骤,体会虚拟机、真实机间的区别
实验项目
(二)文件与目录操作
一、学习目的
1、掌握文件和目录的区别
2、熟悉文件和目录的相关操作:
建立、复制、移动、删除、重命名、查找、统计等
3、掌握输入、输出重定向的用法
4、掌握find的常见查找模式
5、理解文件的类型及查看
二、学习任务
1、使用“touch文件名”方法在你的注册目录下建立文件file1和file2
touchfile1file2
2、在你的注册目录下创建(mkdir)子目录:
dir1、dir2
mkdirdir1dir2
3、将file1file2复制到dir1中,并察看注册目录与dir1目录下有何变化
cpfile1file2dir1
4、将文件file1,file2从注册目录移动至dir2中,再察看注册目录与dir2目录有何变化
mvfile1file2dir2
5、将dir2中的文件file1改名为myfile1
mv/dir2/file1/dir2/myfile1
6、请使用绝对路径删除文件myfile1
rm/root/dir2/myfile1
7、将dir1中文件拷入dir2子目录,注意有没有提示,解释一下提示的原因
cpdir1dir2
cp:
略过目录“dir1”?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8、删除dir1子目录(rm、rmdir、rm-r)
rm–rf/root/dir1
9、将目录dir2复制成dir1(cp-rdir2dir1)
cp–rdir2dir1
将dir2目录及里面内容一起复制到dir1目录下
10、察看/etc/fstab文件、/boot/grub/grub.conf文件的内容
cat/etc/fstab/boot/grub/grub.conf
看不懂。
。
。
。
。
。
。
。
。
。
。
。
。
。
11、实现下面各项要求:
①将用户root的家目录的所有目录列表保存至文件file1中
ls–al>file1
②将/bin下的文件名中包含了in字符的文件名保存至文件file2中
ls–al|grepin
③同时显示file1file2内容
catfile1fiel2
④将file1file2内容合并成新文件file3
Catfile1fiel2>fiel3
⑤显示file3的前10行内容
headfile3
⑥显示file3的前15行内容
Head15fiel3
⑦显示file3的后3行内容
tail3file3
⑧统计file1中的行数,字数
wc–lwfile1
⑨统计file3中包含root的行数
Grep–crootfile1
12、文件查找
①查找文件名中包含了file字符的文件
Find.–name“file*”
②查找当前目录中有否文件名包含file的文件
Ls-l|grep–c“file”
③查找/bin中有否1000字节以下的文件,并将查找结果保存至文件myresult
Find/bin–size-1000c>myresult
④查找有否100块以上的文件
Find/bin-size100-print
⑤查找有否用户test创建的文件
Find/bin–usertest
⑥将所有文件名中包含了字符config的文件复制到目录/bak
Cpconfig*/bak
13、从/etc/passwd中提取用户名,统计个数,并将结果保存至文件中
Cut–d:
-f1/etc/passwd
14、统计/bin目录下的文件目录项数
Ls–al|wc-l
15、将用户当前目录下的文件目录显示列表中的所有root替换成wqaz,并理解变换结果
Ls-al|perl-pi-e's/root/wqaz/g'
16、尝试比较rm和rmdir命令的区别与联系
实验项目(三)文件压缩和备份
一、学习目的
1、熟悉文件压缩与解压的相关操作。
2、掌握linux备份的类型及基本备份操作。
二、学习任务
第一部分:
zip和unzip、gzip和gunzip命令
1、将系统中所有的.zip文件名显示出来
2、查找你的系统中有多少个.gz的文件,即显示这样的文件数
3、在你的家目录中创建如下内容:
家目录
dir1dir2file1
dir11file3file2
4、将家目录下的所有文件(不包括目录)压缩成文件ys1.zip
5、将/root/install.log添加到ys1.zip中
6、显示一下ys1.zip中包含的文件信息
7、将ys1.zip解压至/tmp/unzip-ys1下(此目录需要先建立)
8、根据解压后的结果,画出目录树,并分析理解
9、将家目录下的所有文件(包括目录)压缩成文件ys2.zip
10、将ys2.zip解压至/tmp/unzip-ys2目录下(此目录需要先建立)
11、根据解压后的结果画出目录树,并分析理解
12、将第3题中的文件file1、file2、file3分别压缩成.gz的形式
13、将第12题中形成的.gz压缩文件拷贝到/tmp/gunzip目录并解压
第二部分tar命令
1、进入/home目录
2、在该目录下新建两个子目录,目录名为test1和test2,应使用什么用户来创建?
3、将/etc目录下的文件yp.conf和hosts拷贝到子目录test1下
4、将目录/test1下所有的文件打包成/home/test1.tar文件
5、将/etc目录下的crontab文件拷贝到子目录test1和test2下
6、使用r选项增加test1.tar归档文件的内容
7、删除/test1/hosts文件
8、比较归档文件test1.tar与子目录test1下内容的差别,应使用什么参数?
9、重新将/etc目录下的hosts文件拷贝到子目录test1
10、重新比较归档文件test1.tar与子目录test1下内容的差别
11、将test1目录下所有文件使用通配符*,拷贝到test2目录下
12、将test2目录下所有文件追加到test1.tar
13、显示test1.tar文件清单
14、将归档文件释放到/tmp目录下
15、将上述归档、释放过程用z选项,采用文件压缩方式重新练习一遍
16、使用tar命令备份/home目录下的内容
17、将第16题中备份的内容进行恢复
实验项目(四)文件系统管理与应用
一、学习目的
1、掌握Linux系统磁盘分区的方法。
2、了解Linux分区类型。
3、理解文件的分类。
4、熟悉文件系统的相关操作。
二、学习任务
以下在虚拟机上完成
第一部分
1、查看自己的系统中有哪些Linux操作系统的目录?
哪些目录是不应该删除的?
2、尝试绘制Linux系统的目录树。
与教材上的目录结构进行比较。
3、使用命令查看自己的系统中有哪些类型的文件?
分别以什么作为标识?
如何进行区分?
4、查看自己虚拟机上当前系统的分区情况,并记录分区信息
5、理解Linux系统对硬盘设备的命名方法,你所使用的硬盘是什么类型的硬盘?
分区是如何命名的?
6、查看自己虚拟机系统上某普通用户$HOME目录磁盘空间的使用情况
7、如何检查磁盘是否有坏块?
能否将检查结果写入文件中保存起来备查?
如何保存?
第二部分文件系统的创建与使用
顺序完成下列命令:
1、在虚拟机下添加一块500M的SCSI硬盘,该硬盘的设备名是什么?
2、在该硬盘上建立两个主分区,分别是100M,再建立一个扩展分区,分区大小200M,查看创建后的分区表并记录,这三个分区的设备名分别是什么?
3、在扩展分区上建立两个逻辑分区,分别是100M、100M,查看分区表并记录,这两个逻辑分区的设备名分别是什么?
4、尝试删除第2个逻辑分区,查看分区表有没有变化
5、将存在的逻辑分区的文件系统类型设置为交换分区,如何操作?
查看分区表有什么变化
6、保存分区表并退出fdisk
7、在第1个主分区上创建ext3文件系统,并检查分区有无坏块,分析命令输出结果直至文件系统创建成功
8、在/tmp下创建目录fileSysMount,并新建文件file1,将file1存放在fileSysMount目录下
9、将第1个主分区的文件系统挂载到/tmp/fileSysMount目录
10、使用ls命令查看/tmp/fileSysMount目录的内容,目录下包括什么?
分析为什么?
11、在/tmp/fileSysMount目录下新建文件file2,使用ls命令确认创建成功
12、正确卸载/tmp/fileSysMount上的文件系统
13、使用ls命令查看/tmp/fileSysMount目录的内容,看到了什么结果,为什么?
14、如果希望系统每次启动时自动挂载第1个分区上的文件系统到/tmp/fileSysMount应如何操作,操作哪个文件,在文件中写入什么内容?
15、在建立的逻辑分区(交换分区)上创建交换文件系统,应如何操作?
16、激活交换文件系统后卸载该文件系统,如何完成激活和卸载操作?
第三部分总结与思考
1、在文件系统建立完成后,要使用该文件系统,还要进行哪些工作?
如何实现?
2、若需要挂载新的文件系统,是否需要创建挂载点(目录)?
如何创建?
3、若有其他用户在文件系统挂载点所在的目录或其子目录下,该文件系统能够被卸载吗?
为什么?
4、若某文件系统出现问题,需要作什么操作?
如何操作?
5、在Linux系统中挂载一个新的文件系统后,系统的目录树有什么变化?
6、若磁盘空间不够用了,但是又需要将其他的数据写到该磁盘上,可能需要将创建的分区删除,将该部分空间挪作他用,根据自己所掌握的知识,应进行哪些操作,才能够确保原数据不丢失,而又能够达到上述要求?
请根据自己的理解进行相关实验,并提交实验报告
实验项目(五)设备管理
一、学习目的
1、掌握Linux系统中设备的分类与标识方法。
2、学会常见设备在Linux下的使用。
二、学习任务
说明:
以下在虚拟机上完成
1、准备一张CDROM,尝试将该CDROM挂载到Linux系统当中,看是否能够读取该CDROM的数据?
使用的命令是什么?
应由哪个用户进行操作?
在挂载CDROM时,指定文件系统的类型是什么?
直接挂载/mnt/cdrom是否可行?
若可行,为什么?
提示:
/etc/fstab
2、卸载CDROM,若还有其他用户在访问挂载该CDROM的目录,是否可以正常卸载?
若不可以,会报告什么错误?
3、尝试命令eject,使用相应的参数,弹出或关闭CDROM驱动器。
当已经将CDROM挂载到系统中时,使用eject可以弹出光驱吗?
当光驱已经被弹出时,可以挂载该CDROM吗?
4、准备U盘或移动硬盘,练习将该设备挂载到系统当中;注意挂载是应使用的文件系统类型。
你的U盘是否被Linux系统支持?
5、向该U盘写文件或建立目录,看能否成功;尝试卸载U盘,操作步骤
6、根据以前学习的Linux命令,查看系统中磁盘的分区情况,并了解哪些分区是被那些系统使用;查找被非Linux操作系统使用的分区
7、尝试挂载该非Linux操作系统使用的分区,并浏览该分区下的文件,看是否能够成功
实验项目(六)用户管理
一、学习目的
1、掌握文件和目录的访问权限设置的命令
2、掌握创建新用户的方法
3、掌握用户管理的基本命令
4、掌握用户身份的转换
5、掌握组的管理
二、学习任务
第一部分文件和目录的访问权限
用户:
root工作目录:
/home
1、查看当前umask参数
2、在/home目录下创建新目录dir1
3、显示目录dir1的详细信息,记录目录的权限信息
4、改变umask参数为066
5、创建新目录dir2
6、显示目录dir1的详细信息,记录目录的权限信息
7、创建新文件file1
8、显示文件file1的详细信息,记录文件file1的文件权限
9、为dir1的同组用户增加写权限
10、改变file1的文件权限为755
第二部分用户管理的基本命令
(一)创建用户
1、增加新用户user1,用户主目录:
/home/user1
2、设置user1密码为user111
3、增加新用户user2,用户主目录:
/user/user2
4、设置user2的密码为空
5、以user1用户身份登陆
6、将/home/file1文件拷贝到user1的用户主目录下,能够执行成功吗?
7、将/home/file1文件拷贝到/home/dir1目录下,能够执行成功吗?
8、切换到root用户
9、将/home/file1文件拷贝到/home/dir1目录下,能够执行成功吗?
为什么?
10、执行#chownuser1/home/dir1,命令作用是什么?
11、切换回user1用户
12、将/home/file1文件拷贝到/home/dir1目录下,能够执行成功吗?
为什么?
思考题:
/etc/passwd和/etc/shadow的文件权限对于系统安全有何作用?
(二)删除用户
1、#userdeluser1
2、#userdel-ruser2
思考:
步骤1和步骤2的执行结果有什么异同?
步骤1要达到和步骤2同样结果,还需要增加哪些操作
(三)手工增加用户(选作)
要求:
手工建立用户user3,其个人用户主目录为/usr/user3.
第三部分:
组的管理
(一)创建新的组
1、执行命令#useradduser4,是否创建了新的组user4?
2、创建新用户user5和组user5
3、增加新的用户组workgroup
(二)组中用户的添加
1、#gpasswd–auser4workgroup
2、#gpasswd–auser5workgroup
3、组信息保存在那个文件中?
打开此文件察看是否有相关信息。
(三)同组用户的目录权限
1、使用user4用户登录
2、在用户主目录下创建新文件file1
3、使用user5用户登录
4、将/home/user4/file1拷贝到当前目录,能否直接拷贝?
5、执行命令#chgrpworkgroup/home/user4
现在再执行步骤4,是否可以成功?
仔细察看文件权限和文件拥有者和相关组信息。
实验项目(七)进程及作业管理
一、学习目的
1、掌握用ps命令监控正在运行的进程。
2、学会在后台启动进程,及前后台进程切换。
3、学会启动不受挂起影响的后台进程。
4、掌握发送信号终止进程的方法。
5、了解作业的控制方法。
二、学习任务
第一部分
1、开始一个程序(如:
find/...),Ctrl+Z暂停,fg继续,kill终止它。
2、在后台启动一个作业,并把它转到前台(fg)。
3、用ps各种选项查询进程,记录进程的状态。
4、试着终止前台进程、后台进程、所有后台进程及其他人的进程。
第二部分
1、在主目录里找一个名为infinite的程序。
以前台方式执行这个程序并注意它的执行结果,最后同时按ctrl+c终止这个程序。
$infinite
hello
hello
hello
按Ctrl+C
注意:
若无infinite文件程序,可请教师提供。
也可自己事先建立infinite文件,其内容为:
whiletrue
do
echohello
done
2、以后台方式运行infinite,然后将其结果定向到一个名为infin.out的文件里。
$infinite>infin.out&
执行ps–f命令,记录infinite程序的PID和PPID。
中断联接,然后再次登录,执行ps–f|grepuser_id命令,user_id是你自己登录的标识码。
infinite进程在什么地方?
然后在做下一个练习前,将文件infin.out的文件删除。
3、使用nohup命令保护一个进程不会因为它的父进程死掉而跟着被终止。
以后台方式再次运行infinite命令,用nohup命令保护它继续运行。
$nohupinfinite>infn.out&
现在退出去,然后再次登录。
再次执行ps–ef|grepuser_id命令,infinite这个进程还运行吗?
现在谁是它的父进程?
4、使用kill命令终止infinite程序的执行。
5、以前台方式运行infinite程序,然后将它的结果定向到文件infin.out里。
同时按ctrl+Z键挂起这个程序。
系统将在屏幕上出现一条信息,告诉你这个进程已经被终止了,将infinite转到后台,然后看看有什么信息。
用kill命令终止infinite程序。
第三部分
尝试绘制Unix系统的进程树
实验项目(八)网络配置
一、学习目的
1、掌握Unix网络相关命令的基本使用方法。
2、了解如何测试网络,发现并解决问题。
3、掌握远程登录telnet和文件传输ftp的基本使用方法。
4、了解如何监控网络的状态。
二、学习任务
第一部分
1、查看实验机的主机名是什么?
将主机名改为自己的”班级-学号”。
2、查看主机的IP地址______________________________。
尝试向网络上的另一台主机发送数据包,测试是否能够进行通讯(ping)。
3、使用ifconfig命令和route命令配置实验机的IP地址、子网掩码、网关,编辑/etc/resolv.conf文件,设置DNS,设置完毕重新启动网络服务,尝试向网关发送数据包测试网络配置是否正确,如不正确则重新配置直至网络连通。
4、练习使用netconfig进行网络配置,测试网络是否连通。
5、练习netstat命令的使用,监控网络的状态。
6、练习nslookup命令的使用。
第二部分
以下在虚拟机下完成:
1、在相邻实验机上开启telnet服务,并创建用户名和密码,在自己的实验机上使用该用户名和密码telnet到相邻实验机,看自己的访问权限有什么不同,尝试利用su命令转换到root身份是否成功?
退出telnet登录。
2、在相邻实验机上开启rlogin服务,尝试使用第1题中创建的用户名和密码登录是否成功?
第三部分
以下在虚拟机下完成:
1、开启相邻实验机的虚拟机下的ftp服务程序,启动ftp客户端程序,尝试连接相邻实验机的ftp服务。
开始运行ftp主机的IP地址输入相邻实验机上合法的用户名/密码,看是否能够成功连接相邻实验机的ftp服务
2、若能够成功连接相邻机的ftp服务,尝试使用bin/asc方式下载一个文件到自己的实验机上。
3、若能够成功连接主机的ftp服务,尝试使用bin/asc方式上传一个文件到主机上。
4、退出ftp服务程序
5、启动主机的浏览器,在地址栏键入http:
//虚拟机IP地址,以虚拟机中创建的用户名和密码登录,看是否成功,成功登录后,将主机中的一个文件上传到ftp服务器中,并从服务器中下载一个文件到主机中。