问题描述
什么是显示文件信息(或属性)的命令行,例如在GUI方法中显示GNOME中的属性?
我知道ls -l
显示属性;但如何显示相同的信息?
例如,而不是
rw-rw-r--
我们有这样的GUI渲染:
abdennour@estifeda: $wishedCmd myFile
.....
Permissions :
Owner Access: Read & write
Group Access :Read & Write
Others Access: Read only
.....
最佳解决方法
就像是
#!/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
次佳解决方法
使用stat
命令了解文件的详细信息。如果文件名是file_name
,请使用
stat file_name
第三种解决方法
没有专门的命令。对于时间,大小和访问权限等元信息,请使用
ls -l path-to-file
您可能也对它是什么类型的文件感兴趣,file path-to-file
将帮助您。
第四种方法
你试过file
吗?
例如:
file picture.jpg
第五种方法
ls -lh filename
用于人类可读的版本