네트워크 및 시스템

리눅스 명령어

잼M 2024. 3. 25. 13:55

1. 리눅스 파일 및 폴더 관리 명령어 5개 이상 정리하기.

 

1-1) 파일의 정보 출력 (ls)

옵션: -al 파일의 상세 정보/ -t 파일들을 생성 / -F 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시 ( /: 디렉터리 , *: 실행파일 등등 )

1-2) 파일/디렉토리 복사 (cp)

$ cp [ 복사대상 ] [ 새 파일명 ] -> 파일을 복사해 새로운 파일 생성 할 수 있음.

$ cp [ 복사대상 ] [ 디렉토리명 ] -> 파일을 디렉토리 안에 복사 할 수 있음.

옵션: -r 디렉토리 내 파일과 디렉토리도 복사, -i 존재 파일 덮어쓰기 전 사용자 확인, -f 이미 존재하는 파일에 덮어쓸 수 없는 경우 해당파일 삭제후 다시 시도, -d 심볼릭 링크 자체 복사, 등등

1-3) 파일 및 폴더 생성 (mkdir, touch)

$ mkdir [디렉토리 명] -> 빈 폴더 생성

$ touch [파일 명] ->파일 생성

옵션: -a: atime만 변경, -m: mtime만 변경, -t: 지정한 타임스태프 설정, -r:현재 시간이 아닌 지정한 파일의 타임스태프로 변경

1-4) 파일/디렉토리 이동 및 이름변경 (mv)

$ mv file1 /dir -> file1/dir로 이동

같은 디렉토리 내에서, 파일을 이동 시 이름 변경

1-5) 파일 및 디렉토리 삭제 (rm)

 

$rm file1 -> 파일 삭제

옵션: -f 파일 강제 삭제, -i 삭제하기 전 사용자 확인, -r dir 디렉토리 삭제 ( -r 옵션 없이 디렉토리 삭제 불가 ), *[확장자] 공통으로 끝나는 확장자로 끝나는 파일 모두 삭제, * 모든 파일 삭제

$ rm r [디렉토리명] ->디렉토리 삭제

1-6) 현재 위치 확인 명령어(pwd)

$pwd -> 위치 경로를 확인

 

1-7) 경로 이동(cd)

$cd .. -> 상위 디렉토리로 이동

 

2. 리눅스 파일 및 폴더 권한 구조와 권한 변경 명령 정리

 

2-1) 파일의 권한 구조 (소유권&허가권)

 

-,rw-rw-r--,1,root,root,45, mar 04 17:38, test.text

 

라고 했을 때,

-는 파일 타입이다. 종류에는 d(directory), l(link), p(named pipe), s(socket), c(character device), b(block device)가 있다.

 

rw-rw-r--, 여기는 Owner(소유자), Group(그룹), Other(기타: 일반 또는 누구나)로 순서이며

r : read (읽기) = 4

w : write(쓰기, 수정) = 2

x : executable(실행) = 1

- : 권한 없음

따라서, 위 예시로 보면 664로 소유자와 그룹은 읽기와 쓰기, 그 외에는 읽기만 가능한 것이다.

그 뒤로 root는 소유자, 다음 root는 소유 그룹이며 45는 파일 크기, 날짜는 수정한 날짜, test.text는 파일명이다.

 

2-2) 파일 권한 정보 확인 명령어 (ls l)

$ ls l 명령어를 통해 파일의 권한을 알 수 있다.

 

2-3) 파일의 권한 변경 (chmod)

$chmod 755 test.text

 

2-4) 파일의 소유자 변경 (chown)

$chown root test.text -> test.text 파일의 소유자를 root로 변경하는 것

 

3. 리눅스 사용자 생성, 변경, 삭제

 

3-1) 사용자 생성 (useradd/adduser)

$useradd test1 -> test1이라는 사용자 생성

 

이렇게 useradd로 생성을하면 옵션들을 명시해줘야하고 명시해주지 않으면 생성한 유저의 디렉토리가 존재하지 않는다.

 

하지만, adduser로 생성하게되면 자동적으로 UIDGID가 생성된다. 하지만 홈 디렉토리는 직접 옵션을 적어 생성해주어야한다.

홈 디렉토리는 m이라는 옵션을 통해 지정해줄 수 있고, -D를 통해 생성 정보 기본 사항을 확인할 수 있다. -g는 사용자 그룹설정, -G는 기본 그룹이외 추가 그룹을 생성할 때 사용한다.

 

3-2) 사용자 변경

$su [option] [사용자명] -> 사용자 계정으로 전환할 수 있다.

$su -> root 계정으로 전환한다.

3-3) 사용자 계정 삭제 (userdel/deluser)

$userdel [option] username -> 계정 삭제, 홈 디렉토리 파일은 남아있음

옵션: -r 사용자 계정 홈 디렉토리도 삭제, -f 강제 삭제

deluser -> userdel과 같지만 옵션명만 다름

$deluser [username]

옵션: --remove 홈 디렉토리 삭제, --remove-all-files 모든 파일 삭제

test1이 삭제된 것을 볼 수 있다.

 

4. 리눅스 파일의 내용을 볼 수 있는 명령

4-1) 파일의 내용 전체 출력(cat)

$cat file1 -> 파일의 내용을 출력

위에서 /etc/passwd의 내용을 출력하는것도 cat을 통해 출력한다.

4-2) 파일의 앞부분 출력(head)

$ head [option] file

옵션: -n 출력할 줄 수, -c 출력할 바이트 수

4-3) 파일 내용 뒷부분 출력(tail)

$tail [option] [파일명]

앞부분 과 마찬가지로 뒷부분을 출력해준다.

4-4) 편집기를 통해 내용보기 (vi)

$vi [파일명]

vi로 파일을 열게되면 다음과 같이 작성할 수 있는 편집기가 나오고, 다른 내용이 있는 파일을 연다면 안에 내용을 볼 수 있다.

vi 편집기의 명령어로는 I(입력모드), a(다음문자부터 입력), q(나가기), wq(저장후 나가기), wq!( 강제로 저장후 나가기) 등등 있다.

 

4-5) 파일의 내용을 페이지 단위로 출력(less)

$less [option] file

옵션: -c 화면을 지우고 제일 위부터 결과 출력, -N 각 행마다 번호 함께 출력 등등

 

5. 리눅스 서비스와 프로세스를 볼 수 있는 명령

5-1) 현재 실행중인 프로세스를 확인(ps)

$ps [option]

옵션은 많아서 ps help all을 통해 확인할 수 있다.

가장 많이 사용하는 옵션이 e,f 옵션인데

-e는 전체 프로세스를 보는 옵션이다. -f는 프로세스의 상태를 모두 표시하겠다는 뜻이다.

실행해보면 다음과 같다.

 

5-2) 네트워크 연결상태와 프로세스 확인 (netstat)

$netstat [option]

옵션: -a 모든 소켓정보, -r 라우팅 정보, -n 호스트명 대신 ip주소로출력, -p 프로세스id와프로세스 이름 표시, -s 프로토콜별 네트워크 통계정보 출력 등등

 

netstat 명령어를 사용하기 위해서는 netstattools을 설치해야한다.

'네트워크 및 시스템' 카테고리의 다른 글

HxD란?  (0) 2024.04.04
서버 버전 취약점 공격 실습  (0) 2024.03.30
NMAP 스캔 실습 및 Metasploitabl2  (0) 2024.03.28
Wire shark 실습  (0) 2024.03.26
OSI 7 계층 및 TCP, UDP  (0) 2024.03.25