Cron은 특정 시간에 실행되도록 명령어를 예약하는 것이다. Cron을 실행시키기 위해선 Cron Syntax에 대해서 알아야 한다. 'a b c d e command' 로 이루어져 있으며 a(0-59): Minute b(0-23): Hour c(1-31): Day d(1-12): Month e(0-6): Day(of week) → 참고로 0:일요일 6:토요일 를 의미한다. 해당 값들에 '*'를 넣는다면 그것은 always를 의미한다. 'crontab -e'에서 편집할 수 있다. 만약 '30 6 * * * command' 라고 작성되어 있다면 매일 6:30am 실행을 의미한다. 만약 '*/5 * * * * command'라고 작성한다면, 매일 5분마다 실행을 의미한다. 실제로 'contab -e'를 명령..
명령어를 만들어 보기 전, 명령어가 어떠한 원리로 실행되는지 알아야 할 필요가 있다. 'echo $PATH'를 통해 알아볼 수 있다. ':'를 기준으로 나와있는 경로에 사용자가 입력한 명령어가 있는지 확인한 후, 없다면 다음 경로에서 다시 탐색한다. 만약 내가 'ls' 명령어를 입력했다고 하자. 그렇다면 위 사진에 나온 경로처럼 ① /usr/local/sbin 폴더에서 탐색한 후, 'ls'명령어가 없다면, ②/usr/local/bin 폴더에서 탐색한다. 그곳에서 'ls'가 없다면, ③/usr/sbin 폴더에서 탐색한다. 이곳에 'ls' 명령어가 있다면 이곳에서 해당 파일을 찾아 실행한다. 이러한 원리로 쉘에서 명령어가 동작하게 된다. 하지만 '$PATH' 경로를 보면 모두 /home 디렉토리를 거치지 않..
'printenv' 명령어를 통해 사용자의 환경 값을 확인할 수 있다. 'echo $원하는키' 기호를 통해 키값에 해당하는 값을 불러올 수 있다. 위 사진은 'echo'의 '$' 옵션을 통해 'USER'라는 키에 대한 값으로 'juwon'을 불러왔다. 환경변수와 쉘변수에 차이에 대해서도 알아야 한다. 'country' 키에 대한 값을 'echo'를 통해 불러오려고 했지만 실패하였다. 쉘 안에 'country' 키에 대한 값이 없기 때문이다. 하지만 쉘의 명령줄에서 변수를 선언하듯이, 'country'라는 키에 'korea'라는 값을 주면 'echo $coutnry'를 통해 내가 만들어준 'korea' 라는 값을 얻는다. 하지만 위 사진을 보면 환경변수 값에서 'USER'키에 대한 값을 찾아주지만, 내가 ..
'ls -l' 커멘드를 통해 나타날때 가장 맨 앞에 써있는 이상한 문자 시퀀스에 대해 알아야 한다. 보면 위와 같이 'drwxr-xr-x' 형식으로 나와있다. 이것은 파일 속성이다. 첫번째 글자 'd'는 폴더인지 파일인지를 구분하는 문자이다. 즉 파일 형식이다. 실제로 .txt 파일은 맨 앞글자가 '-'이고, 폴더는 'd'로 나타나 있는것을 위 사진에서 확인할 수 있다. 대부분은 없거나 'd' 형태가 문자의 맨 앞에 나와 있지만, 루트 디렉토리에서는 다르다. 루트디렉토리에서 장치의 준말인 /dev 디렉토리로 이동 후, 'ls -l'을 통해 권한 상태를 확인해보면 앞글자들이 다양하게 있다. 앞에 나오는 글자가 'l', 'c', 'b' 다양하게 있다. 'l'은 심볼링크를 의미한다. 'b'는 블록 디바이스 o..
'grep' 명령어는 사람들이 명령어의 잠재력을 완벽히 쓰지 못하고 있는 심도있고 좋은 기술의 명령어이다. 'grap' 명령어 부터는, 실습이 아닌 개념을 설명하는 글을 작성해보려고 한다. 'grep'은 찾으려는 패턴을 파일에서 찾아준다. 아래는 'grep' 명령어로 'e' 패턴을 갖고 있는지 파일에서 찾아서 보여준다. 위처럼 'GrepTest.txt' 파일에 있는 'e' 패턴이 탐색되어 빨간색으로 표시되었다. 참고로 소대문자를 가리지 않고 검색하고 싶은 경우 뒤에 -i 옵션을 추가해주면 된다. 'grep' 명령어의 -w 옵션도 많이 활용된다. -w 옵션을 보기 쉽게 설명하기 위해 GrepTest.txt 파일의 내용을 'nano' 커멘드르 활용해 일부 수정했다. 만약에 'red'라는 단어만 확실하게 찾고..
먼저 Cases 디렉토리 안에 있는 "closed'라는 이름의 파일 개수를 새야한다. 그렇기 위해선 내부 파일까지 모두 확인할 수 있는 find 명령어에 -name 옵션을 사용하여 원하는 인자를 넣은 후, 파이프로 연결하여 'wc -l'로 파일의 수를 확인한다. 'find' 명령어와 'wc'명령어의 파이프 연결을 통해 'Cases' 디렉토리에 있느 closed라는 폴더의 수를 980개 잘 카운트 했다. 이거는 대소문자를 구별하지 않고 찾는 방법인데 위에 쓰인 옵션 -name 대신 -iname 옵션을 사용하면 된다. 간단하니 넘어간다. 'open' 이라는 단어가 들어가있는 파일 중 홀수로 된 파일의 수를 찾아야 한다. 그러기 위해선 'find'명령어 -name 옵션의 인자값을 넣을때 '[]'를 활용하여 인..