터미널의 다음 줄에 어떻게 입력합니까?


16

Ubuntu 12.10을 사용하고 있으며 터미널에서 일련의 명령을 실행하고 싶습니다. 명령에서 볼 수 있듯이이 명령은 각각 새 줄에서 시작합니다. 터미널 에서이 작업을 수행하는 방법을 모르겠습니다. 캐리지 리턴을 수행하기 위해 어떤 키를 눌러야하는지 찾을 수 없습니다.


4
cd home과 같이 세미콜론 ";"을 사용하여 명령을 분리 할 수 ​​있습니다. mkdir 테스트; ls -la
LnxSlck

9
@LnxSlck : 그렇지만 종종 &&대신 명령을 분리하는 것이 좋습니다 ;. 이렇게하면 명령 중 하나가 실패하면 나머지 명령이 실행되지 않습니다. 따라서 예제를 사용하여 home존재하지 않는 경우 실수로 test현재 디렉토리에 디렉토리를 작성하지 않습니다 .
hammar

답변:


16

각 줄에 표시되는 명령은 하나씩 실행됩니다.

따라서 줄을 입력 한 후 Enter 키를 눌러 다음 명령을 실행하십시오.

예:

sudo apt-get update
sudo apt-get upgrade

이들은 하나씩 실행되는 두 가지 명령입니다.

한 번에 실행하려면 sudo apt-get update && sudo apt-get upgrade(다른 방법도 있음) 같지만 일반적으로이 것은 필요하지 않습니다. 걱정하지 마십시오. 한 줄을 입력하고 Enter 키를 누르면 작동합니다.


당신의 조언에 대단히 감사합니다. 아직도, 우리는 살고 배우는 :-)
Debbie Poole

4
@ user113090 Web-E가 귀하의 질문에 답변 한 경우, 그의 답변을 합격 답변으로 표시하는 것을 잊지 마십시오.
Dean

12

Web-E 가 두 가지 다른 명령으로 원하는 작업을 수행하는 가장 직접적인 방법을 설명 함에 따라 여러 명령을 실행하거나 명령을 즉시 실행하지 않고 다른 줄로 계속 실행할 수있는 방법이 많이 있다고 생각했습니다.

긴 명령 계속 :

1) 하나의 긴 명령을 구성하는 가장 일반적인 방법은 명령을 입력 한 다음 백 슬래시를 사용하고 \return 키를 누르면 Bash가 명령을 실행하는 대신 다른 프롬프트를 제공하는 것입니다. 이 보조 프롬프트는 PS2라고하며 입력을 기다립니다.

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

전반적인 명령이 의미가 있다고 생각하는 한 원하는대로 백 슬래시를 추가하고 원하는대로 return 키를 누를 수 있습니다.

평소 Ctrl+ 로이 보조 프롬프트를 취소 할 수 있습니다 C.

2) Bash는 for 루프 (i in ....)와 같은 일부 명령을 인식하고 프롬프트가 즉시 나타납니다. 명령에서 따옴표를 놓친 경우와 마찬가지로 :

apt-cache search 'libgimp*
> 

여러 명령 :

3) Lxnslck가 지적한 것처럼 세미콜론으로 명령을 분리 할 수 ​​있습니다.

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) 또는 앰퍼샌드 &&를 사용하여 두 명령을 결합 할 수 있습니다 .

./configure && make

4

각 줄 다음에 ENTER 키를 누를 수 있으며 명령이 종료되지 않은 경우 ( for예 : 루프 와 같은 mutiline 명령 ) 터미널은 나머지 명령을 입력 할 때까지 기다립니다. 명령이 종료되면 명령이 실행되고 문제없이 다음 명령을 입력합니다.

학습서에서 명령을 복사하는 경우 전체 명령 그룹을 복사하여 터미널에 직접 붙여 넣으면 작동합니다.


1

명령을 두 번 이상 사용할 것으로 예상되는 경우 bash 스크립트 파일 에 넣어야합니다 . 예를 들어

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

다시 입력하고 싶지는 않지만이 특정 명령 시퀀스가 ​​매우 자주 필요합니다. 라는 파일에 들어가므로 1280x980-2head.sh원하는 편집기를 사용 하여 파일 을 만들 수 있습니다. 해당 스크립트를 실행 가능 하게하려면 #!/bin/bash모든 행 ( shebang ) 앞에 행을 넣고 실행 권한을 설정하십시오 chmod +x 1280x980-2head.sh. 그런 다음 ./128<tab>(자동 완성)을 입력 <enter>하고 모든 명령을 실행하십시오.


0

모든 것을 괄호 안에 넣을 수 있습니다. 예를 들면 다음과 같습니다.

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

하위 쉘에서 명령이 차례로 실행됩니다.

하위 셸에서 실행하지 않으려면 명령과 다른 셸 사이에 세미콜론을 넣을 수 있습니다. 예를 들면 다음과 같습니다.

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

대신, 각 명령 사이에 "&&"를 넣으면 "&&"뒤에 오는 명령은 이전 명령이 오류없이 완료된 경우 에만 실행 되므로 명령을 연결하기 위해 사용할 필요가 없습니다. 대신 세미콜론을 사용하십시오. 반대로 "||"를 입력하면 첫 번째 명령이 오류와 함께 종료 된 경우에만 다음 명령이 실행됩니다. 예 : ( "which"명령은 프로그램이 존재하는지 그리고 오류와 함께 종료되지 않는지 검사합니다)

which apt-get && echo "No error" || echo "Error"    # Will print "No error"
which jdhdsd && echo "No error" || echo "Error"  # Will print "Error"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.