Se ls listar o conteúdo do diretório atual, existe um comando semelhante que lista o conteúdo de um diretório não atual, sem usar cd?
Depois ls
basta digitar o caminho do diretório que você deseja listar e você o receberá. Imagine que você está no diretório inicial, mas deseja listar /etc
. Basta executar ls /etc
e você será listado.
ls
vai fazer isso.
A sintaxe para ls
é:
ls flags file-or-directory-names
Pelo que estou chamando file-or-directory-names
, você pode listar arquivos no diretório atual, para ter apenas alguns arquivos listados. Por exemplo, ls -l foo bar
listará informações sobre just foo
e bar
(em formato longo, como forneci a -l
flag). ls baz*go
listará todos os arquivos cujos nomes começam baz
e terminam com go
(se houver).
Mas quando você der um nome de diretório para ls
, ele lista o conteúdo desse diretório em vez do diretório atual.
Então, para listar o conteúdo de /var/log
, você simplesmente executaria:
ls /var/log
Se você fornecer um caminho relativo para o diretório - ou seja, um que não comece com /
-, procurará esse diretório dentro do diretório atual (assim como procura por arquivos). Mas ainda listará o conteúdo do diretório, como você desejar.
Como uma observação lateral, às vezes você pode achar que não deseja listar o conteúdo de um diretório, mas apenas liste o diretório da mesma forma que um arquivo seria listado. Para fazer isso, você pode passar a -d
bandeira. Por exemplo, isso é exibido /var/log
em formato longo (não seu conteúdo , mas /var/log
ele próprio):
ls -ld /var/log
ls
não é responsável pela expansãobaz*go
para todos os arquivos que começambaz
e terminam comgo
- é o shell que faz isso.ls baz*go
é um exemplo dels
recebimento (potencialmente) de vários argumentos parafile-or-directory-names
(e dessa maneira é semelhante als foo bar
).