Neste artigo, será explicado como usar os comandos do terminal para fornecer informações sobre alguns comandos e o que eles fazem.
Também serão mostrados alguns exemplos para ilustrar o processo.
A ferramenta de linha de comando é avançada. Existem ferramentas que transformam um trabalho tedioso executado em uma interface gráfica do usuário (UI) em uma tarefa que leva apenas alguns segundos. Remover as últimas quatro linhas em cada coluna de um arquivo grande seria um processo demorado em um aplicativo de interface do usuário. No entanto, é possível automatizá-lo na linha de comando.
As maneiras mais comuns de abrir uma janela do Terminal no Ubuntu Linux são:
Há muitos comandos associados ao shell do terminal no Ubuntu Linux. O artigo abaixo lista os comandos mais usados comumente, de acordo com os grupos que eles afetam.
Há três comandos principais que usamos a fim de fornecer todas as informações necessárias para usar os vários comandos do terminal.
O comando man exibe o manual de qualquer comando usado no terminal.
A maioria dos comandos do shell aceita várias opções. Para obter algumas informações sobre um comando e uma lista das opções disponíveis, use a man
— abreviação de comando manual. Forneça o nome do comando sobre o qual você deseja saber mais como argumento. Esse é o comando man
em que o comando funciona.
Exemplo: Se você digitar o comando man who
, a seguinte mensagem é exibida:
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
Muitos dos manuais têm várias telas. Use o cursor ou ARROW
ou as teclas Page Up e Page Down para navegar pelo texto. A barra de espaço mostra a próxima linha de texto. Pressionar a tecla q fecha o manual e retorna ao shell.
Podemos ver na página de manual que podemos usar a -a
opção para exibir mais informações sobre as sessões de usuário ativas.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Ele também lê arquivos de ajuda para programas, o man
comando também pode fornecer informações sobre shells, funções e bibliotecas.
Se não tiver certeza de como usar um comando específico, execute o comando com os switches -h
ou –help
. Você verá informações de uso e uma lista de opções que podem ser usadas com o comando.
Exemplo: Se você quiser saber como usar o comando, wget
digite wget –help
ou wget -h
.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Isso geralmente imprime muitas informações no terminal. Pode ser difícil navegar nele. Para ler o resultado com mais facilidade, você pode pipe
usando o comando less. Ele permite navegar pelo terminal com as teclas de Seta do teclado.
Exemplo: wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
Pressione q para fechar o utilitário less quando terminar.
Para encontrar uma opção específica, você pode pipe
o resultado por meio do grep
. (Por exemplo: Use o comando a seguir para pesquisar opções que contenham a palavra proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Alguns comandos também são documentados no sistema info
. As informações aqui complementam o que o man
comando exibe.
Exemplo: Digite o comando info ls,
a seguinte mensagem é exibida.
[support@support]$" info ls
Agora você pode visualizar um manual com informações importantes sobre o comando ls
.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
Você pode rolar as páginas para baixo pressionando a barra de espaço ou usando o cursor/ARROW
as teclas.
help
, pressione Hquit
, pressione Q
Em um terminal, você pode fazer praticamente tudo o que também faria de uma interface do usuário.
Como dito antes, muitos comandos foram projetados primeiro para funcionar no terminal e, só depois, na interface do usuário. É por isso que algumas GUIs podem parecer incompatíveis. Elas só foram pensadas posteriormente, já que a maioria das compilações do servidor Linux não as utilizam.
O local padrão para abrir o terminal pelo menu está na pasta inicial, conhecido como ~
Você pode encontrar seu diretório atual pelo operador .
. A maioria dos comandos diferenciam maiúsculas de minúsculas quando atuam na operação de seleção da pasta atual em comandos, locais e arquivos. /home
não é igual a /HOME
ou /Home
.
Use a tecla TAB para concluir os nomes dos arquivos se você tiver um título de driver longo. driver-128947232jaseu.sh
por exemplo, digite: dri
e ela digita o resto. Desde que você não tenha dois nomes começando com dri
e se você tiver, adicione outro caractere para torná-lo driv
e tente novamente. Certifique-se de que o preenchimento automático corresponda ao que você deseja ver.
Quase todos os comandos podem ser lidos na íntegra usando a página man
ou digitando -h
ou --help
depois de escrever o comando inicial. Esta sintaxe é man command_name
, command_name -h
ou command_name --help
.
Para obter ainda mais informações, você pode usar o comando info. É possível pesquisar um comando usando info command_name
. para a maioria desses comandos que fazem parte do pacote coreutils. Você pode encontrar info
bem como usando a invocação info coreutils command_name
em que o comando pesquisado substitui command_name
.
Praticamente todos os comandos mostrar exatamente o que está acontecendo, passo a passo. Normalmente é -v
ou --verbose
.
Para obter mais informações, você pode especificar vários sinalizadores de comando para um comando de cada vez. Consulte o ls -al
exemplo abaixo.
Os nomes de comando nem sempre são óbvios. Devido às antigas limitações de espaço do Unix, eles foram encurtados e essas convenções permaneceram.
cd
- Leva você de volta para a página inicial, como cd ~
cd..
- Retrocede um diretório. Começando em /home/user/Desktop
, cd..
o coloca em /home/user
. Isso pode ser expandido para cd ../../
que faz com que você volte dois diretórios para /home
.
cd foldername/
- Leva você para a pasta fornecida na pasta atual.
/
, é uma omissão importante. Se eu estiver em /home/user
e quiser ir para Desktop
. Preciso digitar cd Desktop/
sem a /
antes Desktop
. Digitando /
antes nos leva à raiz do file system, e não queremos isso.
cd /some/other/path
- Leva para o caminho da pasta especificado, Se você tiver o caminho certo. Não se esqueça de que você pode usar TAB
a tecla preenchimento automático.
ls
- Lista todos os arquivos na pasta atual.
ls -l
- Fornece uma lista mais longa, incluindo proprietários, permissões, tamanho e data de modificação.
ls -a
- Exibe os arquivos e as pastas ocultos e a lista normal.
ls -al
- Combina duas opções para exibir em um formato longo os arquivos e pastas ocultos.
ls -h
— Mostra tamanhos de arquivos em formato legível por humanos KB, MB, GB,
tamanhos de arquivo em vez de bytes. É mais frequentemente usado com o indicador -l
.
Você pode visualizar arquivos em diretórios nos quais você nem está. Se eu estiver em /home/user/Desktop
e quiser visualizar um arquivo em /home/user
, posso fazer ls ../
que lista os arquivos um diretório antes.
cp file /path/to/folder
- Copia o arquivo especificado no caminho fornecido.
cp -r folder /path/to/folder
- Copia repetidamente o conteúdo da pasta para outra pasta.
cp *.extension /path/to/folder
- Copia os arquivos que correspondem à extensão fornecida para a nova pasta. Para copiar todos os arquivos .doc, ele se torna cp *.doc /path/to/folder
e a pasta deve existir.
cp name* /path/to/folder
— Copia todos os arquivos começando com name
para determinada pasta. Para copiar todos os arquivos começando com example
, ele se torna cp example* /path/to/folder
e a pasta já deve existir.
A sintaxe de mv
é semelhante ao exemplo acima com cp
exceção, por exemplo, #2. mv
não usa o -r
sinalizador, pois mover uma pasta também moverá seu conteúdo. A sintaxe não é exata em todos os casos, mas funciona com os exemplos acima. Consulte as suas páginas de manual para obter mais detalhes .
Removendo arquivos usando rm
é permanente. Ele não usa a lixeira. Use-o com cuidado e certifique-se de excluir exatamente o que você quer antes de pressionar a tecla Enter
. Se você complicar demais seus comandos de exclusão, o resultado não será positivo.
rm file
— Remove esse arquivo específico do computador.
rm -r folder
— Remove essa pasta específica do computador.
rm -rf folder
— Remove de maneira forçada essa pasta específica do computador. Este comando pode interferir na configuração se for usado incorretamente.
Você pode editar arquivos usando nano
em um terminal para fazer configurações de arquivos rápidas e básicas até configurações completas. Apesar de útil, esse processo lida com arquivos de texto sem formatação e de programação, de modo que arquivos como documentos do Microsoft Word não são abertos corretamente.
Se a raiz possuir um arquivo, um usuário comum não conseguirá editá-lo. nano
deve ter o prefixo sudo
, para salvar as alterações. Ele será aberto no modo somente leitura.
nano newfile.whatever
do nome especificado e o abre para edição.
nano existing_file
- Abre o arquivo existente para edição.
De dentro de nano
Salve o arquivo pressionando as teclas CTRL+O
juntas e altere o nome ou pressione a tecla Enter
para manter o mesmo nome. Isso salva o arquivo.
Sair nano
usando as teclas CTRL+X
juntas. Se você tiver alterações não salvas, ele perguntará se você deseja salvá-las.
mkdir folder_name
- Cria a pasta com o nome especificado
mkdir -p /path/to/folder/name
- Cria cada pasta conforme necessário. Para criar uma pasta /home/user/1stfolder/2ndfolder
, e somente /home/user
existir, usar mkdir -p
criará os diretórios 1stfolder,
e 2ndfolder
.
ps aux
— Lista em detalhes todos os processos executados no computador. Isso inclui usuário, ID do processo PID,
e nome do processo. Usando isso, você pode visualizar a lista de processos e, se necessário, eliminar processos desnecessários ou interrompidos.
kill PID
- O PID é um número que faz referência ao processo com problema. Você deve obter o PID de um comando como ps aux
. Se um processo se recusar a ser encerrado, você também poderá especificar kill -9 PID
que deverá encerrar o processo de qualquer forma.
killall program
- Killall
encerra by name
todas as instâncias do listed program
. Se houver, por exemplo, 3 sessões do navegador de Internet Firefox abertas, killall Firefox
fará exatamente isso, encerrará todas as sessões do Firefox. kill
encerra o PID especificado do processo problemático do Firefox que você quer encerrar.
xkill
é uma maneira de usar a interface do usuário para clicar e encerrar o Windows. Digitar xkill
exibirá um ícone de crânio e ossos cruzados, e a próxima janela em que você clicar será encerrada.
Pipes
são exibidos como uma straight bar,
também conhecida como tecla |
.
É uma tecla raramente usada no Windows, mas que com frequência é encontrada na tecla de barra invertida.
São usadas para vincular comandos. Pipes
utiliza a saída de um comando como entrada de um segundo comando quando eles são encadeados juntos.
Consulte os recursos on-line para obter mais informações sobre pipes
e seu uso, pois há volumes que estão gravados neles.
>
é usado para overwrite
conteúdo dos arquivos existentes ao substituí-lo pela saída do novo comando.
>>
é usado para append
informações para os arquivos existentes. Isso é útil para registrar ações.
Example:
ps aux > processes.log
envia a saída de ps aux
para o arquivo processes.log
para exibir a saída do comando em um editor de texto e substitui o conteúdo atual do arquivo.
tee
é usado junto com um |
para enviar a saída do comando a outro lugar. Isso é útil se houver erros que você deixou passar. Dessa forma, tudo o que aparecer na tela também será capturado em um arquivo.
Exemplo: dmesg
| tee boot.txt
executaria o comando dmesg
que mostra as informações iniciais de inicialização. O comando |
envia a saída de dmesg
para tee
que, em seguida, faz seu trabalho enviando-o para o terminal e para o arquivo de log boot.txt
.
Você precisa executar um arquivo no diretório atual após ele ser marcado como executável? O comando ./
operador pode executar o arquivo como um usuário normal, desde que você não precise de direitos de raiz. ./
literalmente significa in the current directory
de modo que ele não funciona em arquivos fora do diretório atual.
Se você desejar executar um arquivo que não esteja no diretório atual, deverá passar o caminho para o programa de execução adequado. Se for um programa python, será python /path/to/file
e, se for um arquivo shell, será sh /path/to/file
por exemplo. Existem outros programas, mas esses são os mais comuns.
Se você desejar executar um arquivo com direitos de raiz porque recebeu operation not permitted?
. Você deverá prefixar o comando com sudo
. Assim como no exemplo acima, sudo python /path/to/file
execute o script com direitos de root.
Se você quiser executar um programa de interface do usuário a partir do terminal, digite o nome do programa: case sensitive!
e ele é iniciado. Isso deixará o terminal atual inutilizável. Fechar o terminal enquanto o programa está aberto encerrará o programa também. Uma maneira melhor é colocar o programa em segundo plano, usando program_name
e, em seguida, digitando a palavra exit
no terminal para fechá-lo e manter o processo em execução.
Se você precisar executar um programa de interface do usuário com direitos root no terminal, em seguida, prefixe-o com gksudo
ou gksu
e não sudo
. O uso do comando sudo
para iniciar aplicativos de interface do usuário não é uma boa prática e deve ser evitado.
Não not
uso sudo
só porque exibe Operation not permitted.
Lembre-se de que você pode destroy
computadores executando comandos no lugar errado com direitos root. Certifique-se de que seus arquivos sejam provenientes de fontes confiáveis.
Ficou perdido em um diretório? Digite pwd
para imprimir um diretório funcional.
Deseja calcular o espaço em disco? df -h
pode fornecer uma figura rápida.
Deseja calcular o tamanho de uma pasta ou um arquivo? du -cksh target_name
faz exatamente isso. Deseja calcular o tamanho da pasta atual? du -cksh
.
Deseja marcar um arquivo executável? chmod +x filename
faz isso.
Você tem que montar um ISO? O Linux tem essa funcionalidade integrada. Crie um diretório em algum lugar, digamos /home/user/isomount
e execute o comando mount -o loop /path/to/myisofile.iso /home/user/isomount
e o conteúdo é montado dentro dessa pasta.
Depois de executar um comando, você precisa executá-lo novamente, mas não consegue se lembrar exatamente como foi? Digite history
no terminal e para imprimir seu histórico de comandos. Deseja limpar seu histórico? history -c
apaga as informações.