Unix 명령어, 유닉스 명령어

(2025-03-16)

Unix 유틸리티, 유닉스 유틸리티, 유닉스 유틸리티 프로그램, Linux 명령어, 리눅스 명령어, Linux/Unix 명령어


1. 사용자 계정의 관리

  ㅇ 사용자 정보 확인  (현재 로그인된 사용자 확인)
     - users  :  현재 로그인된 사용자들의 id
     - who [옵션] :  현재 로그인된 사용자들의 id,터미널,로그인 일시,IP주소 등
        . [bdHlprtTuma]
     - whoami :  현재 로그인한 사용자 본인 아이디
     - id     :  현재 사용자의 UID, GID, 소속 그룹 확인
     - w  :  로그인된 사용자와 실행 중인 프로세스 확인
     - last  :  시스템 로그인/로그아웃 이력 확인
     - groups  :  현재 사용자가 속한 그룹 목록 확인

  ㅇ 계정 관리  :  (생성, 수정, 삭제)
     - useradd [옵션] [계정명]  :  새로운 사용자 계정 생성
     - usermod  :  기존 사용자 계정 수정 (-aG 옵션으로 그룹 추가 가능)
     - deluser 또는 userdel  :  사용자 계정 삭제

     * [참고] 계정 정보 저장 위치
        .  /etc/passwd  :  사용자 계정 정보
        .  /etc/shadow  :  비밀번호 및 암호화 정보
        .  /etc/group   :  그룹 정보패스워드 관리
     - passwd [옵션] [계정명]  :  비밀번호 변경  (etc/shadow 파일암호화 저장)
     - chage -l <계정명>  :  사용자의 비밀번호 변경 정책 확인
     - chage -E <날짜> <계정명>  :  계정 만료일 설정

  ㅇ 그룹 관리
     - groupadd <그룹명>  :  새로운 그룹 생성
     - groupdel <그룹명>  :  그룹 삭제
     - groupmod -n <새_그룹명> <기존_그룹명>  :  그룹 이름 변경
     - gpasswd -a <사용자> <그룹>  :  사용자 그룹 추가
     - gpasswd -d <사용자> <그룹>  :  사용자 그룹 제거


2. 파일,디렉토리정보 확인파일 정보 확인,변경
     - file  :  파일 종류(형식) 확인
     - touch :  파일의 날짜 시간 정보를 변경 (타임스탬프 갱신)
        . 만일, 파일 존재 않으면, 빈 파일 생성

     - stat     :  파일의 상세한 메타데이터 확인
     - df -h    :  디스크 사용량을 사람이 읽기 쉬운 단위로 표시
     - du -sh * :  현재 디렉토리파일/폴더별 사용량 확인

  ㅇ 파일 내용 출력
     - cat  :  파일 내용 보기
     - more :  페이지 단위파일 내용 보기
     - head :  파일 앞부분 보기 (기본 처음 10줄)
     - tail :  파일 뒷부분 보기 (기본 마지막 10줄)
     - wc   :  단어 세기 (행,단어,바이트, 파일 수)

  ㅇ 파일,디렉토리 확인
     - pwd (print working directory, present working directory)  :  현재 작업 디렉토리 확인
        . 만일, 처음 로그인하면, 홈 디렉토리현재 작업 디렉토리가 됨
     - ls (list segments)  :  현재 디렉토리에 포함된 파일,디렉토리의 확인 
        . 파일 종류,권한,소유자,그룹,크기,날짜,이름 등
     - lsof  :  프로세스 연결 정보 확인
        . 프로세스에 의해 오픈된 파일/포트들의 점검
           .. (프로세스명,PID,소유자,파일명,파일타입 등)


3. 파일,디렉토리의 관리파일 편집기  :  ed, vi, vim(vi improved)
     - ed  :  줄 단위 텍스트 편집기
     - vi  :  화면 단위 텍스트 편집기

  ㅇ 파일 찾아보기
     - find  :  지정한 특정 범위에 해당하는 파일검색
     - locate : (검색 DB를 미리 생성해서 속도 빠름. 하루 1회 업데이트됨)
     - whereis
     - which

  ㅇ 파일/디렉토리 속성 변경
     - chmod (change mode)  :  퍼미션(파일접근권한) 변경
     - chown (change owner) :  소유자 변경
     - chgrp (change group) :  그룹 변경
    
  ㅇ 파일/디렉토리 사용(복사,이름변경,이동,삭제 등)
     - cp (copy)   : 파일 복사
     - mv (move)   : 파일 이동, 파일명 변경
     - rm (remove) : 파일 삭제
     - ln (link)   : 파일 링크

     - cd (change directory) : 디렉토리 위치 변경

  ㅇ 파일/디렉토리 생성/삭제
     - 파일 생성  :  touch, cat, 편집기(vi,...) 등으로 가능 
        . 例) cat > 파일명 : 표준 출력 리다이렉션 > 쓰면, 현재 키보드 입력 내용을 파일로 저장
        . 例) touch 파일명 : 해당 파일 없으면, 파일 크기가 0인 빈 파일 생성

     - 디렉토리 생성  :  mkdir
        . mkdir -p  :  (중간 경로 디렉토리까지 생성)
           .. 例) mkdir -p yearmon/2023/01

     - 파일/디렉토리 삭제  :  rm
        . rm -r  :  재귀적으로 디렉토리 트리 삭제
        . rmdir  :  빈 디렉토리 만 삭제


4. 메모리의 관리

  ㅇ  free -h  :  (메모리 할당 상태 확인)
  ㅇ  fallocate -l 2G /swapfile  :  (대용량 파일 만들기, 대용량 파일 크기 조정하기)
  ㅇ  chmod 600 /swapfile  :  (스왑 파일 권한 주기)
  ㅇ  mkswap /swapfile  :  (swap 파일로 변환 만들기)
  ㅇ  swapon /swapfile  :  (swap 활성화)
  ㅇ  nano /etc/fstab
  ㅇ  /swapfile swap swap defaults 0 0  :  (부팅스왑 파일로써 마운트)
  ㅇ  swapon --show  :  (스왑 상태 보기)
  ㅇ  swapoff -v /swapfile  :  (swap 비활성화)


5. 시스템의 관리시스템 정보 확인
     - 호스트 이름 확인  :  hostname
     - 운영체제 확인  :  uname    (커널 버전, 머신 타입, 호스트 이름 등)
        . (옵션) -r :현재 버젼, -a : 모든 정보 출력
  ㅇ 관리자 모드 진입 : sudo
  ㅇ 디스크 용량 확인 : du, df
     - du : 특정 디렉토리 이하의 디스크 사용량
  ㅇ 자원 확인 : top
  ㅇ 시간 관리 : date
     - 시스템 클럭의 일시를 확인,설정 및 관리


6. 프로세스 관리프로세스 확인  :  ps
     - 실행중인 프로세스들의 리스트, 정상 여부 확인 및 점검
  ㅇ 스케줄링 관리 : cron 데몬스케줄링된 작업 설정 : at 

  ㅇ kill   :  특정 프로세스 종료
  ㅇ killall <프로세스명>  :  동일한 이름의 모든 프로세스 종료
  ㅇ pkill <프로세스명>  :  특정 패턴을 포함하는 프로세스 종료
  ㅇ htop  :  top 명령어보다 더 강력한 프로세스 모니터링


7. 네트워크 명령어네트워크 인터페이스IP 정보 확인
     - ifconfig  :  네트워크 인터페이스 정보 확인 및 설정 (옛 명령어)
        . (활성 네트워크 인터페이스 연결 정보 및 설정)
     - ip a  :  네트워크 인터페이스IP 주소 확인 (ifconfig 대체)
     - ip link  :  네트워크 인터페이스 상태 확인
     - ip route  :  현재 라우팅 테이블 확인 (route 대체)
     - ip neigh  :  ARP 테이블 확인 (네트워크에서 MAC 주소 조회)

  ㅇ 네트워크 연결 상태 확인
     - ping <호스트>  :  네트워크 연결 확인 및 응답 시간 측정
     - traceroute <호스트>  :  네트워크 경로(라우터 경유) 추적
     - tracepath <호스트>  :  traceroute와 유사하지만 루트 권한 불필요
     - mtr <호스트>  :  pingtraceroute를 결합한 실시간 네트워크 경로 모니터링DNS네임서버 확인
     - nslookup <도메인>  :  도메인의 IP 주소 확인
     - dig <도메인>  :  보다 상세한 DNS 쿼리 확인 (nslookup 대체)
     - host <도메인>  :  간단한 DNS 조회

  ㅇ 포트 및 연결 상태 확인
     - netstat -tulnp  :  현재 열려있는 포트 및 프로세스 확인 (구버전)
     - ss -tulnp  :  현재 열려있는 포트 및 프로세스 확인 (netstat 대체)
     - lsof -i  :  현재 네트워크 소켓을 사용하는 프로세스 확인
     - nc -zv  <포트>  :  특정 포트가 열려 있는지 확인 (netcat 활용)

  ㅇ 패킷 캡처 및 네트워크 분석
     - tcpdump  :  네트워크 패킷실시간으로 캡처 및 분석
     - wireshark  :  GUI 기반 네트워크 패킷 분석 도구 (설치 필요)

  ㅇ 원격 접속 및 파일 전송
     - ssh <사용자>@<호스트>  :  원격 서버SSH 접속
     - scp <파일> <사용자>@<호스트>:<경로>  :  SSH를 이용한 파일 전송
     - rsync -avz <소스> <사용자>@<호스트>:<대상>  :  네트워크 파일 동기화라우팅네트워크 설정
     - route  :  라우팅 테이블 출력 및 편집
        . route -n  :  라우팅 테이블 확인
        . `netstat -rn`,`route -n`  :  거의 유사한 정보 보여줌
     - ip route add <네트워크>/<마스크> via <게이트웨이>  :  라우팅 추가
     - ip route del <네트워크>/<마스크>  :  라우팅 삭제
     - ethtool <인터페이스>  :  이더넷 카드 설정 확인 및 변경


8.  명령어

  ※ ☞ 쉘내부명령어 참조
     - exit, logout, return, echo, pwd, cd, help 등


9. 기타

  ㅇ 도움말  :  man, info
     - 각 명령어별 도움말  :  <명령어> -h 또는 -? 또는 --help 또는 -help

  ㅇ 히스토리  :  history (history, history N, history -C) 
     - !! (직전), !N (히스토리 N번째), !-N  (히스토리 -N번째)  :  이전 명령어 실행 
     - !$, !*  :  이전 명령어 파라미터 추출

  ㅇ 담긴 내용(...)을 명령어 취급  :  `...`, $(...)
     - 例) date +%Y => 2025 이면, echo This year is `date +%Y`  =>  This year is 2025

  ㅇ 단순 산술 처리  :  expr (명령어 기반), bc (텍스트 기반 계산기), dc (desk calculator)

  ㅇ 에디터  :  vi(vim), emacs, gedit

  ㅇ 가상 터미널 디바이스 확인  :  tty

Unix/Linux 유틸리티(명령)
1. Unix/Linux 명령어   2. awk   3. gzip/gunzip   4. man   5. mount   6. passwd   7. ps   8. pwd   9. sed   10. sendmail   11. syslogd/syslog   12. tar   13. umask   14. who   15. ls  

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)
[Unix/Linux 유틸리티(명령)]1. Unix/Linux 명령어   2. awk   3. gzip/gunzip   4. man   5. mount   6. passwd   7. ps   8. pwd   9. sed   10. sendmail   11. syslogd/syslog   12. tar   13. umask   14. who   15. ls  

  1. Top (분류 펼침)      :     1,604개 분류    6,617건 해설