Posts 리눅스 터미널 명령어 정리
Post
Cancel

리눅스 터미널 명령어 정리

필수 리눅스 명령어 정리 - 드림코딩 영상을 정리한 글입니다.

쉘 (shell)

쉘은 명령어 해석기, 명령행 인터페이스이자 스크립트 언어이다.

유닉스 계열의 운영체제는 보통 텍스트 모드의 터미널 화면에서 명령행에 명령어를 입력하여 사용한다. 이 명령어를 해석하는 프로그램이 쉘(shell)이다. 쉘 명령은 GUI 도구로는 수행하기 어려운 다양한 고급 기능을 제공한다. 쉘 명령어로 구성된 쉘 스크립트 프로그램을 작성하면 쉘이 스크립트 파일을 읽어 일련의 명령을 수행할 수 있다.

쉘 명령어

메뉴얼 관련

man

man 은 특정 명령어에 대한 사용법과 설명을 보여준다. 해당 명령어가 필요한 매개변수와 같은 자세한 정보를 표시한다.

1
man [명령어 이름]

clear

clear 는 현재 화면을 깔끔하게 지워주는 역할을 한다. 사실 지워진 것은 아니고, 화면을 아래로 내려서 이전에 수행한 명령어들이 안 보이게 해주는 것이다.

1
clear

파일 탐색기 및 터미널 관련

pwd

pwdprint working directory 의 약자로, 현재 터미널이 작동하고 있는 디렉토리를 출력한다.

1
2
pwd
# /Users/joonhyuk

open [path]

open 은 매개변수로 입력한 경로를 파일 탐색기로 띄워주는 역할을 한다.

1
2
# 현재 디렉토리의 폴더를 파일 탐색기로 띄움
open .

ls

lslist 의 약자로, 현재 디렉토리에 존재하는 파일과 폴더명을 보여준다. 추가 매개변수에 따라 다른 옵션을 설정할 수 있다.

  • -l : long 의 약자로 파일형태, 사용권한, 하드링크번호, 소유자, 그룹, 파일크기, 시간, 연도, 파일명 순으로 자세한 정보를 표시한다.
  • -a : all 의 약자로 현재 디렉토리의 숨겨진 파일을 포함한 모든 파일을 보여준다.

cd [path]

cdchange directory 의 약자로, 매개변수로 주어진 경로로 디렉토리를 이동한다.

1
2
3
4
5
6
7
8
9
10
11
# 현재 디렉토리에 있는 workspace 폴더로 이동
cd workspace

# 상위 폴더로 이동
cd ..

# root 폴더로 이동
cd ~

# 이전 폴더로 다시 이동
cd -

find

find 는 대상 경로에서 찾고자 하는 이름의 파일 또는 폴더를 찾는 명령어다

1
2
3
4
5
6
7
find [경로] [...탐색조건]

# 현재 디렉토리에서 txt 파일을 모두 검색
find . -type file -name '*.txt'

# 현재 디렉토리에서 맨 끝에 2가 포함된 폴더를 검색
find . -type directory -name '*2'

which

which 는 환경변수로 지정된 명령어의 경로를 표시한다.

1
2
3
4
5
which node
# /usr/local/bin/node

which code
# /usr/local/bin/code

파일 생성 및 관리

touch

touch 는 디렉토리 내에서 존재하지 않는 파일명을 지정하면 새로운 파일이 생성되며, 이미 존재하는 파일명을 지정하면 파일의 수정시간이 업데이트 된다.

1
2
# new_file1.txt 파일을 생성 (디렉토리 내 없다고 가정)
touch new_file1.txt

cat

cat 은 텍스트 파일의 내용을 표시하는 명령어다.

1
2
3
4
5
6
7
8
# file1.txt 내용 출력
cat file1.txt

# file1, file2, file3 내용 연속해서 출력
cat file1 file2 file3

# 행 번호를 표시해서 출력
cat -n file1

echo

echo 는 터미널에 입력하고자 하는 내용을 그대로 출력하거나 파일에 저장하는 기능을 수행한다.

1
2
3
4
5
6
7
8
9
10
11
# 터미널에 hello wolrd 출력
echo "hello world"

# 새로운 파일인 new_file1 을 만들면서 맨 첫줄에 hello world 입력
echo "hello world" > new_file1.txt

# 만약 이미 존재하는 파일이라면 그대로 덮어씌운다.
echo "Hello World Again" > new_file1.txt

# 기존 내용에서 추가하고자 한다면 화살표를 2개 사용한다.
echo "this is second line" >> new_file1.txt

mkdir

mkdirmake directory 의 약자로, 현재 디렉토리에서 지정한 이름의 디렉토리를 새롭게 만든다.

1
2
3
4
5
# 현재 디렉토리에 new_dir 폴더를 생성
mkdir new_dir

# 디렉토리를 중첩해서 만들기 위해선 -p 옵션 사용
mkdir -p nested_dir/subdir1/subdir2

cp

cpcopy 의 약자로, 현재 디렉토리에 존재하는 파일을 대상 경로에 복사한다.

1
2
3
4
5
# file1.txt 를 dir1 에 복사
cp file1.txt dir1/

# file1.txt 를 현재 디렉토리에 file2.txt 로 복사
cp file1.txt file2.txt

mv

mvmove 의 약자로, 현재 디렉토리에 존재하는 파일을 대상 경로에 이동한다.

1
2
3
4
5
# file1.txt 를 dir1 에 이동
mv file1.txt dir1/

# file1.txt 를 file2.txt 로 변경
mv file1.txt file2.txt

rm

rmremove 의 약자로, 대상 파일 또는 디렉토리를 삭제한다.

1
2
3
4
5
# 현재 디렉토리에 있는 file1.txt 를 삭제
rm file1.txt

# 디렉토리를 삭제할 때는 -r (recursive) 옵션을 사용하며, 내부 디렉토리를 모두 삭제한다.
rm -r dir2

grep

grepglobal regular expression print 의 약자로, 특정 파일 내부에 존재하는 텍스트를 검색한다.

1
2
3
4
5
6
7
8
9
10
11
# 현재 디렉토리에서 "world" 텍스트를 포함하고 있는 모든 txt 파일을 검색한다.
grep "wolrd" *.txt

# -n 옵션은 텍스트가 몇 번째 라인에 있는지 함께 표시해준다.
grep -n "world" *.txt

# -i 옵션(insensitive)은 대소문자 구분없이 검색한다.
grep -i "world" *.txt

# -r 옵션(recursive)는 하위 디렉토리를 모두 포함해서 검색한다.
grep -r "world" *.txt

환경 변수 설정 및 관리

export

export 는 환경 변수를 등록하는 명령어다. 경로나 필요한 값을 편리하게 사용할 수 있도록 한다.

1
2
3
4
5
6
# MY_DIR 이라는 변수에 dir1 을 저장
export MY_DIR = 'dir1'

# 환경 변수를 출력할 때는 $ 표시를 사용한다.
# MY_DIR 에 저장된 경로로 디렉토리를 변경
cd $MY_DIR

Vim

vim 은 리눅스의 텍스트 에디터이다.

파일 생성

1
2
# file1.txt 이름의 파일을 연다.
vim file1.txt

명령어

vim 에 진입하고 나서 사용하는 명령어는 다음과 같다.

  • i : insert 의 약자로, 파일에 내용을 입력할 때 사용한다.
  • esc : 내용 입력을 마칠 때 사용한다.
  • :w : write 의 약자로, 현재 작성한 내용을 저장한다.
  • :q : quit 의 약자로, 현재 파일을 저장하지 않았다면 오류가 발생한다. 저장하지 않은 채로 파일을 닫으려면 :q! 를 입력한다.
This post is licensed under CC BY 4.0 by the author.