Linux 운영 체제는 처음엔 복잡해 보일 수 있습니다. 명령줄을 보면 마치 전문 지식이나 특별한 재능이 있어야만 다룰 수 있는 프로그래밍 작업처럼 느껴지기도 하죠.
걱정하지 않아도 됩니다. 여기서는 15가지 Linux 기초 명령어 를 소개합니다. 처음 접하는 분들도 이 인기 오픈소스 인터페이스에 쉽게 익숙해질 수 있을 것입니다.
모든 Linux 사용자가 알아야 할 15가지 명령어 목록을 살펴보기 전에, 대부분의 배포판에서 명령어가 왜 중요한지 먼저 짚어볼 필요가 있습니다. 첫 번째 섹션에서 몇 가지 기본 개념과 설명을 다루는 이유가 바로 그 때문입니다.
또한 16번째 명령어도 이 목록에 포함되어야 한다고 생각합니다. 어쩌면 0번째 명령어라고 불러야 할 만큼, 다른 명령어들보다 더 중요할 수 있습니다: apt. 이 명령어는 Debian, Ubuntu를 비롯한 많은 Linux 배포판에서 패키지를 설치하거나 제거할 때 사용합니다. GUI가 있는 OS라면 이 15가지 명령어 대부분을 클릭 몇 번으로 대체할 수 있습니다. 하지만 대부분의 패키지는 터미널에서 설치해야 하고, 그러려면 apt가 필요합니다. Linux에 GUI 데스크톱이 없다고요? 걱정하지 마세요. Ubuntu 서버에 GUI를 설치하는 방법을 다룬 가이드를 보면 apt가 얼마나 중요한지도 함께 확인할 수 있습니다.
Linux 호스팅, 간편하게
웹사이트나 웹 앱을 더 좋은 환경에서 호스팅하고 싶으신가요? 새로운 것을 개발 중이신가요? 아니면 단순히 Windows가 마음에 들지 않으신가요? 바로 그래서 저희가 Linux VPS를 제공합니다.
Linux VPS 시작하기꼭 알아야 할 Linux 기본 명령어
많은 분들이 Linux를 프로그래머만 쓰는 복잡한 운영체제라고 생각합니다. 하지만 생각만큼 어렵지 않습니다. 이 오픈소스 운영체제와 다양한 배포판에 익숙해질수록, Linux 명령어가 OS와 애플리케이션을 관리하고, 문제를 해결하고, 성능을 최적화하는 데 얼마나 편리한 도구인지 알게 됩니다.
잘 아시다시피, 이 커맨드라인 인터페이스 (CLI)는 장치에서 거의 모든 작업을 처리할 수 있는 텍스트 기반 사용자 인터페이스(UI)입니다. 흔히 흰 글자가 표시되는 검은 화면으로 알려져 있으며, 커맨드라인 프로세서 또는 커맨드라인 인터프리터라고도 합니다.
Linux에서 가장 널리 쓰이는 커맨드라인 인터페이스 중 하나는 bash (Bourne Again Shell) 셸입니다. 기존 Bourne Shell의 모든 명령어를 지원하며, 그 외에도 다양한 기능을 제공합니다. Bourne Shell을 대체하기 위한 무료 오픈소스 프로젝트로 개발되었으며, 커맨드라인 편집, 명령어 히스토리, 그리고 Korn 셸 (KSH) 및 C shell (CSH)의 명령어 치환 문법 등의 기능을 포함합니다. 또한 텍스트 문자열 생성에 사용되는 중괄호 확장도 지원합니다.
함께 읽기: Windows 10에 Linux bash 설치하기!
bash는 개방적인 특성 덕분에 대부분의 Linux 배포판, Apple macOS의 모든 버전, Windows Subsystem for Linux, 그리고 Solaris 운영체제에서 기본 사용자 셸로 채택되어 있습니다. Linux에서 bash 셸을 열려면, 데스크톱의 애플리케이션 메뉴에서 터미널을 실행한 뒤 셸 스크립팅을 시작하면 됩니다. 시스템 관리자의 설정에 따라 기본 셸을 변경할 수도 있습니다. 터미널이 열리면 코드를 입력할 수 있는 프롬프트가 표시됩니다.
✅이제 Linux 명령어를 배울 차례입니다. 다음은 모든 Linux 사용자가 알아야 할 Linux 기본 명령어와 예제 목록입니다.
참고 1: 명령어의 일반적인 구문 형식은 다음과 같습니다.
command [-argument] [ - - long-argument] file
참고 2: Linux 셸에서 명령어, 파일, 디렉터리 이름은 대소문자를 구분합니다. 예를 들어 pwd는 현재 작업 디렉터리를 출력하지만, PWD는 다음과 같은 오류를 반환합니다.
Bash: PWD: command not found
참고 3: 파일 확장자는 중요하지 않습니다. Linux CLI에서는 파일 형식이 자동으로 인식됩니다.
참고 4: 있습니다
/
(슬래시)는 디렉토리 구분에 사용되는 특수 문자입니다.
참고 5: 거의 모든 Linux 명령어는 CLI 사용 중 도움을 받을 수 있는 인수를 지원합니다.
- - help
참고 6: 이 기호는 셸이 입력을 기다리고 있음을 나타내는 프롬프트로, 이 문서의 모든 명령어 앞에 표시됩니다.
$
함께 읽기: 커맨드 라인으로 OS 버전 확인하기
1- ls 명령어
파일 시스템 내의 파일이나 디렉토리 목록을 확인하려면 Linux OS에서는 ls 명령어(List의 줄임말)를 사용하면 됩니다. 이 명령어는 아래 표와 같이 다양한 옵션을 제공합니다:
| 옵션 | 설명 |
| ls ~ | 홈 디렉토리의 내용을 표시합니다 |
| ls ../ | 상위 디렉토리의 내용을 표시합니다 |
| ls –version | ls 명령어의 버전을 확인합니다 |
| ls -a | '.'으로 시작하는 숨김 파일을 포함한 모든 파일을 나열합니다 |
| ls –color | 색상으로 구분된 목록 [=always/never/auto] |
| ls -d | 디렉토리 목록 표시 – ' */' 사용 |
| ls -F | 파일 유형 표시 ("/" = 디렉토리, "*" = 실행 파일) |
| ls -li | 첫 번째 열이 파일인 경우, 해당 명령어는 인덱스 번호를 출력합니다 |
| ls -l | 자세한 형식으로 목록 표시 (권한, 크기, 소유자, 수정 날짜) |
| ls -laF | 숨김 파일을 포함하여 자세한 형식으로 목록 표시 |
| ls -lh | 파일 크기를 사람이 읽기 쉬운 단위(KB, MB, GB)로 표시하는 자세한 형식 목록 |
| ls -ls | 파일 크기를 포함하여 자세한 형식으로 목록 표시 (내림차순) |
| ls -r | 역순으로 목록 표시 |
| ls -R | 디렉토리 트리를 재귀적으로 목록 표시 |
| ls -s | 파일 크기 표시 |
| ls -S | 파일 크기 기준 정렬 |
| ls -t | 수정 시간 및 날짜 기준 정렬 – 마지막으로 편집한 파일이 먼저 표시됩니다 |
| ls -X | 확장자 이름 기준 정렬 |
2- pwd 명령어
앞서 언급했듯이,
$ pwd [option]
는 기본적인 Linux 명령어 치트 시트 중 하나입니다. 루트에서 시작하는 현재 작업 디렉터리를 간단히 출력할 수 있습니다. 이 명령어에는 두 가지 플래그가 있습니다:
Pwd –L
심볼릭 링크 이름을 포함한 현재 작업 디렉터리의 논리적 경로를 표시합니다.
Pwd –P
심볼릭 링크 이름을 제외한 현재 작업 디렉터리의 물리적 경로를 표시합니다.
Linux 호스팅, 간편하게
웹사이트나 웹 앱을 더 좋은 환경에서 호스팅하고 싶으신가요? 새로운 것을 개발 중이신가요? 아니면 단순히 Windows가 마음에 들지 않으신가요? 바로 그래서 저희가 Linux VPS를 제공합니다.
Linux VPS 시작하기3- 별칭
이 명령어를 사용하면 긴 명령어를 반복해서 입력하지 않도록 단축키나 약어를 지정해 특정 명령어(또는 명령어 집합)를 참조할 수 있습니다. 같은 명령어를 반복해서 사용해야 할 때 alias 명령어가 유용합니다. 하나의 문자열을 다른 문자열로 대체하는 고유한 명령어를 만들어 시간을 절약할 수 있으며, 이 단축키는 여러 번 재사용할 수 있습니다. 이처럼 특정 명령어에 부여하는 별칭을 alias라고 합니다.
이 명령어의 구문은 다음과 같습니다:
alias [-p] [name [=value] …]
또는 다음과 같이 사용할 수도 있습니다:
alias alias_name="command_to_run"
4- cd 명령어
이 명령어는 Linux 및 다른 Unix 계열 운영 체제에서 현재 디렉터리를 변경합니다. 즉, cd( Change Directory의 약자) 명령어는 Linux 터미널에서 가장 자주 사용되는 기본 Linux 명령어 중 하나입니다. 이 명령어의 구문은 다음과 같습니다:
cd [options] directory
이 명령어의 사용 예시를 몇 가지 살펴보겠습니다:
홈 디렉터리에 Downloads 디렉터리가 있다고 가정합니다. 다음 코드를 사용하면 해당 디렉터리로 바로 이동할 수 있습니다:
cd Downloads
절대 경로를 사용해 이동할 수도 있습니다:
cd /home/username/Downloads
보시다시피 (/) 기호는 디렉터리의 절대 경로를 나타냅니다. 현재 디렉터리에서 한 단계 또는 여러 단계 위로 이동할 수도 있습니다. 예를 들어 현재
/home/username/Downloads
디렉터리에 있을 때
/home/username
디렉터리(한 단계 위)로 이동하려면 다음과 같이 입력합니다:
cd . ./
이 명령어는 현재 디렉터리에서 한 단계 위로 이동합니다.
/home
두 단계 위 디렉터리로 이동하려면 다음 코드를 실행합니다:
cd . ./ . ./
다음과 같이 cd 명령어의 인수로 대시(-)를 사용하면 이전 작업 디렉터리로 이동할 수 있습니다:
cd -
또는 아래와 같이 물결표(~)를 사용해 홈 디렉터리로 이동할 수 있습니다:
cd ~
예를 들어
/home/username/Downloads
디렉터리에서
/home
디렉터리에서 다음과 같이 입력합니다:
cd ~/Downloads
참고: 선택한 디렉터리 이름에 공백이 포함된 경우, 아래와 같이 백슬래시(\) 문자를 사용해 공백을 이스케이프해야 합니다:
cd Dir\beta\router\hosting
5- mv 명령어
이 명령은 하나 이상의 파일이나 디렉터리를 다른 위치로 이동할 때 사용합니다. 아래는 이 Linux 기본 명령의 문법과 몇 가지 예시입니다:
mv [option] SOURCE DESTINATION
더 원천 는 하나 이상의 디렉터리 또는 파일이 될 수 있으며, 목적지 은 단일 디렉터리 또는 파일이어야 합니다. 디렉터리나 파일을 이동하려면 양쪽 모두에 대한 쓰기 권한이 필요합니다 원천 및 목적지. 권한이 없으면 permission denied 오류가 발생합니다.
파일 이름만 변경하려면 다음 문법을 사용합니다:
mv [filename] [new_filename]
예시:
mv names.txt fullnames.txt
마찬가지로, 파일을 다른 위치로 이동하려면 다음 문법을 사용합니다:
mv [filename] [dest-dir]
예시:
mv fullnames.txt /home/routerhosting1/Downloads
강제로 실행할 수 있습니다 mv 명령이 확인을 요청하도록 하려면 –i 옵션을 사용합니다:
mv -i [filename] [new_filename]
이 문법을 사용하면 mv 이 기존 파일을 덮어쓰기 전에 사용자에게 확인을 요청합니다.
Linux 호스팅, 간편하게
웹사이트나 웹 앱을 더 좋은 환경에서 호스팅하고 싶으신가요? 새로운 것을 개발 중이신가요? 아니면 단순히 Windows가 마음에 들지 않으신가요? 바로 그래서 저희가 Linux VPS를 제공합니다.
Linux VPS 시작하기6- cat 명령어
더 cat (concatenate의 약자) 명령은 가장 자주 쓰이는 Linux 기본 명령 중 하나로, 파일을 생성하거나 여러 파일을 합치고, 파일 내용을 확인하거나 출력을 파일이나 터미널로 리디렉션하는 데 사용합니다. 이 명령의 일반적인 문법은 다음과 같습니다:
cat [option] [file] . . .
예시:
cat /123456/test/file01/123456/test/file02
다음 표는 cat 명령의 주요 옵션을 정리한 것입니다:
| 옵션 | 설명 |
| 고양이 테스트 | 파일의 내용을 표시합니다 |
| cat test1 test2 | test1과 test2의 내용을 표시합니다 |
| cat test1; teat2; test3 | 여러 파일을 한 번에 표시합니다 |
| cat -b | 빈 줄을 제외한 모든 줄에 줄 번호를 추가합니다 |
| cat -n filename | 파일 내용을 표시하고 모든 줄에 줄 번호를 추가합니다 |
| cat -s | 연속된 빈 줄을 한 줄로 압축합니다 |
| cat -e | 각 줄의 끝에 $를 표시합니다. Good 여러 줄을 한 줄로 합칩니다 |
| cat –T test | 탭 문자를 ^I로 표시합니다 |
| cat test1 teat2 test3 > test4 | 여러 파일의 내용을 하나의 파일로 리디렉션합니다 |
| cat > test1 | test1이라는 이름의 파일을 생성합니다 |
| cat test1 >> test2 | 한 파일의 내용을 다른 파일의 끝에 추가합니다 |
7- cp 명령어
더 cp 명령어 의미 COPY. 이 명령어는 파일 또는 디렉터리를 하나씩, 또는 여러 개를 한 번에 복사할 수 있습니다. 인수로 최소 두 개의 파일명이 필요하며, 기본 문법은 다음과 같습니다.
cp [option] Source Destination cp [option] Source Directory cp [option] Source-1 Source-2 Source-3 Source-n Directory
첫 번째와 두 번째 문법은 소스 파일을 대상 파일이나 디렉터리로 복사할 때 사용합니다. 세 번째 문법은 여러 파일(소스)을 하나의 디렉터리로 복사할 때 사용합니다.
예제 1:
cp file file-backup
이 코드는 다음과 같은 이름의 파일을 복사합니다. file.txt to file-backup.txt.
예제 2:
cp file1.txt dir file2.txt dir
이 코드는 여러 파일과 디렉터리를 한 번에 복사합니다. 이 경우 대상은 반드시 디렉터리여야 합니다.
8- mkdir 명령어
이 Linux 명령어를 사용하면 새 디렉터리를 만들 수 있습니다. mkdir 명령어를 사용하면 권한을 설정하거나 여러 폴더를 한 번에 만들 수도 있습니다. 단일 디렉터리를 만드는 문법은 다음과 같습니다:
mkdir [option] dir-name
예시:
mkdir test-dir
이 명령어는 test라는 새 디렉터리를 생성합니다. 여러 디렉터리를 한 번에 만들려면 다음 문법을 사용하세요:
mkdir {test1, test2, test3}
9- rmdir 명령어
Linux 기본 명령어 목록에서 소개할 또 다른 명령어는 rmdir 입니다. 이 명령어는 Linux 파일 시스템에서 빈 디렉터리를 삭제할 때 사용합니다. 문법은 다음과 같습니다:
rmdir [-p] [-v ǀ -verbose] [-ignore – fail – on – non – empty] directories …
옵션:
에서
rmdir –p
각 디렉터리
예시:
rmdir mydir1 mydir2 mydir3
이 예제에서 mydir1, mydir2, 그리고 mydir3 은 비어 있을 경우 삭제됩니다. 디렉터리 중 하나라도 비어 있지 않으면 해당 디렉터리에 대한 오류 메시지가 출력되고, 나머지 디렉터리도 삭제되지 않습니다.
옵션:
- rmdir –p: 이 옵션을 사용하면 각 디렉터리 인수를 경로명으로 처리하여 삭제합니다. 해당 경로가 비어 있으면 마지막 구성 요소부터 삭제를 시작합니다.
- rmdir –v, -verbose: 이 옵션은 처리 중인 각 디렉토리에 대한 상세 정보를 출력합니다.
- rmdir -ignore-fail-on-non-empty: 디렉토리가 비어 있지 않을 경우, 이 옵션은 실패에 대한 오류 메시지를 표시하지 않습니다.
- rmdir –version: 버전 정보를 출력하고 종료합니다.
함께 읽기: Linux에서 디렉토리를 삭제하는 방법
10- rm 명령어
디렉토리와 그 안의 내용을 모두 삭제하려면 rm 명령을 사용하세요. 디렉토리만 삭제하려면 rm –r을 사용하세요. 기본 문법은 다음과 같습니다.
rm [option] FILE
예시:
rm test.txt
이 명령은 test.txt 디렉토리를 영구적으로 삭제합니다.
11- Touch 명령어
touch 명령은 Linux의 기본 명령 중 하나로, 새로운 빈 파일을 생성할 때 사용합니다.
문법: touch file_name
touch
예시: touch /Home /username/Documents/Me.txt
이 명령은 지정한 경로(Documents)에 텍스트 파일 하나를 생성합니다. 특정 경로에 여러 파일을 한 번에 생성하려면 다음과 같이 입력하세요.
문법: touch File1_name File2_name File3_name
옵션:
touch –a: 특정 파일의 최근 접근 시간을 변경합니다. 파일의 마지막 접근 시간을 수정하거나 갱신할 때 사용합니다.
12- Locate 명령어
locate 명령은 Windows의 검색 기능과 유사하며, 파일 이름으로 파일을 찾는 가장 간단한 방법입니다. 정확한 파일명을 몰라도 검색할 수 있습니다.
문법위치 찾기 [filename]
locate
예시:
Locate{ I need more context to provide an accurate translation. The text "-i Book*note}" appears to be incomplete or corrupted. Could you please provide: 1. The complete, correct English text? 2. What this UI label is for (e.g., a button, menu item, etc.)? Once I have the full context, I'll provide the Korean translation.
이 명령은 대소문자 구분 없이 "book"과 "note"라는 단어가 포함된 파일을 찾습니다.
13- df 명령어
df 명령은 "Disk Free"의 약자로, 디스크 용량, 파티션, 사용량 등 시스템 디스크 현황을 보고서 형태로 출력합니다.
읽기 쉬운 디스크 공간 요약을 보려면 바이트, 메가바이트, 기가바이트 단위로 출력할 수 있습니다.
예시: 메가바이트(MegaBytes):
df -m
문법:
- df
- df /dir
- df [옵션] [/dev/DEVICE]
14- Kill 명령어
kill 명령은 응답하지 않는 프로그램을 강제 종료하는 데 사용하지만, 수동으로 프로그램을 종료하는 것도 가능합니다.
문법:
kill [signal option]
kill PID
예시:
kill 명령에서 가장 많이 사용하는 두 가지 시그널은 다음과 같습니다:
SIGKILL: 이 시그널은 모든 프로그램을 즉시 강제 종료합니다. 갑작스럽게 종료되므로 변경 사항은 저장되지 않습니다.
SIGTERM: 이 시그널은 프로그램을 종료하지만, SIGKILL과 달리 종료 전에 변경 사항을 저장할 수 있습니다.
15- useradd, userdel 명령어
다중 사용자 운영체제(Linux)는 여러 사용자가 동시에 접근할 수 있습니다. 따라서 시스템을 운영하려면 여러 사용자 계정을 생성해야 합니다.
Useradd: 이 명령은 새 사용자를 생성하며, Passwd는 해당 사용자 계정의 비밀번호를 설정하는 데 사용합니다.
문법: useradd [OPTIONS] USERNAME
예시:
useradd JohnSmith
Userdl: 사용자 계정을 삭제하면 해당 사용자와 관련 파일이 모두 제거됩니다. 이 명령은 사용자 생성과 유사하며 옵션만 다릅니다.
문법userdel UserName
예시:
userdel JohnSmith
옵션:
userdel –f: 이 옵션은 사용자를 강제로 삭제합니다.
userdel –r: 이 명령은 사용자의 홈 디렉토리, 관련 파일, 메일 스풀까지 모두 삭제합니다.
예시:
- userdel -f Jack
- userdel -r John
기본 Linux 명령어를 연습하는 방법
셸 스크립트를 온라인에서 테스트하거나 분석하고 싶든, 기본 Linux 명령어를 연습하고 싶든, 먼저 각 명령어를 제대로 이해하는 것이 중요합니다. 연습 환경을 마련하려면 Windows Subsystem for Linux를 사용해 Windows 안에 Linux를 설치할 수 있습니다. 온라인 Linux 터미널을 활용하는 방법도 있습니다. 일부 웹사이트에서는 웹 브라우저에서 바로 Linux 명령어를 실행할 수 있는 온라인 터미널을 제공하므로, 별도 설치 없이 명령어를 테스트하거나 연습할 수 있습니다.
결론
Linux에는 수많은 명령어가 있지만, 이 글에서는 실무에서 가장 자주 쓰이는 명령어를 엄선해 코드 예시와 함께 설명합니다. 다만 사용 중인 배포판에 따라 동작 방식이 다를 수 있습니다. 궁금한 점은 Linux 도움말을 참고하거나, 댓글로 질문해 주세요.
자주 묻는 질문
pwd와 /bin/pwd의 차이점은 무엇인가요?
더 pwd 은 셸에 내장된 명령어인 반면, /bin/pwd 는 Linux 배포판에 포함된 독립 실행 파일입니다. 셸 내장 명령어 대신 이 독립 실행 파일을 명시적으로 실행하려면 다음을 사용하세요. /bin/pwd.
Linux에서 명령어를 실행하는 방법
먼저 데스크톱의 애플리케이션 메뉴에서 터미널을 실행하세요. 그런 다음 대부분의 Linux 배포판에서 기본 셸로 사용되는 bash 셸을 찾아보세요. 터미널에서 명령어를 입력하고 Enter 키를 눌러 실행하면 됩니다.
CLI란 무엇인가요?
CLI(Command Line Interface)는 텍스트 기반 인터페이스로, 명령어를 직접 입력해 실행하는 방식입니다. 마우스가 등장하기 이전에는 컴퓨터와 상호작용하는 표준 방법이었습니다. 모든 CLI에는 명령어를 입력받는 프롬프트가 있습니다.
커맨드라인은 어디에 사용하나요?
명령줄의 가장 큰 장점은 다양한 명령어를 처리할 수 있다는 것입니다. 명령어를 입력하면 운영체제에 전달되어 실행되며, 파일과 폴더를 탐색하는 것도 가능합니다.
Linux 치트 시트란 무엇인가요?
알아두어야 할 Linux 명령어는 수백 가지에 달합니다. Linux 치트 시트를 활용하면 필요한 명령어를 빠르게 찾고 기억하는 데 도움이 됩니다. 치트 시트에는 보통 다음과 같은 항목별 명령어가 정리되어 있습니다:
- 시스템 정보
- 하드웨어 정보
- 성능 모니터링 및 통계
- 사용자 정보 및 관리
- 파일 및 디렉터리 명령어
- 프로세스 관리
- 파일 권한