linuxのdfは、パーティションに関する次の統計を一覧表示します。
-bash-4.1#df Filesystem 1K-blocks Used Available Use%Mounted on /dev/sda3 1918217320 1473337340 347440136 81%/ tmpfs 32970328 0 32970328 0%/ dev/shm /dev/sda1 482214 148534 308781 33%/ boot /dev/sdd1 1922860884 1638599284 186585876 90%/ disk5 /dev/sdc1 1922858352 1474925416 350257336 81%/ disk2 /dev/sdb1 1922858352 1028783752 796399000 57%/ disk4
パーティション名のリストを取得したい場合、たとえば: "/ dev/sda3/dev/sda1/dev/sdc1 ..." bashでそれを行うにはどうすればよいですか?
デバイスにルート実行として定義されているすべてのパーティションを一覧表示するには、次のようにします。
lsblk
OR
fdisk -l
OR
cat/proc/partitions
また、@ GiedriusRekasiusが述べたように
fdisk -l/dev/sda | grep '^/dev' |カット-d '' -f1
df
は、マウントされたパーティションのみを表示します。それが必要な場合は、df
出力からデバイスノードを抽出するには、「/ dev」で始まる行のgrep
と残りの出力の最初の列をcut
します。 :
df | grep '^/dev' | cut -d' ' -f1
または、スペースで区切って1行にリストします。
df | grep '^/dev' | cut -d' ' -f1 | tr '\n' ' '
必ずしもマウントされていないパーティションのリストを取得する場合は、rootとしてfdisk -l
を実行し、オプションでパーティションをスキャンするデバイスを指定できます。
fdisk -l [device...]
デバイスを指定しない場合、そのファイルが存在する場合、fdiskは/proc/partitions
に記載されているデバイスを使用します。
Fdiskはdf
と同様の形式で情報を出力するため、デバイスノードを抽出するには、df
で説明したのと同じことを実行できます。
fdisk -l | grep '^/dev' | cut -d' ' -f1
blkid
は、マウントされているかどうかに関係なく、コンピューターに接続されている実際のストレージのみを表示します。
# Sudo blkid | awk '{print substr($1, 0, length($1) - 1)}'
/dev/sda1
/dev/sda2
/dev/sdb1
/dev/sdb2
/dev/sr1
いくつかのアイデア...
awk '{print $1}' /proc/mounts
df | awk '{print $1}'
df | cut -f1 -d " "
別のオプション:
df --type ext2 --type ext3 --type ext4 | tail -n +2 | awk '{ print $1 }' | tr '\n' ' '
--type <filesystem>
は、関心のあるファイルシステムを指定できますtail -n +2
出力の2行目から印刷を開始します(見出し行が印刷されないようにするため)awk '{ print $1 }'
は、パーティション情報を含む左端の列を出力しますtr '\n' ' '
は改行をスペースに変換するため、情報はすべて1行になりますどうですか:
df | cut -d" " -f1
[root@ct01 ~]# ls /dev/sd*[0-9]
/dev/sda1 /dev/sda2
このコマンドは、システム上のすべてのパーティションを簡単に反復できる形式で一覧表示します。
tail -n +3 /proc/partitions | awk '{ print $4 }'