본문 바로가기

전체 글217

touch - 빈 파일 생성 및 파일 날짜 변경 빈 파일를 생성하거나 파일의 생성 및 수정 날짜를 특정 날짜로 변경할 때 사용하는 명령어입니다. 형식 1: touch - 파일명을 가진 파일 용량이 0인 파일을 생성합니다. 형식 2: touch -c - 파일명에 해당하는 파일의 시간을 현재 시간으로 변경합니다. 형식 3: touch -t - 파일의 시간의 날짜 정보를 YYYYMMDDhhmm 형식으로 변경합니다. - 예) touch -t 202204250930 time.txt 형식 4: touch -r - 파일명2에 해당하는 파일의 날짜 정보를 파일명1에 해당하는 파일의 날짜 정보로 변경합니다. 2022. 4. 27.
file - 파일 종류 및 속성 확인하기 파일시스템의 특정 파일에 대해서 파일의 종류나 파일 속성 값을 확인하기 위해 사용하는 명령어입니다. 형식: $ file [옵션] Options Option Description -b --brief 지정한 파일명은 출력하지 않고 파일의 유형만 출력 -f --file-from 파일목록에서 지정한 파일들에 대해서만 명령을 실행 -i --mime MIME 타입 문자로 출력 (예: text/plain; charset=us-ascii) -L --dereference 심볼릭 링크된 파일을 추적하여 원본 파일 정보를 출력 -m --magic-file 임의로 매직파일을 지정 -z --uncompress 압축된 파일의 내용을 출력 -v --version 버전 정보를 출력 사용 예시 $ file smartgit-20_1_3.. 2022. 4. 27.
ulimit - 리눅스에서 자원(리소스)의 제한 설정 관련 명령어 일반 데스크톱 버전에서는 드문 일이겠지만 서버 버전에서는 자원 제한때문에 문제가 발생하는 경우가 있습니다. 즉, Ubuntu Desktop 배포판과 Ubuntu Server 배포판의 자원의 제한 설정값이 다르다는 거죠. 자원 최대 설정 값 확인 : ulimit -a $ ulimit -a -t: cpu time (seconds) unlimited -f: file size (blocks) unlimited -d: data seg size (kbytes) unlimited -s: stack size (kbytes) 8192 -c: core file size (blocks) 0 -m: resident set size (kbytes) unlimited -u: processes 63219 -n: file descr.. 2022. 4. 26.
Ubuntu 20.04 에서 rc.local 파일을 찾을 수 없어요 /etc/rc.local 스크립트 파일은 시스템이 부팅 후 가장 마지막에 실행됩니다. 그래서 리눅스 시스템 개발자분들이나 리눅스를 좀 한다 하시는 분들은 /etc/rc.local 파일에 자동 실행되어야 할 프로그램이나 부팅 이후에 필요한 작업을 추가합니다. 호랑이 담배피는 시절처럼 먼 얘기이긴 하지만 도스(DOS)를 사용해 본 경험이 있다면 AUTOEXEC.BAT 스크립트 파일과 비슷한 기능을 한다고 이해하시면 될 듯 합니다. 그런데, 언젠가부터 정확히는 Ubuntu 16.04 이후로 /etc/rc.local 스크립트 파일이 사라졌습니다. 그렇다고 해서 rc.local이 하던 기능이 사라진 건 아니고 시스템 서비스 레벨로 조정이 되었습니다. 즉, systemd에서 rc-local.service 로 지원이.. 2022. 4. 24.
sysctl 명령어 명칭이 비슷해 보이지만 systemctl과는 전혀 다른 명령어입니다. sysctl 는 런타임 시에 /proc/sys 하위 디렉토리에 있는 커널 매개변수 값을 변경할 때 사용하는 명령어입니다. 리눅스 커널에 대한 설정값을 변경하고 조회가 가능합니다. 그래서 시스템 관리자는 DDos 방어를 위해서 이 명령어를 알고 있어야 하고 네트워크 트래픽 관련된 커널 매개변수들을 숙지해야 합니다. 참고로, /proc/sys 하위 디렉토리에 존재하는 디렉토리 구분자는 '/' 대신에 '.'으로 대체하는 점 유의하시기 바랍니다. 기본형식: sysctl [options] [variable[=value] ...] 옵션(options) Option Description -a --all 모든 변수 표시 -A alias of -a -.. 2022. 4. 24.
Ninja(닌자) 빌드 시스템 이해하기 닌자(Ninja)는 속도에 중점을 둔 소형 빌드 시스템입니다. 다른 빌드 시스템과 다른 점은 상위 레벨 빌드 시스템에서 입력 파일을 생성하도록 설계되었으며 최대한 빨리 빌드를 실행하도록 설계되었습니다. Make는 증분 빌드(또는 무연산 빌드)를 수행 할 때 안정성을 위해 속도가 상대적으로 느려집니다. 이렇게 하면 예를 들어 약39,000 개의 입력 파일을 하나의 실행 파일로 컴파일하는 크로미움(chromium) 과 같은 대규모 프로젝트에서 작업하는 개발자의 작업 속도가 상당히 느려질 수 있습니다. 실제로 크롬(chrome)은 Ninja의 주요 사용자입니다. 이러한 의미로 닌자(Ninja)는 Make를 대체하기 위한 것일 수 있습니다. Make 와는 달리 Ninja 빌드 파일은 손으로 직접 작성하지 않으므.. 2022. 4. 23.