web-dev-qa-db-ja.com

Linuxパーティション名をbashでのみリストする

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でそれを行うにはどうすればよいですか?

4
user12145

デバイスにルート実行として定義されているすべてのパーティションを一覧表示するには、次のようにします。

lsblk

OR

fdisk -l

OR

cat/proc/partitions

また、@ GiedriusRekasiusが述べたように

fdisk -l/dev/sda | grep '^/dev' |カット-d '' -f1

7
TBI Infotech

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
5
grekasius

blkidは、マウントされているかどうかに関係なく、コンピューターに接続されている実際のストレージのみを表示します。

# Sudo blkid | awk '{print substr($1, 0, length($1) - 1)}'

/dev/sda1
/dev/sda2
/dev/sdb1
/dev/sdb2
/dev/sr1
2
Sencer H.

いくつかのアイデア...

awk '{print $1}' /proc/mounts

df | awk '{print $1}'

df | cut -f1 -d " "

2
ewwhite

別のオプション:

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行になります
1
mvermaes

どうですか:

df | cut -d" " -f1
1
krisFR
  [root@ct01 ~]# ls /dev/sd*[0-9]
  /dev/sda1  /dev/sda2
0
Kindule

このコマンドは、システム上のすべてのパーティションを簡単に反復できる形式で一覧表示します。

tail -n +3 /proc/partitions | awk '{ print $4 }'
0
Boscoe