linux实验报告.docx
- 文档编号:11528060
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:21
- 大小:556.46KB
linux实验报告.docx
《linux实验报告.docx》由会员分享,可在线阅读,更多相关《linux实验报告.docx(21页珍藏版)》请在冰点文库上搜索。
linux实验报告
实验一
实验名称:
Linux基本命令的使用
实验时间:
2学时
实验目的:
熟练使用Linux字符界面、窗口系统的常用命令。
实验内容
(一)Linux操作基础
1.重新启动linux或关机(poweroff,shutdown,reboot,init0,init6)
2.显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal)
①uname:
查看系统与内核相关信息
uname-asrmpi
参数:
-a:
所有系统相关的信息;
-s:
系统内核名称;
-r:
内核的版本;
-m:
本系统的硬件名称,如i686或x86_64;
-p:
CPU的类型,与-m类似,只是显示的是CPU的类型;
-i:
硬件的平台(ix86).
②date:
显示日期的命令
③cal:
显示日历
单独cal:
列出当前月份的日历
cal2014:
列出2014年的日历
cal52014:
列出2014年五月的目录
3.使用帮助命令(man,help)
①man:
是manual(操作说明)的简写,是在线帮助系统
man后跟某个命令就会详细说明此命令,例如:
manman就会详细说明man这个命令的用法;
②help:
也是帮助命令,一般会在命令后,例如:
cd--help就会列出cd命令的使用说明。
4.查看当前登陆用户列表(who),显示当前用户(whoami)
①who:
显示目前已登录在系统上面的用户信息;
②whoami:
查询当前系统账户
5.建立一个新用户mytest,设定密码(useradd,passwd)
①useraddmytest(建立新用户mytest);
②passwdmytest(给mytest用户设置密码)
6.用mytest登录,用户注销或退出(logout,exit)
①logout,exit(注销或退出用户)
②输入mytest及刚才设置的密码,就登录了mytest账户
7.转换用户身份(su)
suroot:
切换到root用户;
sumytest:
切回mytest用户
(二)文件操作命令
8.显示当前工作目录,显示当前目录下的内容,列出所有文件和目录(包括隐含文件)(pwd,dir,ls)
①pwd显示当前目录:
/home/mytest
②dir显示当前目录下的所有目录:
anaconda-ks.cfgDocumentsMusicPublicDesktopDownloadsPicturesTemplatesVideos
③ls显示所有文件及目录:
anaconda-ks.cfgDocumentsMusicPublicDesktopDownloadsPicturesTemplatesVideos
9.建立一个新目录test,并建立其子目录t1,t2和t3,进入t1子目录(mkdir,cd)
①mkdirtest(新建一个test目录);
②cdtest(进入test目录);
③mkdirt1t2t3(建立三个子目录t1t2t3);
④cdt1(进入t1子目录);
10.在t1目录下,建立一个空文件aa(touch)
touchaa(建立空文件aa)
11.用vi编辑器建立一个源文件bb,输入3到5行文字,然后保存并退出
①vibb;(创建bb文件并编辑);
②i(插入);
③输入内容:
aaaaa
Bbbbb
Ccccc
Ddddd
④etc(退出);
⑤:
wq(保存并退出)
12.将aa和bb复制到t2目录下,将t2目录的bb文件移动到t3子目录下并改名
①cpaabb/home/mytest/test/t2(将aabb复制到t2目录下)
②cd/home/mytest/test/t2(先进入t2这个目录)
mvbb/home/mytest/test/t3(把bb移动到t3目录下)
13.显示aa文件和bb文件的内容(cat)
①cat/home/mytest/test/t1/aa(显示aa的内容)
②cat/home/mytest/test/t1/bb(显示bb的内容)
14.分页显示一个大文件(more,less)
cat/etc/passwd|more
cat/etc/passwd|less
15.在文件bb中查找某个特定的字符串(grep)
grepcc/home/mytest/test/t1/bb(在bb中找cc字符串)
16.查找某个特定文件(find)
findbb(在所有目录中找bb文件)
17.练习history命令,并执行其中一条历史命令;快速重复执行上一条命令
①history(显示所用过的命令)
②!
44(执行历史记录中的第44条命令)
18.将ls显示文件的结果,分别覆盖写和追加写到一个新文件中(>和>>)
ls>test.txt(将显示结果覆盖写到test.txt)
ls>>test.txt(将显示结果追加写到test.txt)
19.练习压缩命令和解压缩命令(gzip和gunzip)
①gzipbb压缩bb文件
②gunzipbb解压bb文件
20.删除一个文件(rm命令)
rmbb.gz(删除刚才压缩的文件bb.gz)
21.删除一个目录,如test/t11/t3子目录
rmdir/home/mytest/test/t3(删除t3子目录)
22.删除一个用户mytest及其主目录中的内容(userdel)
userdel-rmytest
实验二
实验名称:
Vi编辑器的使用
实验时间:
2学时
实验目的:
熟练掌握Vi编辑器的基本使用方法。
实验内容
1.练习Vi编辑器的启动、保存和退出等操作。
①vitest.txt(创建test.txt文件并编辑)
②i(插入数据)
③输入文字:
iamzxy
④etc(退出编辑)
⑤:
wq(保存并退出编辑器)
2.用vi编辑器建立一个源文件hello.c,打印出helloworld。
使用gcc进行编译。
若编译不正确,则对上述文件进行修改。
最后执行该程序。
①vihello.c(创建hello.c文件并且进入vi编辑器);
②i(插入数据即开始编译);
③输入内容:
#include
main()
{
printf("helloworld\n");
}
④etc(退出编辑)
⑤:
wq(退出vi编辑器并保存)
⑥gcc-ohellohello.gcc(gcc编译hello.c并生成可执行文件hello)
⑦./hello(执行hello,打印出helloworld)
实验截图:
3.练习使用Vi编辑器在命令模式下的各种操作:
移至行首、行尾、跳到指定行、文件内容的增\删\改操作(i,dd,x,#dd,#x),恢复上一次操作(u),搜索指定的字符串、复制操作等等。
①移至行首:
数字"0"或者功能键"HOME"
②移至行尾:
"$"或者功能键"END"
③跳到指定行:
"nG"(移动到此文件的第n行)
④插入文件(增):
"i"
⑤删除:
dd(删除光标所在的一整行)x(向后删除一个字符)X(向前删除一个字符)
⑥#dd(注释掉dd这一行)
⑦恢复上一次操作:
"u"
⑧搜索制定字符串:
"/word"(向下寻找一个名为word的字符串)
"?
word"(向上寻找一个名为word的字符串)
4.用vi编写一个count.cpp文件,进行简单的四则运算,例如“2+3=?
”,可以接受键盘输入的两个数和一个运算符号,并在控制台输出结果。
①vicount.cpp(编辑count.cpp)
②i(插入数据即编辑内容)
③输入c++源码:
#include
usingnamespacestd;
voidadd(inta,intb)
intmain()
{
intx,y,sum;
count<<"Entertwonumbers:
"<<'\n';
cin>>x;
cin>>y;
sum=add(x,y)
}
intadd(inta,intb)
{
intc;
c=a+b;
returnc;
}
④etc(退出编辑模式)
⑤:
wq(退出编辑器并保存)
⑥g++-osumcount.cpp(g++编译count.cpp并生成可执行文件sum)
⑦./sum(执行可执行文件sum)
⑧输入5
输入6
输出:
Thesumis11.
用GCC编译count.cpp程序,并执行。
①g++-osumcount.cpp(g++编译count.cpp并生成可执行文件sum)
②./sum(执行可执行文件sum)
③输入5
输入6
输出:
Thesumis11.
实验截图:
实验三
实验名称:
文件权限的管理
实验时间:
2学时
实验目的:
熟练掌握用户和组的建立,文件权限的修改等方法。
实验内容
1.建立2个组(神仙组,妖怪组)
在root用户下操作:
①groupaddyaoguai
②groupaddshenxian
2.建立4个用户:
悟空、八戒、唐僧、沙僧,并设置用户密码
在root用户下操作:
①useraddwukong
②useraddbajie
③useraddshaseng
④useraddtangseng
⑤passwdwukong
⑥passwdbajie
⑦passwdshaseng
⑧passwdtangseng
实验截图:
3.把悟空、八戒放入妖怪组
在root用户下操作
①usermod-gyaoguaibajie
②usermod-gyaoguaiwukong
4.把唐僧、沙僧放入神仙组
在root用户下操作
①usermod-gshenxiantangseng
②usermod-gyaoguaishaseng
实验截图:
5.用悟空建立一个文件(monkey.cpp),该文件要输出Iammonkey
①登录到wukong账户下
②vimonkey.cpp
③i
④编辑内容:
#include
usingnamespacestd;
main()
{
count<<"iamamonkey"< } 实验截图: 6.给八戒一个可以rw的权限 用root或悟空用户改 ①chmod770/home/wukong(给同组用户进入wukong主文件夹的权限) ②chmod760/home/wukong/monkey.cpp 实验截图: 7.八戒修改monkey.cpp文件,加入一句话iamapig ①登录八戒用户 ②vi/home/wukong/monkey.cpp ③i(修改) ④g++-opigmoney.cpp ⑤./pig 实验截图: 8.唐僧、沙僧对该文件没有权限 9.把沙僧放入妖怪组 usermod-gyaoguaishaseng 实验截图: 10.让沙僧修改文件monkey.cpp的monkey,加入”我是沙僧,我是妖怪! ” ①登录shaseng ②vimonkey.cpp ③i(加入iamshaseng,iamyaoguai) ④etc(退出) ⑤: wq(保存并退出编辑器) ⑥g++-oshasengmonkey.cpp ⑦./shaseng 实验截图: 实验四 实验名称: Shell编程 实验时间: 2学时 实验目的: 熟练掌握Shell程序的创建过程,能够编写Shell程序。 实验内容 1.请批量创建一个班的用户,每个班为一个组: class110608或class110609. 用户名为: 学号+昵称 能够自动删除所创建的用户。 每成功创建或删除一个用户,在屏幕上显示用户名 ①vish01.sh ②i(编辑内容) ③输入内容如下: #! /bin/sh #Program: #thisprogramistoadd30usersatonce #History: 2014/05/12zxyfirstrelease PATH=/bin: /sbin: /usr/bin/: /usr/sbin/: /usr/local/bin: /usr/local/sbin: ~/bin exportPATH i=1 groupaddclass110609 while[${i}-le30] do if[${i}-le9] then USERNAME=std0${i} else USERNAME=std${i} fi useradd${USERNAME} echo"$USERNAME" i=$(($i+1)) done ④执行程序: shsh01.sh ⑤查看是否创建用户成功: cat/etc/passwd ⑥实验截图: 2.输入一个数字n,并输出n的阶乘。 ①vish02.sh ②i(编辑内容) ③输入内容如下: #! /bin/sh #Program: #thisprogramistocaculatetheparamofyourinput #History: #2014/05/15zxyfirstrelease PATH=/bin: /sbin: /usr/bin: /usr/sbin: /usr/local/bin: /usr/local/sbin: ~/bin exportPATH read-p"pleaseinputanumbertocaculateitsparam: "nu if[$nu-eq0] thenecho-e"$0noParams.\a\n" exit0 fi x=`echo$nu|awk'/[^[: digit: ]]/{print$0}'` if["x$x"! ="x"] thenecho-e"Input: $*error! \a" exit1 fi fact=1 tmp=1 while[$tmp-le$nu] do fact=$((fact*tmp)) tmp=$((++tmp)) done echo"Theresultis: $fact" ④执行程序: shsh02.sh ⑤输入: 10结果显示: Theresultis: 3628800 3.创建一个shell程序,计算并输出1+2+3+4+......+100的值。 ①vish03.sh ②i(编辑) ③输入下面程序: #! /bin/bash #Program: #Uselooptocaculate"1+2+3+...+100"result. #History: #2014/05/13zxyfirstrelease PATH=/bin: /sbin: /usr/bin: /usr/sbin: /usr/local/bin: /usr/local/sbin: /usr: /~bin exportPATH s=0 i=0 while["$i"! ="100"] do i=$(($i+1)) s=$(($s+$i)) done echo"theresultof'1+2+3+...+100'is==>$s" ④运行脚本: shsh03.sh ⑤结果显示: theresultof'1+2+3+...+100'is==>5050 实验截图: 实验五 1.建立自己的samba服务器,并实现windows到linux的访问,可以进行文件的传输。 设置某个用户只读的权限。 ①挂载含samba服务器的iso镜像 ②查看是否已安装samba rpm-qsamba 若未安装,继续。 否则直接使用samba ③拷贝samba的rmp包到/home目录 cpsamba*/home ④开始安装(顺序) a)rpm‐ivhsamba-common-2.2.7a-7.9.0.i386.rpm b)rpm–ivhsamba-client-2.2.7a-7.9.0.i386.rpm c)rpm–ivhsamba-2.2.7a-7.9.0.i386.rpm ⑤创建一个用户zxy useraddzxy passwd123456 ⑥给youyou设置samba密码 --将/etc/passwd中的用户都加到smbpasswd中 cat/etc/passwd|mksmbpasswd.sh>/etc/samba/smbpasswd --设置密码 smbpasswd123456 ⑦vi/etc/samba/smb.conf 设置readonly=yes 2.写一个crontab调度程序,使得每天晚上23: 30备份一个特定的文件,并注明备份日期。 Mysql数据库的备份: ①vi/backup/backupday.sh ②#! /bin/sh #basedir=/backup/dairy PATH=/bin: /usr/bin: /usr/sbin: /usr/local/bin: /usr/local/sbin: ~/bin exportPATH basefile=$basedir/mysql.$(date+%Y-%m-%d).tar.bz2 basefile=$basedir/cgi-bin.$(date+%Y-%m-%d).tar.bz2 [! -d"$basedir"]&&mkdir$basedir cd/var/lib tar-jpc-f$basefile1mysql cd/var/www tar-jpc-f$basefile2cgi-bin ③chmod700/backup/backupday.sh ④vi/etc/crontab 写入: 3023***root/backup/backupday.sh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 实验 报告