리눅스

리눅스 파일 관련 이동/변경/삭제/복사 명령어 총정리

coinAA 2022. 1. 8. 23:49

 

디렉토리 관련 명령어

디렉토리 경로 확인 명령어 : pwd

print working directory"의 준말로, 컴퓨터의 명령 줄 인터페이스에서 현재 작업 중인 디렉터리의 이름을 출력하는 데 쓰인다. 리눅스 운영체제 사용 시 pwd 명령어는 사용자의 현재 디렉토리의 절대 경로명을 출력해준다.
리눅스 터미널 창을 실행 후 pwd 명령어를 입력하면 /home/현재 사용자 계정명이 출력된다. 이는 현재 디렉토리의 절대 경로명이면서 동시에 접속한 계정의 홈 디렉토리에 대한 절대 경로명이다. 다른 디렉토리를 이동하여 pwd 명령어를 입력하면 출력되는 경로가 바뀌게 된다.

리눅스 pwd 명령어 입력 결과

 

디렉토리 내용 확인 명령어 : ls

ls는 list segments의 약자이며, 파일의 목록을 표시하는 기능을 수행하는 명령어이다. 리눅스 운영체제 사용 시 디렉토리에 있는 내용을 보는 명령어이다. 이 뿐만 아니라 dir 명령어와 vdir 명령으로도 디렉토리의 내용을 확인 가능하다. 
ls 명령에는 많은 옵션들이 있는데 옵션의 종류는 아래와 같으며 통상적으로 ls -al로 많이 사용된다.

리눅스 최상위 디렉토리에서  ls 명령어 입력 결과

ls -a : 숨김파일을 포함하여 모든 파일의 목록을 출력한다.
ls -d : 현재 디렉토리의 정보를 출력한다.
ls -l : 파일의 상세정보를 출력한다.
ls -i : 첫번째 행의 inode 번호를 출력한다.
ls -A : (.)와 (..)를 제외한 모든 파일을 출력한다.
ls -F : 파일의 종류를 표시한다.
ls -L : 심벌릭 링크 파일의 경우 원본 파일의 정보를 출력한다.
ls -R : 하위 디렉토리의 목록까지 모두 출력한다.


디렉토리 이동 : cd [이동할 디렉토리]

cd는 디렉터리 변경(change directory)의 준말이며, 유닉스, 윈도우, 도스와 같은 운영체제에서 현재의 작업 디렉터리의 위치를 바꾸는 명령 줄이다.  현재 디렉토리에서 다른 디렉토리로 이동할 때는 cd라는 명령어를 사용하여 이동한다.
접근이 권한이 없는 디렉토리를 제외하고는 어느 디렉토리든지 이동할 수 있다.

절대 경로를 이용한 디렉토리 이동
상대 경로를 사용한 디렉토리 이동

cd [디렉토리 경로] : 이동하려는 디렉토리로 이동
cd . : 현재 디렉토리
cd .. : 한 단계 상위 디렉토리로 이동
cd / : 최상위 디렉토리로 이동
cd $변수명 :  변수에 저장된 경로로 이동
cd ~ : 사용자 계정명 입력한 사용자의 홈 디렉토리로 이동
cd - : 이전 경로로 이동

cd ~ : 사용자 홈 디렉토리로 이동
cd $HOME : 사용자 홈 디렉토리로 이동
cd : 사용자 홈 디렉토리로 이동

 

디렉토리 생성 명령어 : mkdir [디렉토리 명]

mkdir은 make directory의 약자로 디렉토리를 관리하는 명령어 중 디렉토리를 생성하는 명령어이다.
디렉토리를 한 개 생성하려면 mkdir [디렉토리명]을 입력해주면 되고 한 번에 여러 개를 생성할 시 공백으로 구분을 지어서 mkdir [디렉토리명1] [디렉토리명2] [디렉토리명3] 생성하면 된다.

mkdir 디렉토리 단일 생성 예시
mkdir 디렉토리 다중 생성 예시

mkdir -m : 디렉토리의 접근 권한을 설정한다.
mkdir -p : 여러 덱스의 하위 디렉토리를 생성 시에 사용한다.
mkdir -v : 디렉토리 생성시 메시지를 출력한다.
mkdir -z : SELinux 보안 컨텍스트 설정을 한다.
mkdir --help : 도움말을 출력한다.
mkdir --version : mkdir 정보를 출력한다

 

디렉토리 삭제 명령어 : rmdir [대상 디렉토리]

rmdir은 remove directory의 준말로 디렉토리를 삭제하는 명령어이다. 리눅스에서 비어있는 디렉토리를 삭제하는 명령어이다. 디렉터로 생성과 동일하게 디렉토리를 한개 삭제하려면 rmdir [디렉토리명]을 입력해주면 되고 여러개를 동시에 삭제하려면 공백으로 구분을 지어서 rmdir [디렉토리명1] [디렉토리명2] [디렉토리명3] 삭제하면 된다.

리눅스 디렉터로 삭제 예시 

 

디렉토리 복사 명령어 : cp -r [복사할 디렉토리] [복사될 위치]

cp는 copy의 약어로써 파일이나 디렉토리를 복사할 때 사용하는 명령어이다. cp는 복사할때 같은 이름의 대상 파일이 있는 경우 사용자에게 묻지 않고 덮어씌워버리는데, 이 같은 실수를 방지하고자 Alias 설정을 "cp='cp -i'"로 해두고 있다. 디렉토리를 복사하려면 cp -r [복사할 디렉토리] [복사될 위치] 이처럼 복사하면 된다.

리눅스 디렉토리 복사 예시

cp -a : 원본 파일의 속성, 링크 정보들을 그대로 유지하면서 복사한다.
cp -b : 복사할 대상이 이미 있을 경우 기존 파일을 백업하고 복사한다.
cp -d : 만약 복사할 원본이 심볼릭 링크일 때 심볼릭 자체를 복사한다.
cp -f : 만약 복사할 대상이 이미 있으면 강제로 지우고 복사한다.
cp -i : 만약 복사할 대상이 이미 있으면 사용자에게 물어본다.
cp -l : 하드 링크 형식으로 복사한다.
cp -P : 원본 파일 지정을 경로와 같이했을 경우 그 경로 그대로 복사한다.
cp -p : 파일의 소유자, 그룹, 권한, 시간 정보들이 그대로 보존되어 복사한다.
cp -r : 원본이 파일이면 그냥 복사되고 디렉터리라면 디렉터리 전체가 복사한다.
cp -s : 파일을 심볼릭 링크 형식으로 복사한다. 원본 파일 이름을 절대 경로로 지정해야 한다.
cp -u : 복사할 대상이 있을 때 이 파일의 변경 날짜가 같거나 더 최근의 것이면 복사하지 않는다.
cp -v : 복사 상태를 보여준다.
cp -x : 원본과 대상 파일의 파일 시스템이 다를 경우에는 복사하지 않는다.
cp -R : 디렉터리를 복사할 경우 그 안에 포함된 모든 하위 경로와 파일들을 모두 복사한다. 

 

디렉토리 잘라내기 및 이름 변경 명령어 : mv [이동할 디렉토리] [이동할 위치 및 이름]

mv는 move의 줄임말이다. 하나 이상의 파일이나 디렉터리를 한 장소에서 한 다른 장소로 이동하도록 만드는 명령어다.

디렉토리를 이동시키려면 mv [이동할 디렉토리] [이동할 위치 및 이름] 명령하면 된다. 

디렉토리 이동과 동시에 이름 변경 예시

-i : 이동될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어쓰기 여부를 묻는다.
-b : 이동될 파일이 이름이 이미 존재할 경우, 백업 파일을 생성한다.
-f : 이동될 파일이 이름이 이미 존재할 경우, 강제로 덮어쓰기 한다.
-n : 이동 될 파일이 이름이 이미 존재 할 경우, 덮어쓰기를 하지 않는다.
-r : 하위 디렉토리 까지 모두 이동한다.
-v : 이동 진행 상태를 출력한다.

 

디렉토리 삭제 명령어 : rm [대상 디렉토리]

rm은 remove의 약어로서 파일이나 디렉토리를 삭제하는 명령어이다. 사용법은 rm [대상 파일, 디렉토리]를 입력하면 된다. 통상적으로 내용을 포함한 디렉토리 삭제 시에는 rf옵션과 함께 사용한다.

rf옵션을 사용한 디렉터토리 삭제 예시
f옵션 없는 디렉터토리 삭제 예시

-r : 해당 폴더와 해당 폴더 안에 있는 모든 파일, 디렉토리까지 제귀적으로 삭제한다
-d : 빈 디렉토리를 삭제하는 옵션
-i : 각 파일 및 디렉토리를 삭제할 때 삭제 여부를 묻도록 하는 옵션
-f : 모든 오류를 무시하고 강제로 삭제하는 옵션

-p : 해당 디렉토리와 경로로 사용된 부모 디렉토리를 모두 제거한다.
-v : 모든 처리과정 출력

--help 이 도움말을 표시
--version 버전 정보를 출력