LINUX
Posts
477 posts리눅스에서 iso 이미지 파일로부터 부팅 가능한 USB메모리 만들기
리눅스 또는 윈도우 iso 이미지 파일로부터 부팅 가능한 USB메모리를 만드는 방법이다. 터미널창에서 명령어로 쉽게 가능하다(데비안/우분투 기준). 우선 USB메모리를 연결한 후, 장치명을 확인하자. 터미널창에서 아래와 같이 입력. # 장치 목록 표시 lsblk 출력된 결과로부터 USB메모리에 대응하는 장치명을 파악한다. 통상 /dev/sdc, /dev/sdd 이런식이 될 것이다. 여기서는 장치명이 /dev/sdc라고 가정해 보자. 만약 해당 USB메모리가 마운트 되어 있다면 해제해야 한다. 디스크 빈 공간을 확인하기 위한 df 명령으로 간단히 확인 가능하다. 만약 마운트되어 있다면 장치명과 마운트된 디렉토리가 표시될 것이다. # 디스크 빈 공간 확인 df # /dev/s
[bash: sed] 특정한 문자열이 포함된 행 삭제하기
텍스트 파일에서 특정한 문자열이 포함된 행을 삭제하고 싶을 경우, sed에서 간단하게 작업이 가능하다. 삭제하고자 하는 문자열을 "/문자열/d" 형태로 지정해 주면 된다. 아래의 예시를 보자. # my_data.txt 파일에서 "abcdefg"가 포함된 행을 제거하고 화면에 출력 sed '/abcdefg/d' my_data.txt 위의 명령을 실행하면 my_data.txt 파일에서 문자열 "abcdefg"가 있는 행을 제거한 후 화면에 결과를 출력한다. 파일 자체를 수정하여 저장하고 싶다면 -i 옵션을 추가하자. (-i 옵션에 대한 내용은 이전 게시물을 참고하자. 여기로) # my_data.txt 파일에서 "abcdefg"가 포함된 행을 삭제하고 저장 sed -i '/abcdefg/d'
[bash: awk] 일반 시간을 타임스탬프(timestamp)로 변환하기 (mktime)
시간을 타임스탬프, 또는 유닉스 시간(unix time)으로 변환하고 싶을 경우 아래의 예시와 같이 date 명령으로 간편하게 바꿀 수 있다. (참고로, 유닉스 시간은 UTC 1970년 1월 1일 0시부터 몇초가 경과했는지를 나타낸다) # 2017년 1월 1일 9시 10분 25초를 유닉스 시간으로 (date) date -d "2017/1/1 09:10:25" "+%s" 1483229425 awk에서도 동일한 작업을 할 수 있다. # 2017년 1월 1일 9시 10분 25초를 유닉스 시간으로 (awk) echo "2017/1/1 09:10:25" | awk '{ date_arg=gensub("[/:]/," ","g",$0); print mktime(date_arg);}' 14832294
[bash: while, date] 특정 기간 동안의 연속된 날짜 출력하기
예를 들어 2016년 10월 1일부터 2017년 2월 5일까지의 날짜를 연속으로 출력하는 방법이다. 시작 날짜와 종료 날짜의 형태를 년(4자리)월(2자리)일(2자리) 이렇게 정하면(예: 2016년 10월 1일 -> 20161001) 조건문에서 일반 수자처럼 대소 비교를 할 수 있으므로 while 반복문과 date를 조합하여 스크립트를 만들 수 있다. 아래의 예시를 보자. # 시작 날짜 2016년 10월 1일 start_date="20161001" # 종료 날짜 2017년 2월 5일 end_date="20170205" # cur_date 변수 초기값 설정(시작 날짜) cur_date="$start_date" # 종료 날짜까지 반복 while [[ $cur_date -le $end


