본문 바로가기
반응형

운영체제 OS8

리눅스 Background 실행 리눅스 Background 실행 sh 파일을 백그라운드로 돌리고 싶은 경우 명령어 뒤에 "&" 붙이면 된다. $ ./test.sh & 백그라운드 실행을 통해서 터미널창을 종료할 수도 있고 불필요한 내용을 보지 않아도 된다. [예시 코드] #!/bin/bash log_file="./log.txt" echo "-- Start --" > "$log_file" count=0 limit=10 while [ $count -lt $limit ]; do # for terminal echo "$count" # for log file echo "$count" >> "$log_file" sleep 1 ((count++)) done echo "-- Done! --" >> "$log_file" 1초 간격으로 count 값을 출.. 2023. 11. 26.
[쉘스크립트] 리눅스 파일 비교 [쉘스크립트] 파일 비교 파일의 체크섬 (checksum)을 계산하여 두 파일간 일치 여부를 확인할 수 있다. ex) 파일 이동/복사 처리가 제대로 되었는지 md5sum 또는 sha256sum $ md5sum A.txt B.txt $ sha256sum A.txt B.txt 각 파일의 체크섬이 출력되고, 두 파일이 동일한 경우 체크섬 값이 일치 이를 통해 파일 복사가 제대로 이루어졌는지도 확인할 수 있다. md5sum과 sha256sum은 파일이나 데이터 블록의 체크섬을 생성하는 도구로서 사용된다. 이들은 서로 다른 해시 알고리즘을 기반으로 하고 있다. md5sum (Message Digest Algorithm 5) 128bit 길이의 해시 값 생성 현재는 충돌이 발생할 수 있는 가능성이 있어 보안 관련 .. 2023. 11. 24.
[Linux] 쉘스크립트에서 함수 리턴 해보기 쉘 스크립트 함수 return • Shell Script 에는 일반적인 프로그래밍 언어(C++, Java, Pyhton)와 같은 함수 반환이 없다. • 정확히는 함수 return값이 EXIT_STATUS로 전달되며 $?로 확인할 수 있다. ($? = 직전에 실행된 프로세스 반환 값) • EXIT_STATUS는 일반적으로 "0 = 성공", "1~255 = 에러" 예시 코드 EXIT_STATUS 활용은 정수(0~255)만 전달 가능하다. 사실상 에러 코드를 반환하는 것이다. #/bin/bash foo() { return 123 } foo echo $? 스크립트 실행 결과는 "123" 이 출력된다. 그렇다면 정수가 아닌 문자열을 return 하면 어떻게 될까? #/bin/bash foo() { return ".. 2023. 9. 13.
[Linux] 쉘스크립트 Shift 명령어 [Shell Script] 명령어 Shift 인수로 전달 받은 값을 "N" 만큼 버리는 명령어 ("N"은 명시하지 않으면 Default = 1) $# = 인자 개수 (→ 남은 인자 개수) $* = 전체 인자 (→ 남은 인자) • 매개변수를 하나씩 조회할 때 while문과 함께 사용해볼 수 있다. 매개변수가 얼마나 많은지 모를 때 하나씩 조회하는 목적으로 shift를 활용해볼 수 있다. • shift 명령어로 매개변수들이 삭제되므로 필요한 정보는 미리 백업 해두는 것이 좋다. [예제] Shift #!/bin/bash echo "------------------------------------" echo "전달받은 인자 개수 = $#" echo "인자 목록 = $*" echo "----------------.. 2023. 8. 27.
리눅스 우분투(ubuntu)에서 LTS란? 리눅스 버전을 확인해보면 "LST"란 단어를 볼 수 있다. cat /etc/issue ex) Ubuntu 16.04. LTS LTS는 "Long Term Support" 의 준말로 단어 그대로 장기간동안 지원하는 것을 의미한다. 우분투 새버전은 6개월 단위로 Release 되는데, LTS가 아닌 경우에는 18개월 보안 업데이트가 보장되는데, LTS의 경우에는 Desktop 3년 / Server 5년 정도의 보안 업데이트 기간을 가진다. 2021. 6. 5.
fsck (File System Check) fsck (File System Check) 리눅스 파일 시스템의 경우, 무결성을 검증하기 위해, fsck(file system check)를 지원합니다. fsck는 리눅스 부팅 시에 같이 시작하며, 시스템 내의 모든 로컬 파일 시스템을 검사합니다. fsck의 역할은 리눅스에 마운트 될 파일 시스템의 메타데이터가 실제로 사용할 수 있는 상태인지를 확인하는 것입니다. 리눅스 종료 시 fsck는 모든 캐시 데이터를 디스크에 저장한 뒤 파일 시스템이 문제 없이 언마운트 되었음을 확인합니다. fsck는 마운트 될 파일 시스템을 검사하고 이상 없이 언마운트 되었음을 확인하여 파일 시스템 내부 메타데이터가 정상임을 보증합니다. 하지만 리눅스가 파일 시스템을 정상적으로 언마운트 할 수 없는 경우가 있습니다. 만일 정.. 2021. 2. 27.
저널링 파일 시스템 종류 저널링 파일 시스템 (Journaling File System) 저널링 파일 시스템 (Journaling File System) 저널링 파일 시스템이란? 특별한 데이터 구조체 혹은 데이터 영역에 시스템의 변경 사항들을 기록해 놓고, 이를 참조하여 파일 시스템에 변경 사항을 적용하기 전 변경점들을 추적한다. 이를 통 zoosso.tistory.com 저널링 파일 시스템 종류 ext (eXtended file system): 리눅스 파일 시스템으로 사용, 암호화 지원 X ext2: 리눅스 파일시스템으로 사용 (ext를 대체하기 위해 고안) 서버의 비정상적 종료 후 재부팅시 데이터 손실을 방지하기 위해 FSCK(복구) 명렁어 추가 ext3: 파일 내용 변경 시 파일 시스템과 바로 동기화 작업이 이루어짐 (저널.. 2021. 2. 27.
저널링 파일 시스템 (Journaling File System) 저널링 파일 시스템이란? 특별한 데이터 구조체 혹은 데이터 영역에 시스템의 변경 사항들을 기록해 놓고, 이를 참조하여 파일 시스템에 변경 사항을 적용하기 전 변경점들을 추적한다. 이를 통해 저널링 파일 시스템은 정상 상태로 빠르게 복구할 수 있으며 내부 데이터의 손상 가능성을 줄인다. ※ 저널링Journaling이란? Stoarge에 데이터 변경 내역을 저장하는 활동 파일 시스템 이란? 파일 시스템은 데이터를 저장, 검색 및 처리하기 위해서 존재합니다. 이를 위해 파일 시스템은 내부의 모든 데이터가 조직화되어 있어야 하고 저장된 데이터들을 액세스 가능한 상태로 관리하는 내부 데이터 구조를 가지고 있어야 한다. 이러한 데이터 관리용 자료구조를 메타데이터(Metadata) 라고 한다. ex) 접근권한, 디스.. 2021. 2. 27.
반응형