리눅스 shuf 명령에 대해서 간단하게 알아보겠습니다. shuf는 random한 permutation을 생성합니다. 예를 들어, [1, 2, 3, 4, 5]가 있으면 [2, 1, 3, 5, 4]가 나올 수도 있고, [2, 3, 1, 4, 5]가 나올 수도 있어요. 이를 이용합니다. 먼저 -i 옵션을 보겠습니다. LO-HI를 주면, LO-HI까지의 각각의 숫자를 input line으로 간주해요. 다음에 -n은 출력하는 줄 수를 지정하는데요. 1부터 46까지 숫자 중에 6개를 중복 없이 뽑아보겠습니다. 이 경우, shuf -i 1-46 -n 6을 입력하시면 됩니다. 수 1부터 46까지를 input으로 간주하고, 6개를 뽑습니다. 즉, 1 ~ 46중 6개를 뽑는 것과 같아요. 이제 -e 옵션을 볼게요. -e는..
OS/리눅스 검색 결과
리눅스에서 여러 명령어를 한 번에 처리할 수 있게 하는 방법을 알아봅시다. 다중명령어라고도 하던데요. 간단하게 알아봅시다. 먼저 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..
안녕하세요. 이번 시간에는 우분투에서 현재 시각을 어떻게 출력하는지에 대해 간단하게 알아보겠습니다. 먼저, date는 시스템 date를 출력하거나, 혹은 셋팅하는 명령입니다. 이번 시간에는 date를 단지, 시스템 시각만 출력하는 용도로 쓸 거에요. 쓰는 방법이 나와 있는데요. 여기서 OPTION은 일절 쓰지 않고, +FORMAT만 쓸 겁니다. 먼저, 1970년 1월 1일 0시 0분 0초 UTC로부터 경과된 초를 출력하고 싶습니다. %s 옵션을 쓰시면 됩니다. 해당 옵션이 seconds since 1970-01-01 00:00:00 UTC라고 되어 있는 걸 보아서는 제가 원하는 목적과 맞아 보입니다. date +%s를 입력해 볼까요? 그러면 1665294580이 나옵니다. 이는 1970년 1월 1일 0시..
안녕하세요. 이번 시간에는 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개가 ..
안녕하세요. 이번 시간에는 proc/{pid} 안에 있는 cwd에 대해서 간단하게 알아보겠습니다. 요약하면 프로세스의 현재 working directory 정도가 되겠습니다. 먼저 pstree -p로 현재 실행되고 있는 프로세스들의 tree를 확인해 봅시다. 이 중에, bash가 눈에 보이네요. pid가 12라는 의미인데요. /proc/12로 가 보면 현재 실행되고 있는 bash에 대해 여러 정보들이 저장되어 있습니다. 여러가지 파일들이 보이는데요. 이 중에 cwd를 보겠습니다. ls -ail | grep cwd를 입력하면, 프로세스의 현재 working directory를 볼 수 있어요. 12번 프로세스는 /proc/12가 현재 working directory인가 보군요. 이제 간단한 c++ 프로그램을..
최근댓글