Linux 2 . 기본적인 명령어

2024. 1. 24. 22:45Linux/CentOS7

리눅스를 잘 사용하기 위해선 

명령어를 잘 이용해야 한다.

리눅스의 명령어 중 가장 기본적이고 

또, 많이 사용 되는 명령어를 사용해보자.

 

커널의 가독성을 위해서 xshell로 진행하겠다.

1.ls (list)

디렉토리의 내용을 출력해주는 명령어

사용법 : ls (옵션)  (디렉토리 , 빈칸이면 현재위치)

현재 내 디렉토리엔 anaconda-ks.cfg 파일만이 존재하는 것을 볼 수있다.

ls 를 입력하면 현재 디렉토리의 안에 있는

파일, 디렉토리를 출력해준다.

 

옵션에는 

-a : 숨김파일과 디렉토리까지 표시

-l : 파일이나 디렉토리의 메타데이터 정보까지 출력

-h : 파일이나 디렉토리의 용량을 가독성 좋게 출력

-i : 파일이나 디렉토리의 inode 넘버 출력

-R : 하위 디렉토리의 내용까지 출력

 

 

inode란? : LINUX에서 파일을 관리하는 고유번호이다.

 

각 옵션의 사용법 , 옵션을 붙여서 복수 사용도 가능하다!

 

1-2.  pwd (print working directory)

현재 작업중인 디렉토리를 알려주는 명령어

2. cd (change directory)

디렉토리를 이동하는 명령어

사용법 : cd (옵션) (디렉토리)

cd /boot/efi/EFI 명령어를 입력하고

pwd 현재 위치를 확인해보면 

 

최상위 디렉토리의 

boot 디렉토리의

efi 디렉토리의

EFI 디렉토리

인 것을 확인할 수 있다.

 

 

 

옵션에는

~ : 사용자의 홈 디렉토리로 이동

- : 이전에 작업한 디렉토리로 이동 (뒤로가기)

. : 현재 디렉토리에 그대로

.. : 상위 디렉토리로 이동

 

그런데 cd  명령어를 사용하기 전에  우리

절대, 상대경로와  Linux의 디렉토리의 구조를 알 필요가 있다.

 

절대경로

최상위 디렉토리부터 지정,

Login user의 위치에 상관없이

무조건 이동이 가능


상대경로

Login user가 위치한

디렉토리를 기준으로 이동

절대 경로에 비해 경로 축약이 가능

 

/boot/efi/EFI 의 위치에서 cd root

EFI안에 root 디렉토리가 없다고 뜰 뿐이다. 

 

root 디렉토리고 가고 싶다면

절대경로인 /root를 입력해줘야 한다!

 

 

상대경로인 ..를 이용해 이동할 수도 있다!

 

 

 

 

 

 

Linux의 디렉토리 구조

실제론 이렇게 출력되지 않는다.

위 사진이 최상위 디렉토리에 존재하는 디렉토리들이다.

아직 중요하지 않은 몇가지는 제외했다.

.

.

.

.

.

3. mkdir (make directory)

디렉토리를 생성하는 명령어

사용법 : mkdir (옵션) (디렉토리) (디렉토리) (디렉토리) ...

 

mkdir hi로 hi 디렉토리를 만들었다.

 

 

옵션에는

-p 하위 디렉토리를 생성하면서 디렉토리 생성

 

 

 

 

mkdir 만으로는 디렉토리와 하위 디렉토리를 한번에 만들 수 없다.

 

하지만 -p 옵션을 입력후

디렉토리 주소를 입력하면

한번에 생성이 가능하다.

 

 

이렇게 많은 디렉토리를

ls -R 이 있다고 해도

한눈에 확인하기는 쉽지않다..

 

3-1.tree

하위 디렉토리를 모두 트리구조로 가독성 좋게 보여준다.

이전의 ls -R 과 비교해보면 정말 보기좋다.

 

 

 

4. rmdir (remove directory)

디렉토리를 삭제하는 명령어

사용법 : rmdir (옵션) (디렉토리) (디렉토리) (디렉토리) ...

 

hi 디렉토리를 삭제했다.

 

옵션에는 

-p : 하위 디렉토리를 제거하면서 디렉토리 제거

 

mkdir 과 사용법이 똑같다.

 

 

 

 

 

 

파일 생성에 관련된 명령어들도 알아보자

 

5. touch

 

파일이나 디렉토리의 시간정보를 현재 시간으로 변경해준다.

경로에 파일이 없으면 생성한다 ( 0byte의 빈 파일)

 

hi 디렉토리의 시간 정보가 바뀐 것을 알 수있다.

 

 

 

 

 

 

만약  없는 a.txt 파일을  지정한다면

위와 같이 a.txt가 만들어졌다

 

 

 

6. cat (concatenate)

파일의 내용을 확인하는 명령어

 

옵션에는

cat > (파일명)  :  (파일명) 내용 입력 및 생성이 된다.

cat >> (파일명) :  파일 내용 끝단에 내용을 추가할 수 있다.

 

cat a.txt로 이전에 만든 a.txt (0 byte)에

내용을 입력하고 ctrl  + D 를 입력하면

a.txt에 내용이 생기고

32byte로 늘어난 것을 알 수 있다.

 

 

(> 은 리디렉션, 출력방향의 변경을 뜻한다.)

 

cat > b.txt로

내용을 입력후

파일을 생성했다.

 

 

7. vi

파일의 내용을 수정하는 명령어

사용법 : vi (파일명)

 

vi a.txt 로 파일 내용을 수정할 수있다.

 

기능에는

a  : 수정이 가능한 입력모드로 전환

 

ESC버튼 : 입력모드에서 명령모드로 전환

dd : 해당 행 삭제 (명령모드시)

:q : vi 편집기 종료

:q! : vi 편집기 (저장 없이)강제 종료

:w : 작업내용 저장

:wq : vi 편집기 작업내용 저장 후 종료 

 

8. rm (remove)

파일을 삭제하는 명령어

사용법 : rm (옵션) (파일명)

a.txt같은 파일을 삭제 가능하다.

삭제 전에 삭제여부를 묻는다. 

 

 

옵션에는

-r : 디렉토리 삭제 가능

-f : 강제 삭제

 

 

 

a/b/c/d/e/f/g 디렉토리를

한번에 확인절차 없이

삭제해 버렸다...

 

굉장히 위험할 수 있는 기능이니 사용시에는 반드시 한번 더 확인하자

 

 

 

9. cp (copy)

파일을 복사하는 명령어

사용법 : cp (옵션) (원본파일명) (사본파일명)

 

a.txt를  b.txt로 복사했다.

 

 

옵션에는

-r : 디렉토리 복사

-a : 메타데이터까지 복사

 

cp -a 로 c.txt 파일을 복사했다.

 

a.txt 와 c.txt는 파일의 시간정보(메타데이터)가

똑같은 것을 알 수 있다!

 

 

 

cp -r 로 hi 라는 디렉토리를

bye 라는 디렉토리로 복사했다.

 

 

 

10.mv (move)

파일이나 디렉토리를 이동하는 명령어 , 이름변경도 가능하다.

사용법 mv (옵션) (원본파일명) (목적지파일명)

 

 

 

가상의 디렉토리 환경을 만들어 보았다.. 

mv (출발위치/파일명) (도착위치/파일명) 

위 명령어로 d.txt가 이동한 것을 볼 수있다.

 

 

mv 명령어를 파일위치를 빼고 사용하거나

도착지점 파일명을 바꾸면

!

파일, 디렉토리 이름을

바꾸는데 사용 가능하다!

 

 

 

find

리눅스 내의 파일을 검색할때 사용한다.

find [옵션] [경로] [내용]

 

예로
/root 디렉토리에서 abc가 들어가는 파일 모두 찾으려면
find /root -name  "*abc*" 

위 명령어를 입력한다.

 

옵션에는

 

-mtime (+, ,-)N : 기준 시점으로 수정된 파일

 

mtime 옵션은 사용시에 헷갈리 수도 있다.

아래의 사진을 살펴보자

 

 

-newer : 보다 최근에 내용이 수정된 파일
-anewer : 보다 최근에 읽기가 수행된 파일
-cnewer : 보다 최근에 상태가 변경된 파일

.

.

.

.

.

이상으로 자주사용하는

명령어와 옵션을 알아봤다.

 

명령어 뿐만 아니라 리눅스 사용시에는

대소문자를 필히 구분해서 사용하도록 하자!