Primeiro, o diretório raiz é /
, não /root
. /root
é o diretório inicial do usuário root
. Além disso, você não precisa de sudo
para listar seu conteúdo. Apenas faça:
ls /
Para listar todos os arquivos (e diretórios) que começam com abc
, você quer
ls /abc*
Para ir para o diretório raiz, basta executar cd /
.
O comando ls /abc*
trata arquivos e pastas de maneira diferente. O glob é expandido pelo seu shell (bash) para todos os arquivos e pastas que começam com abc
. ls
listará os conteúdos de quaisquer diretórios que você fornecer. Por exemplo:
$ ls -l
total 4
-rw-r--r-- 1 terdon terdon 0 Jan 23 20:25 dfile.txt
drwxr-xr-x 2 terdon terdon 4096 Jan 23 20:25 dir1
$ ls dir1
-rw-r--r-- 1 terdon terdon 0 Jan 23 20:25 file2.txt
Portanto, eu tenho um diretório chamado dir1
e um arquivo chamado dfile.txt
. O diretório contém outro arquivo, file1.txt
. Agora, se eu executar ls d*
, ele listará o arquivo dfile.txt
e o conteúdo do diretório dir1
:
$ ls d*
dfile.txt
dir1:
file2.txt
Se você não quiser que ls
liste o conteúdo dos diretórios, execute-o com a opção -d
. Conforme explicado em man ls
:
-d, --directory
list directory entries instead of contents, and do not derefer‐
ence symbolic links
Então, por exemplo:
$ ls -d d*
dfile.txt dir1
Para listar todos os arquivos e diretórios que começam com abc
em /
sem listar o conteúdo do diretório, execute este:
$ ls -d /abc*
Como alternativa, se desejar apenas arquivos , use find
:
$ find / -maxdepth 1 -type f -name "abc*"
De man find
:
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc‐
tories below the command line arguments.
-name pattern
Base of file name (the path with the leading directories
removed) matches shell pattern pattern.
-type c
File is of type c:
d directory
f regular file