Прежде всего, корневым каталогом является / , а не /root . /root - домашний каталог пользователя root . Кроме того, вам не нужно sudo чтобы перечислить его содержимое. Просто делать:
ls /
Чтобы вывести список всех файлов (и каталогов), начиная с abc , вы хотите
ls /abc*
Чтобы перейти в корневой каталог, просто запустите cd / .
Команда ls /abc* обрабатывает файлы и папки по-разному. Глоб расширяется вашей оболочкой (bash) до всех файлов и папок, начинающихся с abc . ls перечислит содержимое любых каталогов, которые вы ему предоставите. Например:
$ 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
Итак, у меня есть каталог с именем dir1 и файл с именем dfile.txt . Каталог содержит другой файл, file1.txt . Теперь, если я запускаю ls d* , он перечислит файл dfile.txt и содержимое каталога dir1:
$ ls d*
dfile.txt
dir1:
file2.txt
Если вы не хотите, чтобы ls содержимое каталогов, запустите его с опцией -d . Как объяснено в man ls:
-d, --directory
list directory entries instead of contents, and do not derefer‐
ence symbolic links
Так, например:
$ ls -d d*
dfile.txt dir1
Чтобы вывести список всех файлов и каталогов, начинающихся с abc в / без списка содержимого каталога, выполните следующее:
$ ls -d /abc*
В качестве альтернативы, если вы хотите только файлы, используйте find:
$ find / -maxdepth 1 -type f -name "abc*"
От 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