소프트웨어 개발의 세계에서 웹 프로그래머들이 가장 많이 다루는 운영체제는 아마도 리눅스 시스템일 것입니다. Linux 시스템을 사용할 때 몇 가지 팁을 익히면 프로그램 개발 및 디버깅 과정에서 작업 효율성이 향상될 것이라고 믿습니다. Linux 프로그래밍에 관한 3가지 사용자 명령줄 팁을 공유하겠습니다.
1. Cron을 사용하지 않고 Linux에서 작업을 예약하는 방법
소위 Cron은 Linux에서 작업/명령을 예약하는 것입니다. 보통 작업을 스케줄링할 때 Cron을 사용하게 되는데, 실제로는 Cron을 적용할 수 없는 경우에도 작업을 스케줄링할 수 있습니다.
5초마다 명령(날짜)을 실행하고 결과를 입력합니다. 파일(data.txt). 이를 달성하기 위해 명령 프롬프트에서 직접 다음 한 줄 스크립트를 실행할 수 있습니다.
$ dodate >> 5; done &
여기서:
스크립트가 조건 항상 참인 루프에서는 무한 루프를 만들고 그 안의 명령을 계속해서 실행합니다.
do: do는 while 문 뒤의 명령이 실행되는 키워드입니다.
date >>date.txt: date 명령을 실행하고 해당 출력을 data.txt 파일에 씁니다. >가 아닌 >>를 사용한다는 점에 유의하세요.
>>: 파일(date.txt)에 추가하여 각 명령이 실행된 후 출력 내용이 파일에 추가됩니다. 가운데. >를 사용하면 이전 내용을 계속 덮어쓰게 됩니다.
sleep 5: 후속 명령을 실행하기 전에 스크립트를 5초 동안 절전 모드로 둡니다. 여기서 시간 단위는 초만 가능합니다. 즉, 명령을 6분마다 실행하려면 sleep360을 사용해야 합니다.
done: while 루프 문 블록의 끝을 표시합니다.
&: 전체 프로세스를 백그라운드에서 실행합니다.
마찬가지로 이와 같은 스크립트를 실행할 수 있습니다. 아래 예에서는 100초마다 script_name.sh라는 스크립트를 실행합니다.
위에 언급된 스크립트 파일이 있어야 한다는 점도 언급할 가치가 있습니다. 그렇지 않으면 전체 경로(/home/$USER/…/script_name.sh)를 사용해야 합니다. 위 기능을 구현하기 위한 한줄 스크립트는 다음과 같습니다.
$ while true; do/ bin/sh script_name.sh 100 완료 &
요약: 위에서 언급한 한 줄 스크립트는 Cron을 대체하지 않습니다. Cron 도구는 많은 옵션을 지원하고 더 유연하며 사용자 정의가 가능하기 때문입니다. 그러나 I/O 벤치마크와 같은 특정 테스트를 실행하려는 경우 위의 한 줄 스크립트도 작동합니다.
2.clear 명령을 사용하지 않고 터미널 내용을 지우는 방법
리눅스에서는 터미널 내용을 지우기 위해 직접적으로clear 명령어를 사용하는데, ctrl l 단축키를 사용하면 시간이 많이 절약됩니다. ctrl l은 단축키이고 스크립트에서 사용할 수 없기 때문에 스크립트에서 화면 내용을 지우는 데 사용해야 하는 지우기 명령을 제외하고는 이 단축키를 다른 상황에서 사용하여 내용을 지울 수 있습니다.
3. 다른 디렉터리에서 명령을 실행한 다음 자동으로 현재 작업 디렉터리로 돌아갑니다.
프로그래밍에서는 종종 다른 디렉터리에서 명령을 실행한 다음 현재 디렉터리로 돌아가고 싶지만 이는 달성하기 어려운 경우가 많습니다. 실제로 이 요구 사항을 충족하는 방법은 간단합니다. 명령을 괄호 안에 넣으면 됩니다.
예를 들어보겠습니다.
avi@deb:~$ (cd/home/avi/Downloads/)
출력 예:
avi@deb:~
먼저 다운로드 디렉터리로 이동한 다음 이전 홈 디렉터리로 돌아갑니다. 명령 프롬프트에서 변경 사항을 볼 수 없기 때문에 내부 명령이 전혀 실행되지 않거나 일종의 오류가 있다고 생각할 수도 있습니다. 간단히 이 명령을 수정해 보겠습니다.
avi@deb:~$ (cd /home/avi/Downloads/ && ls -l)
샘플 출력:
-rw-r------ 1 avi avi 54272 5월 3일 18:37 text1.txt
-rw-r----- 1 avi avi 54272 5월 3일 18:37 text2.txt
- rw- r----- 1 avi avi 54272 5월 3일 18:37 text3.txt
avi@deb:~$
위 명령에서는 먼저 Downloads 디렉터리에 들어간 다음 파일 내용을 나열하고 마지막으로 현재 디렉터리로 돌아갑니다. 그리고 이는 명령이 성공적으로 실행되었음을 증명합니다. 괄호 안에 명령을 포함할 수 있으며 실행 후 원활하게 현재 디렉터리로 돌아갑니다.
위는 Linux 명령줄에 대한 매우 실용적인 3가지 팁입니다. 숙지하세요. 그리고 이를 능숙하게 사용하면 Linux 시스템에서의 소프트웨어 개발이 더욱 전문적으로 보이고 절반의 노력으로 두 배의 결과를 얻을 수 있습니다.
추천 학습: PHP 개발 실습 튜토리얼 http://www.maiziedu.com/course/php/
글 출처: 코드
|