Como digito na próxima linha do Terminal?

16

Estou usando o Ubuntu 12.10 e quero executar um conjunto de comandos no terminal e, pelo que vejo nas instruções, esses comandos começam em uma nova linha. Não sei como fazer isso no terminal. Não consigo encontrar qual tecla pressionar para fazer o retorno de carro para a próxima linha.

Debbie Poole
fonte
4
Você pode separar comandos usando o ponto e vírgula ";", como cd home; teste mkdir; ls -la
LnxSlck 6/12/12
9
@LnxSlck: Porém, geralmente é preferível separar comandos com, em &&vez de ;. Dessa forma, se um dos comandos falhar, os comandos restantes não serão executados. Portanto, usando seu exemplo, se homenão existir, você não criará acidentalmente um testdiretório no diretório atual.
Hammar

Respostas:

16

Os comandos que você vê em cada linha devem ser executados um a um.

Portanto, depois de inserir uma linha, pressione enter para executar e execute o próximo comando.

Exemplo:

sudo apt-get update
sudo apt-get upgrade

Estes são dois comandos a serem executados um por um.

Para executar de uma vez será como sudo apt-get update && sudo apt-get upgrade(existem outros métodos também), mas essas coisas geralmente não exigem. Então não se preocupe. Digite uma linha e pressione Enter para fazer seu trabalho.

Web-E
fonte
Muito obrigado pelo seu conselho, eu gostaria de ter sabido disso antes !!! Ainda assim, nós vivemos e aprendemos :-)
Debbie Poole
4
@ user113090 Se a Web-E respondeu à sua pergunta, não se esqueça de marcar a resposta dele como a resposta aceita.
Dean
12

Como a Web-E explica a maneira mais direta de fazer o que você deseja com dois comandos diferentes, pensei em mostrar que existem várias maneiras de executar vários comandos ou continuar comandos em outra linha sem executá-los imediatamente.

Comandos longos contínuos:

1) A maneira mais comum de criar um comando longo é digitar seus comandos, usar uma barra invertida \, pressionar retornar e o Bash fornecerá outro prompt para você, em vez de executar o comando. Este prompt secundário é chamado PS2 e aguarda sua entrada:

find /home/mike/Downloads -type f -iname '*.jpg' \
> 

Você pode continuar adicionando barras invertidas e pressionando return pelo tempo que desejar, desde que você ache que o comando geral fará sentido.

Você pode cancelar esse prompt secundário com o Ctrl+ usual C.

2) O Bash reconhece alguns comandos, como para loops (para i em ....) e o prompt aparecerá imediatamente; da mesma maneira que acontecerá se você errar as aspas de um comando:

apt-cache search 'libgimp*
> 

Comandos múltiplos :

3) Como observa o Lxnslck , é possível separar comandos com ponto e vírgula:

which vlc; whereis vlc

/usr/bin/vlc
vlc: /usr/bin/vlc /etc/vlc /usr/lib/vlc /usr/bin/X11/vlc /usr/share/vlc /usr/share/man/man1/vlc.1.gz

4) Ou você pode usar o e comercial &&para unir dois comandos:

./configure && make
Comunidade
fonte
4

Você pode pressionar a tecla ENTER após cada linha e, se o comando não for finalizado (comandos mutilinos como forloops, por exemplo), o terminal aguardará a inserção do restante do comando. Se o comando for finalizado, ele será executado e o próximo comando será inserido depois, sem problemas.

Se você estiver copiando os comandos de um tutorial, poderá copiar todo o grupo de comandos e colá-lo diretamente no terminal, e ele funcionará.

Laurent
fonte
1

Quando é um conjunto de comandos que você espera usar mais de uma vez, você deve colocá-los em um arquivo de script bash . Por exemplo,

xrandr --newmode "1280x960_80.00" 139.25  1280 1368 1504 1728  960 963 967 1008 -hsync +vsync
xrandr --verbose --addmode VGA1 "1280x960_80.00"
xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 1280x512 --rotate normal --output DP1 --off --output VGA1 --mode "1280x960_80.00" --pos 0x0 --rotate normal
sleep 3
xfce4-panel -r

não é nada que você gostaria de digitar novamente, mas por acaso preciso dessa sequência específica de comandos com muita frequência. Por isso, existe um arquivo chamado 1280x980-2head.sh, você pode criar isso com qualquer editor de sua escolha. Para tornar esse script executável , você colocar a linha #!/bin/bashna frente de tudo (a shebang ), e definir a execução-permission: chmod +x 1280x980-2head.sh. Em seguida, basta digitar ./128<tab>(preenchimento automático) e <enter>executar todos os comandos.

à esquerda
fonte
0

Você pode colocar tudo entre colchetes; por exemplo:

(sudo add-apt-repository ppa:foo/bar
sudo apt-get update
sudo apt-get install my-package)

Os comandos serão executados um após o outro em um sub-shell.

Se você não deseja que eles sejam executados em um sub-shell, você pode colocar um ponto-e-vírgula entre um comando e o outro; por exemplo:

sudo add-apt-repository ppa:foo/bar; sudo apt-get update; sudo apt-get install my-package

Em vez disso, se você colocar "&&" entre cada comando, o comando que segue o "&&" será executado apenas se o comando anterior terminar sem nenhum erro; portanto, você não precisará usá-lo para concatenar comandos; use ponto e vírgula. Por outro lado, se você colocar "||", o comando a seguir será executado apenas se o primeiro sair com erro. Exemplo: (o comando "what" verifica se existe um programa e se não sai com erro)

which apt-get && echo "No error" || echo "Error"    # Will print "No error"
which jdhdsd && echo "No error" || echo "Error"  # Will print "Error"
Depau
fonte