목록UNIX 환경 (11)
치춘짱베리굿나이스
crontab 현재 환경에서 특정 주기마다 무언가 스크립트같은 것을 실행시키고 싶을 때 사용하는 명령이다 우분투에서 연습했지만 지금 보니 macOS의 zsh에도 내장되어 있더라 (유닉스 기반 스케줄러라 그런가보다) 쉘 스크립트를 작성하고, 이것을 어느 주기마다 실행시킬 것인지 지정할 수 있다 주로 서버에서 특정 시간마다 로깅을 할 때 사용하지만 나는 내 생일때마다 스크립트로 생일축하합니다 같은 거 출력할 생각밖에 안 하고 있다… 특징 해당 명령어가 기본적으로 사용하는 쉘은 sh이다 bash 등 다른 쉘을 쓰고 싶다면 사전 설정을 해주어야 한다 sh를 쓰는 특성상 source 등의 명령어는 사용할 수 없다 (설정으로 쉘을 바꿔주면 가능하다) 특정 분, 시간, 일, 달, 요일마다 명령을 수행하거나, 기간을 ..
디렉토리의 구조 원본 파일 / 최상위 디렉토리 (루트 폴더) /bin 유저 바이너리 파일 쉘 또는 명령어 프로그램 등 (ln, rm, bash 등) 이 들어 있음 /sbin 시스템 바이너리 파일 시스템 명령어 프로그램등이 있음 시스템 관리자가 다룰 만한 프로그램 (shutdown 등) /etc 설정 파일들 프로그램이 동작하는 방식들을 저장한 파일들이 모여있음 여기 파일들을 건드리면 프로그램 동작 시의 설정을 수정 가능함 /dev Device Files /proc process information /var 변수 파일들 언제나 내용이 바뀔 수도 있는 값들이 들어있음 bin과 sbin은 프로그램 폴더이므로 업데이트 전까진 파일들의 값이 변경되지 않고, etc는 설정 파일이므로 사용자가 건드리기 전엔 defa..
Shell Script 작성 문법 Github에 저장한 글 의 백업본 문장을 이어 쓸 땐 ;로 구분 일반 변수 일반 변수 선언 변수명 = 데이터 test1 = 'hello world!' 중요!!! 변수명, =, 데이터 사이에 띄어쓰기 붙이지 않으면 에러 남 String은 " (큰따옴표) 로 감싸주기 일반 변수 사용 $변수명 echo $test1 hello world 리스트 변수 리스트 변수 선언 변수명=(데이터1 데이터2 데이터3 ...) chicken = ('fried' 'yangnyeom' 'ganjang') 변수명=($(명령어명)) 은 해당 명령어 사용 결과를 배열로 저장 test1 = ($(ls)) 리스트 변수 사용 ${변수명[인덱스]} e..
Shell Github에 올려둔 글 의 백업글 Kernel 프로그램을 동작시키는 것은 특정 명령으로 하드웨어를 작동시키는 방식 이때 하드웨어를 직접 제어하는 코어 부분이 커널 임 Shell 사용자가 직접 명령을 입력하는 부분 쉘은 사용자의 명령을 해석해서 커널에게 전달해주는 역할을 함 (커널을 사용자가 직접 제어하는 것은 까다롭다) 그럼 그 커널은 쉘에게 받은 명령을 기반으로 하드웨어를 동작시켜 원하는 결과를 출력 어플리케이션 (프로그램) 또한 이러한 쉘을 사용자가 쉽게 다룰 수 있도록 설계된 것 Bash & zsh bash는 기본적으로 ubuntu에 설치되어 있는 상태 zsh는 추가적으로 설치를 해야함 두 프로그램은 부모가 같아 상당히 유사한 특성을 띄지만 zsh 쪽이 추가적인 기능이 많아 편의성이 높..
Vim 에디터 단축키 Github에 저장한 글 백업 참고로 겁.나.어.렵.습.니.다 ☆, ♤, ♡는 임의의 숫자를 의미함 (외울수 있을지도 의문스럽다) 바쁜 사람을 위한 자주쓰는 단축키 모음 h : ← (좌) j : ↓ (하) k : ↑ (상) l : → (우) i : 현재 커서가 위치한 문자 앞에 insert 시작 o : 현재 커서 아래에 빈 줄 삽입후 insert 시작 esc : 편집모드 종료 (명령어모드 시작) u : 이전 명령 취소 dd : 해당 커서가 위치한 행 삭제 p : 캐시에 저장한 값 현재 행 아래에 붙여넣기 v키 + 커서 : 블럭 선택 모드 (커서는 hjkl, ←↓↑→ 모두 가능) 선택 후 y 누르면 캐시에 저장됨 (복사됨) 원하는 곳에 커서 놓고 p 누르면 해당 블럭이 붙여넣어짐 /문..
파일 타입 및 권한 목록 Github에 저장한 것 의 백업이다 d는 파일 타입 d: 디렉토리 b: 블록 타입 특수파일 c: 문자 타입 특수파일 l: 심볼릭 링크 p: 파이프 s: 소켓 이들에 해당하지 않을 경우 - (일반 파일)) rwxr-xr-x는 파일 권한 r: 읽기 권한 (파일을 열어볼 수 있고 복사 가능) w: 쓰기 권한 (파일 편집 가능) x: 실행 권한 (프로그램 파일, 쉘 스크립트 파일 등) 세개 다 ---로 권한 지정이 되어있지 않을 경우 접근 불가 디렉토리에 x 권한이 없다면 접근 불가 디렉토리에 r 권한이 없다면 파일 목록 조회 불가 왜 9자리인가? 처음의 3글자는 소유자 권한 두번째 3글자는 그룹 사용자 권한 세번째 3글자는 기타 사용자 권한
패키지 매니저 Github에 저장한 것 의 백업이다 sudo apt-cache 패키지를 탐색할 때 사용하는 명령어 sudo apt-cache search [패키지명] 패키지명을 apt 패키지 목록에서 검색, 간단한 설명과 함께 출력 sudo apt-get 패키지를 설치할 때 사용하는 명령어 sudo apt-get update 설치된 패키지의 인덱스 정보를 업데이트 sudo apt-get upgrade 인덱스 정보를 바탕으로 설치된 패키지를 최신 버전으로 업그레이드 sudo apt-get install [패키지명] 새로운 패키지 설치 sudo apt-get remove [패키지명] 패키지 삭제 sudo apt-get source [패키지명] 패키지의 소스코드 다운로드 sudo apt-get build-de..
IO Redirection Github에 저장한 것 의 백업이다 Standard Output redirection 명령어 입력 후 결과물을 파일로 저장하고 싶을 때 (예를 들면 폴더목록 등) 사용 > 앞에 1이 default로 붙어있는 상태 (1>와 같은 의미) [명령어] [옵션] > [파일명] 예시: ls -l > result.txt ls -l 1> result.txt와 같은 의미임 커맨드창에 결과물이 출력되지 않는 대신 파일에 저장된다 (파일로 리다이렉션 되었다) 값을 덮어쓰지 않고 원본 파일에 append할 땐 >> 사용 Standard Error redirection 2> 를 사용 1은 Standard Output을 의미, 2는 Error를 의미하기 때문 예시: rm -rf [존재하지않는파일.tx..