如何通过终端显示文件属性?

Abd*_*UMI 77 permissions command-line file-properties

显示文件信息(或属性)的命令行是什么,例如在 GNOME中的 GUI 方法中显示属性

GNOME 显示属性

我知道ls -l显示属性;但如何显示相同的信息?

例如,代替

rw-rw-r--
Run Code Online (Sandbox Code Playgroud)

我们有这样的 GUI 渲染:

abdennour@estifeda: $wishedCmd myFile
 ..... 
  Permissions : 
    Owner Access: Read & write 
    Group Access :Read & Write 
    Others Access: Read only
   .....
Run Code Online (Sandbox Code Playgroud)

权限对话框截图

小智 126

使用该stat命令可以了解文件的详细信息。如果文件名是file_name,请使用

stat file_name
Run Code Online (Sandbox Code Playgroud)


Jen*_*rat 33

没有专门的命令用于此。对于时间、大小和访问权限等元信息,请使用

ls -l path-to-file
Run Code Online (Sandbox Code Playgroud)

您可能还对它是什么类型的文件感兴趣,file path-to-file它将帮助您解决这个问题。


Sir*_*rlo 24

你试过file吗?

例如:

file picture.jpg
Run Code Online (Sandbox Code Playgroud)


小智 19

就像是

#!/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"
Run Code Online (Sandbox Code Playgroud)

输出

# rwxr-x--- foo*
> ./abovescript foo
Permissions :
    Owner Access: Read & write & execute
    Group Access: Read & execute
    Others Access: NO PERMISSIONS
Run Code Online (Sandbox Code Playgroud)


小智 10

ls -lh filename
Run Code Online (Sandbox Code Playgroud)

对于人类可读的版本

  • 这使得文件大小“可读”。您将获得 32K,而不是 31900。但对访问权限没有帮助。但无论如何还是有帮助的;-) (2认同)