이 문서에서는 기본 제공 터미널 명령을 사용하여 일부 명령과 그 명령에 대한 정보를 제공하는 방법에 대해 설명합니다.
프로세스를 설명하는 예제도 제공합니다.
명령줄 툴은 강력합니다. GUI(Graphical User Interface)에서 지루한 작업을 하고 몇 초 정도 걸리는 작업으로 변환되는 툴이 있습니다. 큰 파일의 모든 행에서 마지막 4줄을 제거하는 것은 GUI 애플리케이션에서 오랜 시간이 걸리는 프로세스일 수 있습니다. 그러나 이 프로세스는 명령줄에서 자동화할 수 있습니다.
Ubuntu Linux에서 터미널 창을 여는 가장 일반적인 방법은 다음과 같습니다.
Ubuntu Linux의 터미널 셸과 관련된 많은 명령이 있습니다. 아래 문서에는 가장 일반적으로 사용되는 그룹이 나열되어 있습니다.
다양한 터미널 명령을 사용하는 데 필요한 모든 정보를 제공하는 데 사용하는 세 가지 기본 명령이 있습니다.
man 명령은 터미널에서 사용되는 모든 명령에 대한 설명서를 표시합니다.
대부분의 셸 명령은 다양한 옵션을 허용합니다. 명령 및 사용 가능한 옵션 목록에 대한 몇 가지 정보를 얻으려면 -short for manual 명령을 사용합니다 man
. 인수에 대해 자세히 알아보려는 명령의 이름을 지정합니다. 명령이 man
작동하는 명령입니다.
예: 명령을 man who
입력하면 다음 출력이 표시됩니다.
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
대부분의 설명서는 여러 개의 긴 화면입니다. 커서/ARROW
키 또는 페이지 위로/페이지 아래쪽 키를 사용하여 텍스트를 탐색합니다. 스페이스바 키에는 다음 텍스트 줄이 표시됩니다. q 키를 누르면 설명서가 종료되고 셸로 돌아갑니다.
man 페이지에서 이 옵션을 사용하여 -a
활성 사용자 세션에 대한 자세한 정보를 표시할 수 있습니다.
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]$
또한 프로그램에 대한 도움말 파일을 읽습니다. man
명령은 셸, 기능 및 라이브러리에 대한 정보도 제공할 수 있습니다.
특정 명령을 사용하는 방법을 잘 모르는 경우 해당 명령을 스위치와 –help
함께 -h
실행합니다. 사용량 정보와 명령과 함께 사용할 수 있는 옵션 목록이 표시됩니다.
예: 명령을 사용하는 wget
방법을 알고 싶으면 입력 wget –help
하거나 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:
이렇게 하면 터미널에 많은 정보가 인쇄되는 경우가 있습니다. 스크롤하기가 번거로울 수 있습니다. 더 쉽게 출력을 읽으려면 더 적은 명령을 통해 출력을 읽을 수 있습니다pipe
. 키보드의 커서/화살표 키를 사용하여 스크롤할 수 있습니다.
예: 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.
:
완료되면 q를 눌러 less 유틸리티를 닫습니다.
특정 옵션을 찾으려면 명령을 통해 출력할 grep
수 있습니다pipe
. (예를 들어, 다음 명령을 사용하여 단어가 포함된 옵션을 검색합니다. 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:~$
일부 명령은 시스템 내부에 info
도 문서화되어 있습니다. 여기에 나와 있는 정보는 명령이 man
표시하는 내용을 보완합니다.
예: 다음 출력이 표시되는 명령을 info ls,
입력합니다.
[support@support]$" info ls
이제 명령에 대한 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.
스페이스바 키를 누르거나 커서/ARROW
키를 사용하여 페이지를 아래로 스크롤할 수 있습니다.
help
H 키를 누릅니다 .quit
키를 누릅니다.
터미널에서 GUI를 통해 수행할 수 있는 거의 모든 작업을 수행할 수 있습니다.
앞서 말했듯이 많은 명령이 먼저 터미널에서 작동하도록 설계되었고 GUI가 맨 위에 놓였습니다. 그래서 일부 GUI가 투박하게 느껴질 수 있습니다. 처음에 일부 GUI는 대부분의 Linux Server 빌드의 영향을 받지 않기 때문에 사후 고려사항이었습니다.
메뉴에서 터미널이 열리는 기본 위치는 Home 폴더에 있습니다. 다음과 같이 알려져 있습니다. ~
운영자가 현재 디렉토리를 .
찾을 수 있습니다. 현재 폴더 선택 시 동작하는 대부분의 명령은 명령, 위치 및 파일에 대해 작동하며 대소문자를 구분합니다. /home
가 같 /HOME
거나 /Home
같지 않습니다.
긴 드라이버 제목이 있는 경우 TAB 키를 사용하여 파일 이름을 작성합니다. driver-128947232jaseu.sh
예를 들어 입력 dri
하고 나머지를 입력합니다. 두 개의 이름이 없는 dri
경우 다른 문자를 driv
추가하여 다시 시도하십시오. 자동 완성 기능이 표시하려는 내용과 일치하는지 확인합니다.
페이지를 사용 man
하거나 초기 명령을 입력 -h
하거나 --help
작성한 후 거의 모든 명령을 전체적으로 읽을 수 있습니다. 이 구문은 man command_name
command_name -h
command_name --help
더 많은 정보를 얻기 위해 info를 사용할 수 있습니다. 명령을 사용하여 info command_name
검색할 수 있습니다. 이러한 명령이 대부분 코어 유틸리티 패키지의 일부인 경우 info
검색한 명령이 교체되는 호출을 사용할 info coreutils command_name
수도 있습니다command_name
.
거의 모든 명령이 단계별로 발생하는 상황을 정확하게 표시할 수 있습니다. 일반적으로 -v
이 값 --verbose
은
한 번에 하나의 명령에 여러 명령 플래그를 지정하여 더 많은 정보를 얻을 수 있습니다. 아래의 ls -al
예를 참조하십시오.
명령 이름이 항상 명확하지는 않습니다. UNIX 이전의 공간 제한으로 인해 명령 이름이 단축되고 이러한 규칙이 중단되었습니다.
cd
- 홈으로 다시 이동합니다. 다음과도 같습니다. cd ~
cd..
- 하나의 디렉토리로 돌아갑니다. 시작부터 /home/user/Desktop
시작합니다 cd..
/home/user
. 이 디렉토리를 cd ../../
두 디렉토리로 다시 이동할 수 있도록 확장할 /home
수 있습니다.
cd foldername/
- 현재 폴더의 지정된 폴더로 이동합니다.
/
누락은 중요한 누락입니다. 지금 /home/user
바로 연결하고 싶 Desktop
으면 전에 Desktop
입력하지 않고 /
입력 cd Desktop/
해야 합니다. 파일을 입력하기 /
전에 입력하면 작동하지 않는 파일 시스템의 루트에 배치됩니다.
cd /some/other/path
- 지정된 폴더 경로로 이동합니다. 경로가 올바른 경우 키를 사용하여 TAB
자동으로 완료할 수 있습니다.
ls
- 현재 폴더에 있는 모든 파일을 나열합니다.
ls -l
- 소유자, 사용 권한, 크기 및 수정된 날짜를 포함하는 더 긴 목록을 제공합니다.
ls -a
- 숨겨진 파일 및 폴더와 일반 목록을 표시합니다.
ls -al
- 두 옵션을 결합하여 숨겨진 파일과 폴더를 모두 표시하고 긴 형식으로 표시합니다.
ls -h
- 파일 크기를 바이트 대신 사람이 읽을 수 있는 형식 KB, MB, GB,
의 파일 크기로 표시합니다. 플래그와 함께 -l
사용되는 경우가 많습니다.
없더라도 디렉토리에서 파일을 볼 수 있습니다. /home/user/Desktop
파일을 보려면 디렉토리 하나 /home/user
만 나열할 수 있습니다 ls ../
.
cp file /path/to/folder
- 지정된 파일을 지정된 경로에 복사합니다.
cp -r folder /path/to/folder
- 폴더의 내용을 다른 폴더에 반복해서 복사합니다.
cp *.extension /path/to/folder
- 지정된 확장자가 일치하는 파일을 새 폴더에 복사합니다. 모든 .doc 파일을 복사하려면 해당 파일이 생성 cp *.doc /path/to/folder
되고 폴더가 존재해야 합니다.
cp name* /path/to/folder
- 지정된 폴더로 name
시작하는 모든 파일을 복사합니다. 모든 파일을 복사 example
하려면 파일이 생성 cp example* /path/to/folder
되고 폴더가 이미 있어야 합니다.
구문 mv
은 위의 예와 유사하며 cp
예를 들어 #2를 제외합니다. mv
폴더를 -r
이동하면 내용도 이동하기 때문에 플래그를 지정하지 않습니다. 구문이 모든 인스턴스에 정확한 것은 아니지만 위의 예와 함께 작동합니다. 자세한 내용은 man 페이지를 참조하십시오.
파일을 사용하여 rm
제거하는 것은 영구적입니다. 휴지통을 사용하지 않습니다. 키를 누르 Enter
기 전에 주의해서 사용하고 원하는 내용을 정확히 삭제해야 합니다. 삭제 명령과 오버컴플리케이스를 수행하면 절대로 잘 종료되지 않습니다.
rm file
- 컴퓨터에서 해당 특정 파일을 제거합니다.
rm -r folder
- 컴퓨터에서 해당 폴더를 제거합니다.
rm -rf folder
- 해당 특정 폴더를 컴퓨터에서 강제로 제거합니다. 이 명령을 잘못 사용하면 구성이 잘못될 수 있습니다.
터미널에서 파일을 nano
편집하여 전체 구성까지 빠르고 거친 파일을 수행할 수 있습니다. 유용할 수 있지만 일반 텍스트 파일과 프로그래밍 파일을 처리하므로 Microsoft Word 문서와 같은 항목이 제대로 열리지 않습니다.
루트가 파일을 소유하는 경우 일반 사용자는 파일을 편집할 수 없습니다. nano
변경 사항을 저장하려면 접두사여야 sudo
합니다. 그렇지 않으면 읽기 전용 모드로 열립니다.
nano newfile.whatever
가 지정된 이름이며, 편집할 수 있도록 열립니다.
nano existing_file
- 편집할 기존 파일을 엽니다.
내부에서 nano
키를 함께 눌러 CTRL+O
파일을 저장하고 이름을 변경하거나 키를 눌러 Enter
동일한 이름을 유지합니다. 이렇게 하면 파일이 저장됩니다.
키를 함께 사용하여 종료 nano
합니다 CTRL+X
. 저장되지 않은 변경 사항이 있는 경우 저장하려는 것인지 묻습니다.
mkdir folder_name
- 지정한 이름으로 폴더를 만듭니다.
mkdir -p /path/to/folder/name
- 필요에 따라 각 폴더를 만듭니다. 폴더/home/user/1stfolder/2ndfolder
를 생성하고 존재하기 위해서 /home/user
는 디렉토리와 2ndfolder
디렉토리를 모두 사용하여 mkdir -p
존재합니다1stfolder,
.
ps aux
- 컴퓨터에서 실행되는 모든 프로세스를 자세히 나열합니다. 여기에는 사용자, 프로세스 ID PID,
및 프로세스 이름이 포함됩니다. 이 옵션을 사용하면 프로세스 목록을 볼 수 있으며 필요한 경우 불필요하거나 지연된 프로세스를 제거할 수 있습니다.
kill PID
- PID는 문제가 되는 프로세스를 참조하는 번호입니다. 다음과 같은 ps aux
명령에서 PID를 얻어야 합니다. 프로세스가 종료를 거부하는 경우 어떤 수단으로든 프로세스를 종료할 프로세스를 지정할 kill -9 PID
수도 있습니다.
killall program
- Killall
의 by name
모든 인스턴스를 끊습니다 listed program
. 예를 들어 3개의 Firefox 인터넷 브라우저 세션이 열려 killall Firefox
있는 경우 해당 세션을 정확히 수행하여 모든 Firefox 세션을 모두 제거합니다. kill
은 삭제하려는 잘못된 Firefox 프로세스의 지정된 PID를 가져와서 그 하나만 없애야 합니다
xkill
은 Windows를 클릭하고 종료하는 GUI 방법입니다. 입력하면 xkill
검색 및 크로스본 아이콘이 표시되고 클릭한 다음 창이 중단됩니다.
Pipes
는 키라고 straight bar,
|
도 합니다.
Windows에서 거의 사용되지 않는 키이지만 백슬래시 키에서는 자주 사용됩니다.
이러한 키는 명령을 함께 연결하는 데 사용됩니다. Pipes
는 한 명령의 출력을 가져와 경로를 지정하고 함께 연결하여 두 번째 명령에 대한 입력으로 사용합니다.
기록된 볼륨이 있으므로 온라인 리소스에 대한 자세한 정보 및 사용에 대해 pipes
문의하십시오.
>
는 새 명령의 출력으로 대체하여 기존 파일 콘텐츠에 사용됩니다 overwrite
.
>>
는 기존 파일에 대한 정보에 사용됩니다 append
. 이 명령은 로깅 작업에 유용합니다.
Example:
ps aux > processes.log
는 텍스트 편집기에서 명령 출력을 보기 위해 파일 processes.log
로 출력 ps aux
을 전송하고 파일의 현재 콘텐츠를 덮어씁니다.
tee
는 명령 출력을 |
다른 곳으로 보내기 위해 함께 사용됩니다. 이 명령은 누락 오류가 발생한 경우에 유용합니다. 이렇게 하면 화면에 표시되는 모든 항목도 파일에 캡처됩니다.
예: dmesg
| tee boot.txt
는 초기 부팅 정보를 표시하는 명령을 dmesg
실행합니다. 출력 |
을 dmesg
tee
터미널과 로그 파일 boot.txt
로 전송하여 해당 작업을 수행합니다.
실행 파일로 표시된 후 현재 디렉토리에서 파일을 실행하시겠습니까? 루트 권한이 필요하지 않은 경우 운영자가 ./
파일을 일반 사용자로 실행할 수 있습니다. ./
말 그대로 현재 디렉토리 외부의 파일에서 작동하지 않도록 의미 in the current directory
합니다.
현재 디렉토리에 없는 파일을 실행하려면 해당 실행 중인 프로그램에 대한 경로를 전달해야 합니다. Python 프로그램 python /path/to/file
인 경우 이는 셸 파일 sh /path/to/file
인 경우 예입니다. 다른 프로그램이 있지만 가장 일반적인 프로그램입니다.
루트 권한으로 파일을 실행하려는 경우 수신했기 때문입니다 operation not permitted?
. 명령을 접두사로 sudo
지정해야 합니다. 위의 예 sudo python /path/to/file
와 마찬가지로 루트 권한으로 스크립트를 실행합니다.
터미널에서 GUI 프로그램을 실행하려면 프로그램 이름을 case sensitive!
입력하고 시작합니다. 이렇게 하면 현재 터미널을 사용할 수 없게 되었습니다. 프로그램이 열려 있는 동안 터미널을 닫으면 프로그램도 종료됩니다. 더 좋은 방법은 프로그램을 백그라운드에서 사용하고 program_name
터미널에 단어를 exit
입력하여 닫고 프로세스를 계속 실행하는 것입니다.
터미널에서 루트 권한으로 GUI 프로그램을 실행하려는 경우 접두사로 gksudo
지정합니다 gksu
sudo
. GUI 애플리케이션을 시작하는 데 사용하는 sudo
것은 나쁜 습관이며 피해야 합니다.
not
루트 권한으로 잘못된 위치에서 명령을 실행하여 컴퓨터를 사용할 수 destroy
있다는 점을 명심해야만 사용합니다 sudo
Operation not permitted.
. 파일이 신뢰할 수 있는 출처에서 왔는지 확인하십시오.
현재 위치한 디렉토리를 모르십니까? 작업 디렉토리를 인쇄하려면 입력 pwd
합니다.
디스크 공간을 계산하시겠습니까? df -h
는 빠른 그림을 제공할 수 있습니다.
폴더 또는 파일의 크기를 계산하시겠습니까? du -cksh target_name
정확히 그렇죠. 현재 폴더의 크기를 계산하시겠습니까? du -cksh
.
실행 파일을 표시하시겠습니까? chmod +x filename
이 작업을 수행합니다.
iso를 마운트해야 합니까? Linux에는 이 기능이 내장되어 있습니다. 디렉토리를 어딘가로 생성하고 명령을 /home/user/isomount
실행 mount -o loop /path/to/myisofile.iso /home/user/isomount
하면 해당 폴더 안에 콘텐츠가 마운트됩니다.
명령을 실행한 후에는 다시 실행해야 하지만 어떻게 진행되었는지 정확히 기억할 수 없습니까? 터미널에 입력 history
하면 명령 기록이 인쇄됩니다. 기록을 지우시겠습니까? history -c
정보를 삭제합니다.