System/Linux

리눅스 기본 명령어(1) - 디렉터리 관련 명령어

슬픈 야옹이 2023. 1. 10. 22:14

Intro

서버 OS로 많이 쓰이는 리눅스는 보통 GUI(Graphic User Interface)환경에서 사용하지 않는다.

 

따라서 리눅스 환경에서의 작업은 대부분 커맨드 창에 명령어를 입력하면서 진행되기 때문에, 리눅스를 이용하려면 리눅스 명령어에 대한 이해는 필수적이다.

 

다만, 리눅스에는 정말 많은 명렁어와 기능이 있기 때문에, 명령어를 영어단어 외우듯 무턱대고 외워선 안된다.

자주 쓰는 명령어만 기억하고 다른 명령어들은 필요할 때마다 메뉴얼(document, 문서라고도 부름)을 찾아보는 것이

바람직하다.

 

이 포스트에서는 리눅스를 다룰 때 가장 많이 쓰이는, 사실상 필수적으로 쓰이는 몇 가지 명령어를 정리해본다.

 

 

리눅스 명령어 입력 방식

 

리눅스 명령어를 입력하는 방식은 일반적으로 다음과 같다.

# command [-단읾문자 옵션] [--다중문자 옵션]

리눅스 명령어를 입력할 때 옵션을 함께 입력할 수 있는데,

일반적으로 옵션이 단일문자일 경우 '-'를, 단어일 경우 '--'을 붙여 사용한다.

 

사용 예시는 다음과 같다.

# ls -a
# rm -r
# mkdir --version

ls -l 실행결과
mkdir --version 실행결과

 

[--다중문자 옵션]은 그리 자주 사용되지는 않지만, 드물게 사용되기도 하므로 알고 있어야 한다.

 

그리고, [-단일문자 옵션]은 동시에 여러개를 쓸 수 있다.

다음은 ls -al을 실행한 화면이다.

ls -al 명령을 입력하면 "ls -a" 와 "ls -l"을 동시에 사용한 것과 같다.

ls -al 실행결과

 

옵션을 설명할 때 일반적으로 라는 표현을 계속 덧붙이는 이유는 그렇지 않은 경우도 있기 때문이다.

소개한 명령어 형태가 자주 쓰이는 형태는 맞지만, 모든 명령어가 반드시 이 형태를 따르지는 않는다.

즉, 나중에 다른 형태의 명령어가 나와도 그런갑다 하고 쓰면 된다.

 

 

 

디렉터리 관련 명령어

pwd

현재 위치한 디렉터리를 절대경로로 출력한다. 다음에 설명하는 cd, ls 명령과 더불어 가장 많이 쓰이는 명령어다.

사용하는 옵션은 사실상 없다고 봐도 무방하다. 사실 본인도 옵션을 붙여 써본 적 없어 잘 모른다.

 

형태는 다음과 같다.

# pwd

 

사용 예시는 다음과 같다.

pwd 명령어로 현재 위치를 출력

 

 

 

cd

디렉터리 이동 명령어. 보통 옵션 없이 사용한다.

리눅스에선 지금 하는 작업이 시스템의 어느 위치에서 수행되는지가 중요하기 때문에,

디렉터리 경로 파악 또는 이동을 능숙하게 할 수 있어야 한다.

 

형태는 다음과 같다.

# cd [이동할 디렉터리 위치]

 

/home/user1 디렉터리로 이동하고 싶다면 아래와 같이 사용한다.

# cd /home/user1/

 

cd 단독으로 사용하거나 이동할 디렉터리 위치에 '~'를 사용하면 현재 사용자의 홈 디렉터리로 이동한다.

# cd
# cd ~

 

다음은 cd의 사용 예시다.

현재 디렉터리에서 /home2/data 디렉터리로 이동
/ 디렉터리에서 홈 디렉터리(/home2/st07)로 이동

 

 

mkdir

지정한 디렉터리를 생성한다.

 

형태는 다음과 같다.

# mkdir [생성할 디렉터리명]
    -p, --parent : 경로에 해당하는 부모 디렉터리가 없다면 새로 생성한다.
    --version : 버전 정보를 출력한다.

 

사용 예시는 다음과 같다.

# mkdir a	// 현재 경로에 a 디렉터리 생성
# mkdir -p ./a/b	// 현재 경로 하위에 b 디렉터리를 만들고 그 하위에 a 디렉터리 생성

 

현재 디렉터리 하위에 a 디렉터리, /b/c 디렉터리 생성.

 

 

만일 -p 옵션을 넣지 않고 예시처럼 c 디렉터리를 생성하려 시도하면 생성되지 않는다.

경로상에 없는 부모 디렉터리를 함께 생성하려면 -p 옵션을 함께 입력해야 한다.

 

rmdir

지정한 디렉터리를 삭제한다.

형태는 다음과 같다.

# rmdir [삭제할 디렉터리 경로]

다만, 잘 쓰이지는 않는다.

하위 디렉터리나 파일이 존재하면 삭제되지도 않을 뿐더러, 더 간편한 rm 명령어가 있기 때문이다.

 

 

ls

현재 디렉터리에 속한 파일의 목록을 출력한다.

pwd, cd와 더불어 가장 많이 쓰이는 명령어다.

 

형태는 다음과 같다.

# ls [옵션] [대상 디렉터리]
	
    -a : 숨겨진 파일까지 모두 출력
    -l : 파일에 대한 정보를 자세히 출력
    -R : 하위 디렉터리까지 모두 출력

 

대상 디렉터리를 입력하지 않으면 현재 디렉터리의 파일 목록을 출력한다.

 

사용 예시는 다음과 같다.

# ls -al	// 현재 디렉터리의 모든 파일과 파일에 대한 자세한 정보를 출력한다.
# ls -al /home/user1	// /home/user1 디렉터리의 모든 파일과 그에 대한 자세한 정보를 출력한다.

ls -al 실행화면

 

/home2/data/ 디렉터리의 파일 목록 출력

 

 

 

rm

대상 파일이나 디렉터리를 삭제한다.

 

형태는 다음과 같다.

# rm [옵션] [대상]

    -r : 대상 경로에 포함된 디렉터리도 함께 삭제
    -f : 강제 실행

 

사용 예시는 다음과 같다.

# rm -rf a.txt	// 현재 디렉터리의 a.txt파일 삭제 (하위 디렉터리 포함, 강제 실행)
# rm -rf /home/user1/data	// /home/user1/data 디렉터리 삭제 (하위 디렉터리 포함, 강제 실행)

a.txt 파일 삭제
a 디렉터리 삭제

 

이처럼 rm 명령으로 파일과 디렉터리 모두 삭제할 수 있기 때문에 rmdir 명령어는 잘 쓰이지 않는다.

 

 

다음 포스트에서는 파일에 관한 명령어 위주로 소개해보겠다.