Linux (11) 썸네일형 리스트형 Linux 스크립트 함수 작성 예제1# 함수 정의 방법1function helloWorld { echo "hello world!"}# 함수 정의 방법2helloWorld() { echo "hello world!"}> hello world! 예제2Bash에서 함수는 명령어와 유사하게 위치 매개변수를 사용한다.helloWorld() { echo $# echo $0 # 함수의 이름이 아니라 스크립트 이름을 출력 echo $1 echo $2 echo $3}helloWorld bit hub blog>> 3>> ./functions.sh>> bit>> hub>> blogblogName=bithubplatform=tistoryfield=IThelloWorld $blogname $platform $field>>.. Linux 파이프 파이프란?파이핑은 하나의 명령어의 출력스트림을 파이프를 통해 다른 명령어의 입력스트림으로 연결해주는 작업이다.파이프는 커널이 주기억장치(RAM)에 만든다.입출력 리다이렉션과 다른 점은 리다이렉션은 파일로 스트림을 연결했던 반면, 파이핑은 다른 명령어의 스트림이 이어진다. Syntaxcommand1 | command2 | command3 ... Examplesort names.txt | uniqjamessamsteven jobsthosmastom기명 파이프(Named Pipe) 기명파이프가 일반파이프(익명파이프)와 다른 점은 파이프의 역할이 kernel의 파이프가 아니라 파일형태의 FIFO라는 점이다. Syntaxmkfifo myFIFO(섹션1)cat myFIFO 우선 mkfifo myfifo를 실행해.. Linux 표준스트림, 리다이렉션 표준스트림keypoint입력스트림과 출력스트림에는 버퍼가 있는 반면 오류 출력 스트림에는 버퍼가 없다.이는 프로그램 충돌 시 오류메세지를 디스플레이로 즉각 전달하기 위해서다.오류메시지가 버퍼를 거친다면 프로그램 비정상 종료시 할당되었던 버퍼가 해제되고 오류메시지가 모니터에 도달하지 못할 수도 있다.리다이렉션리다이렉션이란, 실행되는 프로그램의 표준 스트림을 사용자 임의로 변경할 수 있는 기능이다.예를 들어, 출력 리다이렉션을 한다면 위 그림에서 출력 스트림이 모니터가 아니라 다른 프로그램을 향하게 할 수 있다. 출력 리다이렉션date > today.txt위 명령어는 date 명령어의 출력을 모니터가 아니라 today.txt 파일을 향한다.* 주의 : today.txt가 이미 존재한다면 덮어씌워진다. dat.. Linux 와일드카드 touch abc.txt abc a123.txt bcd.txtlsa123.txt abc abc.txt bcd.txtls *.txta123.txt abc.txt bcd.txt*0개 이상의 임의의 문자에 대응됨. touch abc.txt abc a123.txt bcd.txtlsa123.txt abc abc.txt bcd.txtls ???.txtabc.txt bcd.txt?1개의 임의의 문자에 대응됨. touch a1.txt a2.txt a3.txtlsa1.txt a2.txt a3.txtecho a[123].txta1.txt a3.txt[ ]대괄호 안에 있는 문자들에 대해 하나의 문자와 일치 touch a1.txt a2.txt a3.txtlsa1.txt a2.txt a3.txtecho.. Linux 파일시스템(윈도우와 차이점) 단일 파일 시스템리눅스는 윈도우와 달리 단일 파일 시스템이다.리눅스에서는 모든 디렉토리의 최상위 부모 디렉토리는 root다.윈도우에서는 폴더가 존재하는 파티션에 따라 최상위 부모 디렉토리가 C:\가 될 수도 있고 D:\가 될 수도 있다. * root 디렉토리는 단순히 슬래쉬(/)로 표현된다. 경로 구분자리눅스에서는 경로 구분자로 슬래쉬(/)가 사용된다. 윈도우에서는 경로 구분자로 백슬래쉬(\)가 사용된다.디렉터리사용자 디렉터리리눅스에서는 사용자 경로가 /home/username 에 존재한다.윈도우에서는 사용자 경로가 C:\Users\username에 존재한다. 디렉터리Linux에서 디렉터리는 폴더가 아니라 '파일'로 간주한다.파일의 종류리눅스에서 파일의 종류는 크게 4가지가 있다.1. 정규 파일(regu.. Linux 자주 사용되는 명령어 명령어의 종류'type 명령어'를 통해 명령어의 종류 확인 가능. 1. 실행 파일type rmrm is hashed (/bin/rm) 2. 셸 내장 명령어type cdcd is a shell builtin 3. 사용자 정의(alias) 명령어type lsls is aliased to `ls --color=auto' 명령어 매뉴얼# 쉘 내장명령어 매뉴얼help 명령어# 실행 파일 매뉴얼명령어 -h / --helpman 명령어command [a] [b] : command / command a / command b / command a b /command [a|b] : command / command a / command b man (1/2/3) 명령어1: 사용자 명령어(실행 파일 명령어) → 생략 가능2:.. Linux 스크립트 if문, 반복문, 트랩 if문if 명령어then 명렁어의 종료 코드가 0인 경우 수행될 명령어fi if 명령어; then 명렁어의 종료 코드가 0인 경우 수행될 명령어fi if then .. else문if 명령어; then 명렁어의 종료 코드가 0인 경우 수행else 명령어 종료 코드가 0이 아닌 경우 수행fiif then .. else if .. else문if 명령어1; then 명렁어1의 종료 코드가 0인 경우 수행elif 명령어2; then 명렁어2의 종료 코드가 0인 경우 수행elif 명령어3; then 명렁어3의 종료 코드가 0인 경우 수행else 모든 명령어의 종료 코드가 0이 아닌 경우 수행fi case문case $variable in value1) command1-0 command1-1;; .. Linux 스크립트 구조, 실행권한, 환경변수, 변수, 확장 스크립트의 구조vi script.sh스크립트는 .sh 확장자를 갖는다.[+] 참고 : Linux에는 확장자 개념이 존재하지 않는다. 다만, 사용자의 편의성을 위해 확장자처럼 보이도록 파일명을 지을 뿐이다. #!/bin/bash스크립트의 맨처음에는 셔뱅(Shebang)이 온다.Bash 쉘의 경로를 지정해준다. # 주석 : 'hello world!' 출력주석은 #으로 단다. echo hello world!Linux 명령어가 스크립트에 그대로 사용될 수 있다.실행권한스크립트 실행 권한 부여 방법chmod u+x script.sh환경변수Linux는 윈도우와 다르게 linux는 입력된 명령어를 환경변수에서 명령어를 검색한다.즉, 현재 디렉토리(pwd)는 전혀 검색하지 않는다. 환경변수는 명령어 env 또는 ech.. Linux 셸, 커널의 의미와 리눅스의 역사 Unix의 계보 Linux는 엄밀히 Unix 계열이 아니다.Unix와 매우 유사하지만 Unix-like OS다. 그리고 Unix 계열 OS가 매우 다양한데, 옛날에는 AT&T 사의 System V와 Berkeley Software Distribution(BSD)가 Unix의 양대산맥을 이루었다. 그리고 다양한 회사가 변종을 만들어내어 Unix는 중구난방이었고 OS 간의 호환성도 떨어졌다. 그래서 IEEE는 POSIX(Portable Operating System interface)를 제안하였고 POSIX를 통해 유닉스 소스 간 호환성을 보장한다. 최근에 나오는 Unix 계열 OS 대부분은 POSIX-compliant하다.다만, 대부분의 Linux OS는 POSIX를 100% 준수(POSIX-complia.. Linux vim 편집기 VIM 편집기란?VIM은 Vi IMproved의 약자로써 vi 편집기의 클론 확장판이다.[+] 참고로 vi 편집기는 라인 에디터만 쓰던 시절 혁신이었다.VIM 편집기 모드기본적으로 VIM 편집기를 시작하면 명령 모드.명령 모드에서 i를 누르면 편집 모드 진입.명령 모드에서 :를 누르면 EX 모드 진입.편집 모드에서 esc를 누르면 명령 모드로 복귀.EX 모드에서 명령어 수행 시 자동으로 명령 모드로 복귀.단축키명령모드yy : 커서가 위치한 행 통채로 복사dd : 커서가 위치한 행 통채로 잘라내기p : 붙여넣기x 또는 delete : 문자 한개 삭제u : undoCTRL + r : redo명령모드 → 편집모드i : 커서 앞 부분 삽입I : 행 첫 부분 삽입a : 커서 뒷 부분 삽입A : 행 마지막 부분 삽.. 이전 1 2 다음