처음부터 차근차근

UNIX의 명령어와 함수 정리 본문

정보처리산업기사

UNIX의 명령어와 함수 정리

_soyoung 2021. 10. 5. 14:43
반응형

1. 명령어

파일 속성 출력 명령어

①    ls : 지정한 경로에 대한 파일들의 속성을 출력하는 명령어(경로를 쓰지 않으면 현재 위치)

형식 : ls <옵션>

<주요 옵션> 

-a(--all) : 숨겨진 파일, 디렉토리까지 출력           ex) ls -a

-l(long) : 파일, 디렉토리의 상세정보까지 출력     ex) ls -l

-i : 파일의 i-node의 값 출력                          ex) ls -i

-R : 하위 디렉토리 안의 모든 파일 출력           ex) ls -R

 

<ls 명령어 결과 - 파일 속성에 대한 설명>

예시) drwxr-xr-x 2 kali kali 4050 May 25 06:30 testDir

 

d : 파일의 종류

(- : 일반 파일, d : 디렉토리, b : 블록 장치 특수 파일, c : 문자 장치 특수 파일, l : 기호적 링크, p : 파이프, s : 소켓)

 

rwxr-xr-x : 권한

3개씩 끊어서 3등분 할 수 있다.

rwx    r-x     r-x

rwx는 사용자(파일 소유자)의 권한

r-x는 그룹의 권한

r-x는 다른 사용자의 권한이다.

rwx는 각각 읽기, 쓰기, 실행의 권한을 뜻한다.

 

2 : 물리적인 연결 개수

 

Kali : 파일 소유자 명

 

Kali : 파일 소유자의 그룹명

 

4050 : 파일 크기(byte)

 

May 25 06:30 : 파일 마지막 변경 날짜와 시간

 

testDir : 파일 or 디렉토리 명

 

 

 

 

 

디렉토리 관련 명령어

    mount : 물리적인 장치를 파일 시스템으로 인식시키기 위하여 특정 위치에 연결시켜주는 명령어

형식 : mount -t <파일 시스템 타입> <장치 파일> <마운트 포인트>

(파일 시스템 타입은 생략 가능)

ex) mount -t ntfs /dev/hda1 /media/xp

마운트 란, 디스크와 같은 물리적인 장치를 특정 위치(디렉터리 등)에 연결시켜주는 것이다.

 

 

    umount : mount된 파일 시스템을 제거(해제)하는 명령어

형식 : umount <마운트 포인트>

ex) umount /media/xp

 

 

    mknod : 장치(특수, 디바이스) 파일을 생성하는 함수

리눅스에서는 장치를 사용하기 위해서는 장치를 제어(컨트롤)할 수 있는 파일이 필요하다.

이러한 장치 파일을 생성하는 함수이다.

형식 : mknod <디바이스 파일명> <옵션> <주 번호major> <부 번호minor>

<옵션>

p : FIFO파일

b : Block특수파일, inctl() 시스템콜을 이용한 핸들링

c, u : Character특수파일

 

 

 

 

프로세스 관리 명령어

    ps : 현재 실행중인 프로세스의 목록과 상태 출력하는 명령어

형식 : ps <옵션>

<옵션(주요옵션)>

-e : 모든 프로세스를 출력

-f : 프로세스의 자세한 정보까지 출력 (UID, PID 확인 가능)

-l : 프로세스 정보를 길게 출력(PRI, NI 확인 가능)

p, -p : 특정 PID의 프로세스 출력

-u <사용자 이름> : 특정 사용자의 프로세스 출력

 

 

    & : 백그라운드로 작업을 실행하도록 하는 명령어

형식 : <명령어1> & <명령어2>

명령어1을 백그라운드로 실행하고 명령어2를 실행한다는 뜻이다.

 

 

 

 

2. 함수

파일 처리 관련 함수(API)

     creat() : 새 파일을 생성하는 함수

int creat(const char *pathname, mode_t mode);

성공 : 파일 기술자 반환

실패 : -1 반환

 

 

     access() : 파일의 접근 가능성(파일이 존재하는 지, 읽거나 쓰거나 실행이 가능한지 등)을 확인하는 함수

int access(const char *pathname, int mode);

성공 : 0(접근 가능함)

실패 : -1

 

 

     open() : 파일을 열 때 사용하는 함수. FCB(File Control Block)을 생성.

int open(const char *pathname , int flags , mode_t mode);

성공 : 양수

실패 : -1

 

 

     close() : 열린 파일을 닫을 때 사용하는 함수. FCB(File Control Block)를 닫음.

int close (int fd);

성공 : 0

실패 : -1

 

 

     dup() : 파일 디스크립터를 복사하는 함수. FCB를 복사함.

int dup(int fd);

성공 : 새 파일 기술자

실패 : -1

 

 

     chmod() : 파일의 접근 권한을 변경하는 함수

int chmod(const char *pathname, mode_t mode);

성공 : 0

실패 : -1

 

 

     chown() : 파일의 소유자를 변경하는 함수

int chown(const char *filepath, uid_t owner, gid_t group);

성공 : 0

실패 : -1

 

 

     chgrp() : 파일의 사용자 그룹을 변경하는 함수

chgrp <옵션> <소유권 그룹> <대상>

<옵션(대표적)>

--R, --recursive : 디렉토리일 경우 하위 파일이나 서브 디렉토리들까지 일괄 변경

 

 

 

 

디렉토리 관련 함수(API)

     chdir() : 디렉토리의 경로를 변경하는 함수

int chdir(const char *pathname);

성공 : 0

실패 : -1

 

 

     mkdir() : 디렉터리를 생성하는 함수

int mkdir(const char *path, mode_t mode);

성공 : 0

실패 : -1

 

 

     rmdir() : 디렉터리를 삭제하는 함수

int rmdir(const char *path);

성공 : 0

실패 : -1

 

 

 

 

프로세스 관리 함수(API)

     fork() : 현재 프로세스와 동일한 프로세스를 복제해서 새로 생성

fork 함수를 호출하는 프로세스는 부모 프로세스가 되고 새롭게 생성되는 프로세스는 자식 프로세스가 된다.

pid_t fork(void);

성공 : 부모 프로세스는 자식 프로세스의 PID값을 반환 받는다.

자식 프로세스는 0을 반환 받는다.

실패 : -1

 

 

     getpid() : 현재 프로세스의 프로세스 ID를 얻는 함수

pid_t getpid(void);

성공 : 양수(현재 프로세스 ID)

실패 : -1

 

 

     getppid() : 부모 프로세스 ID를 얻는 함수

pid_t getppid(void);

성공 : 양수(부모의 프로퍼티 ID)

실패 : -1

 

 

     wait() : 자식 프로세스가 종료 될 때까지 대기하는 함수

pid_t wait(int *statloc);

성공 : 종료한 자식 프로세스 ID 반환

실패 : -1

 

 

     sleep() : 지정한 시간 동안 대기하는 함수

unsigned int sleep(unsigned int seconds);

성공 : 0

실패 : 0 아닌 값

 

 

     kill() : 프로세스에 시그널을 전송하는 함수

int kill(pid_t pid, int signal);

성공 : 0

실패 : -1

 

 

     exit() : 프로세스 종료를 종료하는 함수

void exit(int status);

 

 

 

 

 

 

 

출처 : 시스템분석설계(21-2학기)김병국교수 강의 내용 변형 및 요약

반응형

'정보처리산업기사' 카테고리의 다른 글

코드의 종류  (0) 2021.11.13
IPv4, TCP, UDP의 헤더 구성  (0) 2021.10.30
정보처리산업기사 용어 정리2  (0) 2021.10.24
정보처리산업기사 용어 정리  (0) 2021.10.23
가상기억장치의 교체 전략  (0) 2021.10.02
Comments