Аргумент ls листинга каталога не работает, как ожидалось [дубликат]

Я нашел решение:

Сначала я запустил:

echo -e "deb http://http.kali.org/kali sana main non-free contrib\ndeb http://security.kali.org/kali-security/ sana/updates main contrib non-free" > /etc/apt/sources.list

, а затем

apt-get update 
apt-get update --fix-missing

, оно прямо здесь: Проблема с установкой Tor в Kali Linux

Спасибо!

3
04.06.2018, 21:14
3 ответа

Si bien la bandera -devita que lsdescienda a los directorios, eso es exactamente lo que hace. No significa listar solo directorios. Hay una diferencia sutil entre estas dos declaraciones en que si ejecuta ls -d some_file, entonces lsle mostrará some_file. Dado que está utilizando shell globbing (./*), este glob se expande para incluir los archivos en el directorio actual, así como los directorios en el directorio actual. Dado que el shell es lo que realiza el globbing y la expansión, y no ls, lsrecibe una lista de archivos.

Para evitar esto, debe asegurarse de que el shell global no incluya archivos normales. Puede hacer esto usando un /final en el globo. Dado que /es un carácter especial prohibido en los nombres de archivo, pero que denota la separación entre directorios, puede usarlo para hacer coincidir solo directorios.

Entonces, por ejemplo:

ls -d */
3
27.01.2020, 21:15

Esto puede depender de su shell.

los shells compatibles con POSIX más modernos enumeran solo directorios si agrega una barra inclinada a la estrella:

echo */

Así que si llamas:

ls -l */

obtiene el tipo de listado que espera.

Si no le gusta ver el contenido de los directorios llame al:

ls -ld */
2
27.01.2020, 21:15

Básicamente, mi confusión era por qué ls -ld./*no devolvía solo los directorios. El argumento ls espera un directorio para el que desea enumerar. Y dado que el argumento */fue evaluado por shell para todos los archivos y directorios (debido al comodín ); todo se enumeró, incluidos los archivos en el directorio sub -. La solución sugerida por muchos de ustedes fue ls -ld */; el comodín aquí se expandió solo a directorios y excluyó los archivos.

0
27.01.2020, 21:15

Теги

Похожие вопросы