Score:1

ต้องการความช่วยเหลือในการแสดงสิทธิ์ของไฟล์/โฟลเดอร์ในข้อความที่ชัดเจน

ธง cn

ฉันต้องการความช่วยเหลือในการแสดงสิทธิ์เป็นข้อความที่ชัดเจนและเข้าใจได้

เช่น. rwx-wx--- เช่น:

สิทธิ์ของผู้ใช้: อ่าน เขียน ดำเนินการ
การอนุญาตกลุ่ม: เขียน, ดำเนินการ 
การอนุญาตอื่น ๆ : ไม่อนุญาต

ฉันต้องการสคริปต์นี้เพื่อให้เข้าใจได้ง่ายขึ้นสำหรับผู้ใช้ที่ไม่ใช่ด้านเทคนิค

Score:4
ธง vn

สคริปต์นี้จะทำเคล็ดลับ (ฉันเรียกว่าสคริปต์ สถานะไฟล์ - วางไว้ในเส้นทางของคุณ):

#!/bin/bash

# วนซ้ำในแต่ละอาร์กิวเมนต์
สำหรับไฟล์ใน "$@"; ทำ
  perm_type=('ผู้ใช้' 'กลุ่ม' 'อื่นๆ')
  (( ญ = 0 ))

  # ตรวจสอบว่ามีไฟล์อยู่หรือไม่
  ถ้า [[ -e "$file" ]]; แล้ว

    #พิมพ์ชื่อไฟล์
    echo -e "\nชื่อไฟล์: $file"

    # แยกสิทธิ์ octet
    perm_octet=$( stat -c "%a %n" "$file" | ตัด -d ' ' -f 1 )

    # เพิ่มแต่ละค่าของ octet ไปยังอาร์เรย์
    perm_array=()
    สำหรับ (( i = 0; i < "${#perm_octet}"; i++ )); ทำ
      perm_array+=("${perm_octet:$i:1}")
    เสร็จแล้ว

    # วนซ้ำในอาร์เรย์
    สำหรับ x ใน "${perm_array[@]}"; ทำ

      # พิมพ์ประเภทการอนุญาตและเพิ่มตัวนับ
      echo -n "สิทธิ์ ${perm_type[$j]}: "
      (( j++ ))

      # ตรวจสอบว่าการอนุญาตเป็นศูนย์ (ไม่มี) พิมพ์และเริ่มการทำซ้ำครั้งต่อไป
      ถ้า (( "$x" == 0 )); แล้ว
        ก้อง "ไม่มี"
        ดำเนินต่อ
      ไฟ

      # ตรวจสอบว่าสิทธิ์มี "อ่าน" พิมพ์และลบ 4
      ถ้า (( "$x" > 3 )); แล้ว
        เสียงสะท้อน -n "อ่าน"
        (( x = x - 4 ))
      ไฟ

      # ตรวจสอบว่าสิทธิ์มี "เขียน" พิมพ์และลบ 2
      ถ้า (( "$x" > 1 )); แล้ว
        echo -n "เขียน"
        (( x = x - 2 ))
      ไฟ

      # ตรวจสอบว่าสิทธิ์มี "ดำเนินการ" พิมพ์และลบ 1
      ถ้า (( "$x" > 0 )); แล้ว
        echo -n "ดำเนินการ"
        (( x = x - 1 ))
      ไฟ

      เสียงก้อง ""
    เสร็จแล้ว

  ไฟ

เสร็จแล้ว


แก้ไข: รับไฟล์จำนวนเท่าใดก็ได้เป็นอินพุต และตรวจสอบว่ามีไฟล์อยู่หรือไม่ ตัวอย่างเอาต์พุต:

$filestat ~/.bashrc ~/.config

ชื่อไฟล์: /home/am/.bashrc
สิทธิ์ของผู้ใช้: อ่านเขียน
การอนุญาตกลุ่ม: อ่านเขียน
การอนุญาตอื่น ๆ : อ่าน

ชื่อไฟล์: /home/am/.config
สิทธิ์ของผู้ใช้: อ่าน เขียน ดำเนินการ
การอนุญาตกลุ่ม: ไม่มี
การอนุญาตอื่นๆ: ไม่มี

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา