linux - 检查使用的分区是什么?

标签 linux shell kernel partition rootfs

<分区>

我正在开发带有 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 在此系统上不起作用。

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

最佳答案

所以您想知道您的脚本当前位于哪个分区? 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 - 检查使用的分区是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24012179/

相关文章:

linux - 使用 Linux 网络设备别名时指定 TCP 套接字的源 IP 地址

linux - 在 Linux 中部分合并 2 个文本文件

linux - 有没有关于使用 OpenSSL 的 cryptolib 实现网络数据加密的书籍?

linux - apt-get 安装升级在 kali linux 上不起作用

linux - Bash 从 TSV 文件中提取特定列到新文件,并添加带有提取列标题的额外列

windows - 将文件内容从内核模式传递到用户模式的最快方法?

c - Linux 中 PTR_ALIGN 的用法

c - 在 C 中使用 open() 函数创建的文件的默认访问模式是什么?

linux - 内核空间有libc吗?

linux - Bash:根据用户输入在本地或远程计算机上运行函数中的所有命令