01. 리눅스 일반 - 3

castlehi·2022년 2월 25일
0

LinuxMaster Level2

목록 보기
3/12
post-thumbnail

03. 기본 명령어

Section 1 : 사용자 생성 및 계정 관리

사용자 관련 명령어

  1. useradd
  • 사용자 계정을 생성하는 명령어
  • 생성된 사용자의 계정 정보는 '/etc/passwd', '/etc/shadow', '/etc/group' 파일에 저장

1) 기본 형식

[root@localhost ~]# useradd [옵션][계정명]

2) 옵션

옵션설명
-c사용자 계정에 설명 추가
-d사용자 계정의 홈 디렉터리 지정
-e사용자 계정의 유효 기간 설정
-f패스워드가 만료된 후 계정의 만료 날짜 지정
-G사용자 계정의 새로운 그룹 추가
-s사용자 계정의 로그인 기본 셸 지정
  1. passwd
  • 사용자 계정의 패스워드 변경 및 관리하는 명령어
  • 생성된 패스워드는 암호화되어 '/etc/shadow' 파일에 저장

1) 패스워드 변경 기본 형식

[root@localhost ~]# password [계정명]

2) 패스워드 관리 기본 형식

[root@localhost ~]# passwd [옵션][계정명]

3) 패스워드 관리 옵션

옵션설명
-d사용자 계정의 패스워드 삭제
-l사용자 계정을 잠금
-S계정 상태 출력
-PS : 정상
-NP : 패스워드가 설정 안됨
-LK : 잠금상태이거나 NP상태
-u잠금 상태의 사용자 계정을 해제
  1. su
  • Switch User의 약어
  • 현재 사용자 계정에서 로그아웃 하지 않고, 다른 사용자로 전환

1) 기본 형식

[root@localhost ~]# su [옵션][사용자][셸 변수]

2) 옵션

옵션설명
-, -l, --login사용자의 환경변수를 적용하여 로그인
-c셸을 실행하지 않고, 주어진 명령어 실행
-s지정된 셸로 로그인

사용자 관련 파일

  1. /etc/default/useradd 파일
  • 사용자 계정 생성 시 가장 먼저 참조하는 파일
  • useradd -D 명령어로 확인 및 변경 가능

1) 파일 내용

#useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MALL_SPOOL=yes

2) 설정값

설정값설명
GROUP새로 사용자 계정 생성 시 기본적으로 소속될 그룹의 GID 지정
HOME새로 사용자 계정 생성 시 홈 디렉터리 지정
INACTIVE패스워드 사용 기간이 만료된 후 사용 불가능하게 되는 날짜 지정
'0'이면 사용 불가능, '-1'이면 무한대
EXPIRE패스워드 만료 날짜 지정
SHELL사용자 계정 생성 시 기본 셸 지정
SKEL사용자 계정 생성 시 추가되는 홈 디렉터리에 복사할 파일들이 있는 디렉터리의 경로
CREATE_MAIL_SPOOL새로 생성되는 사용자 계정의 메일함 생성 여부 지정
  1. /etc/login.defs 파일
  • 두 번째로 참조하는 파일로 기본값을 정의하는 파일

1) 파일 내용

# QMAIL_DIR	Maildir
MAIL_DIR /var/spool/mail

# Password aging controls:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7

# Min/max values for automatic uid selection in useradd
UID_MIN	1000
UID_MAX	60000

#Min/max values for automatic gid selection in useradd
GID_MIN	1000
GID_MAX 60000

CREATE_HOME	yes
# The permission mask is initialized to this value. If not specified.
# The permission mask will be initialized to 022.
UMASK	077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB	yes
# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512

2) 설정값

설정값설명
MAIL_DIR메일 디렉터리 지정
PASS_MAX_DAYS패스워드 만료일
PASS_MIN_DAYS패스워드 변경 후 다시 변경할 수 있는 최소 일 수
PASS_MIN_LEN패스워드 최소 길이
PASS_WARN_AGE설정된 일 수가 남았을 때, 패스워드 만료 경고 메시지 보냄
UID_MIN사용자에게 할당할 수 있는 최소 UID 번호
UID_MAX사용자에게 할당할 수 있는 최대 UID 번호
CREATE_HOME홈 디렉터리 생성 여부
UMASK사용자 계정 생성 시 홈 디렉터리의 UMASK 값을 설정
USERGROUPS_ENAB'userdel' 명령 시 그룹도 삭제, 즉, 'userdel'명령어로 사용자가 없는 그룹을 삭제할 것인지 여부
ENCRYPT_METHOD암호화 방법
  1. /etc/skel 디렉터리
  • 'useradd' 명령어 실행 시, '/etc/skel' 디렉터리에 있는 파일들이 새롭게 생성되는 사용자의 홈 디렉터리로 복사

1) 디렉터리 내용

[root@localhost ~]# ls -al /etc/skel
-rw-r--r--. 1 root root 18 831 2020 .bash_logout
-rw-r--r--. 1 root root 18 831 2020 .bash_profile
-rw-r--r--. 1 root root 18 831 2020 .bash_bashrc

2) 파일 설명

파일설명
.bash_logout로그아웃하기 바로 직전에 실행하는 프로그램에 관한 배시(bash)의 지역적인 시스템 설정과 관련된 파일
.bash_profile환경변수와 배시(bash)가 수행될 때 실행되는 프로그램을 제어
.bashrc별칭(alias)과 배시(bash)가 수행될 때 실행되는 함수를 제어
  1. /etc/passwd 파일
  • 사용자 계정 정보를 저장하고 있는 파일로 로그인 시 사용
  • 7개의 필드로 구분

1) 파일 구조

username:password:uid:gid:comment:homedirectory:shell
필드설명
username계정명
password패스워드
uidUID
gidGID
comment설명
homedirectory홈 디렉토리
shell로그인 셸 종류
  1. /etc/shadow 파일
  • 사용자의 패스워드가 암호화되어 저장되어 있는 파일
  • 9개의 필드

1) 파일 구조

username:password:lastchange:mindays:maxdays:warndays:inactive:expire:flag
필드설명
username계정명
password암호화된 패스워드
lastchange변경 후 지난 일 수
mindays변경 최소 일
maxdays최대 유효기간
warndays만료 경고일
inactive만료 후 비활성화 기간
expire계정 만료일
flag예약

사용자 계정 관리

  1. usermod
  • 사용자 계정 정보를 변경하는 명령어

1) 기본 형식

[root@localhost ~]# usermod [옵션][설정값][계정명]

2) 옵션

옵션설명
-c설명 변경
-d사용자 홈디렉터리 변경
-e계정 만료일 변경
-f사용자 계정 유효일 지정
-gGID 변경
-G지정한 그룹에 사용자 추가
-s로그인 시 사용할 기본 셸 지정
-uUID 변경
  1. userdel
  • 사용자 계정 정보 삭제
  • '/etc/passwd', '/etc/shadow', '/etc/group' 파일의 사용자 계정 정보가 삭제

1) 기본 형식

[root@localhost ~]# userdel [옵션][계정명]

2) 옵션

옵션설명
-r계정과 관련된 정보를 삭제

사용자 정보 조회 명령어

  1. users
  • 로그인한 사용자의 정보를 출력

1) 기본 형식

[root@localhost ~]# users

2) 활용

[root@localhost ~]# users
root root
  1. w
  • 시스템에 로그인한 사용자의 정보를 자세히 출력

1) 기본 형식

[root@localhost ~]# w

2) 활용

[root@localhost ~]# w
17:24:35 up 8 min, 2 users, load aveerage: 0.22, 1.50, 1.10
USERS	TTY		FROM	LGOIN@	IDLE	JCPU	PCPU	WHAT
root	:0		:0		17:18	?xdm?	1:09	2.07s	/usr/libexec/gnome-ses
root	pts/0	:0		17:23	3.00s	0.11s	0.02s	w
  1. who
  • 시스템에 로그인한 사용자의 정보를 간단히 출력

1) 기본 형식

[root@localhost ~]# who [옵션]

2) 옵션

옵션설명
-a모든 정보 출력
-H각 필드의 제목과 함께 출력
-u사용자의 Idle Time 확인

3) 활용

[root@localhost ~]# who
root	:0		2020-06-09 17:18 (:0)
root	pts/0	2020/06-09 17:23 (:0)
  1. whoami
  • 시스템에 로그인한 사용자를 출력

1) 기본 형식

[root@localhost ~]# whoami

2) 활용

[root@localhost ~]# whoami
root
  1. id
  • 시스템에 로그인한 사용자의 uid, gid, group 정보를 출력

1) 기본 형식

[root@localhost ~]# id

2) 활용

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Section 2 : 그룹 생성 및 그룹 관리

그룹 관리 명령어

  1. groupadd
  • 그룹 생성 시 사용하는 명령어

1) 기본 형식

[root@localhost ~]# groupadd [옵션][그룹명]

2) 옵션

옵션설명
-gGID 지정
-o-g 옵션과 같이 사용되며, GID 중복 허용
-r시스템 그룹 생성 시 사용, GID 499번 이하 값 지정
  1. groupdel
  • 그룹 삭제 시 사용하는 명령어

1) 기본 형식

[root@localhost ~]# groupdel [그룹명]
  1. groupmod
  • 그룹 정보 변경 시 사용하는 명령어

1) 기본 형식

[root@localhost ~]# groupmod [옵션][그룹명]

2) 옵션

옵션설명
-ggid 변경
-n그룹명 변경

그룹 관련 파일

  1. /etc/group 파일
  • 사용자의 그룹 정보가 저장
  • 4개의 필드

1) 파일 구조

groupname:password:gid:members

2) 내용 설명

필드설명
groupname그룹명
password패스워드
gidGID
members소속된 사용자
  1. /etc/gpasswd 파일
  • 그룹의 패스워드가 암호화되어 저장
  • 4개의 필드

1) 파일 구조

groupname:password:owner:members

2) 내용 설명

필드설명
groupname그룹명
password패스워드
owner소유주
members소속된 사용자

그룹 정보 조회 명령어

  1. groups
  • 현재 사용자가 속한 그룹 정보를 확인

1) 기본 형식

[root@localhost ~]# groups

Section 3 : 디렉터리 및 파일

디렉터리 관련 명령어

  1. mkdir
  • 디렉터리를 생성하는 명령어

1) 기본 형식

[root@localhost ~]# mkdir [옵션][디렉터리명]

2) 옵션

옵션설명
-m디렉터리 생성 시 권한 설정
-p하위 디렉터리를 한 번에 생성
-v디렉터리 생성 후 생성된 디렉터리 정보 출력
  1. rmdir
  • 디렉터리 삭제
  • 빈 디렉터리만 가능

1) 기본 형식

[root@localhost home]# rmdir [디렉터리명]
  1. cd
  • 디렉터리 이동
  • 절대 경로상대 경로로 지정 가능

    절대 경로
    -최초의 시작점으로 경유한 경로를 전부 기입하는 방식 (/home/test/pse)
    상대 경로
    -기준 경로를 기준으로 절대 경로가 구성되며, 루트 디렉터리를 포함하지 않는 주소 (test/pse)

1) 기본 형식

[root@localhost ~]# cd [대상 디렉터리]

2) 옵션

옵션설명
~현재 사용자의 홈 디렉터리로 이동
.현재 디렉터리
..현 단계 상위 디렉터리로 이동
  1. pwd
  • 현재 작업 중인 디렉터리 출력

1) 기본 형식

[root@localhost /etc]# pwd [옵션]

2) 옵션

옵션설명
-L심볼릭 링크안에 있다면 심볼릭 링크의 경로를 표시(Logical location)
-P심볼릭 링크안에 있다면 심볼릭 링크가 가리키는 원래 디렉터리의 경로를 표시(Physical location)
  • 하드링크 : 원본 파일과 동일한 l-Node값을 가져서 원본 파일이 삭제되더라도 여전히 사용 가능
  • 심볼릭링크 : 원본 파일과 다른 l-Node값을 가져서 원본 파일이 삭제되면 사용할 수 없음

파일 관련 명령어

  1. ls
  • 파일이나 디렉터리 목록을 출력

1) 기본 형식

[root@loclahost ~]# ls [옵션][디렉터리명]

2) 옵션

옵션설명
-a숨김 파일을 포함한 모든 목록
-d디렉터리 목록만 출력
-F파일이 디렉터리인 경우 /, 실행 파일인 경우 *, 소켓 파일인 경우 =, 심볼릭 링크인 경우 @를 파일 뒤에 표시 후 출력
-l파일을 상세히 출력
-m쉼표로 구분하여 출력
-r파일이나 디렉터리명의 알파벳 역순으로 출력
-R하위 디렉터리 목록까지 순차적으로 출력
-s킬로바이트(kb) 단위로 출력
-t최종 수정 시간을 기준으로 출력
  1. cp
  • 파일이나 디렉터리를 복사

1) 기본 형식

[root@localhost ~]# cp [옵션][원본 파일/디렉터리][대상 디렉터리]

2) 옵션

옵션설명
-b원본과 동일한 파일명이 존재할 경우, 원본 파일의 복사본을 만듦
-f원본과 동일한 파일명이 존재할 경우, 덮어쓰기 여부를 묻지 않고 복사
-i원본과 동일한 파일명이 존재할 경우, 덮어쓰기 여부를 묻고 복사
-p원본과 동일한 모드, 소유자, 시간 정보를 유지하고 복사
-P원본이 디렉터리 경로와 함께 지정되었을 경우, 저장된 디렉터리 경로를 그대로 복사
-r하위 디렉터리까지 모두 복사
-S원본과 동일한 파일명이 존재할 경우, 백업파일을 생성하지만, 백업파일의 접미사를 원하는 이름으로 지정
-u원본과 동일한 파일명이 존재할 경우, 원본 파일이 대상 파일보다 최신 파일일 경우에만 복사
  1. mv
  • 파일이나 디렉터리 이동
  • 파일이나 디렉터리 이름 변경

1) 기본 형식

[root@localhost ~]# mv [옵션][원본 파일/디렉터리][대상 파일/디렉터리]

2) 옵션

옵션설명
-b원본과 동일한 파일명이 존재할 경우, 원본 파일의 복사본을 만듦
-f원본과 동일한 파일명이 존재할 경우, 덮어쓰기 여부를 묻지 않고 복사
-i원본과 동일한 파일명이 존재할 경우, 덮어쓰기 여부를 묻고 복사
-u원본과 동일한 파일명이 존재할 경우, 원본 파일이 대상 파일보다 최신 파일일 경우에만 복사
-v파일 옮기는 과정 출력
  1. rm
  • 파일이나 디렉터리 삭제

1) 기본 형식

[root@localhost ~]# rm [옵션][파일/디렉터리명]

2) 옵션

옵션설명
-b원본과 동일한 파일명이 존재할 경우, 원본 파일의 복사본을 만듦
-f원본과 동일한 파일명이 존재할 경우, 덮어쓰기 여부를 묻지 않고 복사
-i원본과 동일한 파일명이 존재할 경우, 덮어쓰기 여부를 묻고 복사
-r하위 디렉터리를 포함한 모든 파일 삭제
-v파일 옮기는 과정 출력
  1. touch
  • 파일 크기가 0바이트인 빈 파일을 생성
  • 타임 스태프를 변경하는 명령어

1) 기본 형식

[root@localhost ~]# touch [옵션][설정값][파일/디렉터리명]

2) 옵션

옵션설명
-a현재 시간으로 파일의 접근 시간, 변경 시간을 수정
-c기존 파일이 없으면 파일이 생성되지 않음
-d지정한 시간으로 접근 시간, 수정 시간이 수정되고, 변경 시간은 현재 시간으로 수정
-m현재 시간으로 파일의 수정 시간, 변경 시간을 수정
-r지정한 파일의 접근 시간, 수정 시간으로 파일이 수정되고, 변경 시간은 현재 시간으로 수정
-t지정한 시간으로 접근 시간, 수정 시간이 수정되고, 변경 시간은 현재 시간으로 수정
  1. file
  • 파일의 유형 및 속성 확인

1) 기본 형식

[root@localhost ~]# file [옵션][파일/디렉터리명]

2) 옵션

옵션설명
-b지정한 파일명은 출력하지 않고, 파일의 유형만 출력
-f파일 목록에서 지정한 파일들에 대해서만 명령 실행
-iMME 타입 문자로 출력
-L심볼릭 링크된 파일을 추적하여 원본 파일 정보 출력
-z압축된 파일의 내용 출력
  1. find
  • 파일이나 디렉터리를 검색하여 경로를 출력

1) 기본 형식

[root@localhost ~]# find [경로][옵션][설정값1, 설정값2...]

2) 옵션

옵션설명
-delete검색된 파일이나 디렉터리 삭제
-empty크기가 0인 파일이나 빈 디렉터리 검색
-exec검색된 파일에 대하여 지정된 명령 실행
-name지정된 문자열 패턴을 기준으로 검색
-print검색 결과 출력
-size파일 크기를 기준으로 출력
-type파일 유형을 기준으로 출력
-atime접근 시간을 기준으로 출력
-ctime속성 변경 시각을 기준으로 출력
-mtime데이터 수정 시각을 기준으로 출력
  1. locate
  • 파일의 위치를 검색
  • 미리 만들어 놓은 DB파일에서 파일을 검색하기 때문에 빠른 검색이 가능하지만, DB파일을 업데이트하지 않으면 최근에 삭제된 파일도 검색될 수 있어 updatedb 명령을 실행하는 것이 좋다

1) 기본 형식

[root@localhost ~]# locate [옵션][파일명]

2) 옵션

옵션설명
-e검색에서 제외할 디렉터리 지정
-n지정한 개수만큼 검색
  1. whereis
    -명령어의 바이너리, 소스, 매뉴얼 파일의 위치를 검색

1) 기본 형식

[root@localhost ~]# whereis [검색할 명령어]

2) 활용

[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@localhost ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz /usr/share/man/man1p/cp.1p.gz
  1. which
    명령어 실행 파일의 위치를 검색

1) 기본 형식

[root@localhost ~]# which [검색할 명령어]

2) 활용

[root@localhost ~]# which ls
/usr/bin/ls
[root@localhost ~]# which cp
/usr/bin/cp

파일 내용 출력 명령어

  1. cat
  • 파일 내용을 출력하거나, 두 개의 파일 내용을 합치는 명령어

1) 기본 형식

[root@localhost ~]# cat [옵션][명령어]

2) 옵션

옵션설명
-b화면 왼쪽에 행 번호 출력(비어 있는 행 제외)
-e제어 문자를 '^'형태로 출력하면서, 각 행의 끝에 '$' 문자 추가
-n화면 왼쪽에 행 번호 출력(비어 있는 행 포함)
-s연속되는 2개 이상의 빈 행을 한 행으로 출력
  1. head
  • 파일의 처음 행부터 지정한 줄 수만큼 출력

1) 기본 형식

[root@localhost ~]# head [옵션][설정값][파일명]

2) 옵션

옵션설명
-c처음부터 'Kbyte' 단위 출력
-n처음부터 'n'행까지 출력
-q파일 이름을 헤더에 출력하지 않음
-v파일 이름을 헤더에 출력
  1. tail
  • 파일의 마지막 행부터 지정한 줄 수만큼 출력

1) 기본 형식

[root@localhost ~]# tail [옵션][설정값][파일명]

2) 옵션

옵션설명
-c마지막부터 'Kbyte' 단위 출력
-f파일의 마지막 10줄을 실시간으로 연속해서 출력
-F파일의 마지막 10줄을 실시간으로 연속해서 출력하며, 특정 시간이 지난 후 파일이 변동하게 되면 새로운 파일을 출력
-n마지막 줄부터 'n'행까지 출력
-n +n'+n'번째 줄 이후부터 출력
--byte'n' 바이트만큼 출력
  1. more
  • 파일의 내용을 화면 단위로 출력
  • 화면의 위에서 아래로만 이동 가능

1) 기본 형식

[root@localhost ~]# more [파일명]

2) 옵션

옵션설명
b한 화면씩 앞으로 이동
n:/문자열지정한 문자열 검색
q종료(나가기)
v현재 열려져 있는 파일 위치에서 vi 편집기 실행
=현재 위치의 행 번호 출력
Enter한 행씩 아래로 이동
Space Bar한 화면씩 아래로 이동
  1. less
  • 파일의 내용을 화면 단위로 출력
  • 화면의 위, 아래로만 이동 가능

1) 기본 형식

[root@localhost ~]# less

2) 옵션

옵션설명
-c전체화면 갱신
-i대, 소문자 구분하여 검색
-s연속되는 공백 행은 하나의 행으로 출력
-x탭 간격 조정
q종료(나가기)
행 번호지정된 행 다음부터 출력
한 행 위로 이동
한 행 아래로 이동
Page Up한 화면 위로 이동
Page Down한 화면 아래로 이동
Enter한 행 아래로 이동
Space Bar한 화면 아래로 이동
  1. grep
  • 패턴이나 문자열을 검색한 후, 그 패턴을 포함하고 있는 모든 행을 표준 출력

1) 종류

종류설명
grep다중 패턴 검색
egrep정규 표현식 검색
fgrep단순 패턴 검색

2) 기본 형식

[root@localhost ~]# grep [문자열][옵션][파일명]

3) 옵션

옵션설명
-c패턴이 일치하는 행의 수 출력
-i대, 소문자를 구분하지 않음
-I패턴이 포함된 파일 이름 출력
-n행 번호 출력
-v지정한 패턴과 일치하지 않는 행만 출력
-w패턴이 전체 문자열과 일치하는 행만 출력
  1. wc
  • 행, 단어, 문자수를 출력하는 명령어

1) 기본 형식

[root@localhost ~]# wc [옵션][명령어]

2) 옵션

옵션설명
-c문자 개수 출력
-l행 개수 출력
-w단어 개수 출력
  1. sort
  • 수행 결과나 파일 내용을 정렬하여 출력

1) 기본 형식

[root@localhost ~]# sort [옵션][파일명]

2) 옵션

옵션설명
-b선행 공백 무시
-c정렬 여부 검사
-f대, 소문자를 구분하지 않음
-m정렬된 파일 병합
-n숫자로 한정하여 정렬
-o저장할 파일명 지정
-r역순(내림차순)응로 정렬
-R해시값을 기준으로 랜덤하게 정렬
-t필드 구분자 지정
-u정렬 후 중복된 내용 제거
  1. cut
  • 파일에서 특정 필드 추출

1) 기본 형식

[root@localhost ~]# cut [옵션][파일명]

2) 옵션

옵션설명
-b바이트 단위 지정
-c문자 단위 지정
-d필드 구분자를 TAB 대신에 DELIM 사용
-f지정한 필드만 출력
-s필드 구분자를 포함하지 않는 행은 출력하지 않음
  1. split
  • 하나의 파일을 여러 개의 파일로 분할

1) 기본 형식

[root@localhost ~]# split [옵션][파일명]

2) 옵션

옵션설명
-a접미사의 길이 지정
-b바이트 단위 분할
-l행 수로 분할
--additional-suffix확장자명 지정

파일 내용 비교 명령어

  1. diff
  • 두 개의 파일을 비교하여 다른 내용 출력
  • 차이점이 없다면 0, 있다면 1, 에러 상황이라면 2 이상의 값 반환
  • diff3 명령어는 3개까지 비교 가능

1) 기본 형식

[root@localhost ~]# diff [옵션][파일1][파일2]

2) 옵션

옵션설명
-b연결되는 공백을 무시
-c두 파일 내용의 차이점을 출력
-d두 파일의 차이점을 상세히 출력
-i대, 소문자 구별하지 않음
-r하위 디렉터리의 파일까지 비교하여 출력
-s두 파일이 같을 경우 알림
-t출력 행에 TAB 삽입
-w모든 공백 무시
  1. cmp
  • 바이트 단위로 비교하여 출력

1) 기본 형식

[root@localhost ~]# cmp [옵션][파일1][파일2]

2) 옵션

옵션설명
-b두 파일을 비교하여 다른 바이트 수 출력
-i최초의 skip바이트를 건너뜀
-l두 파일을 비교하여 다른 문자의 개수를 출력
-s아무것도 출력하지 않고, 종료 코드만 출력
0 : 파일 내용이 같음
1 : 파일 내용이 다름
2 : 파일에 접근할 수 없음
  1. comm
  • 두 파일을 행 단위로 비교하여 차이점을 출력

1) 기본 형식

[root@localhost ~]# comm [옵션][파일1][파일2]

2) 옵션

옵션설명
-1'파일 1'에만 있는 행은 출력하지 않음
-2'파일 2'에만 있는 행은 출력하지 않음
-3'파일 1'과 '파일 2'에 공통으로 존재하는 행은 출력하지 않음

리다이렉션과 파이프

  1. 리다이렉션(Redirection)
  • 표준 입력과 출력을 재지정
  • 표준 입력, 출력과 오류를 화면이나 파일로 출력되도록 재지정
  • 표준 입력 장치는 키보드, 표준 출력, 오류 장치는 모니터

1) 기본 형식

[root@localhost ~]# cat [파일1] > [파일2]

2) 옵션

옵션설명
>지정한 파일이 존재하면 덮어쓰고, 존재하지 않으면 새로운 파일을 생성
>>지정한 파일이 존재하면 명령 실행 결과를 파일에 추가하고, 존재하지 않으면 새로운 파일을 생성
<키보드가 아닌 지정된 파일에서 입력 내용을 읽어옴
>$명령의 출력을 다른 명령의 입력으로 보냄
<$명령의 입력을 읽고, 다른 명령의 출력으로 보냄
  1. 파이프(Pipe)
  • 두 개의 명령어를 연결
  • 명령 출력이 다른 명령의 입력으로 전달
  • '|' 기호를 사용

1) 기본 형식

[root@localhost ~]# [명령어1] | [명령어2] | [명령어3]
  1. 세미콜론(;)
  • 여러 개의 명령을 실행할 수 있도록 도와준다.
  • 첫 번째 명령이 실패하여도 다음 명령을 실행

1) 기본 형식

[root@localhost ~]# [명령1] ; [명령2] ; [명령3]

Section 4 : 기타 명령어

네트워크 관련 명령어

  1. ping
  • 호스트와 호스트 간의 연결 상태(네트워크 접속 여부, 속도)를 확인
  • 옵션 지정이 없는 경우 연속적으로 명령 실행

1) 기본 형식

[root@localhost ~]# ping [옵션][IP주소/도메인]

2) 옵션

옵션설명
-c지정한 횟수 만큼 패킷 전송
-d소켓이 사용하는 SO_DEBUG 기능 켬
-f다량의 패킷을 전송
-i패킷 전송 사이에 대기 시간을 지정할 수 있음
-I패킷을 전송할 인터페이스 지정
-n호스트 이름을 찾지 않고 IP주소만 찾아 보냄
r패킷을 로컬 인터페이스에만 보냄
  1. traceroute
  • 목적지 호스트까지 경로를 출력하고, 그 정보를 기록
  • 목적지 호스트까지 경로에서 장애 구간을 파악할 수 있음

1) 기본 형식

[root@localhost ~]# traceroute [옵션][IP주소/도메인]

2) 옵션

옵션설명
-m홉(hop)수 지정
-n호스트 이름 검색을 하지 않음
-p시작 포트 번호 지정
-q패킷 수 지정
-w타임아웃 시간 지정
  1. nslookup
  • 도메인 이름으로 IP주소를 조회 하거나, IP 주소로 도메인 이름을 조회

1) 기본 형식

[root@localhost ~]# nslookup [-type=record][IP주소/도메인]

2) 레코드 유형

-type설명
aIPv4 주소 지정
aaaaIPv6 주소 지정
mx메일 서버 지정
ns네임 서버 지정
soa도메인에 대한 선언
srv특정 서비스에 대한 특정 도메인 연결
txt도메인 이름을 텍스트 문자열에 매칭
ptr역방향 질의로 IP주소에 대한 도메인 응답
cname별칭 지정
  1. dig
  • 'Domain Information Groper'의 약어
  • 'nslookup' 명령어와 유사하며, 도메인 이름으로 IP 주소를 조회하거나, IP 주소로 도메인 이름을 조회하는 명령어
  • 사용자의 입장에서 설정한 도메인 이름에 대한 DNS 질의응답이 정상적으로 이루어지는지를 확인 점검

1) 기본 형식

[root@localhost ~]# dif [@server][query-type][query-class]

2) 옵션

옵션설명
@serverDNS서버 지정, 만약 서버를 지정하지 않으면 시스템의 'resolv.conf'에 있는 네임서버에 질의 시도
domain질의 대상 도메인 또는 호스트 이름
type질의에 사용할 Resource Record 타입

3) 유형

유형설명
aIP 주소 정보
any지정된 도메인의 모든 정보/임의 정보
mx메일 서버 정보
ns네임 서버 정보
soa도메인에 대한 선언 부분
hinfo호스트 정보
axft'Zone Transfer(특정 네임 서버의 질의)'
txt도메인 이름을 텍스트 문자열에 매칭
zone transfer'Zone'에 대한 복사본을 얻기 위해, 'Primary' Name Server로부터 'Zone' 데이터베이스를 읽어오는 작업을 'Zone transfer'라고 함
  1. host
  • DNS 서버를 이용하여 도메인 이름에 대한 IP 주소를 조회
  • 호스트 이름을 이용하면 하위 도메인도 조회 가능

1) 기본 형식

[root@localhost ~]# host [옵션][도메인/IP주소][DNS서버]

2) 옵션

옵션설명
-a-t any와 같은 기능
-d디버깅 모드로 출력
-lzone 이하 모든 정보 출력
-r반복 처리를 하지 않음
-ttype을 지정하여 정보를 조회
A : 호스트 IP 주소
NS : 검색한 호스트의 네임 서버
PTR : 도메인 이름 포인터
ANY : Type의 모든 정보
-wDNS 서버의 응답을 기다림
  1. hostname
  • 호스트 이름을 확인하거나 변경

1) 기본 형식

[root@localhost ~]# hostname [옵션][파일명]

2) 옵션

옵션설명
-a별칭 이름 출력
-d도메인 이름 출력
-fFQDN 출력
-F지정한 파일에 호스트 이름 설정
-i호스트의 IP주소 출력
-s짧은 형식의 호스트 이름 출력
-yNS 도메인 이름 출력

기타 명령어

  1. date
  • 시스템의 날짜를 출력하거나 변경

1) 기본 형식

[root@localhost ~]# date [옵션][MMDDhhmm[CC][[YY][.ss]] 또는 date [옵션] +FORMAT
  1. rdate
  • 원격지의 타임 서버에서 시간 정보를 가져와 로컬 시스템의 시간과 동기화

1) 기본 형식

[root@localhost ~]# rdate [옵션][타임 서버 IP주소/도메인]

2) 옵션

옵션설명
-4IPv4 주소만 사용
-6IPv6 주소만 사용
-o지정한 포트로 연결
-p호스트 정보만 출력하고, 설정은 하지 않음
-s설정만 하고, 호스트 정보는 출력하지 않음
-uTCP 대신 UDP 사용
-v상세한 정보 출력
  1. cal
  • 달력을 출력

1) 기본 형식

[root@localhost ~]# cal [옵션][연도]

2) 옵션

옵션설명
-j율리유스력 출력(해당 연도 1월 1일부터 현재까지 며칠인지 출력)
-y현재 연도 기준 모든 월(달) 출력
  1. time
  • 프로그램 실행 시간을 출력
  1. tty
  • 단말 장치의 경로파일명
  1. clear
  • 터미널 화면을 모두 지움
  1. wall
  • 현재 로그인된 모든 사용자에게 터미널을 통해 메시지를 전송

1) 기본 형식

[root@localhost ~]# wall [메시지]
  1. write
  • 지정된 사용자에게만 메시지를 전송
  • 행 단위로 다르사용자와 의사소통

1) 기본 형식

[root@localhost ~]# wall [메시지]
  1. mesg
  • 수신 메시지 수신 여부를 확인하고 제어

1) 기본 형식

[root@localhost ~]# mesg [y/n]
profile
Back-end Developer

0개의 댓글

관련 채용 정보