Linux 명령어 모음

Bam·2024년 9월 23일
0

CS

목록 보기
27/28
post-thumbnail

리눅스 명령어(+ 옵션)들을 명령어 + 한 줄 설명으로 정리합니다.

  • 각 명령어마다 추가 내용이 필요한 부분이 있으나 여기서는 명령어와 기능만 나열합니다.
  • 옵션은 대표적인 옵션들만 나열되었습니다.
  • 지속적으로 갱신됩니다.
  • history: 터미널에서 실행했던 명령어의 기록들을 보여줌

    history -[옵션]
    -c: 기록 모두 삭제
    -d [번호]: 특정 줄 기록 삭제

  • clear: 터미널에서 수행했던 명령어, 실행 결과 삭제

  • 명령 --help: 해당 명령에 대한 설명, 옵션+설명 표시

  • 명령 --version: 해당 명령의 버전 표시

  • vi: vim 에디터 실행

    vim 기본 사용법


시간

  • date: 리눅스 시스템의 현재 시각과 날짜 출력
  • timedatectl: 리눅스 시스템의 시간 정보에 대해 하드웨어 시계, 소프트웨어 시계, URC, Timezone, 시간 동기화 등에 대한 정보 표시

사용자 정보

  • who: 시스템에 로그인 한 모든 사용자의 계정, 터미널, 로그인 시각 등에 대한 정보 출력
  • users: 시스템에 접속한 모든 유저들의 이름을 출력
  • whoami: 현재 접속 중인 계정 이름을 출력
  • su: 로그인 계정 변경

시스템 정보

  • uname: 리눅스 시스템에 대한 정보 확인

    uname -[옵션]
    -a: 시스템의 모든 정보 확인
    -m: 시스템이 사용중인 하드웨어 정보 확인
    -n: 호스트 네임 확인
    -r: 운영체제 릴리즈 확인
    -s: 운영체제 이름 확인
    -v: 운영체제 버전 출시 일자 확인

  • hostname: 현재 시스템의 호스트 네임 확인

  • arch: 시스템이 설치된 컴퓨터의 CPU 정보 확인

  • env: 시스템의 환경변수 확인

  • echo [출력할 문자열]: 문자열 표준 출력

    echo -e 옵션을 사용하면 이스케이프 문자를 전달할 수 있습니다. 이때 반드시 ""를 붙여서 이스케이프 문자임을 표시해야합니다.

    이스케이프 문자기능
    "\a"비프음
    "\b"백스페이스
    "\c"마지막 줄 바꿈 문자 생략
    "\f"폼 피드 형식 출력(= 프린터 용지 변경 효과)
    "\n"줄 바꿈 문자 출력
    "\r"다음 행의 처음으로 커서 이동(캐리지 리턴)
    "\t"수평 탭 정렬
    "\v"수직 탭 정렬
    "\\"역슬래시 또는 원화 표시 출력
    "\nnn"ASCII 코드 8진수 문자(nnn) 출력
  • which: 명령어 위치(디렉토리) 확인


디렉토리

  • ls: 디렉토리와 파일 확인

    ls -[옵션] [경로]
    -F: 해당 경로 위치의 디렉토리와 파일을 보여줍니다. 이때 옵션 -F는 실행파일, 디렉토리, 심볼릭 링크 파일을 표시
    이때 파일명 뒤의 *은 실행 파일, /은 디렉토리, @은 심볼릭 링크를 나타냅니다.
    -R: 하위 디렉토리의 리스트도 표시
    -a: 숨김 파일까지 표시
    -n: 호스트 네임 표시
    -l: 파일의 상세 정보 표시

  • pwd: 현재 위치한 디렉토리 경로 표시

  • cd [경로]: 지정한 위치로 이동. cd만 입력하면 사용중인 계정의 홈 디렉토리(~)로 이동

  • dir: ls와 동일한 기능. 기존 MS-DOS에서 사용하던 명령어를 리눅스에서 사용하도록한 령

  • vdir: ls -l과 동일한 기능. 상기한 내용과 동일

  • mkdir: 디렉토리 생성

    mkdir -p [디렉토리]
    -p옵션은 디렉토리 생성 시 중간 디렉토리가 없다면 중간 디렉토리를 생성
    ex) mkdir -p ./a/aa 명령 수행시 a디렉토리가 없으면 생성

    mkdir 1 2 3처럼 명령어를 작성하면 1과 2와 3이라는 디렉토리를 생성

  • rmdir: 디렉토리 삭제

    rmdir -[옵션] [디렉토리]
    -p: 중간 계층(또는 부모)디렉토리가 삭제 후 빈 디렉토리로 남는다면 해당 중간 계층 디렉토리도 함께 삭제
    -r: 비어있지 않은 디렉토리를 강제로 삭제


파일

  • touch: 빈 파일 생성

    touch -[옵션] [파일명]
    touch파일명이 없는 경우에는 새로운 빈 파일을 생성합니다. 만약 같은 이름의 파일명이 존재하는 경우 지정한 옵션의 정보로 기존 파일의 정보를 수정합니다.
    -a: 최근 접근 시간 변경
    -c: 파일명이 존재하지 않아도 새로 만들지 않음
    -m: 최근 수정 시간 변경
    -t: 시간 변경 [[CC]YY]MMDDhhmm[.ss] (=[[세기]년]월일시분[.초])

  • cp 파일 또는 디렉토리 복사

    cp -[옵션] [파일 또는 디렉토리1] [파일 또는 디렉토리2]
    cp 명령은 옵션과 두 개의 인자를 어떤 식으로 구성(파일 파일, 파일 디렉토리 등)하냐에 따라서 다른 결과를 보여줍니다.
    -a: 원본 파일의 속성과 링크 정보를 그대로 복사
    -b: 원본의 복사본 생성
    -f: 강제 복사. 복사하려는 파일 이름이 이미 존재하는 경우에 강제 복사
    -i: 복사하려는 파일 이름이 존재하는 경우 물어보는 프롬프트 표시
    -r: 디렉토리의 하위 내용들을 전부 복사
    -s: 심볼릭 링크 생성

  • find: 파일 검색

    find [경로] [조건 옵션] [동작 옵션]
    조건 옵션

    조건 옵션기능
    -empty빈 파일 찾기
    -name지정한 파일 찾기
    와일드 카드 *, ?, [] 사용 가능 -> 작은 따옴표''로 와일드 카드 구분 필수
    -group지정한 그룹 소유의 파일 찾기
    -size지정한 파일 크기 -size n으로 파일 찾기
    n: n값, +n: n보다 큰 값, -n: n보다 작은 값
    -newer지정한 파일보다 더 최근에 생성된 파일 찾기
    -user지정한 사용자 소유의 파일 찾기
    -type지정한 타입의 파일 찾기
    b: 블록 디바이스, d: 디렉토리, f: 파일, l: 심볼릭 링크

    동작 옵션

    동작 옵션기능
    -print찾은 파일들을 출력 (default)
    -prune하위 디렉토리는 찾지 않음
    -exec [명령어] {} \;파일을 찾고 명령 수행. 공백 구분 필수
    -ok [명령어] {} \;-exec과 동일하나 명령 실행 전에 한 번 물어보는 프롬프트 출력
    -ls결과를 긴 목록으로 표시
  • cat: 파일 내용 연속적 출력

    -n: 파일 내용에 행 번호 붙여서 출력

  • more: 파일 내용을 화면 단위로 출력

    +행 번호: 지정한 행 번호부터 출력 시작

  • grep: 파일 내에서 특정 문자열 검색

    grep -[옵션] [찾을 문자열 또는 패턴] [파일명]
    -c: 찾을 문자열이 위치한 행의 총 개수 출력
    -i: 대소문자 구분 없이 출력
    -l: 패턴을 포함하는 파일 이름 출력
    -n: 찾을 문자열의 행 번호 출력
    -r: 하위 경로까지 모두 검색해서 출력
    -v: 찾으려는 문자열이 없는 행 출력
    -w: 패턴을 하나의 단어로 취급해서 검색

  • whereis: 명령어 위치 검색. 명령의 바이너리 파일만이 아닌 메뉴얼, 소스의 정보도 함께 출력

  • which: 명령어 위치 검색. 바이너리 파일의 위치만을 출력. PATH 환경 변수에 지정된 경로만 따라서 검색

  • mv: 파일 또는 디렉토리 이동. 또는 파일명, 디렉토리명 변경

    mv [원본 파일 또는 디렉토리] [이동할 파일 또는 디렉토리]

  • rm: 파일 삭제

    rm -[옵션] [파일 또는 디렉토리]
    -i: 삭제하기 전에 물어보는 프롬프트 출력
    -r: 디렉토리 지정시 삭제하기 위한 옵션 (비어있지 않은 디렉토리 강제 삭제)

  • file: 파일의 종류를 출력(디렉토리인지 파일인지)

  • groups: 현재 사용자의 소속 그룹을 출력. 사용자명을 전달하면 해당 사용자의 그룹 출력

  • chmod: 파일 접근 권한 변경

    접근 권한은 추후 다른 포스트를 작성하고 따로 달아 놓겠습니다.

  • umask: 리눅스 시스템의 기본 접근 권한 확인/변경

-tail: 파일의 내용을 마지막 행부터 10번째 행까지만 출력


시스템 관리자 권한

  • shutdown: 리눅스 시스템 종료

    shutdown [옵션] [시간] [메세지]
    -c: 이전의 shutdown 명령 취소
    -f: 빠른 재시작
    -h: 종료 후 halt 상태
    -k: 종료가 아닌 메세지만 전달
    -r: 종료 후 재시작-r`: 종료 후 재시작

  • halt: 시스템 강제 종료 (= shutdown -h now)

  • reboot: 리눅스 시스템 재부팅(= shutdown -r)

시스템 관리자 권한 - 사용자 계정

  • useradd: 사용자 계정 추가

    useradd [옵션] [계정 이름]
    -c: 계정 이름 들의 부가 설정 지정
    -d: 홈 디렉토리 지정
    -e: 유효기간 지정
    -f: 계정의 유효 일자 지정(ex. -f-10: 10일 동안 유효)
    -g: 사용자 계정의 로그인 기본 그룹 GID 지정
    -o: 사용자 계정의 UID 중복 허용
    -p: 사용자 계정 패스워드 지정
    -s: 사용자 계정 기본 셸 지정
    -u: 사용자 계정 UID 지정

  • passwd: 사용자 계정 암호 설정

    passwd [옵션] [계정 이름]
    -d: 계정의 비밀번호 삭제
    -l: 암호 잠금
    -u: 암호 잠금 해제

  • usermod: 사용자 계정 정보 수정

    usermod [옵션] [계정 이름]
    -c: 사용자 이름 등의 정보 수정
    -d: 홈 디렉토리 수정
    -e: 계정 만료일 수정
    -f: 계정 비활성화 일자 수정
    -g: 로그인 기본그룹 GID 수정
    -l: 계정 이름 변경
    -o: 계정 UID 중복 허용
    -s: 기본 셸 수정
    -u: UID 수정

  • chage: 사용자 계정의 암호 기간 설정/변경

    chage [옵션] [계정 이름]
    -d: 마지막 암호 변경 일 출력
    -E: 계정 사용 종료일 출력
    -I: 암호 유효기간이 지난 후 계정이 비활성화 되는 일 수 (대문자 i)
    -l: 암호 만기에 대한 정보 출력 (소문자 L)
    -m: 암호를 변경할 수 있는 최소 일 수(0은 항시)
    -M: 마지막 변경 이후 암호 유효일 설정
    -W: 암호 만료기간 전에 메세지 출력 설정
    -1: 암호 만료일을 설정하지 않거나 값 해제

  • userdel: 사용자 계정 삭제

    userdel [옵션] [계정 이름]
    -f: 현재 사용중 계정 강제 삭제
    -r: 홈 디렉토리 삭제

시스템 관리자 권한 - 사용자 그룹


파일 시스템


마운트


디스크

0개의 댓글