Linux实验

实验二

1. 帮助命令的使用:

1) 查看ls命令的手册页,并翻页至最后,而后退出;

man ls

(PageDOwn和PageUp用于翻页)

2) 查看ls命令的信息页,翻页至最后并退出;

info ls

(PageDown和PageUp用于翻页,q用于退出)

2. 安装VMWaretools

1)登录root用户至其主目录;(如果已经登录可省略此步)

2) 打开终端后在[root@localhost ~]#后面输入自己名字后开始安装

3. 更改文件的属性,拥有者以及所属组

1)用命令列出根目录下的目录及文件;

3)用命令列出install.log文件的详细信息

ls -l install.log

4)用命令把install.log文件的用户组更改为自己安装时创建的用户组

chgrp -R user install.log

(-R用于递归,即文件内的所有子目录的用户组都更改,注意不要少了user)

5)用命令把install.log文件的拥有者改为自己安装时创建的用户

chown user install.log

6)用命令同时把install.log文件的拥有者和用户组更改为root

chown root:root install.log

7)用命令把install.log文件的属性更改为-rw-rw-rw- chmod a+rw install.log

8)用命令把install.log文件的属性恢复到初始状态

chmod u=rw,g=r,o=r install.log

实验三文本及目录相关命令的使用

上机实验内容:

1. 目录操作:

1) 用命令列出根目录下的目录及文件;

ls

2) 用一条命令创建目录/root/test/x/y/z;

mkdir -p /root/test/x/y/z

(-p是目录的递归)

3) 查看当前目录下的所有文件,要求显示其详细信息;

ls -al

4) 切换目录至/root/test/x/y,并删除目录z;

cd /root/test/x/y(这是绝对路径的写法)

cd test/x/y (这是相对路径的写法)

rmdir z

5) 切换回root用户的主目录,并使用一条命令删除

/root/test,/root/test/x,/root/test/x/y;

cd ~ 或者 cd /root

rm -p /root/test/x/y (必须写全目录,不然不能递归删

除)

2. 文件查看相关命令(注意相对路径和绝对路径)

1) 复制文件/etc/inittab,/etc/passwd,/etc/shadow

至/root目录;

cp /etc/inittab /etc/passwd /etc/shadow . 或

cp /etc/inittab /etc/passwd /etc/shadow

/root

(注意cp的选项,书上121页)

2) 用cat命令显示/root/inittab文件的内容,要求对输

出的内容显示行号;

cat -n inittab 或者

cat -n /root/inittab

3) 用more命令显示/root/passwd,并在在屏幕底部 More

提示符后打印信息;

more passwd 或者

more /root/passwd

(:f)

4) 用less命令显示/root/shadow,要求显示读取文件的

百分比、行号及总行数,并在每行前输出行号;

less -N shadow或者

less -N /root/shadow

(:f)

5) 用head命令显示/root/inittab前30行;

head -n 30 inittab或者

head -n 30 /root/inittab

6) 用tail命令显示/root/inittab后30行;

tail -n 30 inittab或者

tail –n 30 /root/inittab

7) 用tail命令显示/root/inittab第30行至文件尾的部

分;

tail -n +30 inittab或者

tail -n +30 /root/inittab

3. 文件操作相关命令

1) 用touch命令创建文件/root/test.txt;

touch test.txt或者

touch /root/test/txt

2) 用touch命令将/root/inittab文件的访问时间设置为

当前时间;

touch -t 1012221113 inittab

ls –l inittab

(-t 后的时间格式为YYmmddhhmm)

3) 递归复制目录/etc/pam.d至root用户的主目录;查看

/root/pam.d目录中的内容,而后将此目录重命名为

pam.test;

cp -r /etc/pam.d .

ls -l /root/pam.d

mv pam.d pam.test

4) 删除目录/root/pam.test;

rm -rf pam.test或者

rm –rf /root/pam.test

实验四文本及目录相关命令的使用(二)

上机实验内容:

1、默认权限练习

i)查看当前用户的默认权限设置情况

umask

ii)在当前目录下创建一个新的文件和一个新的目录,查看该目录的操作权限

mkdir test.dir

touch test.txt

ll

iii)在当前用户的基础默认权限中取消群组用户的写权限,同时也取消他人的全部权限

umask 027

ll

(此时不会出现任何效果,当在建立文件时即testnew.txt和testnew.dir的权限就会发生变化)

iv)新建一个文本文件和一个目录,查看它们的属性设置,比较其与没有改变默认权限设置前创建的同类文件的权限差异

mkdir testnew.dir

touch testnew.txt

ll

v)将默认权限改为原值

umask 0022

ll

2、隐藏属性练习

i)查看上一个练习中修改完默认权限后新建的文件和目录的隐藏属性

lsattr –a testnew.txt

lsattr -a testnew.dir

ii)将上一个练习中创建的文本文件设置为只可追加不可删除数据

chattr +a testnew.txt

iii)将上一个练习中创建的文本文件设置为不可修改

chattr +i testnew.txt

3、特殊权限练习

i)在普通用户家目录中新建一个目录testdir

mkdir testdir

ii)将文件/bin/ls文件复制到当前目录中,同时将其名称改为myls;cp /bin/ls myls

iii)查看文件myls和目录testdir的当前隐藏权限

lsattr -a myls

lsattr -a testdir

iv)为文件myls加上SGID权限

chmod 2755 myls

ls –l myls

v)为目录testdir加上SBit权限

chmod 1755 testdir

ls –ld testdir

vi)再次查看文件myls和目录testdir的当前隐藏权限,观察与前次结果有何不同

lsattr

vii)查看文件myls和目录testdir的文件类型

file testdir

file myls

viii)将文件myls和目录testdir的隐藏属性恢复为原值chmod 0755 testdir

chmod 0755 myls

4、搜索指令练习

i)查询ls和eboot指令的默认搜索路径,要求分别查询其默认第一个匹配路径与全部可匹配路径

which ls ;which ls –a ;which eboot;which eboot –a

ii)查询系统中文件名称含有bashrc的所有文件

locate bashrc

iii)查询/home目录下所有文件名称为testfile的文件

find /home -name testfile

iv)查询系统根目录下三天前曾访问的所有文件

find / atime 3

v)查询/home目录下所有大小大于100的文件

find /home –size +100k -exec ls –ld {} \;

vi)查询/home目录下为用户root(id号码为0)所有的文件find /home –uid 0 -exec ls –ld {} \;

vii)在/etc目录下查找所有以rc开头的文件名且2分钟内没有被访问过的文件(没有头绪)

find /etc –name rc –mtime 2 -etec ls –l {} \;

实验五磁盘与文件系统管理

一、链接文件

1)把当前的操作目录转到/tmp下 cd /tmp

2) 新建目录a mkdir a

3)在目录a中新建文件 cd a;touch test

4)查看当前状态下/tmp目录的容量和该目录所在分区的容量(以inode方式显示)

du –s ;df -ih /tmp

5)在/tmp中建立a目录下文件t的硬链接t-h

cd a;touch t;cd /tmp;ln a/t t-h

6) 查看当前状态下/tmp目录的容量和该目录所在分区的容量(以inode方式显示)

du -s ;df -i /tmp

7)查看源文件和硬链接文件的详细信息(显示出文件存储时占用的inode号)

ls –il t*

8)在/tmp中建立a目录下文件t的符号链接t-s

ln –s a/t t-s

9) 查看当前状态下/tmp目录的容量和该目录所在分区的容量(以inode方式显示)

du –s ;df –i /tmp

10)查看源文件、硬链接文件和符号链接的详细信息(显示出文件存储时占用的inode号)

ls –li a/t;ls -li t-h;ls –li t-s

11)用cat指令分别查看t-h和t-s的内容

cat t-h;cat t-s

12)删除a目录中的文件t rm –rf a/t

13) 用cat指令分别查看t-h和t-s的内容

cat t-h;cat t-s(不能再查看,会出现错误)

二、链接数量

1)把当前的操作目录转到/tmp下cd /tmp

2)查看/tmp目录的详细信息ls –ld /tmp 或者ls –ld

3)用ls指令查看目录/tmp下的内容ls –l

4)在/tmp下新建目录c mkdir c

5) 查看/tmp目录的详细信息 ls -l

6) 查看目录c的详细信息 ls –ld c

7)在/tmp下新建文件m touch m

8) 查看文件m的详细信息ls –l m

9)为文件m建立符号链接m-s ln –s m m-s

10)查看文件m的详细信息 ls –l m

11) 为文件m建立硬链接m-h ln m m-h

12) 查看文件m的详细信息 ls -l m

实验六磁盘与文件系统管理

上机实验内容:

打开终端后在[root@localhost ~]#后面输入自己名字

1)读分区/dev/hda1的文件系统详细信息 Df /dev/hda

2)查看LINUX内核支持的文件系统

Ls –l /lib/modules/$ (uname –r) /kernel/fs

3)查看已经启用的档案系统(黄色标出的两个在书上,自己看)

cat /proc/filesystems

4)将系统内的所有特殊档案格式及名称都列出來 Ls –l

/proc

5) 创建新的磁盘分区

(1)显示当前系统上所有磁盘设备的分区信息;

Fdisk -l

(2)对未进行分区的/dev/hdb进行分区,分区如下:

hdb1为主分区200M

hdb2为扩展分区600M

hdb5为逻辑分区200M

hdb6为逻辑分区200M

hdb7为逻辑分区100M

6)将hdb5格式化为ext3,且名称为logical,block为2048,inode为4096

Mke2fs –j –L “Logical”–b 2048 –i 4096 /dev/hdb5

7)用fsck检查/dev/hdb5,显示进度,指定文件系统为ext3

fsck -A dev/hdb5;badblocks –sv /dev/hdb5

8)新建/mnt/hdb5目录,挂载/dev/hdb5分区

mkdir mnt/hdb5;mount –t ext3 /dev/hdb5 /mnt/hdb5;df

9)将/dev/hdb5重新挂载,并加入ro

mount –o remount,ro /dev/hdb5

10)将/mnt/hdb5卸载

Umount /mnt/hdb5

11)将label为logical的分区挂载到/mnt/hdb5

Mount –t ext3 –L logical /mnt/hdb5

12)将/home目录挂载到/tmp/home上去

Mkdir tmp/home;mount –t bind /homr /tmp/home

13)将/dev/hdb6格式化为swap,并用swapon激活,用free查看,最后关闭/dev/hdb6的swap

mkswap dev/hdb6;swapon /dev/hdb5;swapoff /dev/hdb6

14)用dd建立交换文件,用swapon激活

实验七文件的压缩与打包

上机实验内容:

打开终端后在[root@localhost ~]#后面输入自己名字

1、把操作目录转到/tmp下cd /tmp

复制/ect目录下的/passwd文件到当前工作目录cp

/etc/passwd .

使用compress对其进压缩compress passwd

如果提示有问题,找出问题所在由于compress没有在Path 变量中

2、用gzip压缩/tmp中的/passwd文件,并设定压缩等级为1 gzip -1 passwd;zcat passwd.gz

解压缩该文件

gzip -d passwd.gz

用gzip压缩/tmp中的/passwd文件,并设定压缩等级为9 gzip -9 passwd(文件大小明显缩小了)

查看压缩后的文件内容

zcat passwd.gz

解压缩该文件,并定向输出为passwd

gzip -d passwd.gz

gzip -9 -c passwd>passwd.gz

3、用bzip2压缩/tmp中的/passwd文件,并设定压缩等级为1 bzip2 -z -1 passwd

解压缩该文件

bzip2 -d passwd.bz2

用bzip2压缩/tmp中的/passwd文件,并设定压缩等级为9 bzip2 -z -9 passwd

查看压缩后的文件内容

bzcat passwd.bz2

解压缩该文件,并定向输出为passwd

bzip2 -d passwd.bz2

bzip2 -c passwd>passwd.bz2

4、注意:重点在于路径的问题否则会出错

把/etc内的文件打包之后存储到/tmp下

tar -cvf etc.tar /etc (第一个)

把/etc内的文件打包并且用bzip2的方式压缩,之后存储到/tmp 下

tar -jcvf etc.tar.bz2 /etc (第二个)

把/etc内的文件打包并且用gzip的方式压缩,之后存储到/tmp 下

tar -zcvf etc.tar.gz /etc(第三个)

分别查看压缩后的文件中都包含哪些文件

tar - -ztvf etc.tar.gz; tar –-jtvf /etc.tar.bz2

解压缩第一个压缩文件

tar –-xvf etc.tar

把第二个压缩文件解压缩到/tmp/etc1中

mkdir etc1;

cd /etc1;

tar –-jxvf /tmp/etc.tar.bz2(注意路径的书写)

把第三个压缩文件中的/passwd文件解压缩

tar –-zxvf etc.tar.gz passwd

备份/etc中的所有文件到/tmp中,并且保证权限不变

tar –-zxvpf etc.tar.gz /etc

把/home中比2010.8.15新的文件备份到/tmp下面

tar -N ‘2010/8/15’- -zcvf home.tar.gz /home

把/etc和/root中的数据备份到/tmp下面,但是不备份/root下的install.log文件

tar --exclude /root/install.log –-zcvf myfile.tar.gz /etc /root/*

5、使用dd指令备份硬盘hda的mbr(主引导分区)到/tmp中

dd if=/dev/hda/mbr of=/tmp/mbr.back

使用dd指令备份硬盘分区hda1到/tmp中

dd if=/dev/hda1 of=/tmp/hda1.back

6、综合指令练习:

i)在本机某个普通用户根目录下新建文件夹testdir

mkdir testdir

ii)进入testdir,创建文本文件firstfile,并在其中输入姓名和学号的全拼

cd testdir; touch firstfile vi firstfile;

iii)在testdir中创建文件firstfile的副本

cp firstfile firstfile.two

iv)在testdir中创建文件firstfile的软硬链接文件

软链接:ln –-s firstfile firstfile-so

硬链接:ln firstfile firstfile-h

v)进入testdir,将目录/home中所有在2010年10月1日后修改过的文件打包为mytar.tar.gz

Cd testdir

tar –-N ‘2010/10/1’–-zcvf mytar.home.gz /home

vi)将目录testdir打包并压缩为testdir(不加.tar.gz

或.tar.bz2的后缀),观察是否能创建成功,若创建成功,将其重命名为testdir.tar.gz或testdir.tar.bz2

tar –-zcvf testtar testdir

tar –-jcvf /tmp/testtar /testdir(均能压缩成功,但是压缩后的大小不同)

mv testtar testtar.tar.gz

vii)进入目录/tmp中,并在其中创建子目录tdir

cd /tmp

mkdir tdir

viii)将刚才创建的压缩包复制到当前目录的子目录tdir中

cp testtar.tar.gz tdir

ix)在/tmp目录中解压该压缩包,观察解压后的目录出现在何处

tar –-xvf testtar.tar.gz

x)使用选项-C将该压缩包解压到指定目录中,观察解压后的目录出现在何处

tar - -xvf testtar -C /tdir(解压到了当前目录下而非指定的目录下)

xi)将testdir再次压缩为testdir2.tar.gz,此次使用p和P

选项

tar –-zcvpf testdir2.tar.gz ~/testdir

tar –-cvPf testdir2.tar.gz ~/testdir

xii)将testdir2.tar.gz复制到/tmp/tdir中

cp testdir2.tar.gz /tmp/tdir

xiii)将普通用户根目录下的testdir目录删除,接着将第viii 步解压出的testdir目录也删除

rm -r ~/testdir

rm testdir

xiv)将压缩包testdir2.tar.gz解压,完成后在普通用户根目录和/tmp目录中搜索testdir目录的位置,观察其结果与第viii步的不同。

tar –-zxvf testdir2.tar.gz

find ~ testdir (/home/zqq【用户名】下搜索文件)

find . testdir(/etc下搜索文件)

实验八 vi文本编辑器

上机实验内容:

打开终端后在[root@localhost ~]#后面输入自己名字

练习一:

1. 请在 /root 这个目录下建立一个名为 vitest 的目录;

mkdir vitest

2. 进入 vitest 这个目录当中;cd vitest

3. 将 /etc/man.config 拷贝到本目录底下;cp

/etc/man.config . ; ll

4. 使用 vi 开启本目录下的 man.config 这个档案;vi man.config

5. 在 vi 中设定一下行号;:set nu

6. 移动到第62 行,向右移动 40 个字元?62G 40

7. 移动到第一行,并且向下搜寻一下『 teTeX 』这个字串?1G /teTeX

8. 接着下来,我要将 50 到 100 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改?:50,100s/man/MAN/gc

9. 修改完之后,突然反悔了,要全部复原?u 或 :e!

10. 我要复制 51 到 60 行这十行的内容,并且贴到最后一行之后;51G 10yy G p

11. 删除 11 到 30 行之间的 20 行;11G 20dd

12. 将这个档案另存成一个 man.test.config 的档名;:w man.test.config

13. 去到第 29 行,并且删除 15 个字符;(29G 之后, 15x 即可删除 15 个字符29G 15x

14. 储存后离开吧!:wq

练习二:

1.把操作目录转到/tmp cd /tmp

2.使用vim同时新建并编辑两个文件t1,t2 vim

t1 :sp t2

3.在两个文件中分别输入并保存文本内容\

[Ctrl]+wj :wq

4.把t1的第一行复制粘贴到t2的第二行yy [Ctrl]+wj p

5.保存t2 :wq

6.显示当前打开的所有文件编号\ :files

7.退出vim 编辑界面:wq

练习三:

1.使用vim打开刚才创建的两个文件t1,t2 vim t1 :sp t2

2.将上面窗口第一行的文本内容复制到下面窗口的第二行

yy [Ctrl]+wj p

3.删除上面窗口光标所在行Ctrl +wk dd

4.显示当前打开的所有文件编号:files

6.撤消刚才的复制、删除操作u

7.恢复刚才的复制、删除操作u

8.保存该修改:w

9.先退出下面的窗口,再退出上面的窗口:wq

实验九变量的设置

练习一:

1. 定义一个变量color,然后为此变量赋值:royal purple color=”royal purple”或

color=royal\ purple或

color=’royal purple’

2. 查看变量赋值是否成功echo $color

3. 取消该变量的设置unset color

练习二:

1.定义三个变量color1、color2、color3,分别赋值为royal

purple(采用三种不同的赋值方式)

color1=royal\ purple

color2=”royal purple”

color3=’royal purple’

2.查看三个变量是否赋值成功

echo $color1; echo $color1;echo $color1;

3.利用变量color1定义变量color4和color5,color4的内

容为royal purple is my favorite, color5的内容为royal

purple is my love (color4和color5使用不同的方法实

现,每次实现后都查看变量color4、color5设置是否成功)color4=”$color1 is my favourite”; echo $color4;

color4=”$color1”\ is\ my\ favourite; echo $color4;

color4=${color1}\ is\ my\ favourite; echo $color4;

color4=”${color1} is my favourite”;

color4=’$color1 is my favourite’; echo $color4; (不成功的)

color5=”$color1 is my love ”; echo$color5;

color5=”$color1”\ is\ my\ love; echo$color5;

color5=${color1} is my love ; echo$color5;

color5=”${color1} is my love”;

color5=’$color1 is my love’; echo $color5; (不成功的)

4.为变量color1增加内容,blue,red,black(使用三种方法实

现,在每次增加后变量内容后查看变量color1内容增加是否

成功)

color1=”$color1” ,blue,red,black; echo $color1

color1=${color1},blue,red,black; echo $color1

color1=”$color1,blue,red,black”;

color1=$color1,blue,red,black; echo $color1(不成功的)

5.为变量color2增加内容hehe(使用两种方法实现,在每次

增加后变量内容后查看变量color2内容增加是否成功)color2=”$color2”hehe; echo color2

color2=${color2}hehe; echo color2

color2=”$color2hehe”; (不成功的)

color2=”$color2,hehe”;(成功)

6.为变量PATH增加内容:/home/user/bin(使用三种方法实现,

在每次增加后变量内容后查看变量PATH内容增加是否成功)PATH=”$PATH”:/home/usr/bin;echo $PATH

PATH=${PATH}:/home/usr/bin; echo $PATH

PATH=”$PATh:/home/usr/bin”; echo $PATH

7.为变量PATH增加内容haha(使用两种方法实现,在每次增加

后变量内容后查看变量PATH内容增加是否成功)

PATH=”$PATH”haha;echo $PATH

PATH=${PATH}haha; echo $PATH

PATH=“$PATHhaha”(不成功的)

8.分析为什么第4和第6步可以有三种方法实现,而第5和第

7步只有两种方法可以实现;把当前操作目录转到/tmp下,

利用vi新建文件t1,把分析原因记录其中,最后保存离开vi.

(提示:由第4、5、6、7步可以看出,这和变量的类型无关,主要是是看新增加的变量的内容是什么,不清楚的看书上第206页范例四)

练习三:

1.查询当前shell中包含的环境变量env

2.查询当前shell中的所有变量set

3.查看当前命令提示符变量的内容

echo $PS1

4.把命令提示符修改成格式

(其中3.1为bash的版本信息)PS1=”[\u@\h ~ \t

\v #\#]\$”

5.验证一下执行命令记录的数字是否在改变

执行一个命令试一试

6.通过回传码变量查看前一个命令执行的是否正确

echo $SHELL

echo $?

练习四:

1.查看linux支持的所有语系locale

2.查看bash中关于语系设置的所有变量locale -a

3.查看当前系统语系设置的文件

vi /etc/sysconfig/i18n(这里是一不是L)

4.利用变量赋值的方式把主语系更改为zh_TW

LANG=zh_TW

实验十 Bash Shell相关指令练习

练习一:

1)登录root用户至其主目录;(如果已经登录可省略此步)

2)打开终端后在[root@localhost ~]#后面输入自己名字

3)查看已经设置的指令别名alias

4)为history设定指令别名h alias h=’

history’

5)查看本次登陆前执行过的命令cat

~/.bash_history

6)查看本次登陆前和此次登陆后执行过的命令

history或者h

7)将本次登陆后的历史记忆写入到~/.bash_history中history –w(或者h -w);cat ~/bash_history

8)执行命令历史记录中的第1个命令!1

9)执行命令历史记录中的最后一个命令

history 1

10)取消history的指令别名unalias h

11)执行最近一个以a开头的命令!a

练习二:

12)更改系统配置文件,使在命令行模式下登陆的界面如下

所示

cat /etc/issue

vi /etc/issue(在编辑器中添加换行\l ,换行\d 换行\s)

cat /etc/issue

vi /etc/motd(在编辑器中添加“welcome to the world of Linux!”) ctrl+Alt+F1(长时间按)登陆后 exit 在登陆就可以出现了

练习三:

13)为clear设定指令别名cls alias cls=’clear’

14)查看设定是否成功alais

15)通过修改个人设置文件~/.bashrc,为当前用户增加一

个指令别名的设置(设置history的指令别名为h)

vi ~/.bashrc(在编辑器中写入alias h=’history’)

16)不重启系统,使刚才设置的指令别名生效

source ~/.bashrc

或者 . ~/.bashrc

17)查看设置是否成功alias

18)注销系统重新登陆

19)查看当前系统具有的指令别名(注意刚才设置了两个指

令别名,看现在哪个还在)

alias

cat ~/.bashrc

h还在而cls不在了

练习四:

20)把/etc下面以pass开头的文件的详细信息列出

ls /etc/pass*

21)把/etc下面文件名中包含数字的文件的详细信息列出

来ls /etc/ *[0-9]*

练习五:

22)把当前操作目录转到/tmp下cd /tmp

23)列出当前操作目录下的所有文件,并把执行结果定向输

出到文件t中

ll ;touch t;ls –l >t

24)查看文件t cat t

25)列出根目录下的所有文件,并把执行结果定向输出到文

件t中ls –l / >t

26)查看文件t cat t

27)查看/etc下面的passwd文件,并把执行结果定向输入

到文件t当中,并且不覆盖原来文件t中的内容ls

-l /etc/ls passwd >>/tmp/t

28)同时查看/etc下面的文件passwd和/tmp下面的文件

qq,把标准输出定向到文件a中,把标准错误输出定向到

文件b中

Ls -l /etc/passwd;/tmp/qq

Cat etc/passwd >a qq2>b

29)同时查看/etc下面的文件passwd和/tmp下面的文件

qq,把标准输出和标准错误输出一起定向输出到文件c中

ls -l /etc/passwd; qq

Cat etc/passwd 1>>c qq2>>c

30)同时查看/etc下面的文件passwd和/tmp下面的文件

qq,把标准输出定向输出到文件d中,把标准错误输出忽

略掉

ls -l /etc/passwd; qq

Cat etc/passwd 1>>d qq>>/dev/null

31)利用输入重定向给当前登陆的用户发一封邮件

vi /home/usr/test

cat /home/usr/test

mail –s “邮件主题” root@localhost

32)并查看邮件是否发送成功 mail

练习六:

33)如果在/tmp目录下存在文件mm,则显示文件mm的详细

信息,如果文件mm不存在,则创建文件mm

cat /tmp/nm||touch /tmp /nm

34)取出PATH路径中的第2和第3个路径

echo $PATH|cut –d ‘:’–f 2,3

35)取出/etc下的文件passwd的第5到10个字符之间的

内容

cut –c 5-10 /etc/passwd

36)将passwd中不含有root的行取出来

grep -v ‘root’ /etc/passwd

37)将passwd中含有root的行取出来,并且把第一栏取出cat /etc/passwd|grep ‘root’|cut –d ‘’–f1

38)将/etc/passwd文件用“:”分隔开,并以第4栏来进

行排序

sort -t ‘:’ -k 4 /etc/passwd

39)统计/etc/passwd中有多少行、字数和字符

wc /etc/passwd

40)查看家目录下的文件有哪些,并且把输出数据存到文件

ee当中,同时并把结果输出到屏幕上

touch ee|ll |tee ee|more

41)将/etc/passwd中的root删除

cat /etc/passwd|tr –d ‘root’

42)把/etc/passwd文件和/etc/group文件以GID为标准整

合到一起

ls /etc/passwd ;ls /etc/group

join -t ‘ :’ -1 4 /etc/passwd -2 3 /etc/group

43)把/etc/passwd文件和/etc/shadow同行连接到一起paste /etc/passwd /etc/shadow

44)把/etc/termcap文件分成200k一个的文件

split -b 200k /etc/termcap termcap

ls -l termcap*

45)并将分隔成的四个文件合并成一个文件

cat termcap*>>termcapback

46)将所有/etc/passwd内的账号都以finger查看,而且

一次仅查看3个(参数代换)

cut -d ‘ :’ -f 1

实验十一正则表达式(一)

练习一:正则表达式

47)把song.txt文件放入到linux系统中/tmp目录中

vi song.txt(将song.txt中的内容拷贝过来)

LINUX操作系统实验报告

中国地质大学江城学院 LINUX操作系统实验报告 姓名 班级学号 指导教师冯春华 2012 年月日

实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替 换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/named.conf”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1、 2、 3、 4、 5、

实验二文件和目录操作命令 实验目的: 1、掌握LINUX下文件和目录的操作命令,如pwd、cd、ls、touch、mkdir、rmdir、cp、 mv、rm等。 2、掌握LINUX下建立链接文件的方法。 实验内容: 1、使用命令切换到/etc目录,并显示当前工作目录路径。 2、使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件。 3、使用命令创建空文件/root/ab,并将该文件的时间记录更改为8月8日8点8分。 4、使用命令创建具有默认权限为744的目录/root/ak,然后将/etc/named.conf文件复制到该目录中,最后将该目录及其目录下的文件一起删除。 5、统计文件/etc/named.conf的行数、字符数和单词数。 6、使用命令创建/root/a文件的硬链接文件/root/b和软链接文件/root/c。 实验步骤及结果:

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);

Linux操作系统实验教程

Linux操作系统实验教程 第1章Linux系统概述 一、Linux系统结构 从操作系统的角度来分析Linux,它的体系结构总体上属于层次结构如下图所示: 从内到外包括三层:最内层是系统核心,中间是Shell、编译编辑实用程序、库函数等,最外层是用户程序,包括许多应用软件。 从操作系统的功能角度来看,它的核心有五大部分组成:进程管理、存储管理、文件管理、设备管理、网络管理。各子系统实现其主要功能,同时相互之间是合作、依赖的关系。进程会管理是操作系统最核心的内容,它控制了整个系统的进程调度和进程之间的通信,是整个系统合理高效运行的关键; 存储管理为其他子系统提供内存管理支持,同时其他子系统又为内存管理提供了实现支持,例如要通过文件管理和设备管理实现虚拟存储器和内外存的统一管理。 二、配置一个双引导系统 如果计算机中已经安装了其他操作系统,并想创建一个引导系统以便兼用Red Hat Linux和另外的操作系统,需要使用双引导。机器启动时,可以选择其中之一,但不能同时使用两者。每个操作系统都从自己的硬盘驱动器或硬盘分区中引导,并使用自己的硬盘驱动器或硬盘分区。 如果计算机上还没有安装任何操作系统,可以使用专门的分区及格式化软件给Windows创建指定大小的分区,Windows的文件系统为FAT,再为Linux系统创建所需要大小的分区(4G或更大),另外再给Linux留100MB 左右的交换分区,Linux的文件系统为ext2。然后就可以安装系统了。应首先安装Windows,然后再安装Red Hat Linux。如果只进行了分区而没有格式化各分区,在安装时可以使用Windows自带的格式化程序和Linux自带的格式化程序进行各自分区的格式化。 当Windows已经被安装,而且已为Linux准备了足够的磁盘空间,就可以安装Linux了。Red Hat Linux安装程序通常会检测到Windows并自动配置引导程序来引导Windows或Red Hat Linux。

实验二 Tutorial 2 Linux 基本命令操作2

Tutorial 2 Linux 基本命令操作2 1 实验简介 虽然目前linux 图像界面的使用已相当的方便,但是有些操作还是在字符界面下使用比较灵活。除此之外,使用字符界面登陆linux 系统,系统资源的消耗也比较少,从而可以提高系统性能。 本次实验内容主要包括:linxu 下文件和目录操作命令的使用方法。 2 实验目的 (1)掌握远程登录Linux 系统的软件putty 的基本用法。 (2)掌握文件和目录的区别 (3)熟悉文件和目录的相关操作:建立、复制、移动、删除、重命名、查找、统计等 (4)掌握输入、输出重定向的用法 (5)掌握find 的常见查找模式 (6)理解文件的类型及查看 3 实验准备 (1)了解远程登录的概念,以及远程登录软件putty。 (2)了解linux 命令行的基本概念,掌握通配符的使用方法。 (3)了解绝对路径和相对路径的概念及表达方法。 4 远程登录软件putty的基本用法实验步骤 基本做法同实验1. 5 Linux 文件和目录操作命令 说明:在下面的文档中的$为系统提示符。 (1) 使用cd 和pwd 命令,掌握相对路径和绝对路径。 对照右图,假如从目录user3 开始,键完以下命令后,你的位置会在哪里。 请将结果填在横线上。 $pwd /home/user3 $cd .. $pwd $cd.. $cd usr $pwd $cd /usr $pwd $cd.. /tmp $pwd $cd.

$pwd (2)检查当前的子目录pwd。 $ pwd (3) 在你的注册目录下创建(mkdir)子目录:dir1、dir2。 $ mkdir dir1 dir2 (4) 在你的主目录中创建一个叫junk 的目录。将这个目录变为工作目录,应当使用什么命令?这个新目录的绝对路径名是什么? (5) 在主目录创建以下目录,要求只能用一个命令行: junk/dira/dirl junk/dira junk/dira/dir2 junk/dira/dirl/dirc 你碰到什么问题了吗?如果碰到问题,在重试之前,将刚才创建的所有目录删除,这个删除应该使用哪一个命令?mkdir –p junk/dira/dir1/dirc junk/dira/dir2 (-p创建父目录) (6) 在主目录仅使用rmdir 命令,删除在junk 目录下的所有子目录。仅用一个rmdir 命令如何实现这一操作? rmdir {junk/dira/dir2,junk/dira/dir1/dirc,junk/dira/dir1,junk/dira} (7) 使用“touch 文件名”方法在你的注册目录下建立文件file1 和file2 $touch file1 file2 (8) 将file1 file2 复制到dir1 中,并察看注册目录与dir1 目录下有何变化? $ cp file1 file2 dir1 (9) 将文件file1,file2 从注册目录移动至dir2 中,再察看注册目录与dir2目录有何变化? $mv file1 file2 dir2 (10) 将dir2 中的文件file1 改名为myfile1 $ mv /dir2/file1 /dir2/myfile1 (11) 请使用绝对路径删除文件myfile1 $ rm /root/dir2/myfile1 (12)分屏显示/bin 目录下文件的详细信息。 $cd /bin $list –l | more (13)回到根目录,利用cp 命令复制系统文件/etc/profile 到当前目录下。 $ cd ~ $ cp /etc/profile . (14)复制文件profile 到一个新文件profile.bak,作为备份。 (15)用less 命令分屏查看文件profile 的内容,注意练习less 命令的各个子命令,如b、空格键、q 、/字符串(查找)等,并对then 关键字查找。 (16)用grep 命令在profile 文件中对关键字then 进行查询。 (17) 在家目录下创建目录test,并复制/etc 目录下的最后四个字符为.ini的文件到test 目录下。 (18)使用gzip 命令对test 下的文件进行压缩。 (19)使用tar 命令对test 下的文件打包。 (20)把用tar 命令打包的文件解包,并用gzip 命令对文件进行解压缩。 (21)利用tar 命令把test 中的文件压缩打包。 (22) 在/var/lib 目录下查找所有文件其所有者是games 用户的文件。

Linux实验三

实验三LINUX 及其使用环境() LINUX 常用命令简介——进程操作 实验目的 1.了解Linux 的文件命令及使用格式。 2.熟悉Linux 的常用基本命令——进程操作。 实验内容 熟悉Linux 的进程操作命令。 实验预备 预习附录一《LINUX 简介》。 实验指导 1. 查看系统当前的进程 命令格式:ps [-aux] 例: ps 或ps –x //查看系统中属于自己的进程 ps –au //查看系统中所有使用者的进程 ps –aux //查看系统中包含系统内部及所有使用者的进程 ps –aux|grep apache //找出系统中运行的所有名称中带有“apache ”串 的进程 课程名称 算法分析与设计 实验成绩 指导教师 杨志武 实 验 报 告 院系 信息工程学院 班级 软件测试 学号 1601120035 姓名 申文聪 日期

命令格式: jobs 3.结束或终止进程 命令格式:kill [-9] PID //PID为利用ps命令所查处的进程的ID 例:kill 456 或 kill -9 456 //终止进程ID为456的进程 3.在后台(background)执行process command的命令 命令格式:command & //在命令后加上&, 例: gcc file1 & //在后台编译file1.c 注意:按下∧Z,暂停正在执行的进程。键入“bg”,将所暂停的进程置入background

继续执行。 例: gcc file1 & ∧Z stopped bg 5.结束或终止在background中的进程 命令格式: kill %n 例: kill %1 //终止在background中的第一个job Kill %2 //终止在background中的第二个job 6.显示系统中程序的执行状态 例: top –q //不断更新、显示系统程序的执行状态 第一行显示的项目依次为:当前时间、系统启动时间、当前系统登录用户数目、 平均负载。 第二行显示进程的情况,依次为:进程总数、休眠进程数、运行进程数、僵死进 程数、终止进程数。 第三行为CPU状态,依次为:用户占用、系统占用、有限进程占用、闲置进程占 用。 第四行为内存状态,依次为:平均可用内存、已用内存、空闲内存、共享内存、 缓存使用内存。

Linux实验项目四--shell编程

实验项目四shell编程 一、实验目的 (1)了解shell的作用和主要分类; (2)掌握bash的建立和执行方式; (3)掌握bash的基本语法; (4)学会编写shell脚本。 二、实验内容 (1)shell脚本的建立和执行; (2)历史命令和别名定义; (3)shell变量和位置参数、环境变量; (4)bash的特殊字符; (5)一般控制结构; (6)算术运算及bash函数。 三.实验软件 VMWare Workstation 5.0; Red hat linux 9.0; 四.实验主要步骤 1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。 2、运行history命令,配置历史命令环境。 3、体会bash的命令补齐功能。 4、用alias定义别名,然后执行。 5、编辑如下脚本进行执行: 6、编写一个shell脚本,求斐波那契数列的前10项及总和。 7、设计一个程序cuts,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。例如: $cuts 11 14 tis is a test of cuts program (输入) tst(显示结果

五.实验结果 1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。 2、运行history命令,配置历史命令环境。 3、体会bash的命令补齐功能。 双击tab键,能列出所有符合条件的结果,只有唯一结果时单击可补全。 4、用alias定义别 名,然后执行。 5、编辑如下脚本进行执行:

实验二 Linux常用命令的使用(一)

实验二 Linux 常用命令的使用(一) 一、实验目的 1. 掌握Linux 系统开机启动和退出的方法 2. 掌握Linux 系统中获取命令帮助的方法 3. 掌握Linux 系统命令格式 4. 掌握Linux 系统中常用命令的作用和命令中各选项的作用 二、实验环境 安装了Red Hat Linux9.0/Fedora 系统的计算机一台 三、实验内容及步骤 (一)Linux 操作系统的登录和退出 【操作任务1】登录Linux 操作系统 【操作步骤】 (1)在开始---程序---Vmware 菜单中启动虚拟机,在打开的虚拟机界面中选择要启动的操作系统选项卡,点击启动图标。如下图所示。 (2)等待一段时间后,将出现登陆对话框,选择其中一个用户,输入用户名和密码后,即可登陆Linux 操作系统。如下图所示。(如果要登陆root 用户,请选择‖其他…‖,然后输入用户名:root 和相应的密码,点击“登陆”按钮)

输入用户名 root

(3)点击登陆按钮后,即可成功登陆。如下图。(注意,如果以root 超级管理员用户身份登陆,系统会弹出对话框询问,如上图所示,点击“继续”按钮即可) 【操作任务2】退出Linux 操作系统 【操作步骤】 (1)在顶部面板上依次单击―系统→关机‖命令,如下图 (2)在打开的对话框,选择―关机‖或―重新启动‖选项,然后点击―确定‖按钮,即可完成关机或重新启动操作。 如果使用超级管理员root 用户身份登陆,操作系统 会询问“是否真的要以特权用户身份登陆”,这里点击继续按钮,即可以root 身份登陆

【操作任务3】图形界面和字符界面的切换 【操作步骤】 (1)开机使用root用户进入图形界面,请打根目录下的etc文件夹,找到inittab文件, (文件路径:/etc/inittab),双击打开之。 (2)找到该文件中的“id:5:initdefault:”这一行,将该行中的“id:5:initdefault:”行的“5” 修改为“3”,然后按Ctrl+S保存。

linux实验三

淮海工学院计算机工程学院 实验报告书 课程名:《网络操作系统》 题目:软件包管理与进程管理 班级:网络132 学号: 姓名:

一、目的与要求 1、掌握linux软件包管理方法。 2、掌握RPM命令的使用。 3、熟悉图形模式下软件管理工具的使用。 4、掌握常用进程管理的命令。 二、实验内容与题目 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。 8、查看进程名中包含“con”字符串的进程信息 9、后台运行gedit软件后,并把它调入前台,然后杀死它。 10、利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。 11、练习at、pkill、pstree等命令的使用。 12、练习YUM软件工具的使用。 三、实验步骤与源程序 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。 8、查看进程名中包含“con”字符串的进程信息 9、后台运行gedit软件后,并把它调入前台,然后杀死它。 10、利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。 11、练习at、pkill、pstree等命令的使用。 12、练习YUM软件工具的使用。 四、测试数据和实验结果 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。

Linux实验报告(实验四) shell编程实验

实验四 shell编程实验(二) 班级:姓名:学号:上机时间:年月日 任课教师:实验教师:实验成绩: 一、实验目的 综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。 二、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 三、实验内容 1. 编写一个脚本,求斐波那契数列的前10项及总和。 num1=1 num2=1 echo -n “$num1+$num2” sum=2 for((i=1;i<=8;i++)) do tmp=$(expr $num1 + $num2) echo -n “+$tmp” ((num1=num2)) ((num2=tmp)) sum=$(expr $sum + $tmp) done echo “=$sum” 2.编写一个脚本,求一个数的逆序。 echo -n please input num: read num echo -n The num is while [ $num -gt 0 ] do sd=$(($num % 10)) echo -n "$sd" num=$(($num/10)) done echo

3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验) mkdir -m 754 /home/userdata i=1 temp=/home/userdata/user while[ $i -le 5 ] do mkdir -m 754 $temp$i let”i=i+1”# done 4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。 mkdir -m 777 /home/test echo “Input file name:” read FILENAME if [ -f “$FILENAME” ] then cp $FILENAME /home/test ls /home/test cd test rm $FILENAME cd . ls else echo”The FILENAME is not a regular file!” fi 5.编程实现简单计算器。要求用户输入一个表达式并输入结果,程序会判断用户输入的结果是否正确,并给出提示。直到用户输入‘q’时,才退出执行。 参考程序: #!/bin/bash #fileName:first #note:This is the first title #function:input an expretion and the answer, I will tell you right or wrong # You can try it as many times as you like. echo Hello! @_@ echo Welcom to the calculate testing! echo You can input an expretion such as 2*2 or 3+1, and input the answer echo I will tell you whether you are right or wrong. echo You can input 'q' to exit.

Linux操作系统实验指导书

《Linux系统管理与维护》实验指导书 实验一初识Linux操作系统 一实验名称 初识Linux操作系统 二实验目的与要求 掌握Linux的启动、登录与注销。 三实验内容 1.以root用户和普通用户两种不同身份登录Linux,说出其登录后得差异。 2.图形模式下的注销、重启与关机。 3.学会在虚拟机上登录和注销Linux。 四操作步骤与结果分析 五问题与建议

实验二Linux的桌面应用 一实验名称 Linux的桌面应用 二实验目的与要求 熟悉Linux操作系统桌面环境 熟悉Linux文件系统及常用的操作 掌握Linux下使用外部存储设备、网络设备 掌握Linux下安装应用程序 三实验内容 1.查看GNOME提供的“应用程序”、“位置”或者“系统”菜单,运行其中的应用程 序和工具。 2.查看Linux文件目录结构,学会常用的文件目录操作,如复制、粘贴、移动、删 除、更名、创建文档、创建文件夹等。 3.练习在Linux下使用光盘和U盘。 4.学会网络配置,使计算机能够进行网络浏览等操作。 5.学会在Linux下安装新的应用软件。 四操作步骤与结果分析 五问题与建议

实验三Linux操作系统的安装 一实验名称 Linux操作系统的安装 二实验目的与要求 掌握安装Linux操作系统 三实验内容 1.通过学习《项目五Linux操作系统的安装及远程服务》的内容,学会如何安装Linux。 环境:windows 系统、vmware虚拟机、Redhat Linux镜像光盘。 通过安装向导将安装分为两步:1、基本安装,2、配置及具体安装。 在第一阶段重点如何分区,在第二阶段重点掌握如何设置密码及安装桌面环境。四操作步骤与结果分析 五问题与建议

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: ?掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

linux实验三

实验三用户管理 一、实验目的和要求 1) 掌握在Linux系统下利用命令方式实现用户和组的管理; 2) 掌握批量创建用户的方法。 二、实验内容和原理 1.用户的管理 ●创建一个新用户user01,设置其主目录为/home/user01。 ●查看/etc/passwd文件的最后一行,看看是如何记录的。 ●查看文件/etc/shadow文件的最后一行,看看是如何记录的。 ●给用户user01设置密码。 ●再次查看文件/etc/shadow文件的最后一行,看看有什么变化。 ●使用user01用户登录系统,看能否登录成功。 ●锁定用户user01。 ●查看文件/etc/shadow文件的最后一行,看看有什么变化。 ●再次使用user01用户登录系统,看能否登录成功。 ●解除对用户user01的锁定 ●更改用户user01的帐户名为user02。 ●查看/etc/passwd文件的最后一行,看看有什么变化。 ●删除用户user02。 2.组的管理 ●创建一个新组,stuff。 ●查看/etc/group文件的最后一行,看看是如何设置的。 ●创建一个新帐户user02,并把他的主要组和附加组都设为stuff。 ●查看/etc/group文件中的最后一行,看看有什么变化。 ●给组stuff设置组密码。 ●在组stuff中删除用户user02。 ●再次查看/etc/group文件中的最后一行,看看有什么变化。 3.用桌面操作创建用户和组 ●进入X-Window图形界面。 ●打开控制面板,启动用户和组群管理子程序,在打开的界面中练习用户、组 的设置。 4.批量添加用户 a)将07级计算机专业的50名学生,添加到Linux系统中,让他们成为student组的 成员。用户名格式为:s07001-s07030;学生的初始密码为:stu001-stu030,请参考 P125的7个步骤,完成添加并设置用户的操作,记录各步骤的结果和相应的文件 内容。 b)教材P127选择题第7、10题。 三、实验环境 c)硬件:PC机 d)软件:Red Hat Enterprise linux server操作系统、虚拟机 四、算法描述及实验步骤 1. 输入命令’adduser –d /home/user01 –m user01’创建一个新用户user01, 设置其主目录为/home/user01:

实验四同步与互斥Linux实验报告材料

实验四同步与互斥 【实验目的和要求】 1、掌握进程(线程)的同步与互斥。 2、掌握生产者消费者问题的实现方法。 3、掌握多线程编程方法。 【实验容】 实现生产者消费者问题 1、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。 2、仓库中每次只能入一个(生产者或消费者)。 3、仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。 4、当仓库空时,消费者不能从中取出产品。 5、生产、消费速度不同。 【实验原理】 1、信号量mutex提供对缓冲池访问的互斥要求并初始化为1,信号量empty和 full分别用来表示空缓冲项和满缓冲项的个数,信号量empty初始化为n,信号量full初始化为0。 2、定义如下结构及数据: 定义缓冲区的数据类型:typedef int buffer_item; 缓冲区:buffer_item buffer[BUFFER_SIZE];

对缓冲区操作的变量:int in,out; 信号量mutex提供了对缓冲池访问的互斥要求:pthread_mutex_t mutex; 信号量empty和full分别表示空缓冲顶和满缓冲顶的个数:sem_t empty,full; 可以设定生产者的生产速度及消费者的消费速度:int pro_speed,con_speed; 对缓冲区操作的自增函数:#define inc(k) if(k < BUFFER_SIZE) k = k+1;else k=0 3、并定义了如下实现问题的函数模块: 将生产的产品放入缓冲区: int insert_item(buffer_item item) 从缓冲区移走一个产品: int remove_item(buffer_item *item) 生产者进程:void *producer(void *param) 消费者进程:void *consumer(void *param) 生产者结构进程消费者结构进程 【程序代码】 //sx.c #include

Linux操作系统实验二

实验报告 2016 至2017 学年第二学期

1.crontab帮助信息 usage: crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) 2.查看用户的计划任务列表 命令:crontal -l 如图,当前用户为cyril,还没有计划任务。 3.建立计划任务 命令:crontal –e 为当前用户建立计划任务,如果为其他用户建立计划任务需要使用-u参数指定。 执行命令后会打开一个由EDITOR变量指定的编辑器如vim,在其中写好计划任务保存后,终端回显:crontab: installing new crontab 编辑计划任务时,格式为: *****command 分时日月周命令 其中*/5 这样的格式表示“每5(分钟、小时…)”

这里我先写了一个脚本,用来在/tmp目录下创建文件,脚本内容如下: 然后创建计划任务来每隔一分钟运行这个脚本,如下图: 现在再查看一下任务列表:

查看脚本的执行情况: 如图,显示了7个由计划任务调用脚本创建的文件。20170424-16:48.txt 20170424-16:49.txt 20170424-16:50.txt 20170424-16:51.txt

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: 掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

linux实验八报告

T923-1 刘彬20090230139 实验八系统及网络管理 一、实验目的 1.理解系统管理的内涵和作用。 2.学会对用户和组进行一般的管理。 3.掌握文件系统的装载和卸载。 4.学会网络配置的一般方法。 二、实验内容 1.Shell命令方式下为新用户建立帐号和工作组,删除本地用户和组。 2.图形方式下为新用户建立帐号和工作组,删除本地用户和组。 3.手工挂载和卸载文件系统。 4.配置网络。 三、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。 要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 用户要按通常实验要认真书写实验报告。 四、实验主要步骤 (一)Linux的用户管理 1.创建新用户 创建一个用户帐号徐完成以下步骤: ①添加一个记录到etc/passwd文件中。 添加命令为:useradd。 例如,创建新用户user01的命令如下: useradd -c“normal user”-d /home/user01 –g users\ -G student,computer –s /bin/bash user01 -c “normal user”:“normal user”是对该用户的注释。 -d /home/user01:指定用户的工作目录(宿主目录)为/home/user01。 –g users\:定义user01所属的组为users。 -G student,computer:同时将user01归属于student和computer组。 –s/bin/bash:指定用户所启动的shell为/bin/bash。 在Linux中,创建用户后,必须为用户设置密码。 ②设置用户密码。 例如,为user01设置密码的命令如下: passwd user01 为安全起见,密码的设置不要过于简单。 在实际使用中,系统可以根据当前的运行情况自动确定用户的参数。

linux操作系统实验报告

LINUX 操作系统实验报告 姓 名 班级学号 指导教师 2011 年 05月 16 日 实验一 在LINUX 下获取帮助、Shell 实用功能实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX 下获取帮助信息的命令:man 、help 。 3、掌握LINUX 中Shell 的实用功能,命令行自动补全,命令历史记录,命令的排列、替半径标式,为线敷设资料试案;过关运行要避高中资要求电

换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输 Shutdown -h 30 入命令 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的内容,只要在终端输入命令即可。取消更改的名称用命令命令:在命令后输入要取消的名称,再输入名称。 unalias 3.输入命令将文件内容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入内容为word。步骤与输入内容HELLO一样,然后用命令显示文件的全部内容。 4.使用命令ls /etc显示/etc目录下的内容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

linux操作系统实验报告

LINUX操作系统实验报告 姓名 班级学号 指导教师 2011 年 05月 16 日 实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替

换与别名,管道及输入输出重定向。 实验容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,容是hello,然后再使用追加重定向输入容为word。 4、使用管道方式分页显示/var目录下的容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入 命令Shutdown -h 30 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的容,只要在终端输入命令即可。取消更改的名称用命令unalias 命令:在命令后输入要取消的名称,再输入名称。 3.输入命令将文件容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入容为word。步骤与输入容HELLO一样,然后用命令显示文件的全部容。 4.使用命令ls /etc显示/etc目录下的容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

实验一 Linux常用命令

淮海工学院计算工程学院实验报告书 课程名:《Linux程序设计》 题目:实验一Linux常用命令 班级:D软件091、092 学号: 姓名:

实验一Linux常用命令 一、实验目的 1、熟悉VMware Workstation 虚拟机的使用; 2、熟悉Ubuntu操作系统; 3、掌握常用的Linux 命令。 二、实验设备 1、硬件:PC; 2、软件:VMware Workstation 虚拟机和Ubuntu操作系统。 三、实验预习要求 1、关于Ubuntu操作系统的安装和使用; 2、Linux 常用操作命令。 四、实验内容 1、基于虚拟机的Ubuntu操作系统的使用; 2、文件与目录相关命令的使用; 3、压缩备份命令的使用; 4、磁盘管理与维护命令的使用; 5、系统管理与设置命令的使用; 6、网络相关命令的使用。 五、实验步骤 1、基于虚拟机的Linux操作系统的使用 (1)启动Windows以后,选择“开始”—“程序”—“VMware”—“VMware Workstation”,启动VMware Workstation应用程序; (2)选择File—Open选择安装好的Linux虚拟机文件启动Linux操作系统; (3)启动系统后输入用户名和密码,进入X window界面; (4)选择“应用程序”—“附件”—“终端”,进入终端界面; (5)在终端中执行Linux 常用命令。 2、文件与目录相关命令的使用(要求在每一个操作命令后写出命令显示效果) (1)查询/bin目录,看一看有哪些常用的命令文件在该目录下: ll /bin

(2)进入/tmp目录下,新建目录myshare:cd /tmp mkdir myshare ls –ld myshare/

Linux实验报告_大三上

实验三普通文件和目录编程 1.编写程序mycp.c,实现从命令行读入文件的复制功能,用原始文件系统调用。 实验流程图: 判断输入main 函数参数个数 argc argc!=3 no Exit(0) fd1=Open(argv[1],O_RDONLY); fd2=open(argv[2],O_RDWR|O_CREA T); 1 read(fd1,buf,bufsize); write(fd2,buf,i); if(i!=bufsize) break;

实验程序代码: //mycp.c #include #include #include #include #define bufsize 5 int main(int argc,char * argv[]) { int fd1,fd2; int i; char buf[bufsize]; if(argc!=3) { printf("argument error\n"); exit(1); } fd1=open(argv[1],O_RDONL Y); if(fd1==-1) { printf("file %s can not opened\n",argv[1]); exit(1); } fd2=open(argv[2],O_RDWR|O_CREAT); if(fd2==-1) { printf("Can not open file %s\n",argv[2]); exit(1); } while(1) { i=read(fd1,buf,bufsize); write(fd2,buf,i); if(i!=bufsize) break; }

相关文档
最新文档