《linux系统及其编程》实验课记录(六)

实验 6:Linux 文件系统


实验环境:


安装了 Red Hat
Enterprise Linux 6.0 可运行系统,并且是成功验证系统。有另外一个无特权用户 student,密码 student
的账户存在。

实验目标:


更好的理解 Linux
文件系统基础,包括创建和使用链接;使用 locate 和 find 命令查找文件;归档和压缩文件。

实验背景:


每次启动的时候,你的系统的主硬盘驱动器都开始发出讨厌的噪音。

你怀疑硬盘可能要寿终正了,其中的人数据也要跟着陪葬了。由于你之前没有进行过数据备份的操作,所以你决定手工备份几个至关重要的文件。假设/tmp
目录所在的分区位于另一个驱动器,因此你决定暂时把备份存放在那里。

实验要求:


1、使用 ln
分别创建软连接、硬链接

2、使用 dh
查看磁盘用量

3、使用 tar、gzip、bzip2
备份配置文件

实验详解:


1、使用口令 student 登录为用户
student。如果你使用的是图形化环境,点击[应用程序(Applications)]->[附件(System
Tools)]->[终端(Terminal)]来打开终端:

2、使用 cp 命令把
usr/share/dict/word 文件复制到你的主目录中:

[[email protected] ~]$
cp /usr/share/dict/words .

注意:此处’.’表示当前目录。

3、查看/usr/share/dict/words 的相关信息:

[[email protected] ~]$
ls /usr/share/dict/words

-rw-r—r-- 1 root root
409305 Sep 30 21:08 linux.words

lrwxrwxrwx 1 root
root 11 Sep 30 21:08 word -> linux.word

这里的文件 word
是一个符号链接:文件模式的第一个字符是代表符号链接的’l’;并且文件名包括了显示链接目标的”-> linux.word”。

4、在主目录中创建一个符号链接和一个硬链接,都指向你的主目录中的 words 文件:

[[email protected] ~]$
ln -s word soft

[[email protected] ~]$
ln word hard

5、

测试一下新建的连接是否正确地指向
words 中的数据,

我们使用 head 命令显示文件中的前
10 行:

[[email protected] ~]$
head hard soft

我们可以看到,两者输出相同,就说明我们的链接创建正确。

6、详细查看两个文件的相关信息,比较两种链接的区别:

[[email protected] ~]$
ls -il hard soft

84040 -rw-r--r-- 2
student student 4950996 Aug 22 14:43 hard

84021 lrwxrwxrwx 1
student student 5 Aug 22 15:18 soft -> words

[[email protected] ~]$
stat hard soft

File:
`hard‘

Size:
4950996

Blocks:
9712

IO Block: 4096
regular file

Device: fd01h/64769d
Inode: 84040

Links: 2

Access:
(0644/-rw-r--r--) Uid: ( 500/ student) Gid: ( 500/ student)

Access: 2011-08-22
15:22:48.000000000 +0800

Modify: 2011-08-22
14:43:10.000000000 +0800

Change: 2011-08-22
15:17:55.000000000 +0800

File: `soft‘ ->
`words‘

Size: 5

Blocks: 2

IO Block: 4096
symbolic link

Device: fd01h/64769d
Inode: 84021

Links: 1

Access:
(0777/lrwxrwxrwx) Uid: ( 500/ student) Gid: ( 500/ student)

Access: 2011-08-22
15:36:42.000000000 +0800

Modify: 2011-08-22
15:18:35.000000000 +0800

Change: 2011-08-22
15:18:35.000000000 +0800

7、使用 df
命令来判断每个文件系统上的空余空间总量:

[[email protected] ~]$
dh

[[email protected] ~]$
dh -h

[[email protected] ~]$
dh -H

比较这三者输出的差别。

8、使用 tar 命令把/etc
的内容打包,保存在/tmp 中:

[[email protected] ~]$
su

[[email protected] ~]$
tar -cvf /tmp/confbackup.tar /etc

9、查看压缩文件的属性,特别注意 tar
包的大小:

[[email protected] ~]$
ls -lh /tmp/confbackup.tar

10、使用 gzip
命令来压缩归档文件,注意这个新文件的大小:

[[email protected] ~]$
cd /tmp

[[email protected]
tmp]$ gzip -v confbackup.tar

[[email protected]
tmp]$ ls -lh confbackup.tar.gz

11、给文件解压,用 bzip2
重新压缩,比较压缩文件的大小:

[[email protected]
tmp]$ gunzip confbackup.tar.gz

[[email protected]
tmp]$ bzip2 -v confbackup.tar

[[email protected]
tmp]$ ls -lh confbackup.tar.bz2

12、注销,清除。

SUM:

1、ln命令创建软链接(符号链接)和硬链接。

ln -s
创建软链接,ln创建硬链接。

详情见下:

Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link)(符号连接),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。

2、head命令,查看文件前10行内容。

3、一个打包命令,两个压缩命令

打包:tar

压缩:gzip 和
bzip2

压缩率:tar<gzip<bzip2。

详情见下:

[[email protected] ~]# tar
-cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[[email protected] ~]# tar -zcvf
/tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[[email protected] ~]# tar -jcvf
/tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f
之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的
tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
#
上述指令在执行的时候,会显示一个警告讯息:

Freecode : www.cnblogs.com/yym2013

时间: 2024-10-25 13:30:33

《linux系统及其编程》实验课记录(六)的相关文章

linux系统-shell编程-基本调试执行

linux系统-shell编程-基本调试执行 一 shell结构 1 #!执行脚本的shell 2 # 注释行 shell脚本的注释很重要,不可缺少 3 命令和控制结构 二 创建shell程序的步骤 1 创建一个包含命令和控制结构的文件 2 修改文件的权限chmod u+x 对于普通用户用 sh 脚本 执行 对脚本有r权限, 对脚本的目录有rx权限 对于普通用户用 脚本 执行 对脚本和脚本的目录都有rx权限 3 执行:./example or sh expample ./表示当前目录

Linux系统初学-第三课 Linux网络配置

Linux系统初学-第三课 Linux网络配置 1.动态IP配置 配置文件路径 /etc/sysconfig/network-scripts/ ls查看网卡eth0,其中HWADDR值得获取:ifconfig eht0 | grep HWaddr,保存之后,service network restart. c BOOTPROTO 网络配置参数,BOOTPROTO=dhcp 动态IP,BOOTPROTO=static 静态IP,BOOTPROTO=none 无(不指定) NETMASK 网络掩码,

Linux 系统应用编程——进程间通信(下)

在前面,我们学习了传统的进程间通信方式--无名管道(pipe).有名管道(fifo)和信号(signal). 下面我们来学习 System V  IPC 对象: 1.共享内存(share memory): 2.信号灯(semaohore): 3.消息队列(message queue):        IPC对象是活动在内核级别的一种进程间通信的工具.存在的IPC对象通过它的标识符来引用和访问,这个标识符是一个非负整数,它唯一的标识了一个IPC对象,这个IPC对象可以是消息队列或信号量或共享存储器

Linux 系统应用编程——进程基础

一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策略(由内核来执行)支持多个任务并发执行.事实上,(单核)处理器在某一时刻只能执行一个任务.每个任务创建时被分配时间片(几十到上百毫秒),任务执行(占用CPU)时,时间片递减.操作系统会在当前任务的时间片用完时调度执行其他任务.由于任务会频繁地切换执行,因此给用户多个任务运行的感觉.所以可以说,多任务

linux系统-shell编程-几个shell脚本

一 灭掉用户 killuser.sh #!/bin/sh # The script to kill login user user_name="$1" /bin/ps aux | /bin/grep $user_name | /bin/awk `{ print $2 }` > /tmp/temp.pid kill_id=`cat /tmp/temp.pid` for PID in kill_id do /bin/kill -9 $PID 2> /dev/null done

centos linux系统日常管理3 第十六节课

上半节课 下半节课 Linux系统服务管理 ntsysv工具ntsysv 类似图形界面管理工具,如果没有该命令安装  yum install -y ntsysv  常用服务:crond, iptables, network, sshd, syslog, irqbalance, sendmail, microcode_ctl 保存后需要reboot才能生效 chkconfig (命令行服务管理工具) 列出服务列表: chkconfig --list 关闭2级别 : chkconfig --leve

Linux 系统应用编程——进程间通信(上)

现在再Linux应用较多的进程间通信方式主要有以下几种: 1)无名管道(pipe)及有名管道(fifo):无名管道可用于具有亲缘关系进程间的通信:有名管道除具有管道相似的功能外,它还允许无亲缘关系进程使用: 2)信号(signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程某事件发生.一个进程收到一个信号与处理器收到一个中断请求处理的过程类似: 3)消息队列(message queue):消息队列是消息的链接表,包括POSIX消息队列和System V 消息队

记录linux系统用户shell终端操作记录

在 /etc/profile 最后添加 export HISTTIMEFORMAT='[%F %T]: ' export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger -t audit "[euid=$(whoami)]":$(who am i):[$(pwd)]:"$msg";}' alias crontab-l='cat /var/spool/cron/tabs/root /

Linux 系统应用编程——网络编程(利用TCP/IP 模型分析数据传输过程)

TCP/IP参考模型是一个非常基础,而且也非常重要的基础框架,要想入门数通这是个必须掌握的基本概念,本文档通过一个简单的示例,结合参考模型来分析一下数通的基本过程. 网络环境非常简单,如下图所示,我们现在来分析一下PC去访问Webserver的WEB服务,整个数据通信过程是如何发生的,为了简化描述,我们这里暂时忽略DNS.ARP.帧校验等等机制的工作细节,只考虑较为宏观的层面. 1)PC访问WebServer的WEB服务,实际上是访问Webserver的HTTP服务.这个过程对于人来说,就是在P