实验报告单
课程名称:《Linux网络操作系统》
学号: 125031225
姓名: 郝耀峰
班级: 12计科3班
院系: 计算机学院
专业: 计算机科学与技术
实验室: S4310
同组人: 无
组号: 无
辅导老师: 刘志明
实验项目编号: 8103203601
实验项目名称: Linux基本命令
日期: 2015.03.18(1-2)
成绩:
一、实验目的
1、熟悉Linux终端的使用,掌握Linux基本指令的执行方式
2、熟练使用文件基本操作指令、用户与组管理指令、文件属性操作指令、文件内容操作指令、网卡配置指令、rpm命令、帮助命令
3、掌握i节点相关指令、查找命令、压缩与打包命令、定时器命令、查看进程命令
4、理解并正确使用管道与重定向
5、理解并正确使用正则表达式
二、实验环境
Red Hat Linux Server 6.0(64位)
三、实验原理(或要求)
1. 能熟练进行用户管理及文件管理
2. 能创建空文件并设置文件属性
3. 能理解和正确使用管道、重定向、正则表达式
四、实验步骤
1. 打开终端,输入指令,察看并分析结果
2. 练习文件基本操作指令:
ls命令、pwd命令、mkdir命令、cd命令、touch命令、cp命令、mv命令、rmdir命令、rm命令、cat命令、more命令、less命令、head命令、tail命令
3. 练习用户与管理命令:
groupadd命令、userad命令、userdel命令、groupdel命令、passwd命令、usermod命令、id命令
4. 练习文件属性操作命令:
chown命令、chgrp命令、chmod命令、umask命令、chattr命令
5. 练习i节点相关指令:
ln指令
6. 练习查找指令:
which指令、whereis指令、slocate指令、find指令
7. 练习文件内容操作指令:
grep指令、wc指令、sort指令、diff指令、cut指令
8. 练习压缩与打包命令:
tar命令、gzip命令、gunzip命令
9. 练习挂载与卸载命令:
mount命令、unmount命令
10. 练习网卡配置指令:
ifconfig命令
11. 练习rpm命令:
rpm命令
12. 练习帮助命令:
man命令
13. 定时器命令:at、crontab
14. 查看进程命令:ps、pstree、top
15. 管道与重定向: > >> < << |
16. 其他命令:
kill命令、反引号命令、date命令、df命令、du命令、uname命令
五、记录与处理(实验数据、误差分析、结果分析)
1、指令记录:
ls
ls -a
ls -l
文件类型 文件权限 连接数 属主 属组 大小 日期 时间 文件名
d rwxrwxr-x 2 user user 4096 Aug 17 09:10 abc
- rwxrwxr-x 2 user user 4096 Aug 17 09:10 a.txt
ls -al
说明:
-:表示普通文件。
d:表示目录文件,在Linux中目录也是文件,不仅如此,实际上在Linux中任何设备也可以被当作文件处理。
l:表示符号连接文件。
b:表示块设备文件
如硬盘的设备文件/dev/hda,其中字母a表示第一块,h表示IDE类型的硬盘,SCSI类型的硬盘用s表示;
分区也有相对应的设备文件,如/dev/sdb3,表示第2块SCSI硬盘上的第3个分区。
需要说明的是优盘也采用SCSI硬盘的设备文件名来表示。
c:表示字符设备文件,如/dev/tty1。
p:表示管道文件。
s:表示套接字文件。
Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。
在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的,如下所示。
属主的权限 属组的权限 其他用户的权限
rwx rwx r-x
练习: ls -la
ls -Ra /
ls -Ral / etc
pwd 功能:显示当前目录
mkdir abc 功能:在当前目录下创建目录abc
mkdir -p aaa/bbbb/cccc
ls –R aaa
cd /etc 功能:将当前的工作目录切换为/etc
cd /home/user
cd /var/named/chroot/var/named
cd ~
cd
touch myfile 功能:如果myfile不存在,则创建一个大小为0字节名为myfile的空文件;如果myfile已存在,则将改变myfile的最后修改时间。
[user1@server1 ~]$ ls -l myfile
-rw-rw-r-- 1 user1 user1 0 Aug 17 11:54 myfile
cp /etc/*.conf abc
cp -R /etc aaa
touch a.txt
mv a.txt aaa
mv a.txt b.txt
rmdir /aaa/bbb/ccc 功能:删除指定的空目录。
rm a.txt 功能:删除指定的文件 a.txt。
rm -rf abc 功能:参数-r是递归的意思,即可以删除非空目录;参数-f是强制的意思。
cat /etc/hosts 功能:显示指定文件/etc/hosts 的内容。
cat /etc/passwd
cat /etc/shadow
cat /etc/resolv.conf
more /etc/httpd/conf/httpd.conf
less /etc/httpd/conf/httpd.conf
head /etc/named.conf
tail /etc/named.conf
groupadd mygroup1
功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。
创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成员等信息。
groupadd -g 5000 mygroup2
useradd guest
功能:创建一个用户guest,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/guest。 /etc/passwd文件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息。用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件/etc/shadow来保存每个用户的口令。
useradd -u 600 -g mygroup1 -G mygroup2 -d /home/student1 s1
userdel user1
userdel -r user2
groupdel mygroup2
passwd
passwd guest
普通用户只可以修改自己的口令
chmod 字母方式: 字母u针对属主、g针对属组、o针对其他用户、a针对所有用户; =表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示在原有权限的基础上去掉指定权限; r、w、x三种权限,既可以单独使用也可以组合使用
chmod u+x host.conf
chmod g-w,o=x host.conf
chmod ug=rwx,o= host.conf
chmod ugo=r,ug+wx host.conf
chmod 数字方式:先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。权限rwxrw-r--,则转换为二进制数为111110100,再化为八进制数则为764;反之,当看到八进制数764时也应该很快转化为相应权限。
chmod 764 host.conf
umask 功能:显示文件创建掩码;文件的被创建后其权限分两种情况,
一是如果创建的是目录文件,则用777减去文件创建掩码;
二是如果创建的是普通文件,则用666减去文件创建掩码。
若umask当前值为0002,用touch创建的test是普通文件,所以test的权限=666-0002=664。
umask 0006
ln myfile myfile.hlink
功能:为文件myfile创建名为myfile.hlink的硬连接
ls -il
180691 -rw-rw-r-- 2 user user 12 Sep 8 09:14 myfile
180691 -rw-rw-r-- 2 user user 12 Sep 8 09:14 myfile.hlink
ln -s myfile myfile.slink
功能:为文件myfile创建名为myfile.slink的符号连接。
which cp /bin/cp
which updatedb /usr/bin/updatedb
功能:显示命令的绝对路径。该命令只能在命令搜索路径指定的目录中去查找命令或程序。
whereis ln
ln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz
功能:查询指定命令所在目录以及帮助文档所在目录。
slocate named
find / -name "dhcpd*"
find /etc -size 8
find /var -type d -print
find . -cmin -5
find . -ctime -5
find mytmp -perm 755
find mytmp -perm +755
find mytmp -perm -755
find / -ctime -5 –a -name “*.conf”
find . -size 0 –exec rm {} \;
find . \( -type f -or type l \) –ok rm {} \;
grep "bind" host.conf
grep -v "network" /etc/nsswitch.conf
wc /etc/nsswitch.conf
wc -l /etc/nsswitch.conf
sort mytest
sort -r mytest
diff test mytest
cut -d: -f1 /etc/passwd
cut -c1-3,5 /etc/passwd
tar -cvf myetc.tar /etc 功能:参数-c的功能是打包(创建),参数-v是显示处理过程,参数-f是用来指定文档名;
tar -zcvf myetc.tar.gz /etc
tar -zxvf myetc.tar.gz
tar -Zcvf myetc.tar.Z /etc
tar -jcvf myetc.tar.bz2 /etc
tar -zxvf myetc.tar.gz
tar -zxvf myetc.tar.gz -C /tmp
gzip myetc.tar
gunzip myetc.tar.gz
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -t vfat /dev/sda1 /mnt/myusb
umount /mnt/cdrom
ifconfig -a
ifconfig eth0 125.220.74.111 netmask 255.255.255.0
ifconfig eth0 down
ifconfig eth0 up
rpm -q httpd
rpm -q mysql
rpm -e php
rpm -ivh php-4.3.9-3.1-i386.rpm 安装php
man rpm 功能:查看rpm命令的帮助手册,按q键退出man环境
ps 功能:查询在当前控制台上运行的进程
ps -aux
pstree
top
kill
date
du
df
uname
ls -l | grep "^l"
ls -la | grep "^l" | wc -l
sort –r a.txt > b.txt
sort –r a.txt >> b.txt
more < /etc/httpd/conf/httpd.conf
cat <<! >a.txt
六、思考题
1、在自己的计算机主目录下创建文件abc,并设置其权限为同组用户有执行权限、属主有全部权限、其他用户没有权限?
依次执行以下三条指令:
cd ~ (或cd不带参数、 root用户可用cd \root、
user用户可用 cd \home\user)
mkdir abc
chmod u=rwx,g=x,o= abc (或 chmod 710 abc )
2、利用相关命令只显示出系统中当前内核的版本号,同时过滤系统其他的信息。
执行指令:uname -r|awk -F- '{print $NR}'
3、在每天凌晨2:15将目录下所有的扩展名为conf的文件打包压缩为myconf.tar.bz2。
以root身份登录或在终端下 su到root身份
编辑文件 /etc/crontab :vi /etc/crontab
追加行:
15 2 * * * tar -jcvf myconf.tar.bz2 /etc/*.conf
4、3天后将/tmp目录下的内容清空。
执行指令:at now +3 day
at> rm -rf /tmp/*
at> <EOT> //ctrl+d
5、将RHEL 4中的openldap服务器软件安装到当前系统中。
执行指令:mount -t iso9600 /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/packages
rpm -ivh penldap*.rpm
6、将3天以上10天以内修改过的/etc目录下的配置文件(扩展名为.conf)复制到/tmp目录下。
执行指令:
find /etc -ctime +3 -ctime -10 -exec cp {} /tmp \;
7、试着man命令如何把命令的帮助手册改为文本文件保存下来。
执行指令:
man ls > ls.manual
8、写出满足以下条件的正则表达式:开头是2个大写字母,中间不包含“.”、“^”和“?”的任意多个字符,结尾是3个数字。
^[A-Z]\{2\}[*^\.\^\?]$[0-9]\{3\}
9、写出匹配邮件地址的正则表达式。
[A-Za-z0-9.]+@[A-Za-z0-9.]+\.[a-zA-Z]{2,4}
七、实验小结
通过本次实验,了解了Linux应用环境,掌握了终端指令的执行方式,熟悉了Linux终端的使用, 理解并正确使用正则表达式。