Linux (15) 썸네일형 리스트형 Linux에서 C 소스 컴파일 gcc 컴파일: gcc [-옵션] 파일 c코드 작성 컴파일 -c 옵션, -o 옵션 다중 모듈 프로그램: main.c, copy.c, copy.h 정적 라이브러리 생성: -L : 라이브러리 위치 알려주기 -l : 어떤 라이브러리를 사용할 것 인지 gcc -o 실행파일 소스파일 -L./ -l라이브러리 공유라이브러리 생성: -fPIC : 공유라이브러리 생성 -W : 합법적이지만 모호한 표현에 대해서 경고 보내기 -Wall : 모호한 표현 경고 -O2 : 최적화 레벨 2 gcc -fPIC -c 소스파일 gcc -W -Wall -shared -O2 - o 동적파일명 오브젝트파일명 프로세스 관리 프로세스 목록 보기: 프로세스 상세 정보 의미: 항목 의미 UID 프로세스를 실행한 사용자 ID PID 프로세스 번호 PPID 부모 프로세스 번호 C CPU 사용량(% 값) STIME 프로세스의 시작 날짜나 시간 TTY 프로세스가 실행된 터미널의 종류와 번호 TIME 프로세스 실행 시간 CMD 실행되고 있는 프로그램 이름 STAT에 사용되는 문자 의미: 문자 의미 R 실행 중 S 인터럽트가 가능한 대기 상태 T 작업 제어에 의해 정지된 상태 Z 좀비 프로세스 STIME 프로세스의 시작 날짜나 시간 s 세션 리더 프로세스 + 포그라운드 프로세스 그룹 I(소문자 L) 멀티스레드 특정 프로세스 정보 검색하기: 시그널(signal): 시그널 번호 기본 처리 의미 SIGHUP 1 종료 터미널과의 연결이 끊어졌을 .. Vi 명령어 입력 명령: * 입력이 끝나면 입력모드에서 명령 모드로 돌아가야한다(Esc) 명령키 수행 작업 i 커서 앞에 삽입 a 커서 뒤에 삽입 l 현재 줄 첫 칸 옆에 텍스트 입력 A 현재 줄 끝에 텍스트 입력 o 현재 줄 다음에 삽입 O 현재 줄 앞에 삽입 저장 명령: 명령 모드에서 사용한다. 명령키 수행 작업 :w 현재의 파일명으로 파일 저장 :w 파일명 지정한 파일명으로 파일 저장 :q 작업 내용을 저장하였으면 vi 종료 :q! 작업 내용을 저장한 후 vi 종료 :wq 작업 내용을 지정한 파일명으로 저장한 후 vi 종료 :wq 파일명 작업 내용을 지정한 파일명으로 저장한 후 vi 종료 zz 작업 내용을 저장한 후 vi 종료 커서 이동하기: 명령 모드에서 사용한다. 화면 이동하기: 명령 모드에서 사용한다. 기.. 정규 표현식 참고: https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D 정규 표현식 - 위키백과, 우리 모두의 백과사전 노란색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp[1] 또는 regex, rational expression)[2][3] 또는 정규식(正規式)은 특정한 규칙 ko.wikipedia.org 메타문자 기능 설명 . 문자 1개의 문자와 일치한다. 단일행 모드에서는 새줄문자를 제외한다. [ ] 문자 클래스 "["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 .. 파일 접근 권한 관리 접근 권한의 종류: 권한 파일 디렉토리 읽기(r) 파일을 읽거나 복사할 수 있다. ls 명령으로 목록을 볼 수 있다. 쓰기(w) 파일을 수정,이동,삭제할 수 있다. 파일을 생성하거나 삭제할 수 있다. 실행(x) 파일을 실행할 수 있다. cd명령을 사용할 수 있다. 접근 권한의 변경 명령: 기호 모드: chmod u+x test.txt# 소유자(u)에게 실행 권한 부여 chmod g-x test.txt# 그룹(g)에게 실행 권한 삭제 chmod o+x test.txt # 기타 사용자(o)에게 실행 권한 부여 숫자 모드: rwx순서 이므로 r = 4, w = 2, x = 0 ex) rw_ = 4 + 2 + 0 = 6, r_x = 4 + 0 + 1 = 5 chmod +777 test.txt # u, g, o에.. Shell 프로그래밍 첫 행은 항상 #!로 시작한다. bash를 이용하기 위해 bash의 경로를 적어줘야한다. #은 주석이다. #!/bin/bash #bash를 사용하기 위한 경로적기 #주석 .명령 으로 실행하며 실행 권한을 부여한 후 직접 호출 할려면 chmod +x filename을 써야한다. . test.bash chhmod +x test.bash ./test.bash 표춘 출력 : echo 문자열 표준 입력 : read 변수명 변수값 참조 : $변수명 echo "Hello World" read a b c Hello World user echo $a echo $b echo $c 위치 변수 셀 변수 의미 $$ 명령을 실행하는 프로세스 번호 $# 명령어 줄에서의 변수의 수 $? 마지막으로 실행된 명령어의 exit 상태 $1.. Shell 기능 3 jobs[%작업번호] : 후면에서 실행되고 있는 작업들을 보여준다 fg %작업번호 : 작업번호에 해당하는 후면 작업을 전면 작업으로 전환 |(파이프) : 명령어 1 | 명령어 2 명령어1의 표준출력이 파이프를 통해 명령어2의 표준입력이 된다. ;(명령어 열) : 명령어 1; ....; 명령어 n 나열된 명령어들을 순차적으로 실행한다. () 사용시 그룹으로 묶는다. 명령어 1 && 명령어 2 : 명령어1 실행시 -> 명령어 2 실행 else 명령어 2 실행 x 명령어 1 || 명령어 2 : 명령어 1 실행 x -> 명령어 2 실행 else 명령어 2 실행 x Shell 기능 2 메타 문자 메타문자 의미 예시 ? 문자 하나 a? -> ab, ac, a3 .... * 문자 여러 개 c*t -> cat, cwt.... [set] set에 있는 하나의 문자 [abc] -> abc중 하나 [a-z] -> a~z까지의 모든 소문자 중 하나 [-a-z] -> -a와 모든 소문자 중 하나 [!set] set에 없는 하나의 문자 [!0-9] -> 숫자가 아닌 문자 {a1,a2,...an} a1 and a2 and a3 .... and an a{ed,olt,ar} -> aed,aolt,aar 특수 문자 메타문자 의미 메타문자 의미 ~ 홈 디렉토리 $ 변수 ' 명령 대체 & 백그라운드 작업 # Comment *? 와일드카드 ( ) 하위 셸 시작 / 종료 \ 문자 그대로 | 파이프 [] 문자 집합 .. Shell 기능 1 환경변수 설정 : 환경변수명=문자열 (한경변수의 값을 문자열로 설정한다.) 로그인 : 계정 생성 시 기본 Shell이 지정된다. 1. 로그인 Shell 확인 : echo $SHELL 2. 현재 수행중인 Shell 확인 : ps Shell 변경 : 해당 Shell의 이름을 입력 ex) sh, csh, ksh, tcsh 등 명령행 계속 : 행 끝에 \사용 Bash Shell 컨트롤 키 : ^C (현재 명령 중지) ^D (입력의 끝) ^\ (^C가 동작하지 않을 경우 현재 명령 중지) ^S (화면 출력 정지) ^Q (화면 출력 다시 시작) ^Z (현재 명령 일시 중단) 리눅스 directory 명령어 3 cp 명령 : 파일1을 파일2에 복사한다. 형식 : cp [옵션] [인자] [인자] + 인자가 여러 개 지정될 경우 cp [파일1] [파일2] ... [파일n] [디렉토리] 여러개의 파일을 디렉토리에 복사 옵션 : -i(대화형 옵션) -r(디렉토리1 전체를 디렉토리2에 복사한다) mv 명령 : 파일1의 이름을 파일2로 변경 형식 : cp [옵션] [인자] [인자] 옵션 : -i(대화형 옵션) +파일을 디렉토리로 이동 : mv [파일1] [파일2]....[파일n] [디렉토리] 여러개의 파일을 지정된 디렉토리로 이동 rm 명령 : 파일을 삭제한다 형식 : rm [옵션] [인자] 옵션 : -i(대화형 옵션) -r(디렉토리 삭제할 때 사용) ln 명령 : 파일의 링크 생성 형식 : ln [옵션] [원본 인자] .. 리눅스 directory 명령어 2 mkdir 명령 : 디렉토리 생성 형식 : mkdir [옵션] [이름] 옵션 : -p(중간 단계의 디렉토리가 없으면 중간 디렉토리 생성) cat 명령 : 파일 내용 출력 형식 : cat [옵션] [파일] 옵션 : -n(행 번호를 붙여 출력) less 명령 : 파일 내용을 화면 단위로 출력 형식 : less 파일 touch 명령 : 파일 크기가 0인 이름만 있는 빈 파일 만들기 형식 : touch [옵션] [파일] 옵션 : -a(접근 시간만 변경) -m(수정 시간만 변경) -t(시간 직접 입력) whereis 명령 : 명령어 위치 찾기 형식 : whereis [옵션] [파일] 옵션 : -b(바이너리 파일만 검색) -m(매뉴얼 파일만 검색) -s(소스 파일만 검색) which 명령 : 명령어 위치 찾기 형식.. 리눅스 directory 명령어 1 pwd 명령 : 현재 위치를 확인한다. cd 명령 : 인자로 입력된 디렉토리로 이동한다. 형식 : cd [경로] which 명령 : 명령어의 절대경로를 보여준다. 형식 : which 명령어 ls 명령 : 디렉토리의 내용을 출력한다. 형식 : ls [옵션] [디렉토리] 리눅스 파일 시스템 일반 파일 1. 데이터를 가지고 있다. 2. 텍스트파일, 이진파일 directory or folder 1. 파일들을 계층적으로 조직화하는데 사용되는 특수 파일 2. 디렉토리 내부에 서브 디렉토리가 존재한다. 장치 파일 1. 물리적인 장치에 대한 내부적인 표현 2. 키보드, 모니터 등도 파일처럼 사용한다. 심볼릭 링크 파일 1. 어떤 파일을 가르키는 또 하나의 경로명을 저장하는 파일 디렉토리 계층 구조 : 1. 루트 : / 2. 현재 디렉토리 : . 3. 부모 디렉토리 : .. 4. 홈 디렉토리 : ~ 절대 경로 : 루트 디렉토리부터 시작하여 경로를 적는 것 ex) /home/user1/다운로드 상대 경로 : 현재 디렉토리부터 시작하여 경로를 적는 것 ex) home의 상대 경로명 ../home 파일과 디.. 리눅스 기본 명령어 date 명령 : 현재 날짜와 시간 출력 clear 명령 : 현재 터미널의 화면을 지운다. man 명령 : 명령어 사용법을 화면에 출력 해준다. 형식 : man (원하는 명령어) passwd 명령 : 사용자 계정의 비밀번호 변경 형식 : passwd [인자] 터미널 종료 : exit 또는 Ctrl + d 리눅스 명령 구조 형식 : 명령 옵션 인자 명령 : ls, man, less, mv, rm 등 다양한 명령어가 있다. 옵션 : 명령의 세부 기능을 선택, -로 시작하며 대문자 소문자가 구분된다. 인자 : 주로 파일명이나 디렉토리명을 사용한다. 이전 1 다음