시스템 도구 ⚒️

funky·2023년 10월 21일
0
post-thumbnail
post-custom-banner

시스템 프로그래밍을 하는데 유용한 기본 도구들을 알아보자 !



1. 기본 명령어

얘네들은 알아두면 정말 편하다 ! 그리고 정말 많이 쓰인다 ! 😅

로그인 / 로그아웃 (괄호 안은 사용 예제)

telnet - 리눅스 시스템 접속 (telnet ***.co.kr)
ssh - 리눅스 시스템 접속 (ssh ***.co.kr)

exit - 리눅스 시스템 접속 해제 (exit)
logout - 리눅스 시스템 접속 해제 (logout)

파일 / 디렉터리 명령

pwd - 현재 디렉토리 경로 출력 
ls - 디렉터리 내용 출력 
	* 옵션
    	-a : 숨김 파일 출력 (ls -a /tmp)
        -l : 파일 상세 정보 출력 (ls -l)

cp - 파일 복사, 디렉터리 복사 (cp a.txt b.txt)
	* 옵션
    	-r : 디렉터리 복사 (cp -r dir1 dir2)

cd - 디렉터리 이동 -> // 현재 위치를 이동시키는 느낌!
mv - 파일명 / 디렉터리 명 변경 (mv a.txt b.txt, mv dir1 dir2)
    
rm - 파일 삭제, 디렉터리 삭제
	* 옵션
    	-r : 디렉터리 삭제 (rm -r dir1)

mkdir - 디렉터리 생성 (mkdir dir1)
rmdir - 비어있는 디렉터리 삭제 (rmdir dir1)

cat - 파일 내용 출력 (car a.txt)
more - 화면 크기 단위로 파일 내용 출력 (more a.txt)
chmod - 파일/디렉터리 접근 권한 변경 (chmod 755 a.exe, chmod go+x a.exe)
grep - 패턴 검색 (grep abcd a.txt)

프로세스 명령

ps - 현재 실행 중인 프로세스의 정보 출력 (ps, ps -ef)
	* 옵션
    	-ef : 모든 프로세스의 상세 정보 출력 

kill - 프로세스 강제 종료  (kill 5000)
	* 옵션
    	-9 : 강제 종료 (kill -9 5001)
        

기타 명령

su - 사용자 계정 변경 (su)
	 * 옵션
     	- : 변경할 사용자의 환경 초기화 파일 실행 (su-han02)
tar - 파일/디렉터리 묶기
	* 옵션
    	cvf: tar 파일 생성 (tar cvf a.tar*)
        tvf: tar 파일 내용 보기 ( tar tvf a.tar)
        xvf: tar 파일 풀기 (tar xvf a.tar)

whereis - 파일 위치 검색 (whereis ls)
which - 파일 위치 검색 (which telnet)

vi 편집기 내부 명령

vi test.c

다음과 같이 파일명을 지정해 문서를 열 수 있다 !



2. 컴파일 환경

컴파일이란?

컴파일이란 텍스트로 적힌 프로그램을 시스템이 이해할 수 있는 기계어로 변환하는 과정이다.

보통 말하는 컴파일이란,
보통 컴파일 과정과 라이브러리 링크 과정을 하나로 묶어서 수행하는 것을 의미한다.

<구체적인 설명>
test.c 파일을 컴파일하면 오브젝트 파일인 test.o 가 생성되고
이것을 라이브러리 함수와 링크한 실행 파일이 생성된다.
test.c 에서 printf() 함수만 사용했으므로 gcc 라이브러리인 Libgcc.a에서 print.o 파일을 찾아 링크한다.



ANSI C 컴파일러 - GCC

프로그램을 컴파일 하려면 컴파일러가 설치되어 있어야 한다.

이 gcc 라는 컴파일러는

  • C 프로그램을 컴파일 해 실행 파일을 생성하고

    gcc [옵션][파일명]

    의 형태로 사용한다.

    사용 예

gcc test.c
gcc -c test.c // -c 옵션은 오브젝트 파일만 생성 시 사용
gcc -o test test.c // -o 옵션은 지정한 이름으로 실행 파일을 생성할 때 사용

gcc는 기본적으로 /usr/bin 디렉터리에 설치되며 별도로 경로 설정을 하지 않아도 된다.
또한, 파일 명을 지정하지 않았을 시 기본 파일명은 a.out 이다.

profile
living Fun & Lucky
post-custom-banner

0개의 댓글