I see ?
as the first letter of stat.filemode()
result. But I don't remember that I have seen ?
as the first letter in a normal linux system.
https://en.wikipedia.org/wiki/Chmod
What ?
stands for? How to get -
as the first letter? Thanks.
#!/usr/bin/env bash
printMode() {
local mode; mode=$1; shift
printf '%s\t' "$@"
python3 -c 'import stat, sys; print(stat.filemode(int(sys.argv[1])))' "$mode"
}
printMode 0 0
for ((i=1;i<16;++i)); do
printMode "$((2**(i-1)))" "$i"
done
for ((i=0;i<=2;++i)); do
printMode "$((2**(i*3) + 2**(9+i)))" "$((i*3+1))" "$((10+i))"
done
0 ?---------
1 ?--------x
2 ?-------w-
3 ?------r--
4 ?-----x---
5 ?----w----
6 ?---r-----
7 ?--x------
8 ?-w-------
9 ?r--------
10 ?--------T
11 ?-----S---
12 ?--S------
13 p---------
14 c---------
15 d---------
1 10 ?--------t
4 11 ?-----s---
7 12 ?--s------