linux实验报告 - 图文

更新时间:2024-04-08 16:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

LINUX实验报告

专 业:

班 级: 学 号: 姓 名:

实 验 一

实验名称:Linux 基本命令的使用 实验时间:2学时

实验目的:熟练使用Linux字符界面、窗口系统的常用命令。 实验内容

(一)Linux操作基础

1. 重新启动linux或关机(poweroff,shutdown,reboot,init 0,init 6)

2. 显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal) ①uname:查看系统与内核相关信息 uname -asrmpi 参数:

-a :所有系统相关的信息; -s: 系统内核名称; -r: 内核的版本;

-m:本系统的硬件名称,如i686或x86_64;

-p: CPU的类型,与-m类似,只是显示的是CPU的类型; -i :硬件的平台(ix86). ②date:显示日期的命令 ③cal:显示日历

单独cal:列出当前月份的日历 cal 2014:列出2014年的日历

cal 5 2014:列出2014年五月的目录 3. 使用帮助命令(man,help)

①man:是manual(操作说明)的简写,是在线帮助系统

man后跟某个命令就会详细说明此命令,例如:man man就会详细说明man这个命令的用法;

②help:也是帮助命令,一般会在命令后,例如:cd --help 就会列出cd命令的使用说明。

4. 查看当前登陆用户列表 (who),显示当前用户(whoami) ①who:显示目前已登录在系统上面的用户信息; ②whoami:查询当前系统账户

5. 建立一个新用户mytest,设定密码(useradd,passwd)

①useradd mytest(建立新用户mytest);

②passwd mytest(给mytest用户设置密码)

6. 用mytest登录,用户注销或退出(logout, exit) ①logout,exit(注销或退出用户)

②输入mytest及刚才设置的密码,就登录了mytest账户 7. 转换用户身份(su) su root :切换到root用户; su mytest:切回mytest用户 (二)文件操作命令

8. 显示当前工作目录,显示当前目录下的内容,列出所有文件和目录(包括隐含文件)(pwd,dir, ls)

①pwd显示当前目录:/home/mytest ②dir显示当前目录下的所有目录:anaconda-ks.cfg Documents Music Public Desktop Downloads Pictures Templates Videos

③ls显示所有文件及目录:anaconda-ks.cfg Documents Music Public Desktop Downloads Pictures Templates Videos

9. 建立一个新目录test,并建立其子目录t1,t2和t3,进入t1子目录(mkdir, cd) ①mkdir test(新建一个test目录); ②cd test(进入test目录);

③mkdir t1 t2 t3(建立三个子目录t1 t2 t3);

④cd t1(进入t1子目录);

10. 在t1目录下,建立一个空文件aa(touch) touch aa(建立空文件aa)

11. 用vi编辑器建立一个源文件bb,输入3到5行文字,然后保存并退出 ①vi bb;(创建bb文件并编辑); ②i(插入);

③输入内容:aaaaa Bbbbb Ccccc Ddddd

④etc(退出);

⑤:wq(保存并退出)

12. 将aa和bb复制到t2目录下,将t2目录的bb文件移动到t3子目录下并改名 ①cp aa bb /home/mytest/test/t2(将aa bb复制到t2目录下) ②cd /home/mytest/test/t2(先进入t2这个目录)

mv bb /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)

grep cc /home/mytest/test/t1/bb(在bb中找cc字符串) 16. 查找某个特定文件(find) find bb(在所有目录中找bb文件)

17. 练习history命令,并执行其中一条历史命令;快速重复执行上一条命令 ①history(显示所用过的命令)

②!44(执行历史记录中的第44条命令)

18. 将ls显示文件的结果,分别覆盖写和追加写到一个新文件中(> 和>>) ls> test.txt(将显示结果覆盖写到test.txt) ls >>test.txt(将显示结果追加写到test.txt)

19. 练习压缩命令和解压缩命令(gzip 和gunzip) ①gzip bb压缩bb文件 ②gunzip bb 解压bb文件

20. 删除一个文件(rm命令)

rm bb.gz(删除刚才压缩的文件bb.gz) 21. 删除一个目录,如test/t11/t3子目录

rmdir /home/mytest/test/t3(删除t3子目录)

22. 删除一个用户mytest及其主目录中的内容(userdel) userdel -r mytest

实 验 二

实验名称:Vi编辑器的使用 实验时间:2学时

实验目的:熟练掌握Vi编辑器的基本使用方法。 实验内容

1. 练习Vi编辑器的启动、保存和退出等操作。 ①vi test.txt(创建test.txt文件并编辑)

②i(插入数据) ③输入文字:i am zxy ④etc(退出编辑)

⑤:wq(保存并退出编辑器)

2. 用vi编辑器建立一个源文件hello.c,打印出hello world。使用gcc进行编译。若编译不正确,则对上述文件进行修改。最后执行该程序。 ①vi hello.c(创建hello.c文件并且进入vi编辑器); ②i(插入数据即开始编译); ③输入内容:#include main() {

printf("hello world \\n"); } ④etc(退出编辑)

⑤:wq(退出vi编辑器并保存)

⑥gcc -o hello hello.gcc(gcc编译hello.c并生成可执行文件hello) ⑦./hello(执行hello,打印出hello world) 实验截图:

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=?”,可以接受键盘输入的两个数和一个运算符号,并在控制台输出结果。 ①vi count.cpp(编辑count.cpp) ②i(插入数据即编辑内容) ③输入c++源码: #include using namespace std;

void add(int a, int b) int main() {

int x,y,sum;

count<<"Enter two numbers:"<<'\\n'; cin>>x; cin>>y; sum=add(x,y) }

int add (int a,int b) { int c; c=a+b; return c; }

④etc(退出编辑模式) ⑤:wq(退出编辑器并保存)

⑥g++ -o sum count.cpp(g++编译count.cpp并生成可执行文件sum) ⑦./sum(执行可执行文件sum) ⑧输入5 输入6

输出:The sum is 11.

用GCC编译count.cpp程序,并执行。

①g++ -o sum count.cpp(g++编译count.cpp并生成可执行文件sum) ②./sum(执行可执行文件sum) ③输入5 输入6

输出:The sum is 11. 实验截图:

实 验 三

实验名称:文件权限的管理 实验时间:2学时

实验目的:熟练掌握用户和组的建立,文件权限的修改等方法。 实验内容

1.建立2个组(神仙组,妖怪组) 在root用户下操作: ①groupadd yaoguai ②groupadd shenxian

2.建立4个用户:悟空、八戒、唐僧、沙僧,并设置用户密码 在root用户下操作: ①useradd wukong ②useradd bajie ③useradd shaseng ④useradd tangseng ⑤passwd wukong ⑥passwd bajie ⑦passwd shaseng ⑧passwd tangseng 实验截图:

3.把悟空、八戒放入妖怪组 在root用户下操作 ①usermod -g yaoguai bajie ②usermod -g yaoguai wukong 4.把唐僧、沙僧放入神仙组 在root用户下操作

①usermod -g shenxian tangseng ②usermod -g yaoguai shaseng 实验截图:

5.用悟空建立一个文件(monkey.cpp),该文件要输出I am monkey ①登录到wukong账户下 ②vi monkey.cpp ③i

④编辑内容:

#include using namespace std; main() {

count<<"i am a monkey"<

6.给八戒一个可以 r w 的权限 用root或悟空用户改

①chmod 770 /home/wukong(给同组用户进入wukong主文件夹的权限) ②chmod 760 /home/wukong/monkey.cpp 实验截图:

7.八戒修改monkey.cpp文件,加入一句话 i am a pig ①登录八戒用户

②vi /home/wukong/monkey.cpp

③i(修改)

④g++ -o pig money.cpp ⑤./pig 实验截图:

8.唐僧、沙僧对该文件没有权限 9.把沙僧放入妖怪组 usermod -g yaoguai shaseng 实验截图:

10.让沙僧修改文件monkey.cpp的monkey,加入”我是沙僧,我是妖怪!”

①登录shaseng ②vi monkey.cpp

③i(加入 i am shaseng,i am yaoguai) ④etc(退出)

⑤:wq(保存并退出编辑器) ⑥g++ -o shaseng monkey.cpp ⑦./shaseng 实验截图:

实 验 四

实验名称:Shell编程 实验时间:2学时

实验目的:熟练掌握Shell程序的创建过程,能够编写Shell程序。 实验内容

1. 请批量创建一个班的用户,每个班为一个组:class110608或class110609. 用户名为:学号+昵称

能够自动删除所创建的用户。每成功创建或删除一个用户,在屏幕上显示用户名 ①vi sh01.sh ②i(编辑内容) ③输入内容如下: #!/bin/sh #Program:

# this program is to add 30 users at once #History:

2014/05/12 zxy first release

PATH=/bin:/sbin:/usr/bin/:/usr/sbin/:/usr/local/bin:/usr/local/sbin:~/bin export PATH i=1

groupadd class110609 while [ ${i} -le 30 ] do

if [ ${i} -le 9 ] then

USERNAME=std0${i} else

USERNAME=std${i} fi

useradd ${USERNAME} echo \i=$(($i+1)) done

④执行程序:sh sh01.sh

⑤查看是否创建用户成功:cat /etc/passwd ⑥实验截图:

2. 输入一个数字n,并输出n的阶乘。 ①vi sh02.sh ②i(编辑内容) ③输入内容如下: #!/bin/sh #Program:

# this program is to caculate the param of your input #History:

# 2014/05/15 zxy first release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH

read -p \if [ $nu -eq 0 ]

then echo -e \exit 0 fi

x=`echo $nu | awk '/[^[:digit:]]/ { print $0 } ' ` if [ \

then echo -e \exit 1 fi fact=1 tmp=1

while [ $tmp -le $nu ] do

fact=$((fact*tmp)) tmp=$((++tmp)) done

echo \④执行程序:sh sh02.sh

⑤输入:10 结果显示:The result is : 3628800

3. 创建一个shell程序,计算并输出1+2+3+4+......+100的值。 ①vi sh03.sh ②i(编辑)

③输入下面程序: #!/bin/bash #Program:

# Use loop to caculate \#History:

# 2014/05/13 zxy first release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr:/~bin export PATH s=0

i=0

while [ \ do

i=$(($i+1)) s=$(($s+$i)) done

echo \④运行脚本:sh sh03.sh

⑤结果显示:the result of '1+2+3+...+100'is ==> 5050 实验截图:

实 验 五

1. 建立自己的samba服务器,并实现windows到linux的访问,可以进行文件的传输。设置某个用户只读的权限。 ①挂载含samba服务器的iso镜像 ②查看是否已安装samba rpm -q samba

若未安装,继续。否则直接使用samba

③拷贝samba的rmp包到/home目录 cp samba* /home ④开始安装(顺序)

a)rpm ‐ivh samba-common-2.2.7a-7.9.0.i386.rpm b) rpm –ivh samba-client-2.2.7a-7.9.0.i386.rpm c) rpm –ivh samba-2.2.7a-7.9.0.i386.rpm ⑤创建一个用户zxy useradd zxy passwd 123456

⑥给youyou设置samba密码

--将/etc/passwd中的用户都加到smbpasswd中

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd --设置密码 smbpasswd 123456 ⑦vi /etc/samba/smb.conf 设置read only=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 export PATH

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 $basefile1 mysql

cd /var/www

tar -jpc -f $basefile2 cgi-bin ③chmod 700 /backup/backupday.sh ④ vi /etc/crontab 写入:

30 23 * * * root /backup/backupday.sh

本文来源:https://www.bwwdw.com/article/z8pr.html

Top