让我头疼的solaris——fsck命令

博主在Solaris系统中无法正常关机,强行关机后运行fsck命令致/export/home文件夹消失。后按指南再次运行fsck恢复部分工作文件。还提到lost+found里有以“#”打头文件不知如何恢复,最后贴出fsck命令指南及使用建议。

不知道到底是那里出错了,无法正常关机,只好强行关机了。第二天早上,发现系统要求fsck。管他呢,让我怎么做,我就怎么做。运行fsck,一路yes,发现/export/home面所有的文件夹都消失了。郁闷!我的一天的工作啊!!!唉,不得不求助。翻了翻书,发现原来有些已经mount上的文件系统是不能fix的。ft!不知道,铸成大错了。不过天无绝人之路,书上说失去连接的文件在lost+found里。这可是我唯一的希望啊。赶紧找找。结果是令人失望了,所有的lost+found里都是空的。难道天要亡我?重启,再次fsck,注意对mount上的文件系统说no,其余都是yes,再看,发现home文件夹里不只是多了lost+found,还有很多文件夹。至少我的工作已经回来了。^_^,终于没有白费力气了。

总结:以后执行命令的时候,一定要仔细阅读指南,搞清楚应该做什么,不该做什么。

问题:lost+found里还有很多文件,以“#”打头,后面是数字编号,这是没有恢复连接的文件吗?怎么才能恢复呢?有看见这篇文章的高手请指点一下啊。

PS:由于第一次亲密接触(续)实在没有可写的了,因为后面安装只能说是一帆风顺,除了分区出了问题,一个分区小了,不得不重装。看来仔细阅读说明书还是很重要的。切忌瞎搞胡搞。

顺便把fsck的命令指南贴在这里作为参考。

fsck的语法如下: 
fsck (-F fstype) (-v) (-m) (-special…) 
fsck (-F fstype) (-v) (-y|Y|n|N) 
(-o fstype options) (special…) 
其中: 
-F fstype : 说明被检查的文件系统的类型 
-v : 返回完成的命令行,但不运行 
-y|Y: 对所有问题均回答Yes 
-n|N: 对所有问题均回答No 
-m: 对文件系统进行检查,不修复文件系统, 
如果文件系统经检查后是可安装的,则显示 
ufs fsck : sanity check : /dev/rdsk/c0t0d0s0 okay. 
-o: 文件系统类型选项,选项由逗号分隔, 
最常用的选项有两个: 
P: 整理(preen)模式 
F: 强制检查模式,此选项忽略文件系统状态标志。
1) 移去一个没有相关文件的目录入口 答Yes或Y来删除该目录入口
2) 重连接一个已分配但不能访问的文件
对fsck的"RECONNECT?"回答Yes,即把该I节点连接到lost+found目录下,文件名即是I节点号
3) 连接数调整 回答Yes或Y来改正连接数
4) 自由块表不一致 回答Yes或Y来修正超级块
  对于fsck询问的问题大多数情况下都可以用Yes来回答,所以在实际应用时,可以用" -y"选项来执行该命令
对硬盘进行检查和修复。

### fsck 命令概述 `fsck` 是一种用于检查和修复 Linux 或 Unix 系统中文件系统的工具。它主要用于检测并尝试修复文件系统中的错误,通常在磁盘未正常卸载或其他异常情况发生后使用[^4]。 该命令可以自动运行,在某些情况下也可以手动执行。以下是 `fsck` 的一些基本功能: - **检查文件系统的一致性**:验证文件系统结构是否完好无损。 - **修复损坏的文件系统**:尝试恢复因崩溃、断电等原因导致的数据丢失或损坏。 - **报告错误状态**:提供有关文件系统健康状况的信息。 ### 使用方法 #### 基本语法 ```bash fsck [选项] 设备名称 ``` 其中: - `[选项]` 可以指定不同的行为模式。 - `设备名称` 通常是目标分区的路径(例如 `/dev/sda1`)。 #### 主要参数说明 | 参数 | 描述 | |------------|----------------------------------------------------------------------| | `-a` | 自动修复文件系统中的问题而不提示用户确认。适用于简单的修复操作[^5]。 | | `-n` | 不做任何更改;仅显示会采取的操作。这有助于诊断潜在的问题而不会修改数据。 | | `-r` | 提示用户交互式地决定如何处理每个发现的错误。 | | `-y` | 对所有提示回答“yes”,适合完全自动化的情况。 | #### 示例用法 1. **检查特定分区** 如果需要检查某个具体的硬盘分区,则可以直接调用如下命令: ```bash sudo fsck /dev/sdb1 ``` 2. **强制检查根目录下的文件系统** 当怀疑根文件系统出现问题时,可以通过以下方式启动检查过程: ```bash sudo fsck -f / ``` 3. **批量扫描多个驱动器上的所有可用分区** 利用通配符来简化多设备管理流程: ```bash sudo fsck /dev/sd* ``` 注意:为了防止意外破坏正在使用的文件系统,请务必先将其安全卸载再进行维护工作[^6]。 ### 结合其他实用技巧 有时可能希望将 `fsck` 输出重定向到日志文件以便后续分析或者通过管道与其他程序配合完成更复杂的任务。例如下面的例子展示了如何把整个进程记录下来同时打印标准输出至终端屏幕: ```bash { fsck -Cv /dev/sdc1 ; echo "Finished checking sdc1"; } > check.log 2>&1 & ``` 这里利用到了之前提到的大括号组合形式以及后台作业控制符号(&)[^7]。 另外值得注意的是,虽然存在像 `tailf`(即`tail -f`)这样的实时监控手段可以帮助跟踪动态变化的日志文档内容[^8],但在实际运用过程中还是应该谨慎对待敏感信息泄露风险等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值