Bu dizinde yürütme iznim olmadığında 'ls' ve 'ls -l' arasındaki fark nedir?


11

Adlı bir dizin oluşturdum folderve yürütme iznini aldım .

$ mkdir folder
$ touch folder/innerFile
$ mkdir folder/innerFolder
$ chmod -x folder

Şimdi yaparsam

$ ls folder

bir dosya listesi verir, ancak

$ ls -l folder

alırım

ls: innerFile: Permission denied
ls: innerFolder: Permission denied

Neden?


4
Bu cevabı kontrol edin . Sorunuzun cevapları var.
Ramesh

2
"Bu dizinde yürütme iznim olmadığında 'ls' ve 'ls -l' arasındaki fark nedir?" Temelde, 'ls' ve 'ls -l' arasındaki fark olarak aynı şey yok dizinde yürütme iznine sahip.
G-Man 'Monica'yı Eski

Yanıtlar:


18

ls -lbir klasörde statiçeriği denenir, oysa ls:

$ strace ls folder -l
...
lstat("folder/innerFolder", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
getxattr("folder/innerFolder", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)
getxattr("folder/innerFolder", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available)
lstat("folder/innerFile", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
getxattr("folder/innerFile", "system.posix_acl_access", 0x0, 0) = -1 ENODATA (No data available)
getxattr("folder/innerFile", "system.posix_acl_default", 0x0, 0) = -1 ENODATA (No data available)
...

Eğer bir nedenle hep en ile "izin verilmedi" ls -ldeğil ile ls.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.