Ubuntu 커맨드라인 기초 명령어 정리

처음 터미널 창을 마주하면 깜빡이는 커서 앞에서 뭘 입력해야 할지부터 막막하다. 온라인 가이드마다 “터미널을 열고 이 명령을 입력하세요”라고 나오는데, 정작 경로가 뭔지, 파이프(|)가 뭔지, sudo를 왜 조심해야 하는지는 설명 없이 넘어가는 경우가 많다. Canonical의 공식 튜토리얼 The Linux command line for beginners는 이 빈틈을 실습 위주로 채워주는 입문 자료다. 이 글에서는 그 튜토리얼에 등장하는 명령어만 추려 카테고리별로 정리하고, 실제로 하나씩 실행해 확인한 결과를 남긴다.

위치 확인과 이동

명령어설명
pwd현재 작업 디렉터리(working directory) 경로 출력
cd <dir>디렉터리 이동
cd (인자 없이)홈 디렉터리로 이동
cd .. / cd ../..상위 / 두 단계 상위 디렉터리로 이동
cd ~ / cd ~/<dir>홈 디렉터리 기준 절대 경로 이동
cd /<path>루트(/) 기준 절대 경로 이동
whoami현재 로그인한 사용자명 출력
$ pwd
/home/noble
$ cd /
$ pwd
/
$ cd ~
$ pwd
/home/noble
$ whoami
noble

cd <dir>처럼 슬래시 없이 시작하면 현재 위치 기준 상대 경로, /~로 시작하면 항상 같은 곳을 가리키는 절대 경로다.

폴더와 파일 만들기

명령어설명
mkdir <dir>디렉터리 생성
mkdir <d1> <d2> <d3>여러 디렉터리를 한 번에 생성
mkdir -p <a>/<b>/<c>중간 경로가 없어도 한 번에 중첩 생성
mkdir "name with space"공백 있는 이름은 따옴표나 백슬래시(\)로 escape
ls현재 디렉터리 목록 확인
$ mkdir /tmp/tutorial && cd /tmp/tutorial
$ mkdir dir1 dir2 dir3
$ mkdir -p dir4/dir5/dir6
$ mkdir "folder 1" "folder 2"
$ ls
dir1  dir2  dir3  dir4  'folder 1'  'folder 2'

mkdir -pdir4 하나만 목록에 나타난다 — dir5, dir6은 그 안에 중첩 생성됐기 때문이다.

리다이렉션으로 파일 만들기

명령어설명
<command> > file출력을 파일로 저장(기존 내용 덮어씀)
<command> >> file출력을 파일 끝에 이어붙임(append)
cat <file>파일 내용 출력, 여러 파일을 이어붙여 출력
echo "text"인자로 받은 문자열을 그대로 출력
$ ls > output.txt
$ cat output.txt
dir1
dir2
dir3
dir4
folder 1
folder 2
output.txt

$ echo "This is a test" > test_1.txt
$ echo "This is a second test" > test_2.txt
$ echo "This is a third test" > test_3.txt
$ cat t* > combined.txt
$ cat t* >> combined.txt
$ cat combined.txt
This is a test
This is a second test
This is a third test
This is a test
This is a second test
This is a third test

cat t*>로 두 번 실행했다면 매번 덮어써 내용이 그대로였겠지만, 두 번째는 >>(append)라 같은 내용이 뒤에 이어붙어 6줄이 됐다.

파일 복사·이동·삭제

명령어설명
cp <src> <dst>파일 복사
mv <src> <dst>파일 이동 또는 이름 변경
rm <file>파일 삭제(휴지통을 거치지 않고 즉시 삭제)
rmdir <dir>빈 디렉터리 삭제
rm -r <dir>디렉터리를 내용물까지 재귀적으로 삭제
rm -i <file>삭제 전 하나씩 확인(대화형)
* / ?와일드카드: 0개 이상 / 정확히 1개 문자 매칭
$ cp combined.txt backup_combined.txt
$ mv backup_combined.txt combined_backup.txt
$ rm combined_backup.txt
$ rmdir "folder 2"
$ rm -r "folder 1"
$ ls
combined.txt  dir1  dir2  dir3  dir4  output.txt  test_1.txt  test_2.txt  test_3.txt

rmdir는 내용이 없는 디렉터리만 지울 수 있고, 안에 파일/폴더가 남아 있으면 rm -r이 필요하다.

파이프라인으로 명령 연결하기

명령어설명
<cmd1> | <cmd2>cmd1의 출력(STDOUT)을 cmd2의 입력(STDIN)으로 연결
wc -l <file>줄 수 세기
sort <file>줄 단위로 정렬
uniq인접한 중복 줄 제거(먼저 정렬 필요)
less <file>페이지 단위로 파일 보기(q로 종료)
man <command>명령어 매뉴얼(man page) 열람
$ wc -l combined.txt
6 combined.txt

$ ls /etc | wc -l
246

$ cat combined.txt | uniq | wc -l
6
$ sort combined.txt | uniq | wc -l
3

uniq는 “인접한” 중복 줄만 지우기 때문에 정렬 없이 cat | uniq만 쓰면 6줄 그대로다. sort로 같은 줄을 붙여준 뒤에야 3줄로 줄어든다.

관리자 권한 (sudo)

명령어설명
sudo <command>해당 명령 하나만 superuser 권한으로 실행
su다른 사용자(기본 root)로 전환 — Ubuntu는 root 계정이 기본 비활성화라 동작 안 함
sudo suroot 셸로 전환 — 이후 모든 명령이 root 권한으로 실행되니 주의
sudo apt install <pkg>패키지 설치 예시(superuser 권한 필요)
$ cat /etc/shadow
cat: /etc/shadow: Permission denied

$ sudo cat /etc/shadow | head -1
root:<hash-redacted>:19837:0:99999:7:::

일반 사용자로는 /etc/shadow(암호 해시가 담긴 파일)를 읽을 수 없지만, sudo를 붙이면 비밀번호 확인 후 접근이 허용된다(해시 값은 보안상 위 출력에서 가렸다).

숨김 파일

명령어설명
.filename이름이 점(.)으로 시작하면 숨김 파일/폴더가 됨
ls -a숨김 파일/폴더까지 전부 표시(., .. 포함)
$ mv combined.txt .combined.txt
$ ls
dir1  dir2  dir3  dir4  output.txt  test_1.txt  test_2.txt  test_3.txt
$ ls -a
.  ..  .combined.txt  dir1  dir2  dir3  dir4  output.txt  test_1.txt  test_2.txt  test_3.txt

이름 앞에 점만 붙이면 숨김 처리되고, ls -a로 확인하면 현재 디렉터리(.)와 상위 디렉터리(..)도 항목으로 같이 보인다.

주의사항

  • rm은 휴지통을 거치지 않고 즉시, 영구적으로 삭제한다. 특히 rm -r은 대상 경로를 pwd로 한 번 더 확인한 뒤 실행한다.
  • 와일드카드는 스페이스 하나로 의미가 완전히 달라진다 — rm t*(t로 시작하는 파일 삭제)와 rm t *(파일 t와 현재 디렉터리 전체 삭제)는 결과가 전혀 다르다.
  • > 리다이렉션은 기존 파일 내용을 통째로 덮어쓴다. 이어붙이려면 >>를 쓴다.
  • root 계정을 직접 활성화하거나 su/sudo su로 장시간 root 셸에 머무르는 건 피한다. 필요한 명령 앞에만 sudo를 붙이는 쪽이 안전하다.
  • 출처가 불분명한 사이트에서 curl | sudo bash류의 설치 스크립트를 그대로 실행하라고 하면, 먼저 스크립트 내용을 확인하고 실행한다.

마무리

경로(상대/절대), 리다이렉션, 파이프, sudo 이 네 가지 개념만 익혀도 온라인에서 흔히 보는 “터미널을 열고 이 명령을 입력하세요” 안내 대부분을 이해하고 안전하게 따라 할 수 있다.

참고

답글 남기기