본문 바로가기

Linux

Linux 기본 명령어 정리

[기초 명령어]


기초 명령어 형식  : 명령어   [옵션]   [보조옵션]   [대상]
예시)                        pwd
                                clear

                                cd                                        directory
                                mkdir                                   directory
                                ls           -l

                                           * 단 기본 형식과 다른 명령어들도 있음

pwd
- 내 현재 위치를 절대경로로 출력

cd
- 내가 현재 위치한 디렉토리를 이동

ls
- 대상 개체의 종류에 따라 역할이 달라짐
      생략    : 현재 위치한 디렉토리 내부의 목록을 확인
      파일    : 파일 자체의 정보를 확인
      디렉토리 : 디렉토리 내부의 목록을 확인
  
  * 옵션

    -l     : 자세한 정보 출력
    -a     : 숨겨진 개체까지 출력 (디렉토리 이름 앞에 '. '하나 붙이면 숨기겠다는 의미 ex : .comfig)
    -d     : directory 자체의 정보를 출력(파일 대상으로는 효과 X)
    -R    : 하위 디렉토리가 존재하면 그 내부까지 출력(파일 대상으로는 효과 X)
    -h     : 사람이 보기 좋은 크기로 파일의 크기의 단위를 정리해서 출력

cp
- copy : 복사 + 붙여넣기
 
- 기본적으로 파일만 복사 가능
    -> 디렉토리의 복사는 별도의 옵션(-r)이 필요

- 원본 파일의 이름을 유지한 상태로 복사 사능 + 원본 파일과 다른 이름으로 복사 가능
    -> 이름을 바꿔서 복사할 때는 원본을 하나만 입력(1:1 복사만 가능)

- 형식
      cp [옵션] 원본 [원본]...[원본] 복사할위치[+이름]

전체를 복사할 때는 ' * '사용 (모든 길이 모든 종류의 문자를 대체할 수 있는 문자)

  * 옵션
       -r    : 디렉토리도 복사
               > -r 을 사용할 때 ' .* '절대 같이 사용 금지 .(현재 디렉터리)와 ..(상위 디렉터리가) 포함되기 때문에 전부 복사됨

      -b    : 덮어쓰기전에 백업 파일 생성 후 진행

      -p    : 타임스탬프까지 똑같이 복사


mv
 - move : 잘라내기 + 붙여넣기

 - 파일/디렉토리 전부 복사 가능

 - 원본 파일의 이름을 유지한 상태로 이동 가능 + 원본 파일과 다른 이름으로 이동 가능
     -> 이름을 바꿔서 이동할 때는 원본을 하나만 입력(1:1 이동만 가능)

 - 이름 바꾸기 명령어로 사용 가능

 - 형식
      mv [옵션] 원본 [원본]...[원본] 이동할위치[+이름]


mkdir
 - make directory : 디렉토리 생성

 - 경로가 없으면 디렉토리 생성이 불가능
     -> 옵션을 사용하여 한번에 생성 가능

 * 옵션
    -p : parents, 생성할 디렉토리의 경로가 없는 경우 함께 생성(상위 디렉토리까지 생성)


rmdir
 - remove directory : 디렉토리 삭제

 - 빈 디렉토리만 삭제 가능
     -> 디렉토리 내부에 다른 파일/디렉토리가 있다면 삭제 불가능

 * 옵션
    -p : 삭제할 디렉토리를 삭제하고 상위 디렉토리가 비어있을 경우 상위 디렉토리도 순차적으로 삭제함


rm
 - remove, 삭제

 - 기본적으로 파일만 삭제 가능
   > 디렉토리는 옵션을 사용하여 삭제

 * 옵션
    -f : 삭제할거냐는 확인질문 없이 삭제
    -r : 디렉토리도 삭제
               > 마찬가지로 ' .* '절대 같이 사용 금지 .(현재 디렉터리)와 ..(상위 디렉터리가) 포함되기 때문에 전부 삭제됨

cat
 - 형식
       cat                                   : 입력한 내용을 그대로 출력
       cat 파일명                       : 파일의 내용물을 출력
       cat 파일명 >                    : 왼쪽 명령로 인한 화면의 출력물을 오른쪽에 집어넣어줌
                                                 cat 뿐만아니라 화면에 출력하는 명령어들도 적용가능
       cat {>||>>} 파일명           : 파일 생성 'ctrl + d'로 빠져나오기 전까지 입력하는 내용들은 파일 내용으로

                                                 '>'는 덮어쓰기 '>>'는 기존 내용 밑에 내용 추가의 기능
       cat 파일1 파일2 > 파일3 : 파일3에 파일1,2의 내용을 합칠 수도 있음


touch
 - 대상 개체가 없는 경우에는 그 이름으로 빈 파일 생성
   대상 개체가 있다면 최종 수정된 날짜와 시간 변경


more
 - 출력되는 내용이 너무 많을 때 출력 내용을 화면 높이에 맞춰서 나누어 출력
     -> Enter는 한줄씩 내려가고 Spacbar는 한 페이지씩 내려감 q는 중간에 끊고 빠져나올 수 있음

 - 지나간 내용을 다시 볼 수 없음

 - 일반적으로 다른 명령어와 함께 사용( '|' 기호 사용)
 



less
 - more와 동일한 기능 + 지나간 내용을 다시 볼 수 있음

 - 일반적으로 다른 명령어와 함께 사용 가능 ( '|' 기호 사용)

 - 아래로 한줄 이동(j, enter, 아래방향키) 
   위로 한줄 이동(k, 위 방향키)
   한 페이지 이동(spacebar, page down, page up)
   최상단 이동(g) 
   최하단 이동(G)
   종료(q)

 

head
 - 파일의 첫 줄부터 10줄 출력

   * 옵션
        -숫자 : 숫자만큼의 줄 출력



tail
 - 파일의 마지막 줄부터 10줄 출력

   * 옵션
        -숫자 : 숫자만큼의 줄 출력

        -f       : 실시간 모니터링



man
 - mannual, 명령어/파일에 대한 매뉴얼 출력
 - less와 사용하는 방법이 동일 + /검색할내용 : 입력한 내용 검색(검색 후 n을 눌러 다음 찾기)

 

 

egrep
  - 패턴과 match된 행을 출력하는 명령어

 

 

 |

  - 파이프 기호
  - CLI의 단점인 '한 줄에 명령어 하나'를 보완하는 기호
  - 하나의 대상에 여러 명령어를 적용

   - 사용방식
      ls -l /etc/ | more     :  more (ls -l /etc/)

 


 

정규 표현식(regular expression)
  -  큰따옴표 안에 매칭할 문자와 함께 사용

 

    ^
      - 첫번째, 시작을 의미
      ex) ls -l /etc | egrep '^l'  : etc 디렉토리에서 행의 시작이 l인 것을 출력

   $
     - 행의 마지막, 끝을 의미
     ex) ls -l /etc | egrep 'd$'  : etc 디렉토리에서 행의 마지막이 d인 것을 출력

  *
    - 선행 문자의 0번 이상 반복

  .
    - 모든 문자열

 

 

 

wildcard char
  - 특정 명령어로 명령을 내릴 때, 여러 파일을 한꺼번에 지정할 목적으로 사용하는 문자열 기호

​  *
    - 자릿수와 상관없이 모든 문자열

  ?
    - 한 자릿수의 모든 문자열

  [0-9]
    - 한 자리수의 아라비아 숫자

  [a-z]
    - 소문자 한 자리

  [A-Z]
    - 대문자 한 자리

  [a-zA-Z]
    - 알파벳 한 자리


  \
    - 이스케이프 문자
    - 뒤에 오는 문자를 의미 해석하지 말라는 의미

 

 

{}

  - 명령을 그룹화

 

여러번 반복해야 할 작업을 그룹화함으로써 간편하게 줄일 수 있다

9월1일부터 9월30일까지의 디렉토리 생성

 

network interface 설정 파일을 복사

 

이처럼 단순 반복했어야 할 작업이나 긴 명령어를 입력해야했을 작업을 간소화 시킬 수 있다

물론 삭제나 다른 명령어 작업 시에도 적용이 가능하다

 

 

 

;

  - 한줄에 여려 명령어 입력 가능

 

 

``

  - 백 쿼트
  - 문자열을 명령어로 치환해서 해석

 

cp명령어 사이에 쉘 명령어로 디렉토리 생성

 

원래라면 존재하지 않는 디렉터리인 test_directory를 복사할 수 없어야 하지만

쉘 명령어 사이에 mkdir 명령어를 먼저 실행하고 그 값을 인수로 사용함으로써

성공적으로 test_directory를 복사한 것을 확인할 수 있다

'Linux' 카테고리의 다른 글

파일 속성&권한  (0) 2022.09.13
사용자 계정&그룹  (0) 2022.09.13
Linux 파일 링크, 압축  (0) 2022.09.09
Vi 에디터 정리  (0) 2022.09.09
리눅스 기본 디렉토리 구조&절대 경로와 상대 경로  (0) 2022.09.09