文档库 最新最全的文档下载
当前位置:文档库 › Red Hat Linux 033 实验(用户基础)

Red Hat Linux 033 实验(用户基础)

Red Hat Linux 033 实验(用户基础)
Red Hat Linux 033 实验(用户基础)

Red Hat Linux 033 实验(用户基础) (2)

试验3文件和目录操作 (2)

试验4 用户信息 (6)

试验6 Linux文件系统的要点 (8)

试验7 bash Shell (11)

试验8 定制图形化界面 (14)

试验9 标准输入输出和管道 (14)

试验10 字符串处理 (17)

试验11 使用正则表达式进行字符处理 (18)

试验12 进程控制 (21)

试验13 用户信息 (22)

Red Hat Linux 033 实验(用户基础)

https://www.wendangku.net/doc/9511589641.html,/technic/Red-Hat-Linux-033-ShiYan-YongHuJiChu-93cq1803.htm

文章摘要: ###请转贴时保留以下内容######

#############################

Red Hat Linux 033 实验部分试验3文件和目录操作估计时间:1小时30分钟目标:熟悉函数、语法和一些基本的文件和目录的

###请转贴时保留以下内容######

Red Hat Linux 033 实验部分

应广大RH爱好者的要求,奉献Red Hat Linux 033 实验翻译

请提出宝贵意见Mail:kissingwolf@https://www.wendangku.net/doc/9511589641.html,

KevinZ(kissingwolf)

2004.3.4

#############################

Red Hat Linux 033 实验部分

试验3文件和目录操作

估计时间:1小时30分钟

目标:熟悉函数、语法和一些基本的文件和目录的控制操作。

练习有效地组合这些命令完成一般的用户任务

试验的起点:安装了Red Hat Linux可运行系统,有一个无特权用户student,密码:student

第一步:目录和文件组织

场景/情节

在您的home目录下有一系列的文件,您决定到时间整理一下了.您计划生成一些新的子目录,然后根据您的计划拷贝和移动这些文件到适当的目录;另外,这些文件不是都有用的,有一些是要删除掉的。

任务:

1.以用户名student密码student在tty1上登陆。

2.在您登陆系统以后,你将进入您的home目录.你可以使用"打印工作目录"检查这一情况

$ pwd

/home/student

3.使用如下每条命令检查您是否还有文件在您的home目录下:

$ ls

$ ls -a

$ ls –al

为什么第一和第二条命令返回不同的文件数?

第三条命令返回的在您当前的home目录下最大的文件是多少?

您的home目录下有子目录吗?

4.您现在使用touch为以后的步骤建立文件。这种扩展在接下来的命令中是如何工作

的在以后的章节中进行讨论。现在,仅仅按照下面的行键入就行了(在集合与集合之间使用包括花括号{}和下划线的字符)

$ touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}

5.使用命令ls检查最后一条命令的结果,你会发现它在您的home目录下生成了108个

新的空文件(您不必数)。这些文件代表了您将使用的在这个步骤中的代表的数据文件。如果您看不到这些文件,向教师寻找帮助,没有这些文件,该试验后面的步骤就无法进行。

6.为了组织您的文件,您必须先建立一些新目录,使用mkdir在您的home目录中直接建立一些子目录:

$ mkdir a_reports

$ mkdir september october november december

再使用ls 检查您的工作。

7.使用如下命令在您的一个新的目录中生成一些附加子目录

$ cd a_reports

为了切换到目录,接下来:

$ mkdir 1 2 3

使用ls检查你的子目录a_reports下的名为1,2,3的三个新的子目录。

8.首先把所有带‖b‖的报告从home目录中移出并且按月份分组,先验证要使用的复杂的通配符模式,是个好方法。这样做以确保它对于正确的文件进行操作。如果你打算使用这种通配符模式,您可以使用一个无害的命令来替换您的命令。

$ cd

$ ls -l *dec?b?

你将看到列出了9个‖december‖,‖b‖文件,把其中的一个移到december目录中:

$ mv graph_dec_b1 december

用下面的语句移动其余的:

$ mv *dec?b? december

列出december目录的内容验证移动操作是否成功:

$ ls -l december

total 0

-rw-rw-r-- 1 student student 0 Sep 18 17:45 graph_dec_b1

-rw-rw-r-- 1 student student 0 Sep 18 17:45 graph_dec_b2

-rw-rw-r-- 1 student student 0 Sep 18 17:45 graph_dec_b3

-rw-rw-r-- 1 student student 0 Sep 18 17:45 memo_dec_b1

-rw-rw-r-- 1 student student 0 Sep 18 17:45 memo_dec_b2

-rw-rw-r-- 1 student student 0 Sep 18 17:45 memo_dec_b3

-rw-rw-r-- 1 student student 0 Sep 18 17:45 report_dec_b1

-rw-rw-r-- 1 student student 0 Sep 18 17:45 report_dec_b2

-rw-rw-r-- 1 student student 0 Sep 18 17:45 report_dec_b3

9.把其余所有带‖b‖的报告分别移动到各自对应的目录中:

$ mv *oct?b? october

$ mv *sep?b? September

10.现在你将把‖a‖报告收集到它们各自对应的目录中。注意使用~代替―你的home 目录‖。通配符和模式的组合指定了您的home目录下所有以_a1结尾的文件。

$ cd a_reports

$ mv ~/*_a1 1/

―september‖‖a1‖文件陈旧并且不再需要,使用echo确定您已经建立了一个只匹配该类文件的模式,然后删除它们,并且检查剩下的‖a1‖文件是否正确移动:

$ cd 1

$ echo *sep*

$ rm *sep*

$ ls

graph_dec_a1 graph_oct_a1 memo_nov_a1 report_dec_a1 report_oct_a1 graph_nov_a1

memo_dec_a1 memo_oct_a1 report_nov_a1

11.最后移动‖a2‖和‖a3‖报告到各自对应的目录中。为了使过程变得有趣,我们将把它们移出当前目录,使用相对和绝对的的路径名。第一步,使用pwd确定当前目录:

$ pwd

/home/student/a_reports/1

用echo检查涉及到‖a2‖文件的模式,然后使用绝对路径名:

$ echo /home/student/*a2*

$ mv /home/student/*a2* /home/student/a_reports/2

即使您当前在/home/student/a_reports/1目录下,也能把文件从/home/student移动到

/home/student/a_reports/2目录中,因为您指定了文件的路径名称(在本例中为绝对路径名称)现在使用相对路径移动―a3‖文件。再一次的,首先确信模式指定的是正确的文件名称。$ echo ../../*a3*

$ mv ../../*a3* ../3

12.返回您的home目录,并且使用ls 来校验仅存在该目录中的文件都是―c‖文件(例如:graph_dec_c1,graph_dec_c2,…)

13.―c1‖和―c2‖报告文件对于每个月来说都非常重要,并且您打算把它们备份到另外一个目录:

$ mkdir /tmp/archive

$ cp report*[12] /tmp/archive/

另外的,所有的对于十二月份的报告文件应该备份到/tmp/archice目录下面。注意,-i选项使得cp程序在覆盖任何文件之前进行提示:

$ cp -i report_dec* /tmp/archive/

cp: overwrite `/tmp/archive/report_dec_c1'? n

cp: overwrite `/tmp/archive/report_dec_c2'? n

14.现在您备份了一些对您重要的―c‖文件,您现在要删除位于您的home目录下面所有的文件。使用通配符―*c*‖检查剩下的含有c的文件。您为什么不想执行命令rm *c* ?

(作为提示:尝试:ls *c*)

15.删除您的home目录下的剩余*c*文件。在发出一个破坏性的命令之前我们再次使用echo 命令。

$ echo *c[1-3]

$ rm *c[1-3]

$ ls

a_reports december november october september

试验的结果

一个组织良好的home目录,文件放置在合理的位置,一些文件备份到了/tmp/archive目录中

第二步:决定磁盘的使用率

场景/情节

您想记录您的系统中的每一个文件系统总共有多少剩余空间。

另外,您想有一个关于哪些目录消耗了系统的多数的空间的列表。

任务

1. 使用df获取文件系统总的剩余空间,您的输出应该是类似于下面的例子(尽管输出

依赖于您的特定的安装,输出可能不同)

$ df

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/hdc2 14129568 1809728 11602096 14% /

/dev/hdc1 49743 8847 38328 19% /boot

none 63312 0 63312 0% /dev/shm

2.注意缺省的命令df操作是以块为单位报告信息,试用-h,-H选项,则是用―用户可读的―形式报告

$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/hdc2 13G 1.8G 11G 14% /

/dev/hdc1 49M 8.7M 37M 19% /boot

none 62M 0 61M 0% /dev/shm

$ df -H

Filesystem Size Used Avail Use% Mounted on

/dev/hdc2 14G 1.9G 11G 14% /

/dev/hdc1 51M 9.1M 39M 19% /boot

none 65M 0 64M 0% /dev/shm

这两个开关有什么不同(使用man df)?

3. 在您的home目录使用du(磁盘使用率)命令来决定您所有的文件消耗的空间。确保尝试-h选项获得更可读的输出。

第三步:检视文本文件

任务

1.我们需要一个可供我们工作的文本文件:

$ cd

$ cp /usr/share/dict/words

.

2.使用cat显示文件:

$ cat words

Aarhus

Aaron

Ababa

…输出省略….

Zulu

Zulus

Zurich

3.在这种情况下cat是一个坏的选择,因为很多输出快速的滚屏,试用less:

$ less words

Aarhus

Aaron

Ababa

…输出省略…

abiding

Abidjan

Abigail

…输出省略…

使用less的时候,您可以向前翻页(使用b),向后翻页(使用空格键)在整个输出中,每次一屏.

4.如果你只需要快速的看看某个文件的最前几行和最后几行,你要使用head或者tail:

$ head words

Aarhus

Aaron

Ababa

aback

abaft

abandon

abandoned

abandoning

abandonment

abandons

$ tail words

zoologically

zoom

zooms

zoos

Zorn

Zoroaster

Zoroastrian

Zulu

Zulus

Zurich

您可以使用man帮助页面发现能使用head和tail中的哪个开关修改行号或是显示的行的相关的位置.

哪个命令你能使用显示文本的前50行?

哪个命令您能使用显示文件从第25,000行到结束的内容?

试验4 用户信息

估计时间:30分钟

目标:熟悉一些用户标识和帐户转换基本的控制操作。

试验的起点:安装了Red Hat Linux可运行系统,并且是成功完成试验系统。有另外一个无特权用户visitor,密码:visitor帐户的存在。请教师检查您的系统中是否已经建立这个帐户。如果这个visitor用户帐户没有建立,按照以下步骤进行

1.用root帐户登陆虚拟控制台。

2.在提示符下键入以下命令

# useradd visitor

3.现在键入

# passwd visitor

Changing password for user visitor.

New password: {输入visitor}

BAD PASSWORD: it is based on a dictionary word

Retype new password: {输入visitor}

passwd: all authentication tokens updated successfully.

第一步:本地用户登陆

任务:

1. 完全从工作站中退出。确定您已经推出所有虚拟终端和X Windows系统

2. 转换到虚拟终端1(tty1)通过按:

3. 使用密码redhat进入root帐号登陆您的工作站

4. 确定指定的登陆信息,使用下列命令:

# whoami

# groups

# id

检查这些命令的输出。

5.获取工作站当前所有登陆者信息,当前,应该只有一个用户登陆系统,按如下顺序键入的命令的输出是很有趣的。

# users

# who

# w

检查这些命令的输出。

6. 转换到虚拟终端2(tty2)通过按

7.以用户student,密码:student登陆你的工作站。

8.获取指定登陆者的信息,运行下列命令:

$ whoami

$ groups

$ id

检查这些命令的输出。

9.获取工作站上当前所有登陆者的信息:

$ users

$ who

$ w

检查这些命令的输出。

10. 转换到虚拟终端3(tty3)通过按

11. 以用户visitor,密码:visitor登陆你的工作站

12. 获取指定登陆者的信息,运行下列命令:

$ whoami

$ groups

$ id

检查这些命令的输出。

13. 获取工作站上当前所有登陆者的信息:

$ users

$ who

$ w

检查这些命令的输出。

步骤2:切换帐户

任务:

1. 按下如下的键切换到虚拟终端3(tty3)

2. 运行id命令来决定您的用户信息,pwd来喜爱能使您目前的工作目录

$ id

$ pwd

记录结果:

id=__________________________________________

pwd=_________________________________________

3. 使用su –来切换到root用户,运行id和pwd来获取您的当前的目录

$ su –

# id

# pwd

记录结果:

id=__________________________________________

pwd=_________________________________________

4. 从root帐户退出,返回到visitor帐户

# exit

5. 使用不含- 的su切换到root用户,运行pwd和id。

$ su

# id

# pwd

记录结果:

id=__________________________________________

pwd=_________________________________________

为什么和第3步骤的结果不同呢?

6.登出所有您在这个步骤中本地的和远程的shell。

试验6 Linux文件系统的要点

估计时间:90分钟

目标:深入了解linux文件系统知识,包括:创建和使用links,使用slocate和find,归档压缩文件。

试验的起点:一个Red Hat Linux系统。

第一步:创建和使用links

任务:

1.在早些时候的试验,你已经拷贝了一个文件/usr/share/dict/words到你使用的用户student的主目录~/words.在这个案例里,你不需要编辑文件-拷贝一个文件到你的主目录就可以在试验的期间使用了。

2.为了要避免原始文件和副本之间的混乱。在student‘s主目录中删除words的副本

$ cd

$ rm words

3.虽然你可能没有在那时了解它, 这个文件/usr/share/dict/words 的副本实际上是一个软link。列出内容下面目录/usr/share/dict的内容查看link和它的参数。

$ ls –l /usr/share/dict

total 404

-rw-r—r-- 1 root root 409305 Apr 3 10:29 linux.words

lrwxrwxrwx 1 root root 11 Apr 20 17:33 words ->linux.words

a.你能告诉我words是一个软链接吗?

b.为什么words的文件大小是11?

c.words允许所有人访问。这和linux.words文件用什么冲突?除了root用户,其他用户能够能在linux.words上面写数据吗?

4.再一次列出文件,这次显示相应的indeds号。为什么两个文件会有相同或不同的inodes 号?

$ ls –I /usr/share/dict

5. 现在在你的主目录中产生两个的代号和硬链接到/usr/share/dict/linux.words:

$ ln –s /usr/share/dict/linux.words soft

$ ln /usr/share/dict/linux.words hard

6. 测试一下,你新建的链接两者都指到linux.words 文件:

$ head hard soft

7. 检查你所有文件的link , 然后在下面回答问题:

$ ls –il hard soft

$ stat had soft

报告文件大小,hard_______和soft_______.

被占用的真实的空间,hard_______和soft_______.

你怎样解释这两个link占用空间的差别。

列出链接的记数,hard_______和soft_______.

所有权,hard_______和soft_______.

文件硬链接的所有者和root用户可以完全访问,其他用户是只读权限。学生将会可以删除这个新的文件吗?为什么?

8. 更多的挑战:如果时间许可,探究一下下面的问题:

a.你能创建一个目标文件并不存在的软连接吗?看看ls命令的输出能否给你一些提示。

b.你能创建一个目标文件并不存在的软连接吗? 为什么?

c.你能创建一个软连接的硬连接吗? 当你尝试的时候有什么问题吗?

d.在创建了几个硬连接后,你能说出哪个是更加真实的文件吗?

步骤2:使用find命令

任务:

作为student登录。设计完成find命令提出结果

查看你当前的umask。设计并且运行find命令在每下列各项被描述的结果指令里。然后写下提供的空格里。

你可能需要在在find的man page里查许找。记得你能用/stringz man page里查找。

第一个答案已经为你列出。

1.在/var/lib目录下查找所有文件其所有者是games用户的文件

$ find /var/lib –user games 2> /dev/null

2.在/var目录下查找所有文件其所有者是root用户的文件。

_________________________________________________________

3.查找所有文件其所有者不是root,bin和student用户并用长格式显示(如ls –l 的显示结果)。_________________________________________________________

4.查找/usr/bin目录下所有大小超过一百万byte的文件并用长格式显示(如ls –l 的显示结果)。

_________________________________________________________

5.对/etc/mail目录下的所有文件使用file命令.

_________________________________________________________

6.查找/tmp目录下属于student的所有普通文件,这些文件的修改时间为120分钟以前,查询结果用长格式显示(如ls –l 的显示结果)。

_________________________________________________________

7. 对于查到的上述文件,用-ok选项删除。

_________________________________________________________

步骤3:归档和压缩

情景/故事:

你的系统上的主硬盘在你使用它的时候有可怕的噪音,但是它上面有有价值的数据。自从系统在两年半以前备份过,你有决定手动备份少数几个你最紧要的文件。那/ tmp 目录里储存在不同的硬盘的分区上快怀的分区,这样你想临时的把文件备份到那里。

任务:

1. 在/home目录里,用find命令定位文件所有者是student的文件。然后将其压缩。

$ find /home –user student –exec tar rvf /tmp/backup.tar {} \;

2. 保存/etc目录下的文件到/tmp目录下:

$ tar cvf /tmp/confbackup.tar /etc

3. 列出两个文件的大小

$ ls –lh /tmp/*.tar

-rw-rw-r-- 1 student student 1.9M Oct 17 23:06 /tmp/backup.tar

-rw-rw-r-- 1 student student 5.4M Oct 18 00:27 /tmp/confbackup.tar

backup.tar文件的大小________

confbackup.tar文件的大小________

4. 使用gzip压缩你的文档。然后报告文件的大小:

$ cd /tmp

$ gzip –v *.tar

$ ls –lh *tar*

-rw-rw-r-- 1 student student 580K Oct 17 23:06 backup.tar.gz

-rw-rw-r-- 1 student student 913K Oct 18 0:27 confbackup.tar.gz

backup.tar.gz文件大小为____________

backup.tar.gz文件的压缩百分比________

confbackup.tar.gz文件大小为____________

confbackup.tar.gz文件的压缩百分比________

5. 先解压缩bzip2文件然后在压缩,然后比较新文件的大小:

$ gunzip *.gz

$ ls –lh *tar

-rw-rw-r—1 1 student student 1.9M Oct 17 23:06 backup.tar

-rw-rw-r—1 1 student student 5.4M Oct 18 00:27 confbackup.tar

$ bzip2 –v *tar

$ ls –lh *tar

-rw-rw-r—1 1 student student 510K Oct 17 23:06 backup.tar.bz2

-rw-rw-r—1 1 student student 791K Oct 18 00:27 confbackup.tar.bz2

backup.tar.bz2文件大小为____________

backup.tar.bz2文件的压缩百分比________

confbackup.tar.bz2文件大小为____________

confbackup.tar.bz2文件的压缩百分比________

6. 在传统UNIX系统,

$ rm confbackup.tar.bz2

$ tar czf test1.tgz /etc

$ tar cjf test2.tbz /etc

$ file test*

test1.tgz:gzip compressed data,deflated,last modified:Wed Oct 18 01:52:11 2000,os:Unix test2.tbz:bzip2 compressed data,block size = 900K

结果:

你的―重要数据‖被压缩备份到/tmp目录里了。

问题答案2

2. find /var –user root –group mail 2>/dev/mull

3. find / -not –user root –not –user bin –not –user student –ls 2> /dev/null

or

find / ! –user root ! –user bin ! –user student –exec ls –ld {} \; 2> /dev/null

4. find /usr/bin –size +1000000c –ls 2> /dev/null

5. find /etc/maill –exec file {} \; 2 > /dev/null

6. find /tmp –user student –and –mmin +120 –and –type f –ls 2> /dev/null

7. find /tmp –user student –and –mmin +120 –and –type f –ok rm {} \;

(end)

试验7 bash Shell

估计时间:45分钟

目标:深入了解bash shell,包括创建定制。

试验的起点:一个Red Hat Linux系统。

第一步:使用Aliases

任务:

1.你决定创建一个alias,

当你使用cls的时候,系统能够运行clear命令清除你的屏幕。使用student身份在tty1登录,然后输入下列命令.

$ alias cls=?clear‘

$ alias

$ cls

2.当你重新登录的时候这个别名就丢失了。确信新的别名在用户student每次登录的时候都能够使用,可以执行一下几步。

$ cd

$ vi .bashrc

查找包含下列的文字:#User specific aliases and functions 添加到你的别名命令行:

alias cls=‘clear‘

保存并推出。

3.测试你的改变当你注销的时候,重新登录到tty1上的时候,试下面的命令:

$ alias

$ cls

4.现在使用ls 的man page 去创建一个叫lr的别名,利用ls的五个开关。测试并添加你的别名到.bashrc中.这个别名能够:

a)用长格式显示文件

b)显示隐含文件

c)给文件分类

d)用相反的顺序显示文件

e)按文件修改时间显示文件。

目标:

一条新的清屏命令和一条新的列文件命令。(都是别名)

步骤2:改变你的bash提示

情景/故事:

你决定定制你的bash提示以能够显示完全的路径和命令的序列号。

任务:

5. 在终端窗口,显示当前主要提示符的值。

$ echo $PS1

6. 改变你的提示符为一个字符串。

$ PS1=‘Red Hat Linux ->‘

7. 这个不常使用,因此恢复到有$提示符的情况下,同时加上主机名。

$ PS1=‘\h $‘

8. 在主机名和$符号之间插入bash表示历史纪录提示符的特殊字符\!。

9. 查找bash 的man 手册,把当前的工作目录放入提示符中。

10. 你定制的提示符显示实例,如不同请继续修改。

station1:~ 21 $ cd /tmp

station1:/tmp 22 $

11. 编辑你重新定义的PS1 到你的.bashrc,然后打开新的终端窗口看看结果如何.

步骤3:配置shell选项

情景/故事:

使用set和shopt你定制几个bash shell 。

任务:

12.以student身份登录tty1界面上.查看许多普遍的配置shell选项:

$ set –o

allexport off

braceexpand on

emacs on

errexit off

hashall on

… output truncated …

13.察看目前ignoreeof的属性,用ctrl+d 键看是否能logout.

14.用student身份在tty1上登录,执行下面的改变,然后测试ignoreeof选项:

$ set –o ignoreeof

$

$ 用―logout‖ 退出shell

$ set +o ignoreeof

$

15.当试图执行命令的时候可以看到提示信息.使用type的命令:

$ type cat

cat is hashed (/bin/cat)

$ type cls

cls is aliased to ?clear‘

$ type set

shopt is a shell builtin

$ type while

while is a shell keyword

结果:

现在你有一个更好的shell options.

问题答案4:命令替代

1. 确定完全路径名

$ which metacity

$ which .-message

$ ^message^window-demo

2. 重复执行上一个包含字符串ig的命令:

$ ig

3. 当一个命令在另一个命令的后面用(? ?)起来的时候,bash会先执行后面的命令并把执行的结果作为第一个命令的输入. 使用这个技术,看看下面命令的执行结果.

$ ls –l ?which nautilus?

(end)

试验8 定制图形化界面

估计时间:15分钟

目标:探索Red hat liunx多种多样的图形化桌面环境..

试验的起点:一个Red Hat Linux系统。

第一步:定制窗口管理

任务:

1.在你的桌面的左边点击Red Hat图标,选择‖属性‖然后点击‖控制中心‖.Nautilus 将打开显示的可以定制你的桌面环境的窗口.

2.双击‖背景‖图标.点击‖选择图片‖按钮,可用的图片在/usr/share/backgrounds 下,有一些图片作为墙纸很漂亮;你可以在‖图片选项‖中选择居中拉伸.

选择一个你喜欢的,或者选‖没有图片‖然后你可以使用‖背景风格‖颜色和属性.当你完成的后,关闭‖背景属性‖对话框.

3. 双击‖鼠标‖的图标, 这个参数面板你能够调整双击的时间延迟,速度和灵敏度.

假如你伸左撇子,你也可以在这里选择左收习惯

当完成后选择关闭‖鼠标属性‖对话框.

4. 打开‖桌面主题‖面板.你可以选择一个主题,默认的主题是‖Bluecurve‖.选一个你喜欢的,然后关闭这个面板.

5. 最后,打开‖工具栏‖,你能够选择你可以选择下列特性中的一个:显示工具条,或小的图标.然后关闭面板.

目标:

Red Hat Linux的桌面环境已经按你的要求定制好了。

试验9 标准输入输出和管道

估计时间:30分钟

目标:熟悉Red Hat Linux中的标准输入输出和管道

试验的起点:标准的Red Hat Linux安装

步骤1:标准输入和输出

任务:

1.使用你熟悉的编辑器创建两个文件:

packages1.txt 应该包含以下八行:

amanda

galleon

metacity

mozilla

postgresql

procinfo

rpmfind

squid

packages2.txt应该包含以下6行

anaconda

openssh

gnome-core

samba

sendmail

xscreensaver

2.cat工具是最简单的linux过滤器,它会默认把跟在后面的参数当作文件名,并把这个文件作为输入,如果没有文件名则把标准的输入作为自己的输入,然后将它们发送到标准的输出上去。现在我们来实验一下:

$cat packages1.txt

3.如果cat后没有参数,则它会等待标准的输入,所以当你输入cat命令后,再回车,然后什么也没有显示。输入cat后,cat命令会监视标准输入,等待输入的到达。如果这个时候输入一些文本,再按回车,cat就会把输入的内容当作自己的输入,然后输出到标准的输出——显示器上,结束cat的命令为按下ctrl-d,这是结束输入的标志。

$ cat

输入一些文字,然后按回车。

^d (就是按ctrl-d)

4.大多数的文本处理命令是执行过滤操作,他们可以读标准输入,对输入做一些动作,然后把结果发送到标准输出去。这些命令就向cat一样,只是对输入的处理不太一样。

tr命令,也是过滤器命令,如果给tr后加两个字符串做为参数,它会读取标准输入,然后把输入中包含着前一个字符串的字符变成第二个字符串,然后输出到标准输出去。

把刚才的命令换成tr,tr将把字符串中有的字符变成大写的。

$ tr 'aeiou' 'AEIOU'

输入一些文字,然后按回车。

^d

5.定义shell不要把命令的输出发到标准输出上,而是重定向到一个文件中,我们使用> 来重定向

重复cat的例子重定向标准的输出到packages1.catfile,这样把输出到屏幕的东西输出到了文件中,效果就和重新copy了一份文件是一样的,cat这个输出文件,然后用diff和ls确认原文件与package1.catfile内容一样。

$ cat packages1.txt > packages1.catfile

$ cat packages1.catfile

$ diff packages1.txt packages1.catfile

$ ls –l packages1*

6.使用>>来重定向会把输出附加到已存在的文件的末尾。

把packages2.txt文件中的内容附加到packages1.catfile之后,然后检验结果。

$ cat packages2.txt >> packages1.catfile

$ cat packages1.catfile

7.如果输出重定向时cat没有直接跟文件名的参数,那么cat就会等待标准的输入,直到按下ctrl-d作为结束,然后把所有输入的东西重定向到这个文件中去。这样可以很容易的创建一个文本文件,

$ cat > typedin.txt

This time, when text is typed at the keyboard,

It is not echoed back to the screen.

Instead, it is redirected to the file typedin.txt.

^d

$ ls –l typedin.txt

$ cat typedin.txt

8.使用tr取代cat,重复刚才的命令

$ tr 'aeiou' 'AEIOU' > trfile.txt

This time, when text is typed at the keyboard,

It is not echoed back to the screen.

Instead, it is redirected to the file typedin.txt.

^d

$ ls –l trfile.txt

$ cat trfile.txt

9.使用set –o命令,确认显示出目前bash的noclobber选项是关闭状态,确认当输出重定时向你可以重写文件

$ set –o

$ ls –l /tmp > trifle.txt

$ ls –l trfile.txt

$ cat trifle.txt

10.使用set命令更改noclobber选项,如下操作:

$ set –o noclobber

$ echo ―new contents‖ > trfile.txt

bash: trfile.txt:cannot overwrite existing file

11.cat可以接受一个文件名或者是一个输入重定向的文件,测试以下两个命令:

$ cat packages1.txt

$ cat < packages1.txt

12.但是tr不能接受文件名作为参数,它只希望输入是标准输入。

$ tr 'aeiou' 'AEIOU' < packages1.txt

13.下面的例子中标准输入和输出都被重定向,输入还是packages1.txt文件,这回改为输出到文件packages1.trfile.txt中去了。

$ tr 'aeiou' 'AEIOU' < packages1.txt >packages1.trfile.txt

$ ls –l packages1.txt packages1.trfile.txt

$ cat packages1.trfile.txt

步骤2:管道

1.把一个命令的标准输出直接传输给另一个命令作为它的标准输入,这样特殊的机制叫做管道。

如果没有管道,你要想打印你的目录中文件的列表至少要两步,还需要把没用的文件删除,(lpr命令可以把文件的内容发给默认的打印机,它的用法会在第12章讲)(注意只有当你没有打印机时可以使用以下的例子)

$ ls –l > /tmp/ls.txt

$ lpr /tmp/ls.txt

$ rm /tmp/ls.txt

使用管道,这些命令可以仅仅用以下短短的一条命令,将ls –l的输出直接发送给lpr作为输入,lpr也不需要别的参数。

$ ls –l | lpr

2.管道经常的用法是一个命令产生了很多页的输出,可以把这些输出直接给less,管道左边是你的命令,右边是less,less不需要参数。(空格键是翻页,q键是退出less)

$ ls –l /usr/bin | less

步骤3:练习

答案在下面,可以使用man page来帮助你解决问题

1.拷贝一份cal命令的man page,放在你的主目录下,取名叫cal.man。

2.只在一行上输入什么样的命令,可以使你从键盘上输入的文本输出到打印机上

3.怎样把/usr/bin下以c或d开头的文件列表发送到打印机上?

步骤3:练习-答案

1.man cal > cal.man

2.lpr

lpr打印出以后面的参数命名的文件中的内容,如果没有参数,lpr就会从标准输入中读取,标准的输入是键盘,直到你按下ctrl-d表示键盘输入结束。

3.ls –l /usr/bin/[cd]* | lpr

试验10 字符串处理

估计时间:60分钟

目标:熟悉字符串处理

试验的起点:一个Red Hat Linux系统,把/etc/passwd拷贝到你的主目录下。

第一步:字符串处理基本知识

任务:

1..拷贝/etc/passwd到你的主目录下:

$ cd

$ cp /etc/passwd

2. 在/etc/passwd里面有系统里的每一个帐户.使用wc,在passwd文件里计算有多少行。

$ wc –l passwd

在你的系统里有多少个帐户____________

3. 找出本机中所有用户使用的各种shell并把其放置在一个文件内:

$ cut –d: -f7 passwd > shells

4. 使用cat命令查看你新的shells文件的内容,为了使输出结果更为友好.用sort命令输出这些数据在一个新的文件里:

$ sort shells > sorted.shells

5. 你的文件包含许多同样的内容.使用uniq命令可以计算出有多少个相同的行:

$ uniq –c sorted.shells > uniq.sorted.shells

为什么在使用uniq之前要使用sort命令

6. 按照数字由大到小的顺序列出在你的机器上使用的各种shell:

$ sort –nr uniq.sorted.shells

i. /sbin/nologin

6 /bin/bash

1 /sbin/shutdown

1 /sbin/halt

1 /bin/sync

结果:

按照数字由大到小的顺序列出你机器上所有用户使用的各种shell:

步骤2:更多的练习

为每一个练习写下解决办法.记住,答案是一个你想出办法的命令,不是输出.答案在实验的最后被列出来了,但是在对答案之前,你可以试着完成每个任务.每个答案将显示单独的一行.这个命令aspell没有man page;你将怎样获得帮助呢?

7. 有多少文件在/usr/bin目录下?输出是一个单一的整数.提示:设计一个命令列出文件名到每一行,然后计算一共有多少行.

__________________________________________________________

8. 列出下列文件/usr/share/doc/nautilus-*/NEWS中拼错的单词.

__________________________________________________________

12. 多少唯一的单词从上述练习中输出?

__________________________________________________________

步骤2答案:

1 ls –1 /usr/bin | wc -l (注意ls 的参数是数字1)

2 aspell –l < /usr/shar/doc/nautilus-*/news

3 aspell –l < /usr/share/doc/nautilus-*/news | sort | uniq | wc -l

试验11 使用正则表达式进行字符处理

估计时间:60分钟

目标:熟悉Red Hat Linux中进行字符处理的几个工具

试验的起点:安装Red Hat Linux,并且能正常工作,拷贝/etc/passwd到

你的主目录中

步骤1:使用grep进行字符处理

任务:

1. 在copy到你主目录中的/etc/passwd文件的副本中,使用grep显示出所有以―g‖开头的帐户:

2. 显示出所有使用bash shell的帐户:

$ grep ?bash$‘ passwd

3. 显示出没有使用bash作为shell的帐户:

$ grep –v ?bash$‘ passwd

4. 为了做一个使用diff的例子,我们要更改这个passwd文件的拷贝,先用grep把原文件中所有含有―N‖和―P‖的行删除:

$ grep –v ?[NP]‘ passwd > modified.passwd

5. 最后再用tr将含有的所有大写字母变成小写:

$ tr ―A-Z‖ ―a-z‖ < modif ied.passwd > modified2.passwd

6. 这时使用cat命令看原来的passwd文件和改过的modified2.passwd文件,不仔细看看不出其中的区别,这只是小文件,如果文件大一些,想象一下拥有几千个用户的文件。使用diff可以产生两个文件中不同之处的列表。

$ diff modified2.passwd passwd

14a15,16

> ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

> nobody:x:99:99:Nobody:/:/sbin/nologin

… …

步骤2:正则表达式及字符处理

在任务下面的横线上写下你的解决方案,你要写出你的命令而不是命令的输出,答案在实验最后,但是要先试着自己解决,可以使用man page来帮助你解决问题。

任务:

1.使用grep显示出/usr/share/dict/words文件中还有某参数的行,例如显示出所有含有fish 的行:

$ grep fish /usr/share/dict/words

blowfish

bluefish

codfish

… output truncated…

unselfish

unselfishly

unselfishness

2.使用grep的man page作为帮助,输出任何包含fish的所有行,还要输出紧接着这行的上下各两行的内容:—————————————————————————————————————

3.使用grep的man page作为帮助,找出相应的命令,来显示出在words文件中有多少行含有fish。—————————————————————————————————————

4.使用grep的帮助文件,找出相应的命令,显示出那些行含有fish,并将行号一块输出,看一看starfish在哪行?—————————————————————————————————————

5.想列出/usr/share/dict/words中包含先有字母t然后有一个元音字母,之后是sh的单词,命令为:—————————————————————————————————————

6.在/usr/share/dict/words文件中,创建可以符合abominable,abominate,anomie和atomize 的正则表达式,但是不要选到别的单词。—————————————————————————————————————

7.在/usr/share/dict/words文件中包含多少先有字母t然后有一个元音字母,之后是sh的单词,只输出数量。—————————————————————————————————————8.列出/usr/share/dict/words中刚好包含16个字母的单词:—————————————————————————————————————9.我们将要使用/usr/share/doc文件夹来完成我们的下几个任务。

列出/usr/share/doc/bash-2.05b文件夹中,所有包含单词expansion的文件,—————————————————————————————————————10.显示出―Linux‖在/usr/share/doc/bash-2.05b文件夹的文件中出现的次数,但是不要显示没有这个单词的文件。提示:先列出所有的文件,然后想如何使输出符合要求:—————————————————————————————————————11.列出所有包含Havoc的文件名:—————————————————————————————————————

步骤3:使用正则表达进行文本流编辑

任务:

想象你创建一个了名叫―cats‖的文件包含以下单词:

cat

catalog

concatenate

polecat

Cat

猜想执行以下每个sed命令之后,把cats文件的每一行的执行后的结果写在后面:1.sed 's/cat/dog/' cats

cat __________

catalog __________

concatenate __________

polecat __________

Cat __________

2.sed 's/[Cc]at/dog/' cats

cat __________

catalog __________

concatenate __________

polecat __________

Cat __________

3.sed 's/\<[cc]cat/dog/' cats

cat __________

catalog __________

concatenate __________

polecat __________

Cat __________

4.sed 's/[Cc]at\>/dog/' cats

cat __________

catalog __________

concatenate __________

polecat __________

Cat __________

5.sed 's/\<[cc]at\>/dog/' cats

cat __________

catalog __________

concatenate __________

Linux 用户管理命令

Linux 用户管理命令 Useradd user //建立用户名为user的新用户 与用户管理相关的配置文件 →/etc/default/useradd 配置文件的定义 useradd -D 如不指定任何参数,useradd显示目前预设的值; →/etc/passwd //记录用户密码 →/etc/groups //记录用户组 →finger longcpu //查询一下amdcpu 用户的信息; →root@localhost ~]# useradd -e 11/04/2005 cooler 注:添加用户cooler,并设置其有效期为2005年11月04日; →[root@localhost ~]# passwd cooler 注:设置用户cooler密码; Changing password for user cooler. New UNIX password: 注:设定cooler的密码; Retype new UNIX password: 注:核实设定密码; passwd: all authentication tokens updated successfully. 注:设置成功;有效期的记录是写在/etc/shadow文件中 → passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码; passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的子; [root@localhost ~]# passwd 注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示; Changing password for user root. New UNIX password: 注:请输入新密码; Retype new UNIX password: 注:验证新密码; passwd: all authentication tokens updated successfully. 注:修改root 密码成功;

实验七 linux用户管理和密码管理

实验7 用户管理和密码管理 1 实验目的 1、通过实验掌握用户和组的管理命令。 2、了解与用户和组管理相关的文件。 2 实验环境 VMware中已经安装好CentOS6.2版本。 3 实验原理或背景知识 3.1 用户管理命令 用户管理的命令主要有3个,即useradd、userdel和usermod,分别用于用户的建立、用户的删除和用户属性的修改。它们的详细说明可参见教材P73~P74或查看帮助手册。 3.2 组管理命令 组管理命令主要有groupadd、groupdel和groupmod等,分别用于组的建立、组的删除和组的属性修改。它们的详细说明可参见教材P75或查看帮助手册。 3.3 密码管理 密码管理的命令是passwd和chage,passwd使用可参见教材P76或查看帮助手册,chage 的使用可参见man手册。 3.4 与用户管理相关的文件 与用户管理相关的文件有/etc/passwd、/etc/shadow、/etc/group、/etc/login.defs、/etc/default/useradd等,用于对用户设置和登录项目进行控制。这些文件的说明可参见教材。 4 实验任务 1、使用useradd、userdel、usermod、passwd、groupadd、groupdel等命令建立用户和

组,删除用户和组,修改用户或组的属性,将用户添加进入组或者从组中删除。 2、通过修改管理文件达到管理用户或组的目的。 5 实验步骤 练习1:使用命令进行用户帐号的管理操作 1、创建一个用户,用户名为Tom,描述信息为tommy,用户组为Tom,登录shell为 /bin/csh,登录主目录为/home/tom_office,用户ID为3600,帐号过期日期为2010处10月8号。 2、将用户帐号名由Tom改为Tommy。 3、为用户Tommy设置密码。 4、将用户帐号Tommy的帐号过期日期设为2010年9月30日,密码的最大生存期设 为100天,密码过期前10天起开始提醒用户。 练习2:使用命令进行用户组帐号的管理操作 5、创建一个GID为506,组名为company的用户组帐号。 6、创建用户Tom、employee1、employee2。 7、指定用户帐号Tom为用户组company的组管理员。 转换到用户帐户Tom登录,将用户employee1、employee2加入到组company中。 8、查看登录到系统的用户有哪些,再给这些用户发个消息通知他们你将在10分钟后关机。 6 实验总结 总结管理用户和组的命令有哪些?各有什么作用?

Linux的用户和组群管理

二、Linux的用户和组的管理实验步骤 1.桌面环境下,单击主菜单\系统设置\用户和组群菜单,进行用户与组群的添加、修改、删 除操作,注意理解修改用户时,口令信息中各设置参数的含义。 添加:单击工具栏-添加用户,在弹出的”创建新用户”窗口中输入用户名 修改:直接双击该用户,在弹出的窗口中直接进行修改; 删除:在用户管理器里面选中需要删除的用户,直接单击删除按钮,会询问“直接删除主目录?”,点击确定既可。 2.用户管理器显示所有的用户的信息,并利用搜索过滤器查找所有以s开头的用户。

3.用groupadd命令创建一名为czn组群,并指定其GID为600. 4.用useradd命令创建chf用户,并指定其主要组群为czn,用户ID为600。 5.用id命令查看chf用户的UID、GID修改情况。 6.用passwd命令修改root、chf用户的密码。 修改根root的密码: 修改chf的密码: 7.用vi打开passwd、shadow、group、gshadow文件,熟悉文件中各项的含义。 打开passwd: vi /etc/passwd 打开shadow: vi /etc/shadow 打开group: vi /etc/group 打开gshadow: vi /etc/gshadow 8.用passwd命令删除chf用户密码,并尝试以chf用户登录,看看是不需要密码。 不需要密码进入用户 而进入原先设置密码的root就需要输入密码后方能进入:

9.用passwd命令锁定和解锁chf用户,并尝试以chf用户登录,看看是否能登录。 命令:passwd –l chf 锁定之后不能登陆用户chf Passwd –u chf 解锁后能够登陆用户chf 10.用usermod命令修改chf用户,使其用户名为chen,UID为601. 命令:usermod –l chen chf 修改用户名 Usermod –u 601 chen 11.用groupmod命令修改czn组群,使其组群名为czn1,用id chen 命令查看变化情况。 修改组群名:groupmod –n czn1 czn 查看:id chen 12.用groupmod命令修改czn组群,使其GID为601,用id chen 命令查看变化情况。 修改GID:groupmod –g 601 czn 查看:id chen 13.创建test1,test2用户,查看/home文件夹下目录情况。 创建用户:Useradd test1 Useradd test1 查看:vi/home home下多了用户test1和test2 14.用userdel test1与userdel –r test2删除两个用户并查看/home文件夹的变化情况。 执行以上命令后发现:使用userdel test1并不删除test1的主目录,而 userdel –r test2删除了主目录

LINUX实验报告

实验报告 ( 2014/ 2015 学年第一学期) 课程名称操作系统A 实验名称文件系统 实验时间2014 年12 月8 日指导单位计算机学院计算机科学与技术系 指导教师徐鹤 学生姓名王生荣班级学号B12040809 学院(系) 计算机学院专业软件工程

实验名称文件系统指导教师徐鹤 实验类型设计实验学时 2 实验时间2014.12.08 一、实验目的和要求 1. 学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。 2. 深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。 3.实现一个文本文件的某信息的插入和删除 4.实现一个记录文件的某记录的插入和删除 二、实验环境(实验设备) Windows XP + VMWare + RedHat Linux 8

三、实验过程描述与结果分析 1. 目录/proc下与系统相关的文件和目录 (1) /proc/$pid/fd:这是一个目录,该进程($PID号码进程)每个打开的文件在该目录下有一个对应的文件。 例如:#ls /proc/851/fd 0 1 2 255 这表示,851号进程目前正在使用(已经打开的)文件有4个,它们的描述符分别是0、1、2、255。其中,0、1、2 依次分别是进程的标准输入、标准输出和标准错误输出设备。 (2)/proc/filesystems:该文件记录了可用的文件系统类型。 (3)/proc/mounts:该记录了当前被安装的文件系统信息 例如:#cat /proc/mount (4)/proc/$pid/maps:该文件记录了进程的映射内存区信息。 例如:#cat /proc/851/maps 2.常用命令讲解 ls 命令 用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile

Linux编程用户信息管理系统

一绪论 §1.1设计背景 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。 §1.2设计目的 在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shell。请设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。你们可以通过创建一些UNIX/LINUX shell 脚本文件来满足以上需求。 二需求分析 §2.1系统概述 §2.1.1 任务概述 Linux作为多用户、多任务的操作系统,其系统资源是所有用户共享的。对用户的管理是操作系统的重点。LINUX课程设计要用shell编程实现,将理论学习付诸实践。设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。 §2.1.2需求规定 程序要包括四个文件,即menu,add,delete,passwd四个文件。passwd文件是用来保存用户信息;menu文件是主菜单,要求运行的时候能显示一个菜单供用户选择;addusers 文件是用来增加信息;deluser文件是用来删除信息。在主Shell脚本文件里(必须以 menu 命名)要有一个多操作选项的菜单以便用户从中选择。对于任务6和7,需要编写单独的Shell 脚本文件(必须分别命名为addusers和deluser)并且在主脚本menu文件中调用这些脚本

Linux实验报告-用命令实现用户和组的管理

Linux实验报告-用命令实现用户和组的管理

————————————————————————————————作者:————————————————————————————————日期:

河南师范大学综合性、设计性实验项目简介学院名称(公章):软件学院学年 2014 - 2015 第 1 学期填表日期: 2014 年 10 月 29 日 实验课程名称Linux操作系统 实验项目名称用命令实现用户和组的管理 实验项目性质1、综合性 2、设计性主讲教师袁培燕开课年级2012级开课专业Java 实验地点过街楼B区开课日期2014.09.01 开课时间1—18周 一、实训目标 (1)掌握在Linux操作系统下用命令实现用户和组的管理 (2)了解和掌握Linux操作系统的权限概念。 二、实训环境 一台安装CentOS 7 系统的计算机,主机内存为6GB,频率为2.5GHz。 三、实训内容 (1)建立目录“/project_a”,该目录里的文字只能有David 和 Peter 两人读取、增加、删除、修改及执行,其他用户不能对该目录进行任何的访问操作。 (2) (3)建立目录“/project_b”,该目录里的文字只能有Jack和 Mike 两人读取、增加、删除、修改及执行,其他用户不能对该目录进行任何的访问操作。 (4) (5)建立目录“/project”,该目录里的文字只能有David、Peter、Jack、Mike 四个人读取、增加、删除、修改及执行,其他用户不能对该目录进行任何的访问操作。 四、实验步骤 (1)创建用户和设置密码

创建David用户,并为之设置密码– d,接下来创建其他3为用户,并设置为其密码。 具体操作:

2《Linux基础》实验报告 基本配置Linux

实验序号: 2 《Linux基础》 实验报告 实验名称:基本配置Linux操作系统 姓名: 学院:计算机学院 专业: 班级: 学号: 指导教师: 实验地址:N6-113 实验日期:2017.3.7

说明 一.排版要求 1.实验报告“文件名”按模板要求填写。 2.一级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,四号字体,加粗。 3.二级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,小四号字体,加粗。 4.三级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,五号字体。 5.正文:每段缩进量:2个汉字。两端对齐;汉字用宋体,阿拉伯数字用 Times New Roman字体,五号字体。 6.图形要求 (1)在正文中要有引用。 (2)要有图名,图名位于图的下方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)图和图名“居中”。 7.表格要求 (1)在正文中要有引用。 (2)要有表名,表名位于表的上方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)表和表名“居中”。 二.注意事项 1.复制、拷贝、抄袭者取消成绩。 2.没有安实验报告排版要求者不及格。

实验2基本配置Linux操作系统实验 【实验目的】 1.。。。。 2.。。。。 3.。。。。 4.思考: (1)Linux默认的系统超级管理员帐户是什么? (2)Linux的操作系统引导器是什么?它有哪几种的操作界面? (3)RHEL的支持哪几种X-Window图形管理器?默认是使用哪一种?(4)RHEL支持哪几种Shell?默认是使用哪一种? 【实验原理】 1.。。。 。。。 2.。。。 。。。 (1)。。。 。。。 (2)。。。 。。。 3.。。 【实验环境】 1.实验配置 本实验所需的软硬件配置如表1所示。 表1 实验配置 本实验的环境如图1所示。

linux用户管理

实验项目(四) 用户管理 一、学习目的 1、掌握文件和目录的访问权限设置的命令 2、掌握创建新用户的方法 3、掌握用户管理的基本命令 4、掌握用户身份的转换 5、掌握组的管理 二、学习任务 第一部分文件和目录的访问权限用户:root 工作目录:/home 1、查看当前umask参数 Umask 2、在/home目录下创建新目录dir1 说明,用mkdir命令创建目录,比如mkdir dir1 mkdir /home/dir1 3、显示目录dir1的详细信息,记录目录的权限信息 Ls -l /home/dir1 4、改变umask参数为066 Umask 0066 5、创建新目录dir2 Mkdir dir2 6、显示目录dir1的详细信息,记录目录的权限信息 Ls -l /home/dir1 7、创建新文件file1 Touch file1 8、显示文件file1的详细信息,记录文件file1的文件权限 Ls –l file1 9、为dir1的同组用户增加写权限 Chomd 664 dir1 10、改变file1的文件权限为755 Chmod 755 file1 第二部分用户管理的基本命令(一)创建用户

1、增加新用户user1,用户主目录:/home/user1 Useradd –c /home/user1 user1 2、设置user1密码为user111 Passwd user1 user111 3、增加新用户user2,用户主目录:/user/user2 Useradd –c /user/user2 user2 4、设置 user2 的密码为空 Passwd user2 5、以user1用户身份登陆 Su user1 6、将/home/file1文件拷贝到user1的用户主目录下,能够执行成功吗? 可以,Cp –r /home/file1 /home/user1 7、将/home/file1文件拷贝到 /home/dir1目录下,能够执行成功吗? 可以,Cp –r /home/file1 /home/dir1 8、切换到root用户 Su root 9、将/home/file1文件拷贝到 /home/dir1目录下,能够执行成功吗?为什么? 可以,Cp –r /home/file1 /home/dir1 10、执行# chown user1 /home/dir1,命令作用是什么? 改变文件所属用户 11、切换回user1用户 Su user1 12、将/home/file1文件拷贝到 /home/dir1目录下,能够执行成功吗?为什么? Cp –r /home/file1 /home/dir1 思考题:/etc/passwd和/etc/shadow的文件权限对于系统安全有何作用? /etc/passwd文件存放用户的宿主目录、shell环境等资料,用户必须有权限查看,所以不能设置为700。而/etc/shadow文件的默认权限一般是400。 (二)删除用户 1、#userdel user1 2、#userdel -r user2 思考:步骤1和步骤2的执行结果有什么异同? 第一个只删除用户但不删除用户的主目录。第二个删除文件的用户和主目录 步骤1要达到和步骤2同样结果,还需要增加哪些操作 Rm –rf user1

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 基本命令的使用 实验时间: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系统下利用命令方式实现用户和组的管理; 2.掌握利用Linux-conf进行用户和组的管理; 3.掌握磁盘限额的实现方法。 二. 实验内容: 1.用户和组的管理; 2.磁盘限额。 三. 实验步骤: 1. 用户的管理 创建一个新用户user01,设置其主目录为/home/user01:#useradd –d /home/user01 -m user01 查看/etc/passwd文件的最后一行,看看是如何记录的。 查看文件/etc/shadow文件的最后一行,看看是如何记录的。 给用户user01设置密码:#passwd user01。 再次查看文件/etc/shadow文件的最后一行,看看有什么变化。 使用user01用户登录系统,看能否登录成功。。 锁定用户user01:#passwd -l user01。 查看文件/etc/shadow文件的最后一行,看看有什么变化。 再次使用user01用户登录系统,看能否登录成功。 解除对用户user01的锁定:#passwd -u user01 更改用户user01的帐户名为user02:#usermod –l user02 user01。 查看/etc/passwd文件的最后一行,看看有什么变化。 删除用户user02。 2. 组的管理 创建一个新组,stuff:#groupadd stuff。 查看/etc/group文件的最后一行,看看是如何设置的。 创建一个新帐户user02,并把他的起始组和附属组都设为stuff:#useradd –g stuff –G stuff user02。 查看/etc/group文件中的最后一行,看看有什么变化。 给组stuff设置组密码:#gpasswd stuff。 在组stuff中删除用户user02:#gpasswd –d user02 stuff。 再次查看/etc/group文件中的最后一行,看看有什么变化。 删除组stuff。 3. 用Linux-conf创建用户和组 进入X-Window图形界面。 在终端中输入userconf命令,启动Linux-conf的用户管理子程序,在打开的界面中练习用户、组的 设置。 4. 磁盘限额 启动vi来编辑/etc/fstab文件。 把/etc/fstab文件中的home分区添加用户和组的磁盘限额。 用quotacheck命令创建https://www.wendangku.net/doc/9511589641.html,er和aquota.group文件:#quotacheck -guva 给用户user01设置磁盘限额功能:#edquota -u user01。 将其blocks的soft设置为4000,hard设置为5000;inodes的设置为4000,hard设置为5000。编辑 完成后保存并退出。 重新启动系统。 用quotaon命令启用quota功能:#quotaon –ugva。 切换到用户user01,查看自己的磁盘限额及使用情况。

linux 新建用户、用户组及用户权限

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。 实现用户账号的管理,要完成的工作主要有如下几个方面: ·用户账号的添加、删除与修改。 ·用户口令的管理。 ·用户组的管理。 一、Linux系统用户账号的管理 用户账号的管理工作主要涉及到用户账号的添加、修改和删除。 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell 等资源。刚添加的账号是被锁定的,无法使用。 1、添加新的用户账号使用useradd命令,其语法如下: 代码: useradd 选项用户名 其中各选项含义如下: 代码: -c comment 指定一段注释性描述。 -d 目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组指定用户所属的用户组。 -G 用户组,用户组指定用户所属的附加组。 -s Shell文件指定用户的登录Shell。 -u 用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 用户名指定新账号的登录名。 例1: 代码: # useradd –d /usr/sam -m sam 此命令创建了一个用户sam, 其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。 例2: 代码: # useradd -s /bin/sh -g group –G adm,root gem 此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于

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系统管理命令

a)系统管理:chkconfig、init、shutdown、halt、reboot、set、env、export、 crontab、uptime、last、history、id、finger、who、w、whoami、useradd、passwd、usermod、userdel、date、cal、wget、yum、curl、lsmod、dmesg。 Chkconfig:管理服务。 查看所有服务:chkconfig --list; 添加:chkconfig --add serviceName; 删除:chkconfig --del serviceName; 覆盖:chkconfig --override serviceName; 开启:chkconfig --level 2345 serviceName on; 关闭:chkconfig --level 2345 serviceName off。 Init:一个由内核启动的用户级进程。OS初始化所有的设备驱动程序和数据结构之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。Init 配合不同的运行级别数字实现不同的功能:init 0关机、init 1进单用户模式、init 6重启、init 3命令行模式、init 5图形界面。 Shutdown:冻结login指令,发送信号给init进程要求切换运行界别,并通知所有已登陆用户即将关闭系统。常用参数:-t 延迟时间,-r重启参数,-c 取消正在执行的关机,-h关机后关闭电源。 Halt:实际是调用shutdown -h。杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。参数:-n 防止sync系统调用﹐用于fsck修复根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。 Reboot:和halt差不多,不过它是重启系统。 Set:显示当前shell的变量(每个shell有自己不同的变量),包括当前用户的变量。 env:显示当前用户的变量,用户变量和你用什么shell无关,不管你用什么shell 都在。 export:显示当前导出成用户变量的shell变量。shell自己的变量可以通过export “导出”变成一个用户变量。 Crontab:相当于windows的计划任务,参数:-l 查看,-e编辑。Crontab的编辑格式:分(0-59) 时(0-23) 天(1-31) 月(1-12) 星期(0-6) 命令或者脚本。例: 0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache; 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务; 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务; 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘; 1 * * * * /home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件; 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} /; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件; 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令。 Uptime:显示四部分内容。当前时间+ 已运行时间+ 当前用户连接数+ 负载均衡。负载均衡:特定时间间隔内运行队列中的平均进程数,如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。 Last:读取/var/log/wtmp文件,列出登入系统的详细信息。 History:记录使用过的命令。普通的history命令只会根据顺序显示命令。介绍一种更友好的配置,出错后配合last或者日志能清楚的找到谁的问题。

实验一 Linux基本操作实验报告

实验一Linux基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.wendangku.net/doc/9511589641.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

Linux操作系统下用户管理和文件管理

实验三文件管理实践基础 姓名:臧芳班级:10系统集成学号:106302218 同组实验者: 实验名称文件管理实践基础 实验时间2011-11-1实验地点信2-506 指导教师姒茂新 实验目的和要求: 目的:在虚拟机FC14,纯文本模式下完成文件管理的基本操作; 要求:掌握用户的创建、属性的修改、删除等基本操作的思维。 实验内容:(注意:要求写出所操作的过程中的关键步骤) 任务: ⑴在纯文本模式下,在终端tty1上以root用户登录;在终端tty2上以user用户登录;创建一个用户为”你的姓名+学号后两位数字”,并赋予相关的密码。在普通用户user登录情况下,创建以下目录结构;在用户主目录中用vi编辑器创建一文本文件lxtest,存储在“姓声母22”下,内容是“校名系名班级名和你的姓名”。请写出所有操作过程: ⑵改变当前目录为“姓声母1”,将文件lxtest复制到“姓声母21”,请实现该操作; ⑶改变当前目录为“姓声母22”,将文件lxtest复制 并更名为lxcopy,存放到“姓声母211”,请实现该操作; ⑷将文件lxcopy,移到“姓声母1”中,请实现它; ⑸将文件lxcopy,移到“姓声母21”中,更名为lxt,请实现它; ⑹用数字法将文件lxt的访问权限更改为三种用户都可读、写。 ⑺改变当前目录为“姓声母211”,用字母法修改文件lxtest为前两种用户皆可读、写; ⑻在“姓声母1”下创建一文件夹“姓声母12”,再创建一文件为lxlinux,内容为“Good afternoon!” ⑼查看第⑻题中目录的访问权限是什么用数字表示出来。 ⑽查看第⑻题中文件的访问权限是什么用数字表示出来。 ⑾将第⑻题中文件的访问权限用字母法和数字法分别修改为用户为读和执行、组为读写,而其他用户为只读和用户为写执行、组为读执行、其他用户只写。 ⑿将/etc/passwd文件复制到“姓声母211”,并更名为pswd,以分屏方式显示其内容;改变其属性,使student用户可以更改,更改其组为user。 要求:①按作业格式要求写实验报告三“文件管理实践基础”; ②电子稿作业发到QQ邮箱:smxszcn@https://www.wendangku.net/doc/9511589641.html, 主题为:学号后两位数字+姓名+班级名+实验作业3 创建文件名:学号后两位数字+姓名+实验作业3

实验2:UnixLinux用户管理及管理命令

实验2:Unix/Linux用户管理及管理命令 1、实验目的 (1)掌握Unix/Linux用户管理机制与管理命令; (2)掌握用户和组管理命令; (3)掌握密码管理机制和密码管理命令; (4)了解对用户和组进行管理的图形界面; (5)了解与用户和组管理相关的其它命令。 2、实现设备 每人一台装有Linux系统的PC机。 3、实验方法与注意事项 不要做对系统或对其他用户不安全的事情。 做实验请不要修改超级用户密码。如果修改了root用户密码,请在实验结束前将其恢复为原密码。 用户要按通常实验要求认真书写实验报告。 4、实验过程 1)用户管理 (1)创建用户 用命令useradd/adduser以自己的名字创建一个用户。比如 useradd zhangsan 观察/etc/passwd、/etc/group和/etc/shadow的变化。方法 grep zhangsan /etc/passwd /etc/shadow /etc/group 观察/home目录内容的变化。 回答:该用户的uid,gname和gid各为什么?他的工作目录和shell是什么? (2)为用户设置密码 用passwd命令为其设置密码后,用新建用户进行登录并工作。方法如下 a. passwd zhangsan b. 切换到另一终端,使用新用户zhangsan登录 c. 为自己修改密码:$passwd (3) 创建非默认属性的用户 创建用户lisi,让他与zhangsan在一个组。 useradd –g zhangsan lisi 观察/etc/passwd、/etc/group和/etc/shadow的变化。 观察/home目录内容的变化。 回答:该用户的uid,gname和gid各为什么?他的工作目录和shell是什么? (4) 组管理 创建一个名为lisi的组并观察/etc/group的变化。方法分别是 groupadd lisi

Linux实验报告

Linux实验 一、实验目的 1. 了解Linux基本使用方法; 2. 掌握Linux基本设置方式; 3. 掌握Linux基本操作命令使用。 二、内容要求 1. 了解进程管理、文件管理与内存管理 2.掌握系统设置文件与命令 3. 熟练使用系统操作与维护命令 4. 熟练使用系统操作与维护命令 三、实验原理 Linux 系统常用命令格式: command [option] [argument1] [argument2] ... 其中option以“-”开始,多个option可用一个“-”连起来,如 “ls-l -a”与“ls-la”的效果是一样的。根据命令的不同,参数 分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在 标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对这 些设备进行重定向。如: ls –lh > a.txt 命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回 一个非零值(在shell中可用变量$?查看)。在shell script中可用此返 回值作为控制逻辑的一部分。 DSL命令操作: 帮助命令: man 获取相关命令的帮助信息 例如:man dir 可以获取关于dir的使用信息。 info 获取相关命令的详细使用方法 例如:info info 可以获取如何使用info的详细信息。 基本操作: echo 显示字符串 pwd 显示当前工作目录 ls 查看当前文件夹内容 ls -a 查看当前文件夹内容(包括隐藏项) ls -l 查看当前文件夹内容(详细) ls / 查看根目录内容 cd / 移动到根目录

pwd 显示当前工作目录 ls -al 查看根目录文件夹内容(详细情况并包括隐藏项) cd /home/dsl 回到“家”目录 pwd 显示当前工作目录 df -h 显示剩余磁盘空间,参数“-h”表示适合人读取(human readable) du -h 显示文件夹(及子文件夹)所占空间 mkdir fd0 在当前目录下创建目录fd0 touch a.txt 创建一个空文件a.txt ls / -lh > a.txt 利用重定向功能将根目录中的内容写入a.txt。 cat a.txt 显示a.txt内容 wc a.txt 显示a.txt的行数,字数与字节数 find / -name *conf 在根目录下(包括子目录)查找以conf结尾的文件 sudo mount /dev/fd0 fd0 将软盘镜像挂载到目录fd0上 cd fd0 进入软盘镜像所挂载的目录 ls -lh 查看软盘镜像中的文件 cd .. “..”表示进入上一层目录 gzip a.txt 使用gzip压缩a.txt ls -lh 查看当前文件夹 sudo cp a.txt.gz fd0/ 将a.txt复制到fd0目录下,即将其复制到软盘镜像中 sudo mv fd0/a.txt.gz ./ 将a.txt移动到当前目录下,“.”表示当前目录 sudo umount /dev/fd0 将软盘镜像卸载 ls fd0 显示fd0 目录内容 gzip -d a.txt.gz 解压缩a.txt.gz ls -lh 查看当前文件夹 权限管理: 假设当前处于/home/dsl 目录下,且有a.txt(文件)与fd0(目录),当前用户名为dsl。 sudo cat /etc/passwd 用户 sudo cat /etc/shadow 密码 sudo cat /etc/group 组 users 查看当前登录用户 sudo chmod -x fd0 更改文件夹权限 ls fd0 fd0不能被执行,则意味着无法打开! sudo chmod +x fd0 更改文件夹权限 ls fd0 fd0能被打开 sudo chown root fd0 更改目录fd0的所有者 ls -lh 注意看fd0目录的属性 sudo chown dsl:root fd0 更改目录fd0的所有者为dsl,所属组为root ls -lh 注意看fd0目录的属性 chmod a-r a.txt 现在a.txt不具有“读”权限,不能被读取

相关文档