Linux 练习题-3文件与磁盘 问答

1、描述Liux下软链接和硬链接的区别

  1. 创建命令不同,ln 命令创建硬链接,ln -s 创建软链接
  2. inode节点号不同,硬链接inode与源文件相同,软链接inode与源文件不同
  3. 使用对象不同,硬链接只能对文件使用,软链接可以对文件和目录使用
  4. 删除源文件影响不同,源文件被删除后,硬链接不受影响,软链接失效(红底白字闪烁状)
  5. 链接范围不同。软链接可以跨文件系统,硬链接不行

补充:

  1. 删除链接文件,对源文件无影响
  2. 同时删除源文件及其硬链接文件,整个文件才会被真正删除
  3. 很多硬件设备中的快照功能, 使用的就是类似硬链接的原理

2、linux shell中单引号,双引号,及不加引号的简单区别

  1. 单引号:所见即所得
  2. 双引号:会先解析变量或命令。需要配合反引号或$()
  3. 不加引号: 同双引号

3、linux下文件删除的原理

1、通俗地讲:

i_link(文件的硬链接数)和i_count(使用文件的进程数)都为0,则该文件被删掉

2、具体的讲:

文件名是存放在上层目录的block里的,删除文件,实质上是从目录里的blcok删除文件名,这并不会改变文件inode和block里的数据。只是当文件不在指向它对应的inode,其原来的inode和block会被释放出来,直到用于存放其文件和数据。所以,删除文件,需要对该文件的目录的block进行操作,所以,需要的是对该目录的权限。但对该目录有rwx权限,不一定对文件也有该权限,还得看文件的具体权限。

3、注意事项

如果删除进程正在使用的文件,则该文件的block不会释放,要重启一下进程才行

4、SSH服务连不上,如何排查

1、两个机器之间是否通畅,看物理网络(网线网卡,IP是不是正确)

ping -ip -t 检测

不通:

a、客户端到服务器端物理链路有问题

网卡,IP,网线,防火墙

2、服务是否好的

SSH服务是否是好的

telnet 地址 端口(服务器的IP和port)

不通:

a、服务器端防火墙阻拦

/etc/init.d/iptables stop

b、端口没开放,服务器端没有监听你连接的端口

netstat -lntup | grep 22 (SSH服务22端口为例)

netstat -lntup | grep sshd

/etc/init.d/sshd restart

5、一个100M(100000K)的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少个

主要看block块的大小,假设block块大小为4K,则

1K文件:25000个

1M文件:100个

6、如果向磁盘写入数据提示如下错误:No space left on device,  通过df -h查看磁盘空间,发现没满, 那么可能的原因是什么? 企业场景什么情况下会导致这个问题发生?

inode节点用完了

如果有许多零碎的日志小文件没有清理,可能会发生

7、简述RAID0,RAID1,RAID5三种工作模式的工作原理及特点

1、RAID0

连续以位或字节为单位分割数据,并行读/写于多个磁盘上,数据传输率很高,但没冗余

2、RAID1

通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。提供了很高的数据安全性和可用性,但磁盘空间使用率为1/2,读性能有提升(<n),写性能为单盘写性能

3、RAID5

分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。读性能为(n-1)/n ,写性能(n-1)/n

4、RAID的总结(0,1,5,10)

冗余从高到低:raid1,raid10,raid5,raid0

性能从高到低:

读:raid0=raid10=raid5(近似raid0)>raid1

写:raid0>raid5>raid1=raid10

成本从高到低:raid1=raid10>raid5>raid0

8、怎么把脚本添加到系统服务,实现serivec调用

1、编写脚本,将其移到/etc/init.d/目录下

2、脚本里必须设定启动级别,启动顺序,停止顺序

3、chkconfig 添加程序

原文地址:http://blog.51cto.com/12758568/2123165

时间: 2024-10-12 08:39:44

Linux 练习题-3文件与磁盘 问答的相关文章

Linux 练习题-3文件与磁盘 命令

1.如何取得/etc/passwd 文件的权限对应的数字内容,如rw-r--r-- 为644,要求使用命令取得644这样的数字 stat file | sed -nr 's#^.*\(0(.*)/-.*$#\1#gp'   #这里的\(是对(进行了转义 stat file | awk -F "[0/]" 'NR==4 {print $2}' stat -c %a file 2.linux下通过mkdir命令创建一个新目录/cbl/one ,它的硬链接数是多少? 如果在/cbl/one

Linux中删除文件,磁盘空间未释放问题追踪

在客户使用我们产品后,发现一个问题:在删除了文件后,磁盘空间却没有释放.是有进程在打开这个文件,还是其他情况?我们一起来看看一下两个场景 一. 场景一:进程打开此文件 当一个文件正在被一个进程使用时,用户删除此文件,文件只会从目录结构中删除,但并没有从磁盘删除.当使用这个文件的进程结束后,文件才会真正的从磁盘删除,释放占有的空间. 我们发现剩余磁盘空间比较少时,回去删除一些大的临时文件或者log文件,如果删除之后会发现磁盘空间并未减少,那么可以通过"lsof"命令去查看正在使用该文件的

Linux inode满导致创建文件报磁盘空间不足

客户报不能挂载存储,系统异常.登陆系统,尝试手动mount分区,报失败.进入挂载点,尝试写入一个文件,报磁盘空间不足,首先怀疑是系统磁盘空间满: $ df Filesystem           1K-blocks      Used Available Use% Mounted on /dev/xvda 33030016 10407780 22622236 32% / tmpfs 368748 0 368748 0% /lib/init/rw varrun 368748 56 368692

Linux下查看文件大小、文件占磁盘大小等详解(du 和df )使用命令

一.查看文件占磁盘大小一般使用du或df命令 df命令:用于显示磁盘分区上的可使用的磁盘空间.默认显示单位为KB.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. du命令:查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的.  df命令:显示磁盘分区上的可使用的磁盘空间. df[选项][参数] 选项: 1 -a或--all:包含全部的文件系统: 2 --block-size=<区块大小>:以指定的区块大

老男孩linux之取得文件的权限对应的数字练习题

老男孩linux之取得文件的权限对应的数字练习题 问题:如何取得shiayn文件的权限对应的数字内容,如-rw-r--r-- 为644,要求使用命令取得644这样的数字. 创建文件shiyan [[email protected] ~]# touch shiyan [[email protected] ~]# ll -rw-r--r--  1 root root    0 Jul 11 05:48 shiyan 使用stat命令来查看文件644权限 [[email protected] ~]#

Linux学习命令汇总六——磁盘分区,磁盘挂载,文件系统管理,压缩及归档命令

本章Blog相关Linux知识点 Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 系统中的文件.目录.软连接及文件保护信息等都存储在其中.按照名称进行存取. 磁盘:磁道,扇区 ,柱面 ,固定角速度 ,平均寻道时间 MBR :master boot recoard 主引导记录 (512字节),存放bootloader (引导加载器 446字节)+ 磁盘分区 (64字节) 一块磁盘最多分为4个主分区 ,或者3主分区1扩展分区  ,磁盘在C

Linux下查看哪些文件占用磁盘空间比较大

du -sh /* | sort -nr  查看根目录下各文件占用磁盘空间大小, sort 命令参数: -b 忽略每行前面开始出的空格字符.-c 检查文件是否已经按照顺序排序.-f 排序时,忽略大小写字母.-M 将前面3个字母依照月份的缩写进行排序.-n 依照数值的大小排序.-o<输出文件> 将排序后的结果存入指定的文件.-r 以相反的顺序来排序.-t<分隔字符> 指定排序时所用的栏位分隔字符.-k 选择以哪个区间进行排序.

小何讲Linux: 基本文件操作和实例

文件操作的基本概念参见博客: 小何讲Linux: 底层文件I/O操作 1.  函数说明 open()函数:是用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数. 所谓打开文件实质上是在进程与文件之间建立起一种连接,而"文件描述符"唯一地标识着这样一个连接 close()函数:是用于关闭一个被打开的文件.当一个进程终止时,所有被它打开的文件都由内核自动关闭,很多程序都使用这一功能而不显示地关闭一个文件. read()函数:是用于将从指定的文件描述符中读出的数据

在Linux系统中文件(资源)和用户的管理

一个可执行二进制程序,被加载到内存,被内核调度到CPU上运行,这时候,就表现了一个进程.也可以说进程是程序的一个实例,是程序的动态表现. 在 Linux 系统中进程(process)是有属主的,也就是该进程以哪个用户的身份运行的.大家都知道,程序有输入和输出,也称这为程序IO.如果我们程序数据输入是磁盘.如,Web 服务器,接收用户的请求之后,把网页数据从磁盘中读入加工之后再把数据响应给用户.如果,发起Web 服务进程的用户没有读取该用户请求网页文件的权限.则无法响应用户的请求了.所以,文件(资