Po pierwsze, katalog główny to /
, nie /root
. /root
jest katalogiem domowym root
użytkownik. Również nie potrzebujesz sudo
aby wyświetlić jego zawartość. Po prostu zrób:
ls /
Aby wyświetlić listę wszystkich plików (i katalogów) od abc
, chcesz
ls /abc*
Aby przejść do katalogu głównego, po prostu uruchom cd /
.
Komenda ls /abc*
traktuje pliki i foldery inaczej. The glob jest rozwijany przez powłokę (bash) do wszystkich plików i folderów rozpoczynających się od abc
. ls
wyświetli listę zawartość wszystkich katalogów, które mu dajesz. Na przykład:
$ 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
Mam więc katalog o nazwie dir1
i plik o nazwie dfile.txt
. Katalog zawiera inny plik, file1.txt
. Teraz, jeśli ucieknę ls d*
, wyświetli plik dfile.txt
i zawartości katalogu dir1
:
$ ls d*
dfile.txt
dir1:
file2.txt
Jeśli nie chcesz ls
aby wyświetlić zawartość katalogów, uruchom ją za pomocą -d
opcja. Jak wyjaśniono w man ls
:
-d, --directory
list directory entries instead of contents, and do not derefer‐
ence symbolic links
Na przykład:
$ ls -d d*
dfile.txt dir1
Aby wyświetlić listę wszystkich plików i katalogów zaczynających się od abc
w /
bez wyświetlania zawartości katalogu, uruchom to:
$ ls -d /abc*
Alternatywnie, jeśli chcesz tylko pliki, użyj find
:
$ find / -maxdepth 1 -type f -name "abc*"
Z 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
sudo
zcd
. jeśli potrzebujesz znaku zachęty roota, albo uruchom powłokę jako root, albo uruchomsudo -i
uruchomić serię poleceń jako root. po drugie, katalog główny to /, nie / root. lub jeszcze lepiej, użyjsudo ls .... /root
aby uruchomić polecenie listy jako root.