实验 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 文件复制到你的主目录中:

[student@desktopX ~]$ cp /usr/share/dict/words .

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

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

[student@desktopX ~]$ 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 文件:

[student@desktopX ~]$ ln -s word soft

[student@desktopX ~]$ ln word hard

5、

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

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

[student@desktopX ~]$ head hard soft

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

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

[student@desktopX ~]$ 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

[student@desktopX ~]$ 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 命令来判断每个文件系统上的空余空间总量:

[student@desktopX ~]$ dh

[student@desktopX ~]$ dh -h

[student@desktopX ~]$ dh -H

比较这三者输出的差别。

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

[student@desktopX ~]$ su

[student@desktopX ~]$ tar -cvf /tmp/confbackup.tar /etc

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

[student@desktopX ~]$ ls -lh /tmp/confbackup.tar

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

[student@desktopX ~]$ cd /tmp

[student@desktopX tmp]$ gzip -v confbackup.tar

[student@desktopX tmp]$ ls -lh confbackup.tar.gz

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

[student@desktopX tmp]$ gunzip confbackup.tar.gz

[student@desktopX tmp]$ bzip2 -v confbackup.tar

[student@desktopX 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。

详情见下:

[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# 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

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

  1. Linux系统及编程期末试题,《LINUX系统及其编程》考试试题及答案.doc

    <LINUX系统及其编程>考试试题及答案 <Linux系统及其编程>模拟练习参考答案 一.单项选择题 .Linux的根分区系统类型是 C . A. FAT16 B.FAT32 ...

  2. 一行命令查看Linux系统重启时间和相关记录

    一行命令查看Linux系统重启时间和相关记录. 系统启动时间并转换为秒: date -d "$(who -b | awk -F' ' '{print $(NF-1),$NF}')" ...

  3. linux系统——Shell编程之变量解释

    linux系统--Shell编程之变量解释 - Shell能做什么 自动化批量系统初始化程序 (update,软件安装,时区设置,安全策略-) 自动化批量软件部署程序 (LAMP,LNMP,Tomca ...

  4. Linux学习-Linux系统及编程基础笔记

    useradd zhangsan passwd zhangsan visudo往/etc/sudoers文件中添加zhangsan #visudo 找到如下的行 root ALL=(ALL) ALL ...

  5. linux系统/网络编程

    经典数据: APUE:unix环境高级编程3版 linux系统编程手册 德 linux系统编程 oreily unix内核源码剖析 日 windows核心编程 linux系统开发模式: ssh远程登录 ...

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

    在前面,我们学习了传统的进程间通信方式--无名管道(pipe).有名管道(fifo)和信号(signal). 下面我们来学习 System V  IPC 对象: 1.共享内存(share memory ...

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

    一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...

  8. 国产Linux系统深度商店应用更新记录汇总(2021-12)

    新增应用 序号 状态 应用分类 应用名称 应用类型 1 上架 网络应用 远程协助 Linux 2 上架 效率办公 即时设计 Linux 3 上架 编程开发 Eclipse for PHP Develo ...

  9. linux 系统时间是在哪里记录的,Linux系统如何记录时间

    1.内核在开机启动的时候会读取RTC硬件获取一个时间作为初始基准时间,这个基准时间对应一个jiiffies值(这个基准时间换算成jiffies值的方法是:用这个时间减去1970-01-01  00:0 ...

  10. linux系统io编程,Linux系统编程(1) —— 文件IO

    本文主要对Linux系统中文件I/O的基本操作进行说明. 在Linux系统编程中,对文件进行处理的流程,通常是: 打开文件 读写文件 关闭文件 Linux内核对每一个进程维护一个打开的文件列表, 该文 ...

最新文章

  1. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
  2. C++ #pragma comment语法(预处理指令)
  3. Sperner定理及其证明
  4. 围绕LEADS理念以开发者为中心,华为HDG伴你梦飞扬!(转载)
  5. 用 Python 检验数据正态分布的几种方法
  6. HTML|CSS之布局相关总结
  7. googletest,笔记20190821
  8. 深度学习推荐模型-NFM
  9. torch报告_Stack Overflow 2020调查报告发布,Rust 5连冠
  10. C# 读取Sqlite数据库的Datetime类型 会报错(时间格式不正确)
  11. Android 悬浮窗的实现(类似于360加速球)
  12. JAVA毕设项目大数据在线考试系统在线阅卷系统及大数据统计分析(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
  13. python3模拟登录_python3模拟登录有哪些情况
  14. 细菌实验分组(C程序设计进阶第2周)
  15. Java异常 #IllegalArgumentException: warning no match for this type name: com.wei.cloud.aop
  16. 网易2019游戏研发工程师笔试题
  17. Gradle 学习 ----Gradle 进阶说明
  18. 实现 JavaScript 哈希算法 包含 md5, sha1 sha256
  19. 频率与时间换算方法-stm精确延时
  20. FFmpeg中调用av_read_frame函数导致的内存泄漏问题

热门文章

  1. T-SQL笔记7:临时表和表变量
  2. 工业互联网巨头 GE Digital 修复SCADA 软件中的两个高危漏洞
  3. BIND DNS 软件修复高危 DoS 漏洞
  4. 苹果发布2019年上半年透明度报告,收到数万条政府请求
  5. 《Java高并发程序设计》读书笔记 第二章 并行程序基础
  6. xposed环境搭建
  7. 现实世界中正在用Java解决的难题
  8. 小箭头的写法,z-index在ie7显示混乱问题
  9. openwrt uci
  10. WampServer下开启curl