리눅스 기본 명령어

greenTea·2023년 9월 14일
0

리눅스 기본 명령어

리눅스란

🫠리눅스는 Unix를 기반으로 한 오픈소스 운영체제입니다. 리누스 토르발스(Linus Torvalds)에 의해 개발되었으며, 현재까지도 전 세계의 개발자들에 의해 유지보수 및 개발이 이루어지고 있습니다.

기본 특징

  • 오픈 소스: 누구나 소스 코드를 자유롭게 이용, 수정, 배포할 수 있습니다.
  • 다양한 플랫폼 지원: 서버, 데스크톱, 임베디드 시스템 등 다양한 플랫폼에서 동작합니다.
  • 멀티유저, 멀티태스킹: 여러 사용자가 동시에 다양한 작업을 할 수 있습니다.
  • CLI (Command Line Interface): 텍스트 기반의 명령어를 사용하여 시스템을 제어할 수 있습니다.

실습 환경

gcp에서 vm을 생성하여 사용한 환경입니다.
centos 7의 환경에서 진행하였습니다.

1. man - 매뉴얼 페이지

man [명령어]

🤗man 명령어는 manual의 줄임말로 설명서로 이해하시면 됩니다.
만약 ls에 대한 명령어에 대해서 알고 싶다면 man ls를 쓰시면 되는데 아래는 그 결과 화면입니다.

man ls의 결과 화면

해당 화면에서는 다음과 같은 키를 이용하여 탐색할 수 있습니다.

스페이스바: 다음 페이지 이동
엔터: 다음 줄
b: 뒤로가기
q: 종료

추가 옵션

-s [섹션 번호]: 몇번 째 섹션에서 찾을 것인가?
-k [찾을 명령어] : 키워드를 이용하여 검색합니다.

참고

😊만약 man 명령어가 안 될 경우 sudo mandb를 실행해주시고 나서 다시 해주시면 됩니다.

2. ls - 디렉토리 나열

ls

ls를 사용하면 기본적으로 해당 디렉토리에 있는 파일들을 보여줍니다.

기본 옵션

-a 또는 --all: 숨겨진 파일을 포함한 모든 파일을 출력합니다.
-l: 파일의 상세 정보를 나열 모드로 출력합니다. 이 정보에는 권한, 소유자, 그룹, 크기, 날짜 등이 포함됩니다.
-h 또는 --human-readable: 파일 크기를 쉽게 읽을 수 있는 형태로 출력합니다 (예: K, M, G).
-r 또는 --reverse: 결과를 역순으로 출력합니다.
-R 또는 --recursive: 디렉토리와 그 하위 디렉토리를 재귀적으로 나열합니다.
-S: 파일 크기에 따라 정렬하여 출력합니다.
--color: 파일 타입에 따라 색을 입혀 출력합니다. 이 옵션은 보통 ls 명령어에 기본적으로 설정되어 있습니다.

확인

🫡먼저 확인을 위해 touch file1을 통해 파일을 생성해주고 mkdir dir1을 통해 디렉토리를 생성해 주겠습니다.

다음 ls를 사용하시면 다음과 같은 결과가 나오게 됩니다.

dir1  file1

3. mkdir - 디렉토리 생성

mkdir [이름]

mkdir을 통해 디렉토리를 생성할 수 있습니다.
mkdir hello/를 실행하고 나서 ls를 통해 확인하시면 hello라는 디렉토리가 생기는 것을 확인 할 수 있습니다.

디렉토리를 한 번에 여러개 생성하기

🤓mkdir 1/2/3를 실행하시면 mkdir: cannot create directory ‘1/2/3’: No such file or directory 라는 문구가 나오게 됩니다.
mkdir 1/2/3은 결국 mkdir 3을 1/2 디렉토리 밑에 만들어 달라는 요구와 같은데 현재는 1/2/ 디렉토리가 없기에 생기는 문제이므로 이를 해결하기 위해서는 -p(parent) 옵션을 사용하시면 됩니다.
다시 mkdir -p 1/2/3을 실행하시면 성공적으로 디렉토리가 생기는 것을 확인 할 수 있습니다.

참고

tree를 이용하면 더욱 가독성 높게 확인 할 수 있습니다.
sudo yum install tree를 통해 설치를 하고 나서 사용하시면 됩니다.

.
├── 1
│   └── 2
│       └── 3
└── hello

4. rmdir - 디렉토리 제거

rmdir [이름]

디렉토리 제거 명령어입니다.
위에서 만든 hello 디렉토리를 지우고 싶다면 rmdir hello를 실행하시면 됩니다.

디렉토리를 한 번에 여러개 삭제하기

🧐1 디렉토리를 삭제하려고 rmdir 1/2/3을 사용하시면 rmdir: failed to remove ‘1’: Directory not empty이러한 문구가 발생합니다. rmdir은 기본적으로 비어있는 폴더만을 삭제 할 수 있는데 현재 1 안에는 2/3 디렉토리가 있기에 발생하는 것으로 이런 경우 -p 옵션을 이용해주시면 됩니다, rmdir -p 1/2/3 을 실행하면 성공적으로 삭제가 되는 것을 확인 할 수 있습니다.

5. cd - 디렉토리 변경

cd [경로]

cd는 이동 명령어입니다.

상대 경로와 절대 경로

절대 경로: 루트 디렉토리(/)로부터의 전체 디렉토리 경로를 사용합니다.
예: cd /etc/nginx

상대 경로: 현재 디렉토리를 기준으로 디렉토리를 이동합니다.
예: 현재 디렉토리가 /home/user일 때, cd Documents는 /home/user/Documents로 이동합니다.

특수

cd ~ or cd: 홈 디렉토리로 이동
cd -: 이전 디렉토리로 이동
cd ..: 상위 디렉토리로 이동

6. cp - 복사

cp [원본 파일/디렉토리] [대상 위치]

😑cp file1.txt file2.txt를 사용하시면 file1.txt.를 복사하여 file2.txt라는 파일을 만듭니다.

-i 옵션

만약 이미 같은 이름의 다른 파일이 존재한다면 덮어쓰기를 진행하게 되는데 이러한 것이 싫으시다면 -i 옵션을 붙여주시면 됩니다. cp -i file1.txt file2.txt

cp: overwrite ‘file2.txt’? 

-r 옵션
디렉토리를 복사하고 싶은 경우 -r 옵션을 이용하시면 됩니다.

`cp dir dir2`

y는 덮어쓰기를 허용하는 것이고 그 이외에는 모두 거절하는 명령어입니다.

7. mv - 이동 및 이름 변경

mv [원본 파일 이름] [새 이름]

🤗이름을 바꾸는 명령어 입니다. 예를 들어 hello 라는 파일이 있는 경우 mv hello hi를 실행할 경우 hello의 파일이름이 hi로 변경되게 됩니다.

-i 옵션
cp에서 사용했던것과 마찬가지로 덮어쓰기 여부를 직접 확인하고 입려하고 싶으시다면 -i옵션을 이용하시면 됩니다.

mv -i [원본 이름] [새로운 이름]

8. rm - 삭제

rm [파일/디렉토리 이름]

🧐파일 또는 디렉토리를 삭제하고 싶다면 rm을 이용하시면 됩니다.
hello라는 파일이 있는 경우 rm hello를 실행하게 되면 hello가 삭제가 됩니다.

-r 옵션
dir이라는 디렉토리가 있는 경우 rm dir을 통해 실행하면 rm: cannot remove ‘dir1’: Is a directory와 같은 문구가 발생하는데 디렉토리를 삭제하기 위해서는 -r옵션을 사용해야 합니다.

rm -r dir

-i 옵션
삭제 여부를 직접 확인하고 싶으시다면 -i 옵션을 이용하시면 됩니다.

rm -i [파일/디렉토리 이름]

profile
greenTea입니다.

0개의 댓글