Как отобразить свойства файла через терминал?


58

Что такое командная строка, которая отображает информацию (или свойства) файла, например, в методе графического интерфейса Отображать свойства в 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

93

Используйте 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.