본문 바로가기
📄Document/🔥Linux

[Linux] 리눅스 기본/기본명령어 모음

by 후누스 토르발즈 2021. 11. 22.
반응형

 

 

Cent OS 7 / Linux kernel / bash

 

환경변수 PATH

  • echo $PATH
  • --------------------
  • PATH는 실행 파일들의 디렉터리 위치를 저장해 놓은 환경 변수이다.
  • 명령어 입력자의 현재 작업 디렉터리와 상관없이 특정 명령어를 입력하면 PATH 변수에 저장되어 있는 경로에서 해당 명령어를 찾아 실행한다. 명령어 echo $PATH는 지정된 PATH 값을 확인할 수 있다.

 

 

 

 

명령어 printenv

  • printenv [옵션] 명령어
  • -0 or --null : 개행하지않고 출력, 아무값도 없다면 개행해서 출력 
  • -명령어 : 명령어(키값)에 해당하는 값만 출력
  • --------------------
  • 환경의 전체 또는 일부를 출력하는 명령어이다.

 

 

 

 

명령어 which

  • which 명령어
  • --------------------
  • 명령어의 경로를 확인하는 명령어이다.
  • 명령어의 위치를 찾아주거나 alias를 보여주는 명령어이다.
  • 사용자가 현재 위치에서 명령을 시켰을 때 어떤 명령이 실행되는지를 알고 확인할 수 있다.
  • $PATH가 설정되어 있는 경로에서만 해당 명령어의 경로를 찾는다.

pwd는 bin 디렉터리 안에 있는것으로 경로가 출력되었다.

jhlee의 경우 alias, PATH경로 위에 명령어가 없기 때문에 no jhlee in ... 이 출력되었다.

which grep의 경우에는 alias와 명령어의 위치가 모두 존재하여 출력되었고,

grep의 경우 alias로 --color=auto로 설정이 되어있어서 컬러가 입혀진것으로 보인다.

 

 

 

 

명령어 alias

  • alias [별명='명령어']
  • --------------------
  • 명령어 'ls -al|more'를 문자 'm'으로 단축시킨다.

 

 

 

 

명령어 unalias

  • unalias [옵션] [단축명령어]
  • -a : 설정된 모든 alias 해제
  • --------------------
  • alias 기능을 해제한다.

 

 

 

 

명령어 export

  • export 변수명=$변수명:변수값
  • --------------------
  • 기존의 PATH에 새로운 경로를 추가하는 방법에는 명령어 PATH나 홈 디렉터리의 .bash_profile에 PATH를 추가한다. 기존 경로와 새 경로는 콜론(:)으로 구분한다.

 

 

 

 

명령어 uname

  • uname [옵션]
  • -a : 프로세서의 종류, 운영체제의 이름을 제외하고 모두 출력
  • -s : 커널의 이름을 출력
  • -n : 네트워크의 호스트 이름을 출력
  • -r : 커널의 릴리즈 정보를 출력
  • -v : 커널의 버전을 출력
  • -m : 시스템의 하드웨어 타입을 출력
  • -p : 프로세서의 종류를 출력
  • -o : 운영체제의 이름을 출력
  • --------------------
  • 시스템의 정보 확인

 

 

 

명령어 man

  • man [섹션] [옵션] 명령어
  • -a : 찾고자 하는 명령어의 검색된 매뉴얼 페이지를 모두 출력
  • -h : 사용법을 출력
  • -f : whatis 명령과 동일, 키워드와 동일한 man 페이지만 출력
  • -k : apropos 명령과 동일, 키워드가 포함된 man 페이지 출력
  • -w : 찾고자 하는 문자의 매뉴얼 페이지가 있는 위치를 출력
  • --------------------
  • 리눅스에서 사용하는 명령어들의 매뉴얼을 제공한다.
    • 매뉴얼은 9개의 섹션(section)으로 구분되어 해당 섹션에서 해당 정보들을 확인할 수 있다.
      • 1 : 일반 명령어 관련 매뉴얼이 들어있는 영역
      • 2 : 시스템 호출 관련 매뉴얼이 들어있는 영역
      • 3 : C 표준 라이브러리 함수 관련 매뉴얼이 들어있는 영역
      • 4 : 장치 드라이버 또는 특수 파일에 대한 정보가 들어있는 영역
      • 5 : 특정 파일들에 대한 정보가 들어있는 영역
      • 6 : 게임과 화면보호기에 대한 정보가 들어있는 영역
      • 7 : 리눅스 파일 표준, 프로토콜, 시그널 목록 정보가 들어있는 영역
      • 8 : 시스템 관리 명령어와 데몬 정보가 들어있는 영역
      • 9 : 커널 관리 정보가 들어있는 영역
    • man -a uname : uname의 모든 man 페이지 섹션을 표시
    • man 2 uname : uname의 섹션 2의 man 페이지를 표시
    • man uname -P more : uname의 man 페이지를 more 명령을 사용하여 페이지 단위로 표시
    • man -f uname : uname이 포함된 man 페이지 표시

 

man 2 uname의 경우 섹션2 매뉴얼이 없다.

 

 

 

 

명령어 info

  • info 명령어
  • --------------------
  • 리눅스 명령어의 사용 방법, 옵션 등을 나타낸다.
  • 명령어 man에 비해 제공되는 명령어가 한정적이다.

위의 man 명령어와 비교해보면 매뉴얼보다는 정말 정보를 주로 표시한다.

 

 

 

 

명령어 whatis

  • whatis 명령어
  • --------------------
  • 명렁어에 대한 기능을 간략하게 나타낸다.
  • 자세한 사용법과 설명은 명령어 man이나 info로 확인해야한다.
  • 완전히 키워드가 일치해야만 해당 명령어의 기능을 확인할 수 있다.

 

 

 

 

명령어 manpath

  • manpath
  • --------------------
  • man 명령이 참조하는 매뉴얼 페이지의 경로를 표시합니다.

 

 

 

 

명령어 whereis

  • whereis [옵션] 명령어
  • -b : 바이너리 파일만 찾음
  • -m : 지정된 매뉴얼 섹션에서만 찾음
  • -M : 매뉴얼 페이지의 위치를 제한
  • -u : 특정 파일을 제외
  • --------------------
  • 찾고자 하는 명령어의 실행 파일 절대 경로와 소스코드, 설정 파일 및 매뉴얼 페이지를 찾아 출력하는 명령이다.

 

 

 

 

명령어 apropos

  • apropos 문자열
  • --------------------
  • 맨(man) 페이지 설명에서 지정한 키워드를 포함하고 있는 명령어이다.
  • whatis 데이터베이스에서 문자열을 포함한 것을 검색한다.
  • whatis 데이터베이스가 만들어져 있어야 이 명령을 쓸 수 있다.

 

 

 

 

명령어 useradd(adduser)

  • useradd [옵션] 계정명
  • -s : 사용자의 로그인 기본 셸을 지정
  • -d : 계정의 홈 디렉터리를 지정
  • -f : 패스워드가 만기된 후 계정이 영구히 말소될 때까지의 기간 지정
  • -e : 사용자 계정의 유효기간을 설정, 일정 시간 동안 사용 가능한 임시 계정을 만들고자 할 때 사용
  • -c : 파일 /etc/passwd에 새로운 사용자 설명을 추가
  • -G : 계정이 속한 그룹 외에 다른 그룹에 계정 추가
  • -D
    • -g : 그룹변경
    • -b : 홈 디렉터리 변경
    • -f : INACTIVE 변경
    • -e : 계정 종료일 변경
    • -s : 셸 변경
  • --------------------
  • 계정을 생성하는 명령어로 명령어 adduser와 동일한 기능을 갖는다.

useradd -D 커맨드의 패스는 현재 /etc/default/useradd 파일 안의 값들과 일치한다.

/etc/default/useradd의 옵션과 설명

  • GROUP : 새로 생성되는 계정이 기본적으로 소속될 그룹의 GID를 지정
  • HOME : 새로 생성되는 계정의 홈 디렉터리 위치를 지정
  • INACTIVE : 새로 생성되는 계정의 패스워드 사용 기간이 만료된 후 계정이 사용 불강해지는 날을 지정
    • 0 : 바로 사용 불가능
    • -1 : 기능을 사용하지 않음
  • EXPIRE : 새로 생성되는 계정의 패스워드 만료일을 지정(YYYY-MM-DD)
  • SHELL : 새로 생성되는 계정의 기본 셸을 지정
  • SKEL : 새로 생성되는 계정 사용자의 홈 디렉터리로 복사될 초기 환경설정 파일들이 저장된 디렉터리를 지정
  • CREATE_MAIL_SPOOL : 새로 생성되는 계정의 메일 파일 저장 여부를 지정

/etc/default/useradd은 vi 편집기 또는 useradd -D 로 변경할 수 있다.

 

만일 이상태로 계정을 생성하게되면 SHELL=/bin/sh 로 설정되어 있어서 sh 쉘로 생성이 된다. 만일 쉘을 변경하고 싶은 경우에는 chsh 명령어를 사용하여 쉘을 변경할 수 있다.

 

 

 

 

 

명령어 chsh

  • chsh [옵션] 계정명
  • -s : 로그인 쉘을 지정
  • -l : /etc/shells에 나열된 쉘 목록을 출력하고 종료
  • -u : --help 명령어와 동일
  • -v : 버전정보를 출력하고 종료
  • --------------------
  • 로그인 쉘을 변경하는데 사용되는 명령어이다.
  • chsh는 시스템에 있는 실행 파일의 전체 경로 이름을 허용합니다. 하지만 쉘이 /etc/shells 파일에 나열되지 않으면 경고가 표시됩니다. 반면에 루트가 아닌 이상 이 파일에 나열된 쉘만 허용하도록 구성할 수도 있습니다.

 

 

 

 

명령어 passwd

  • passwd [옵션] 계정명
  • -S : 계정 상태 표시(Status)
    • PS : 정상
    • NP : 패스워드가 없음
    • NK : Lock 상태이거나 NP 상태
  • -d : 계정 패스워드 삭제(delete)
  • -l : 계정을 lock 상태로 변경(lock)
  • -u : 계정의 lock 상태를 해제(unlock)
  • --------------------
  • 생성된 계정자의 패스워드를 입력 및 변경하는 명령어이다.
  • 생성된 계정자의 패스워드는 /etc/shadow 파일 안에 기록된다.

 

 

 

 

명령어 su

  • su [옵션] [사용자] [셸변수]
  • -, -l, --login : 지정한 사용자의 환경변수를 적용하여 로그인
  • -s : 지정된 셸로 로그인
  • -c : 셸로 실행하지 않고 주어진 명령어 수행
  • --------------------
  • 명령어 su는 switch user의 줄임말이다.
  • 현재의 사용자 계정에서 로그아웃 하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권환을 획득하는 명령어이다.

 

셸 환경변수를 가져오지 않고 관리자 root로 계정을 변경한다.

관리자 root의 셸 환경변수를 가져온다.

사용자 계정 변환 없이 root 권한으로 명령어를 수행한다.

예를들면 su -c 'cat /etc/shadow' - root도 가능하다.

아래는 jhlee계정에서 cat 명령어를 사용자 계정 변환없이 root 권한으로 않고 출력하였다.

 

 

 

 

 

명령어 usermod

  • usermod [옵션] 계정명
  • -u uid : 새로운 UID를 지정, -o 옵션과 같이 사용하면 강세 설정 가능
  • -g : 새로운 GID 지정, 사용자 그룹을 지정 또는 변경
  • -G : 새로운 보조그룹 지정, 기존 그룹에 포함되어 있는 상태에서 새로운 그룹에 추가 지정
  • -d 홈 디렉터리 : 새로운 홈 디렉터리를 지정, -m 옵션과 같이 사용하면 새로 생성이 가능
  • -s 셸 : 새로운 셸 지정
  • -c 주석 : 새로운 주석 지정
  • -I ID 로그인 ID를 바꾸는 옵션으로 새로운 계정명으로 변경
  • --------------------
  • 디렉터리 /home에 위치한 사용자들의 정보를 변경하는 명령어이다.
  • 사용자의 홈 디렉터리 변경, 그룹 변경, 유효기간 등을 변경한다.

 

 

 

 

 

명령어 userdel

  • userdel [옵션] 계정명
  • -r : 계정명의 /var/spool/mail의 메일 파일과 홈 디렉터리의 내용 모두를 삭제
  • --------------------
  • 기존 계정 정보를 삭제하는 명령어이다.
  • 옵션 없이 userdel을 사용하면 디렉터리 /etc/passwd, /etc/shadow, /etc/group에서 해당 계정의 정보가 삭제된다.

 

 

 

 

 

명령어 chage

  • chage [옵션] [계정명]
  • -l : 사용자 계정 정보를 출력
  • -m : 설정 암호 최소 사용 일자
  • -M : 설정 암호 사용 가능 일자
  • -E : 암호 만기일 지정
  • -W : 만기 전 변경 요구 경고 날짜 지정(지정된 날짜에 경고 메시지 출력)
  • --------------------
  • 패스워드의 만료 정보를 변경하는 리눅스 명령어이다.

 

 

 

 

명령어 userdel

  • userdel [옵션] 계정명
  • -r : 계정명의 /var/spool/mail의 메일 파일과 홈 디렉터리의 내용 모두를 삭제
  • --------------------
  • 기존 계정 정보를 삭제하는 명령어이다.
  • 옵션 없이 userdel을 사용하면 디렉터리 /etc/passwd, /etc/shadow, /etc/group에서 해당 계정의 정보가 삭제된다.

 

 

명령어 groupadd

  • groupadd [옵션] 그룹명
  • -g gid : 그룹에 gid를 지정
  • -r : 시스템 그룹 생성 시 사용. 500번 이하 값 지정(남아있는 가장 높은 범위로 할당)
  • --------------------
  • 새로운 그룹을 생성하는 명령어이다.

 

 

 

 

 

명령어 groupdel

  • groupdel 그룹명
  • --------------------
  • 기존의 그룹을 삭제하는 명령어이다.
  • 그룹 안에 소속되어 있는 계정명이 있을 경우 해당 그룹은 삭제되지 않는다.

 

 

 

 

 

명령어 groupmod

  • groupmod [옵션] 그룹명
  • -g gid : gid를 지정, 옵션 -o와 같이 사용해서 중복 설정을 해줌
  • -n 그룹명 : 새로운 그룹명을 변경할 때 사용
  • --------------------
  • 그룹의 설정을 변경하는 명령어이다.

 

 

 

 

 

명령어 users

  • users [옵션]
  • --version : users 명령어 버전 정보 출력
  • --------------------
  • 시스템에 로그인한 사용자 정보를 출력하는 명령어이다.

 

 

 

 

 

명령어 who

  • who [옵션]
  • -b : 마지막 시스템 부팅 시간 출력
  • -q : 로그인한 사용자와 사용자 수를 모두 출력
  • -r : 현재 시스템의 실행 레벨을 확인 가능
  • --------------------
  • 현재 시스템에 접속해 있는 사용자들을 조회하는 명령어이다.
  • 사용자 계정명, 터미널 정보, 접속 시간, 접속한 서버 정보 등을 확인할 수 있다.
  • 관리자 root와 일반 사용자 모두 사용이 가능하다.
  • 명령어 'who am i' 또는 'whoami'는 자신의 정보를 조회할 수 있다.

 

 

 

 

명령어 w

  • w
  • --------------------
  • 현재 접속 중인 사용자들의 정보를 나타내는 명령어
  • 확인 가능한 정보는 서버의 현재 시간 정보, 서버 부팅 후 시스템 작동 시간, 서버 접속자의 총 수, 접속자별 서버 평균 부하율, 접속자별 서버 접속 계정명, TTY명, 로그인 시간 정보등
  • JCPU은 TTY 필드의 장치명에서 사용되는 모든 프로세스의 CPU 사용 시간
  • PCPU은 WHAT 필드에 나타내는 프로세스명에서 사용하는 CPU 총 사용 시간

 

 

 

 

명령어 id

  • id [옵션] [계정명]
  • -g : 사용자의 GID만 표시
  • -G : 사용자가 포함되어 있는 모든 그룹 정보 표시
  • -u : 사용자의 UID만 표시
  • --------------------
  • 사용자 계정의 uid, gid, group을 확인하는 명령어

 

 

 

 

 

 

명령어 groups

  • groups [계정명]
  • --------------------
  • 사용자 계정이 속한 그룹 목록을 확인하는 명령어

 

 

 

 

명령어 pwd

  • pwd
  • --------------------
  • 현재 작업 중인 디렉터리의 위치를 나타내는 명령어

 

 

 

 

 

명령어 cd

  • cd [상대경로|절대경로] [설정경로]
  • ~ : 현재 사용자의 홈 디렉터리로 이동
  • . : 현재 디렉터리
  • .. : 현재에서 한 단계 상위 디렉터리로 이동
  • / : 루트 디렉터리로 이동
  • --------------------
  • change directory의 약자로 디렉터리를 이동할 때 사용하는 명령어
  • 절대 경로는 시작 위치와 상관없이 경로에 모든 디렉터리를 표시하며, 절대 경로의 시작은 /(루트)에서부터 시작
  • 상대 경로는 현재 작업 중인 디렉터리를 기준으로 표시하는 경로

 

 

 

 

명령어 mkdir

  • mkdir [옵션] 디렉터리명
  • -m : 디렉터리를 생성할 때 권한을 설정(디폴트는 755)
  • -p : 상위 경로 생성
  • -v : 디렉터리 생성 후 생성된 디렉터리의 메시지 출력
  • --------------------
  • make directory의 약자로 새로운 디렉터리를 생성할 때 사용하는 명령어이다.

 

 

 

 

명령어 rmdir

  • rmdir 디렉터리명
  • --------------------
  • remove directory의 약자로 디렉터리만 삭제하는 명령어로 디렉터리 안에 파일이 존재하는 경우 삭제되지 않는다.

 

 

 

 

명령어 ls

  • ls [옵션] [경로명]
  • -a : 히든파일을 포함한 모든 파일과 디렉터리 표시
  • -l : 퍼미션 크기, 사이즈 등의 자세한 정보 표시
  • -d : 지정된 디렉터리의 정보 출력
  • -r : 알파벳 역순으로 정보 출력
  • -R : 하위 경로와 그 안에 있는 파일 표시
  • --------------------
  • 현재 위치한 디렉터리의 파일 목록들을 나타내는 명령

 

 

 

 

명령어 cp

  • cp [옵션] 원본 대상
  • -b : 복사 대상 파일이 이미 존재할 경우를 대비하여 백업 파일을 만듦
  • -f : 복사 대상이 이미 존재하면 복사 대상 파일을 강제로 지우고 복사
  • -i : 복사 대상이 이미 존재하면 사용자에게 덮어씌울 것인지 유무 확인
  • -r : 디렉터리르 복사할 경우 하위 디렉터리와 파일을 모두 복사
  • --------------------
  • 파일 또는 디렉터리를 복사하는 명령어

 

 

 

 

명령어 rm

  • rm [옵션] [경로명]
  • -f : 질의 메시지 없이 강제로 파일이나 디렉터리 삭제
  • -i : 삭제 시 사용자에게 질의
  • -r : 삭제 디렉터리가 포함하고 있는 하위 디렉터리를 포함하여 모든 파일 삭제
  • --------------------
  • 파일 또는 디렉터리를 삭제하는 명령어

 

 

 

 

명령어 mv

  • mv [옵션] 원본 대상
  • -b : 대상 파일이 이미 있어 지워지는 것을 대비해 백업 파일 생성
  • -f : 대상 파일이 이미 있어도 사용자에게 어떻게 처리할지 묻지 않음
  • -v : 파일이 옴ㄹ겨지는 과정을 자세히 표시
  • --------------------
  • 파일 또는 디렉터리를 이동하거나 파일명을 변경할 때 사용하는 명령어

 

 

 

 

명령어 touch

  • touch [옵션] 파일명
  • -b : 대상 파일이 이미 있어 지워지는 것을 대비해 백업 파일 생성
  • -f : 대상 파일이 이미 있어도 사용자에게 어떻게 처리할지 묻지 않음
  • -v : 파일이 옴ㄹ겨지는 과정을 자세히 표시
  • --------------------
  • 파일 크기가 0바이트인 빈 파일을 생성한다.
  • 서버의 현재 시간으로 파일의 최근 사용한 시간과 최근 수정 시간 등 타임 스탬프를 변경한다.
    • 타임 스탬프는 파일의 시간 정보를 나타내는 것으로 접근시간, 수정시간, 변경시간이 있다.
    • 접근시간(access time)은 애플리케이션이나 서비스가 시스템 호출을 사용해 파일을 읽을 때마다 접근시간이 갱신된다.
    • 수정시간(modify time)은 파일 내용이 변경될 때 파일 수정 시간이 갱신된다.
    • 변경시간(change time)은 파일 내용을 수정했을 때 기록되는 시간으로 변경 불가능한 시간이다.

 

 

 

 

명령어 file

  • file [옵션] 파일명
  • -b : 파일명은 출력하지 않고 파일 유형만 표시
  • -f : 파일 목록에서 지정한 파일들에 대해서만 명령을 실행
  • -z : 압축된 파일의 내용 출력
  • -i : MIME 타입 문자로 출력
  • --------------------
  • 파일의 종류 및 파일 속성값을 나타내는 명령어

 

 

 

 

명령어 find

  • find [경로] [옵션] [정규표현식] [파일명]
  • -name : 이름을 기준으로 파일 검색
  • -user : user의 파일이나 디렉터리 검색
  • -perm : 지정된 권한의 파일 검색
  • -type : 파일 유형에 따라 파일 검색
  • -atime n : n일 이전에 접근한 파일 검색
  • -exec : 검색된 파일에 수행할 명령어를 지정
  • --------------------
  • 현재 디렉터리에서부터 하위 디렉터리까지 주어진 조건의 파일을 찾아 해당 경로를 표시

 

 

 

 

명령어 locate

  • locate [파일명]
  • --------------------
  • 파일의 위치를 찾는 명령어
  • 리눅스 배포판에 따라서 기본으로 제공되지 않을 수 있는 명령어, 제공되지 않는 경우 추가 패키지 설치시에 가능

 

 

 

 

명령어 cat

  • cat [옵션] [파일]
  • -n : 각 문장 앞에 번호 표시, 비어있는 행 포함
  • -b : 각 문장 앞에 번호 표시, 비어있는 행 제외
  • -s : 연속되는 2개 이상의 빈 행을 한 행으로 출력
  • -A : 텍스트 파일에 존재하는 개행 문자나 탭 문자 등을 확인
  • --------------------
  • 파일의 내용을 출력하는 명령어 

 

 

 

 

 

명령어 head

  • head [옵션] 파일명
  • -c : 출력을 원하는 용량 지정, 지정된 '숫자' 바이트만큼의 문자 출력
  • -숫자 또는 -n 숫자 : 출력을 원하는 줄 수 지정, 옵션이나 숫자를 지정하지 않으면 기본적으로 10개씩 출력
  • --------------------
  • 파일의 앞부분을 지정한 만큼 출력하는 명령어이다.

 

 

 

 

 

명령어 tail

  • tail [옵션] 파일명
  • -c : 출력을 원하는 용량 지정
  • -숫자 또는 -n 숫자 : 출력을 원하는 줄 수 지정, 옵션이나 숫자를 지정하지 않으면 기본적으로 10개씩 출력
  • -f : 지정된 파일에 새롭게 추가되는 파일 내용을 실시간으로 출력
  • -v : 파일을 출력할 때 파일명을 표시
  • -q : 파일을 출력할 때 파일명을 표시하지 않음
  • --------------------
  • 파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력하는 명령어

 

 

 

 

 

명령어 more

  • more [옵션] 파일명
  • -숫자 : 한 페이지에 표시되는 라인 수
  • --------------------
  • 파일을 확인하는 명령어로 파일을 화면 단위로 끊어서 출력하는 명령어
  • 위에서 아래 방향으로만 출력되기 때문에 지나간 내용을 다시 볼 수 없다.
  • 명령어 실행 상태에서의 키 입력
    • Space Bar : 다음 페이지로 정환
    • Enter : 한줄씩 출력
    • Ctrl + D : 반 페이지 출력
    • Ctrl + B : 이전 페이지 출력
    • Q : 종료
    • /패턴 : 지정한 패턴의 문자열 검색

 

 

 

 

 

명령어 less

  • less 파일명
  • --------------------
  • 텍스트 파일을 한 번에 한 화면씩 나타내는 명령어이다.
  • 기능적으로 more를 확장한 것으로 커서를 파일의 상하좌우로 이동할 수 있다.

 

 

 

 

명령어 grep

  • grep [옵션] 문자열 파일명
  • -r : 디렉터리 내의 모든 디렉터리와 파일들을 검색하도록 지정
  • -E : 패턴 정규 표현식으로 확장
  • -i : 대문자, 소문자 차이 무시
  • -v : 검색할 문자열이 포함되지 않은 줄만 출력
  • -n : 라인 수 출력
  • -l : 문자열이 포함된 파일명 출력
  • --------------------
  • 파일에서 특정한 패턴(문자열) 또는 정규 표현식으로 나타낸 단어를 찾는 명령어

  • 명령어 grep을 이용하여 다양한 내용들을 검색할 수 있다.
    • grep -r -n TEST_20 test.txt : 현 디렉터리 내의 모든 디렉터리와 파일들중 파일 이름이 test.txt인 파일에서 'TEST_20'이 들어간 문자열과 행 번호 검색
    • grep -r -l TEST : 현 디렉터리 내의 모든 디렉터리와 파일들 중에서 TEST 라는 문자열이 들어간 파일 이름 검색
    • head -n 10 test.txt | grep ^TEST : 파일의 앞부분부터 10번째 줄 까지의 출력중에서 TEST로 시작하는 행 검색
    • grep -r 20$ test.txt : 현 디렉터리 내의 모든 디렉터리와 파일등 중 파일 이름이 test.txt인 파일에서 '20'으로 끝나는 문자열이 들어간 행 검색

 

 

 

 

 

명령어 wc

  • wc [옵션] 파일명
  • -l : 전체 라인 수 출력
  • -w : 전체 단어 수 출력
  • -c : 전체 문자(알파벳) 수 출력
  • --------------------
  • 파일 라인 수, 단어 수, 알파벳 수를 알려주는 명령어

 

 

 

 

 

명령어 sort

  • sort [옵션] 정렬할 파일명
  • -b : 앞 공백 무시
  • -o : 저장할 파일 명시
  • -r : 역순으로 표시
  • -f : 대소문자 구분하지 않음
  • -t : 필드 구분자 지정
  • -u : 중복 행 제거
  • -m : 정렬 파일 병합
  • -n : 숫자만 비교
  • --------------------
  • 명령어 결과나  문서 내용을 정렬하는 명령어

 

 

 

 

 

명령어 cut

  • cut [옵션] 파일명
  • -c : 잘라낼 곳의 글자 위치를 지정, 콤마나 하이픈을 사용하여 범위 지정
  • -f : 잘라낼 필드 지정
  • -d : 필드를 구분하는 문자 지정, 딜폴트는 탭
  • -s: 대소문자 구분하지 않음
  • --------------------
  • 파일에서 특정 필드를 추출해 낸다. 필드는 구분자로 구분할 수 있다.

 

 

 

 

명령어 split

  • split [옵션] 파일명
  • -b : 파일을 byte 단위로 분할
  • -l : 파일을 주어진 라인 수 단위로 분할
  • --------------------
  • 하나의 파일을 여러 개의 작은 파일로 분리할 때 사용
  • 파일의 내용을 라인 수로 분할할 수도 있고, 용량 단위로 분할할 수도 있다.
  • 주로 디스켓에 파일을 나누어 복사하거나 백업할 때 CD-RW 용량 단위로 분할할 경우 유용

 

 

 

 

 

명령어 diff

  • diff [옵션] 파일명1 파일명2 또는 diff [옵션] 디렉터리1 디렉터리2
  • -b : 연속된 공백 무시
  • -i : 대소문자를 구분하지 않음
  • -s : 두 파일이 같은지 확인
  • -r : 두 디렉터리의 차이점 출력
  • --------------------
  • 두 개의 파일을 행 단위로 비교하여 다른 부분을 출력하는 명령어
  • 두 개의 파일을 매개변수로 사용하여 화면에 차이점을 나열

 

 

 

 

명령어 cmp

  • cmp [옵션] 파일명1 파일명2
  • -b : 두 파일 간의 다른 바이트를 출력
  • -l : 두 파일 간의 다른 문자 위치와 문자를 출력
  • -s : 아무 것도 출력하지 않고 실행 결과 코드만 반환
  • --------------------
  • 두 개의 파일을 행 단위로 비교하여 다른 부분을 출력하는 명령어
  • 두 개의 파일을 매개변수로 사용하여 화면에 차이점을 나열

 

 

 

 

명령어 comm

  • comm [옵션] 파일명1 파일명2
  • -1 : '파일1'에만 있는 내용을 제외하고 내용 출력
  • -2 : '파일2'에만 있는 내용을 제외하고 내용 출력
  • -3 : '파일1'과 '파일2'에 공통으로 존재하는 내용을 제외하고 출력
  • --------------------
  • 두 개의 파일을 줄 단위로 비교하여 출력하는 명령어
  • 정렬하지 않은 파일들의 경우에 'file 1 is not in sorted order' 등의 출력을 볼 수 있다. 보지않으려면 sort로 파일을 만들어서 비교하면 된다.

 

 

 

 

 

명령어 ping

  • ping [옵션] [도메인명 혹은 IP주소]
  • -c [요청수] : ping을 보낼 횟수로 생략될 경우 무제한으로 실행
  • -i : 신호를 보내는 시간 간격으로 생략될 경우 1초 단위로 설정
  • -s : 전송하는 패킷 크기를 바이트(byte) 단위로 설정
  • --------------------
  • 외부 호스트에 신호를 보내며 신호를 받은 호스트는 응답을 주면서 서로 네트워크가 연결되어 있음을 확인시켜 주는 명령어

 

 

 

 

 

명령어 nslookup

  • nslookup [옵션] [호스트명]
  • -type=레코드(-query=레코드) : 레코드 타입을 지정
  • --------------------
  • 도메인명으로 IP 주소를 조회하거나 또는 IP 주소로 도메인명을 조회하는 명령
레코드 설명
NS 도메인의 네임서버 정보
MX 도메인의 MX(Mail Exchange)서버
A 호스트의 IP 주소
CNAME 별칭으로 부여된 canonical name
SOA 도메인의 start-of-authority 정보
PTR IP 주소에 대한 호스트 명

 

 

 

 

 

명령어 traceroute

  • traceroute [도메인명 혹은 IP주소]
  • -w : 타임아웃시간을 지정합니다.
  • -m : 홉(hop)의 수를 지정합니다. 도달하려는 목적지까지의 홉수보다 작은 경우 도달할 수 없습니다.
  • --------------------
  • 목적지 호스트까지의 경로를 표시하고 그 구간의 정보를 기록하는 명령어
  • 목적지 호스트까지의 패킷 전송 지역을 측정하거나 목적지 호스트로 향하는 경로상에 어떤 장애가 있는 경우 위치를 파악할 수 있음

 

 

 

 

 

명령어 dig

  • dig [서버명] [호스트명] [질의타입]
  • --------------------
  • 명령어 nslookup과 유사한 기능을 가진 명령어로 호스트명에 대한 IP 주소 정보 또는 IP 주소에 대한 호스트명을 조회하는 명령어
질의타입 설명
a 도메인 IP 정보
any 지정된 도메인의 모든 정보
mx 지정된 도메인의 메일 서버 정보
ns 네임 서버 정보
soa SOA 정보

 

구글 퍼블릭 DNS :IPv4 주소 8.8.8.8, 8.8.4.4

  • 구글에서 무료로 제공하는 DNS 서비스로서, 웹 환경을 빠르고 보다 안전하게 하기 위한 노력의 일부이다.
  • 구글에 따르면 2013년 기준으로 구글 퍼블릭 DNS는 하루 평균 1조 3천억건 이상의 요청을 처리할 수 있는, 세계에서 가장 큰 공용 DNS 서비스이다.
  • 구글 퍼블릭 DNS는 다음과 같이 리커시브 네임 서버 주소를 공용으로 제공하며, 애니캐스트 라우팅을 통해 가장 가까운 운영 서버 위치로 매핑해준다.

 

 

 

 

 

 

 

 

 

 

 

 

 

참조: https://udpark.tistory.com/99

참조: 이기적 리눅스마스터

 

 

 

 

반응형