【问题标题】:Check what partition is used? [closed]检查使用的是什么分区? [关闭]
【发布时间】:2014-07-23 14:42:01
【问题描述】:

我正在开发带有 Linux 的 SBC6845 卡: 我安装了 4 个分区:

Creating 5 MTD partitions on "atmel_nand":
0x000000000000-0x000000100000 : "Factory"
0x000000100000-0x000000300000 : "Kernel1"
0x000000300000-0x000000500000 : "Kernel2"
0x000000500000-0x000008280000 : "Rootfs1"
0x000008280000-0x000010000000 : "Rootfs2"

我想制作一个 shell 脚本来显示当前使用的分区,但我不知道如何。

命令“df -h”返回:

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               178.8G     65.4G    104.3G  39% /
tmpfs                    61.7M         0     61.7M   0% /dev/shm
tmpfs                    61.7M     36.0K     61.7M   0% /tmp

还有fdisk 在这个系统上不起作用。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 不,这对我没有帮助..
  • @AK_,我看不出链接的问题与这个问题有什么关系。
  • which partition is used 到底是什么意思?
  • 我在哪个分区?我想知道,当我在这个特定分区中执行一些脚本时,我将它保存在另一个分区(rootfs2 或 rootfs1)中。例如,我在内核 1 中,然后我知道我可以在内核 2 上做一些事情。对不起,它不是很了解,但我只想找到一种方法来查看我目前在哪个分区。

标签: linux shell kernel partition rootfs


【解决方案1】:

所以您想知道您的脚本当前位于哪个分区? df 可以帮到你!您只需将脚本的路径作为参数提供给它:

#!/bin/sh
df $0  | tail -1 | awk '{print $1}'

sh myscript.sh 给我:/dev/sda1

解释:

  • df $0 输出myscript.sh 所在的分区
  • tail -1 忽略 df 的第一行(列名)
  • awk '{print $1}' 返回df 的第一列,即分区

我希望这是你所期望的!

【讨论】:

  • 对不起,我对 linux 中的分区有点陌生,但 sda1 是什么?我的意思是,与 Kernel1、Rootfs 等相比。也许我需要挂载 sda1 什么的?
  • 其实我也不知道你是怎么得到这些分区名的。你使用的命令是什么?
  • 当我重新启动我的SBC6845卡时,它显示了很多这样的信息。也许它太具体了:/ 但 df 将我作为第一行 /dev/root 返回,这是否意味着它是使用的分区?
  • 是的,根据man df
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多