반응형

Linux 58

Shell - Redirect 구현하기

아는 후배, Linux 과제 도와주다가.. redirect 관련 썼던 게시물이 없어서 한번 정리해서 올려본다. 1. Output redirection Output redirection은, 프로그램 결과를 특정 file descriptor에 write 하는것이다. 예를 들면, $ ls -al > tmp.txt 위와 같은 linux shell command는, ls -al의 결과를 tmp.txt라는 파일을 생성하여 write한다. (덮어쓰기) $ ls -al >> tmp.txt 위 command는 tmp.txt에 overwite 하지 않고, append (이어쓰기) 하는것이다. 위 command를 예제로 Output redirection 구현을 설명하자면, 1. 자식프로세스를 생성 2. 자식프로세스 안에서 ..

Linux shell - 프로그램 실행시간 구하기

/* * http://sosal.kr/ * made by so_Sal */ C언어에서는 time() 함수를, python에서는 time.time() 등을 호출시켜서 프로그램이 특정 구간동안 얼마의 시간을 초과했는지, 할애했는지 쉽게 찾아볼 수 있다. 쉘스크립트 역시 특정 프로그램이 얼마나 오래 동작했는지 살펴볼 수 있다. 쉘 스크립트 $(date +%s) 를 이용하여 특정 프로그램을 실행시키는 동안 몇초가 경과했는지 알아볼 수 있다. 예제1은 #~~~실행하기에 특정 프로그램 실행 명령어를 넣어주면 StartTime에서 시간을 받아오고, 사용자의 명령이 종료할 시 EndTime에서 시간을 받아와 총 사용자 명령의 경과시간을 echo로 통해 출력해주는 쉘 스크립트이다. -------------- 예제1. -..

Linux/Linux_technic 2016.03.14

Linux - 여러 디렉토리에 있는 파일 한번에 처리하기

/* * http://sosal.kr/ * made by so_Sal */ 다음과 같이 수많은 디렉토리들이 존재한다. 디렉토리 목록만 출력하는 명령어는 매우 간단하다. [sosal@sosal tmpFiles]$ ls -ld */ drwxrwxrwx+ 2 sosal sosal 4096 Dec 17 13:17 0d191d48-caea-47ff-b2a6-aa25db419b48/ drwxrwxrwx+ 2 sosal sosal 4096 Dec 17 13:36 0d894622-7acf-4777-8834-c86f65f093f3/ drwxrwxrwx+ 2 sosal sosal 4096 Dec 17 12:43 0fa20077-608b-4ee5-b00c-343992ecd1d0/ drwxrwxrwx+ 2 sosal sosa..

Linux/Linux_technic 2015.12.18

리눅스에서 쓰여지고 있는 파일 계속 읽는법

/* * http://sosal.kr/ * made by so_Sal */ Append로 파일을 계속 쓰고있을 때, 추가되는 라인을 계속해서 동적으로 읽는 명령어는 tail에서 -f 옵션을 주면 된다. MANUAL -tail -f, --follow[={name|descriptor}] output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent Append 옵션으로 파일의 라인이 계속해서 커져가는 경우, 계속해서 따라 읽는 방법이다. ex) 터미널 2개를 동시에 실행하여 확인하는 모습 좌측 터미널은 >>, Double redirection을 이용하여 test라는 파일에 계속 append로 글을 동적으로..

Linux/Linux_technic 2015.07.31

리눅스 파일이름, 확장자 한꺼번에 바꾸기

/* * http://sosal.kr/ * made by so_Sal */ 리눅스 환경에서 쉘 스크립트를 이용하여 많은 파일의 이름을 한번에 바꿀 수 있습니다. 0. 예제파일들 준비하기 1. 파일 확장자 .JPG를 소문자 .jpg로 바꾸기 2. 파일 확장자 jpg에서 png로 바꾸기 3. 모든 파일 앞에 특정문자 붙이기 0. 예제파일들 준비하기 빈폴더에서 그럼 예제파일들을 만들어 봅니다. 0.jpg부터 19.jpg 총 20개의 파일을 만듭니다. for(( i=0; i

Linux/Linux_technic 2015.07.07

nohup - 터미널을 종료해도 꺼지지 않는 프로세스 실행

/* * http://sosal.kr/ * made by so_Sal */ Putty 원격접속으로 프로그램을 실행할 때, 푸티를 꺼져도 프로세스가 꺼지지 않았으면 할 때가 있다. 노트북 Putty로 원격환경에서 프로그램을 돌리다가 잠깐 자리를 비워야 할 때, 노트북을 닫아야 하는데 그러면 putty가 꺼지게 되고 결국 쉘이 죽으면서 자동으로 프로세스까지 죽어버린다. 이런 문제를 극복하기 위래 nohup 이라는 명령어가 존재한다. ex) nohup ./workflow.sh & nohup 명령어가 끝나면 모든 출력은 nohup.out에 저장된다. nohup을 이용하여 python이나 R도 실행할 수 있다. ex) nohup python execute.py & ex) nohup Rscript statistic..

Linux/Linux_technic 2015.06.28

ps에서 pid 목록만 가져와서 kill하기 [GAWK]

/* * http://sosal.kr/ * made by so_Sal */ 1. 원하는 프로세스 목록만 가져오기 - ps, grep 2. 프로세스 목록에서 pid만 가져오기 - AWK (GAWK) 3. kill 명령어로 한번에 프로세스 종료하기 4. Shell script를 이용하여 한번에 종료하기 작업할게 많아서 R이라는 프로그램을 거의 40개 가량 돌려야 할 때가 있었습니다. 근데 하나 실수한게 있어서 이 40개나 되는 프로세스를 다 죽여야하게 됐는데, nohup 백그라운드로 실행시키는 바람에 kill이라는 명령어로 하나 하나 다 따로 죽여야 하는 상황이 됐네요. Fig.1 ps -elf | grep sosal | grep exec (스압 --;) 1. 원하는 프로세스 목록만 가져오기 - ps, gr..

Linux/Linux_technic 2015.05.17

PHP 5.2 구버전 설치 + mysql 연동 / CentOS

/* * http://sosal.kr/ * made by so_Sal */ CentOS 환경에서 악성코드(루트킷) 때문에 OS를 갈아 엎고,구버전으로 작성된 홈페이지 (PHP 5.2 이하)를 올리는 일이었습니다. Apache 설치하는건 일도 아니니, 간단하게 언급만 하고 넘어갑니다. 웹서버 Apache (httpd) 설치 및 실행 1. httpd 설치yum install httpd* -y service httpd statusservice httpd restart (start).. 2. 홈페이지 루트폴더 수정-> /etc/httpd/conf/httpd.conf 파일에DocumentRoot 위치 수정 DocumentRoot "/var/www/html" / default 값홈페이지 파일들이 들어갈 폴더의 루트..

Linux/Linux_technic 2014.11.05

Ubuntu에서 SSHD 데몬 설치하여 접속하기

/* * http://sosal.kr/ * made by so_Sal */ Ubuntu 환경에서 SSHD를 설치하는 명령어는 다음과 같습니다. InstallationInstallation of the OpenSSH client and server applications is simple. To install the OpenSSH client applications on your Ubuntu system, use this command at a terminal prompt:sudo apt-get install openssh-client To install the OpenSSH server application, and related support files, use this command at a term..

Linux/Linux_technic 2014.08.14

Checksum과 md5sum / 파일 검사합

/* * http://sosal.kr/ * made by so_Sal */ - Checksum 전송받은 파일, 데이터의 정확성을 확인하기 위해 사용되는 검사 합으로 전송받은 데이터의 오류 유무를 검출하는 방식중 하나입니다. 자료처리의 정확성을 확인하기 위한 비트의 합계를 이용합니다. - Checksum error 전송받은 파일, 데이터의 검사 합이 증명된 검사 합계와 일치하지 않는 경우에, 이를 검사합 에러(checksum error)라고 합니다. 하지만 checksum으로는 전송방식이 잘못 될 경우 checksum error를 내지 않지만 내용이 다를 수 있으므로, md5sum이라는 알고리즘을 사용합니다. - md5sum md5sum is a computer program that calculates ..

Linux/Linux_technic 2014.08.12
반응형