본문 바로가기

리눅스

3. 리눅스 기본 명령어

0. 목차

 1.기본 명령어

  1.0.[root@이름~]# 분석

  1.1. 사용명 

  1.2. ls

  1.3. mkdir

  1.4. rmdir

  1.5. 파일만들기

  1.6. rm

  1.7. cd

  1.8. cp

  1.9. mv

 2. ln

  2.1. hardlink

  2.2. symbolic link

---------------------------------------------------------------------------------------------------------------------------------

1. 기본 명령어

 1.0. [root@이름~]# 분석

  - root : 로그인 사용자 ,  centos7-1 : 컴퓨터이름(hostname), ~ : 현재디렉토리,  #($) : 관리자 (일반사용자)

 

 1.1. 사용명

  - #명령어 --help 롱옵션 : 옵션 풀네임

  - #명령어 -a 롱옵션 : 옵션 축약명

 

 1.2. ls : 디렉토리 내용 출력 ( list )

현재 디렉토리의 파일 표현

  1.2.1. 옵션 -a : 모든 ( 숨김 ) 파일 및 디렉토리 출력 

    - 아나콘다 파일을 제외하고 더욱 더 많은 파일과 디렉토리가 보이게 된다.

-a 와 --all 옵션은 같은 옵션, 홈 디렉토리에 있는 모든 파일 표현

  1.2.2. 옵션 -l : 파일 및 디렉토리의 속성 (메타데이터) 정보 출력

    - 아나콘다 파일의 이름뿐만 아니라 해당 데이터의 정보를 출력.

 

anaconda-ks.cfg의 정보들이 표현

  1.2.3. 옵션 -h : 파일이나 디렉토리의 사이즈를 가독성 좋게 변경해서 출력

    - 다음과 같이 1216이 1.2K로 가독성 좋게 변경된 것을 볼 수 있다.

  1.2.4. -i : 파일이나 디렉토리의 inode number 출력
  1.2.4. -R : 디렉토리의 하위 디렉토리 및 파일 목록 나열

    - var 디렉토리 안에 있는 모든 하위 디렉토리와 파일 목록이 보인다.

-R

  1.2.5. 각 옵션은 한번에 사용할 수 있다.

    - hali의 옵션을 한번에 사용하여 centOS7-1의 모든 파일과 디렉토리의 inode number와 속성정보가 보인다.

      h를 이용해서 사이즈가 가독성 좋게 보이는 것을 볼 수 있다.

한번에 옵션 실행

 

 

 1.3. mkdir

  - mkdir : 디렉토리를 생성해주는 명령어

  1.3.1. 디렉토리 하나 생성

    - #mkdir 디렉토리이름 : 하나의 디렉토리를 생성할 수 있다.

mkdir로 하나의 디렉토리 생성

 

  1.3.2. 디렉토리 여러개 생성

    - #mkdir 이름1 이름2 이름3 : 여러개의 디렉토리 생성 가능

mkdir로 여러개의 디렉토리를 생성

  1.3.3. 하위 디렉토리까지 생성

    - #mkdir 이름1/이름2/이름3 : 이 명령어는 실패하게 된다.

    - #mkdir -p 이름1/이름2/이름3 : -p 옵션을 통해 하위 디렉토리까지 생성할 수 있다.

하위디렉토리까지 생성

 1.4. rmdir

  - 디렉토리 삭제시켜주는 명령어

  1.4.1. 디렉토리 하나 삭제

    - rmdir 이름1 : 이름1의 디렉토리를 삭제한다. 단 이때 디렉토리에 다른 디렉토리나 파일이 없어야 한다.

a 디렉토리 삭제
다음과 같이 지워지지 않는다.

 

  1.4.2. 디렉토리 여러개 삭제

    - #rmdir 이름1 이름2 이름3 : 이름에 해당되는 디렉토리를 삭제한다.

b c d 디렉토리를 한번에 삭제

  1.4.3. 하위 디렉토리까지 삭제

    - #rmdir 이름1/이름2/이름3 : 이 명령어는 실패하게 된다.

    - #rmdir -p 이름1/이름2/이름3 : -p 옵션을 통해 하위 디렉토리까지 삭제할 수 있다. 단 디렉토리 경로에 파일이 존                                                 재하면 해당 디렉토리까지만 삭제

하위디렉토리까지 한번에 삭제

 

 1.5. 파일 만들기

  1.5.1 touch

    - #touch 파일이름 : 파일 이름에 해당되는 0byte짜리 파일이 생성.

test.txt 이름을 가진 0byte 파일 생성

     - 뒤에 파일이름을 여러개 씀으로써 여러개의 파일 생성 가능

touch를 이용하여 여러개의 txt 파일 생성

  1.5.2. cat >

    - cat : 파일의 내용을 출력하는 명령어

    - > : redirection >은 표준 출력 방향 변경, 컴퓨터 시스템의 표준 출력은 모니터이다. 따라서 반대로 바꿔주어 입력              하는 것이다.

    - #cat > 파일이름.txt : 글자를 입력할 수 있게 되고, 컨트롤+d 를 통해 저장한다.

test1.txt 이름을 가진 파일 생성

    - #cat >> 기존 파일 : 기존의 파일 끝으로 내용 추가.

기존 파일에 aa를 추가한 파일

 

  1.5.3. vi

    - #vi 파일이름 : a i o 키들을 입력창에 진입하여 글자를 입력할 수 있게 되며, esc로 나온 후 :wq로 저장 및 닫기 실행

vi를 이용하여 a.txt를 생성
cat을 이용하여 출력

 

1.6. rm

  - rm : 파일을 삭제하는 명령어

  - #rm 파일명1 파일명2 파일명3 : 한번에 여러개 까지 삭제 가능.

  - # 옵션 -f : 강제로 지워버리는 옵션

  - # 옵션 -r : 디렉토리까지 삭제 ( 하위 디렉토리 포함 ) 

touch로 3개의 파일 생성
rm -f 옵션으로 디렉토리에 있는 모든 txt 파일 삭제 and  -r옵션을 활용하여 전체 디렉토리 삭제 

 

1.7. cd

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

  - . : 현재 티렉토리

  - .. : 바로 위 상위 디렉토리

.. 를 두번 사용함으로써 상위디렉토리로 두번 이동

  - - : 바로 직전 작업 디렉토리 

-를 이용하여 직전 디렉토리로 이동

  - ~ : 로그인한 사용자의 홈 디렉토리

~를 이용하여 root 디렉토리로 이동

  - / : 절대경로, 최상위 디렉토리부터 경로지정, 사용자가 어느 디렉토리에 있던지 경로 통일

절대경로를 이용한 이동

  - /없이 지정 : 상대 경로, 사용자가 위치하는 디렉토리에 따라 경로 지정

상대 경로를 이용한 이동

 

1.8. cp

  - #cp 파일 경로 : 경로로 파일을 복사

a.txt 파일을 하위디렉토리 11로 복사

  - #cp 파일1 파일2 : 파일1을 파일2의 이름으로 현재 디렉토리에 복사 

a.txt를 aa.txt 파일로 복사

  - 옵션 -a : 파일 속성 (메타데이터) 정보까지 복사

 aa.txt에 a.txt의 속성까지 복사

  - 옵션 -r : 디렉토리를 복사할 때 사용    // -r 옵션이 없다면 디렉토리 복사는 가능하지 않다.

디렉토리 111을 11디렉토리안에 복사

 

1.9. mv 

  - mv : 파일 및 디렉토리 이동

  - mv : 명령어를 이용해서 파일 및 디렉토리 이름까지 변경

  - #mv 파일 경로 : 파일을 경로로 옮기는 명령어

a.txt를 mv를 통해 11 디렉토리로 이동

 

  - #mv 파일1 파일2 : 파일의 이름을 변경할 수 있다.

aa.txt->bb.txt로 변경, 111일 디렉토리를 기존 11디렉토리에 덮어씀

 

2. ln (link) : inode number가 동일한 완벽하게 같은 파일 생성

2.1. hardlink : inode nuber가 동일하며, 원본파일이 삭제되어도 존재 가능. 상대경로를 이용할 때 사본파일의 위치 기준                                         으로 원본파일의 경로를 작성. 

  - #ln 원본파일 사본파일 : 원본파일을 하드링크하는 사본파일 생성.

    > cat을 통해 a.txt 파일을 생성하고 이를 하드링크를 이용하여 aaa.txt 파일을 만듬.

    > 아래 사진을 보면 아이노드가 217로 동일함을 볼 수 있고, 출력도 동일하게 되는 것을 볼 수 있다.

    > 사본 파일에 cat을 통하여 정보를 수정했을 때 원본도 변경된다.  

하드링크를 사용하여 aaa.txt 사본파일 생성

  > 원본 파일이 삭제되어도 독립적으로 정보를 저장하고 있음을 알 수 있다.

 

2.2. symbolic link(softlink) : 바로가기, inode number가 다르며 원본파일이 삭제되면 독립적으로 존재 불가.

  - #ln -s 원본파일 사본파일 : 원본 파일을 하드링크하는 사본 파일 생성. 상대경로를 이용할 때 사본파일의 위치 기준                                         으로 원본파일의 경로를 작성. 

     > 소프트 링크를 이용하여 aaaa.txt를 생성. 아이노드가 다른 것을 볼 수 있다.

소프트 링크 이용하여 aaaa.txt 생성

      > 사본 파일에 cat을 통하여 정보를 수정했을 때 원본도 변경된다.

앞서 하드링크된 파일과 소프트링크된 링크 파일의 내용이 일치함을 볼 수 있다.

       > 원본 파일이 삭제되면 사본파일은 사용할 수 없다.

원본 a.txt가 삭제되어 사본파일 aaaa.txt를 사용할 수 없다.

      > 원본파일을 다시 만들어주면 사본 파일은 다시 재수행한다. 

a.txt를 다시 생성함으로써 새로운 정보인 a를 출력한다.

2.3. inode number를 이용하여 같은 번호를 가지는 파일을 제거

하드링크를 통해 같은 아이노드 넘버를 가지고 있는 aaa.txt와 bbb.txt를 제거, find 명령어를 통해 파일을 찾아 -exec 옵션을 통해 제거하는 명령어.