리눅스에서 여러 명령어를 한 번에 처리할 수 있게 하는 방법을 알아봅시다. 다중명령어라고도 하던데요. 간단하게 알아봅시다. 먼저 ls를 입력해 보면 1.txt만 나옵니다. 이제 ls -ail을 입력해 보겠습니다. 보니까 디렉토리 a는 없음을 알 수 있어요. 대신에, 1.txt가 있다는 것을 알 수 있어요. 고로, cd a는 실패하는 명령이고, cat 1.txt는 성공하는 명령입니다. cd a && ls를 입력해 보겠습니다. 이 때, cd a는 선행 명령어, ls는 후행 명령이라 할게요. a라는 디렉토리가 없기 때문에, 후행 명령인 ls는 실패하게 됩니다. 즉 command 1 && command 2일 때, command 1이 실패하면 2가 실행되지 않습니다. ls && cat 1.txt는 어떤가요? ls..
리눅스 검색 결과
안녕하세요. 이번 시간에는 chdir과 getcwd 함수에 대해 간단하게 알아보겠습니다. 전자는 current working directory를 바꾸고, 후자는 current working directory를 얻어오는 역할을 합니다. 둘 다 unistd.h를 include 해야 합니다. 먼저 chdir을 봅시다. path를 하나 받는데요. 절대 경로와 상대 경로 둘 다 받습니다. 이것이 무슨 역할을 할까요? calling process의 현재 working directory를 PATH로 바꿉니다. 성공하면 0을, 그렇지 않으면 -1을 리턴합니다. 이 함수가 어떤 역할을 하는지는 밑에 예제를 보면서 후술하겠습니다. getcwd입니다. current working directory를 얻어오는 함수는 3개가 ..
리눅스에서 일정 주기별로 반복된 일을 하는 방법은 무엇일까요? 예를 들어, 하루마다 투데이를 초기화 한다던지. 이럴 때 쓸 수 있는 것이 crontab입니다. 대략적인 옵션들을 보면 크게 어려운 것은 없슶니다. -l은 current crontab을 출력합니다. -e는 적용되어 있는 crontab을 editor를 이용해서 편집할 수 있게 해 줍니다. cron.py입니다. output.log에 계속 서버의 현재 날짜와 시간을 표시해 줍니다. crontab -e를 입력하시면 크론탭을 편집할 수 있는 에디터가 하나 나오는데요. 요래 입력하면, 매 분마다 python3 cron.py를 실행시키겠다는 의미입니다. 공백으로 구분된 이 5개의 필드들은 이 사이트를 보면 손쉽게 작성할 수 있으니 참고하면 좋겠습니다. 매..
이번 시간에는 리눅스 which 명령어를 알아보겠습니다. which는 command의 위치를 알려줍니다. 예를 들어 java라던지, ls와 같은 것들의 명령어 위치를 알려줍니다. 제 서버에는 java가 설치되어 있지 않습니다. 그렇기 때문에 처음에 which java를 입력하면 아무 것도 나오지 않습니다. java를 설치하고 나서, 다시 which java를 입력해 보겠습니다. 그러면, /usr/bin/java에 설치되었다고 나옵니다. ls로 상세 정보를 보면, 링크 파일임을 알 수 있습니다. 이들을 통해서 따라 들어가 봅시다. 먼저, java가 /etc/alternatives/java의 링크임을 알 수 있어요. /etc/alternatives로 들어가 봅시다. 그러면 java가 있을 텐데요. java가..
생각보다 현재 프로세스의 부모, 자식 프로세스를 봐야 하는 경우가 있습니다. 오늘은 pstree 명령어를 이용해서 특정 프로세스의 부모, 자식 프로세스를 빠르게 파악하는 방법을 알아봅시다. 먼저, pstree는 process들의 tree를 보여줍니다. 옵션 몇 가지만 보고, 제가 실행하고 있는 장고 서버 프로세스의 부모, 자식 프로세스 들을 간단하게 보겠습니다. -a는 command line arguments를 보여줍니다. -p는 PID를 보여줍니다. 그리고 -s는 부모들의 process들을 보여줍니다. 부모, 부모의 부모 등등. 계속 올라가면 루트가 있겠죠? 이제, 제가 8000번 포트로 띄워놓고 있는 장고 서버 프로세스를 보도록 하겠습니다. 먼저 netstat 명령어를 이용해서 8000번 포트를 사용..
최근댓글