Як відобразити властивості файлів через термінал?


58

Що таке командний рядок, який відображає інформацію про файли (або властивості), наприклад, у методі GUI Відображення властивостей у GNOME?

Відображення властивостей GNOME

Я знаю, що ls -lпоказує властивості; але як відображати ту саму інформацію?

Наприклад, замість

rw-rw-r--

у нас є такий GUI-рендерінг:

abdennour@estifeda: $wishedCmd myFile
 ..... 
  Permissions : 
    Owner Access: Read & write 
    Group Access :Read & Write 
    Others Access: Read only
   .....

Скріншот діалогу дозволів


9
Про що stat? Це дасть вам величезну кількість інформації про вибраний файл або папку; див man stat.

Відповіді:


15

Щось на зразок

#!/bin/bash
print_perm() {
  case "$1" in
    0) printf "NO PERMISSIONS";;
    1) printf "Execute only";;
    2) printf "Write only";;
    3) printf "Write & execute";;
    4) printf "Read only";;
    5) printf "Read & execute";;
    6) printf "Read & write";;
    7) printf "Read & write & execute";;
  esac
}

[[ ! -e $1 ]] &&  echo "$0 <file or dir>" 2>&1 && exit 1

perm=$(stat -c%a "$1")
user=${perm:0:1}
group=${perm:1:1}
global=${perm:2:1}

echo "Permissions :"
printf "\tOwner Access: $(print_perm $user)\n"
printf "\tGroup Access: $(print_perm $group)\n"
printf "\tOthers Access: $(print_perm $global)\n"

Вихід

# rwxr-x--- foo*
> ./abovescript foo
Permissions :
    Owner Access: Read & write & execute
    Group Access: Read & execute
    Others Access: NO PERMISSIONS

91

Використовуйте statкоманду, щоб знати деталі файлу. Якщо ім'я файлу є file_name, використовуйте

stat file_name

26

Для цього немає виділеної команди. Використовуйте мета-інформацію, наприклад час, розмір та права доступу

ls -l path-to-file

Можливо, вам також буде цікаво, що це за файл, file path-to-fileдопоможе вам у цьому.



6
ls -lh filename

для читаної для людини версії


Це робить розмір файлів "читабельним". Ви отримуєте 32K замість 31900. Але це не допомагає для прав доступу. Але корисно все одно ;-)
Тобіас Гартнер

0

Ви можете використовувати lsкоманду для списку файлів та їх властивостей, додавши -lпараметр. Приклад:

$ls -l filename


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.