GNU/Linux >> Belajar Linux >  >> Linux

Tentukan apakah sistem file atau partisi dipasang RO atau RW melalui Bash Script?

Solusi 1:

One-liner kecil ini akan memunculkan sesuatu jika ada sistem file ro.

grep "[[:space:]]ro[[:space:],]" /proc/mounts 

Dengan asumsi Anda biasanya tidak memiliki sistem file ro seperti CD di drive, itu cukup untuk beberapa jenis pemantauan dasar dan tidak perlu mengubah sistem file untuk menemukan status saat ini. Itu juga tidak mengasumsikan tipe sistem file Anda. Masukkan ke dalam grep -v iso9660 jika Anda ingin menyimpan CD Anda dari catatan.

Solusi 2:

Pertanyaan lama, tetapi saya menemukannya mencari bantuan yang sama dan sepertinya menemukan cara yang lebih mudah tanpa perlu membuat file.

    [ -w /root-rw ] && echo "rw" || echo "ro"
    rw
    [ -w /root-ro ] && echo "rw" || echo "ro"
    ro

Tentu saja, root-ro adalah ro mount fs dan root-rw adalah rw fs.

Solusi 3:

Jika sistem file sudah terpasang, saya akan melakukan cd ke direktori sementara dan mencoba membuat file. Kode pengembalian akan memberi tahu Anda jika sistem file Read-Only atau Read-Write asalkan sistem file tidak penuh (terima kasih Willem).

Solusi 4:

Saya baru saja mengalami masalah ini dan ini adalah pasta asli ...

Lihatlah /proc/mounts -

egrep " ro,|,ro " /proc/mounts 
/dev/sda3 / ext4 ro,seclabel,relatime,barrier=1,data=ordered 0 0    
/dev/sda5 /var ext4 ro,seclabel,relatime,barrier=1,data=ordered 0 0

FYI - Kedua partisi ini ditampilkan sebagai sedang di-mount rw ketika hanya menggunakan perintah mount.

Solusi 5:

Berdasarkan jawaban flickerdfly, dipengaruhi oleh komentar dari WhiteKnight

Buat fungsi pendeteksi lalat.

eval "function is_readonly () {
          $( grep -P "\sro[\s,]" /proc/mounts | awk '{print "if echo $1 | grep -q \""$2"\"; then return 0;fi"}' )
      return 1;}";    

gunakan untuk menentukan apakah jalur ada di fs hanya baca

is_readonly /path/to/file/on/read/only/fs && echo "sorry. can't delete that"

Dan buang setelah selesai

#dump temp function
unset -f is_readonly;

Linux
  1. Bash Script:Periksa Apakah File Adalah File Teks?

  2. Menjalankan File Skrip Melalui Ssh Melalui Sudo?

  3. Script Untuk Menentukan Apakah File Adalah Gambar?

  1. Bagaimana Cara Memeriksa Substring Di Shell Script Bash?

  2. Bagaimana saya tahu nama file skrip dalam skrip Bash?

  3. Bagaimana cara menentukan apakah sistem file peka terhadap huruf besar-kecil di .net?

  1. Bagaimana cara menyorot skrip Bash di Vim?

  2. skrip bash menambahkan teks ke baris pertama file

  3. Bandingkan jumlah md5 dalam skrip bash