리눅스에서 lrzsz는 꽤 많이 쓰인다고 어디선가 들었습니다. 사실, 전 FileZilia에서 파일 업로드하고, 다운로드를 많이 했는데요. 그건 생각보다 귀찮은 일이더라고요. 타겟에 lrzsz를 설치해 보겠습니다. 타겟에는 sshd (ssh 서버)가 깔린 상태입니다. 우분투는 sudo apt install lrzsz 이렇게 명령어를 입력하시면 됩니다. 그러면 설치가 좌르륵 하고 될 겁니다. 이제 rz를 입력해 보겠습니다. 그러면 waiting to receive라는 문구가 뜹니다. send가 보내는 것이고 receive가 받는 것이니, 여기에서는 cho@ubuntu가 받는 것을 의미합니다. cho@ubuntu는 rz가 실행되는 타겟을 의미하기도 합니다. server가 받아야 한다면 client는 보내야 ..
OS 검색 결과
uname 명령어를 이용하면 현재 시스템의 정보를 볼 수 있습니다. 가상머신에 올려놓은 ubuntu 18.04하고, fedora 32로 실습해 보도록 하겠습니다. 데스크립션을 읽어봐도, 현재 system 정보를 출력한다는 것 정도만 볼 수 있어요. 옵션이 없는 경우에는 -s와 동일하다고 하는데요. -s 옵션만 붙이면 커널의 이름을 출력합니다. 먼저, 커널의 릴리즈와 버전을 출력해 보겠습니다. 각각 -r과 -v 옵션을 주면 됩니다. -r 옵션을 주고 출력해 보면 5.3.0-61-generic이 출력되는 것을 볼 수 있는데요. 이것이 커널 릴리즈와 관련이 있어 보입니다. 이것의 앞의 2개의 숫자인 5.3이 버전과 관련이 있어 보입니다. 다음에 -v 옵션을 주어서 보면 #55~18.04.1-ubuntu가 출력..
안녕하세요. 이번 시간에는 리눅스 pipe 함수에 대해서 알아보도록 하겠습니다. file 데스크립터 2개를 저장할 배열을 넘겨주기만 하면 됩니다. 그것을 넘겨주면, 그 배열에 하나는 파이프에서 읽기를, 하나는 쓰기를 할 수 있는 데스크립터가 생성됩니다. 각각 filedes[0], filedes[1]이 그 역할을 합니다. 예제 1번 프로그램을 보도록 하겠습니다. 먼저, text가 2개 있습니다. 하나는 "Hello", 하나는 "Bye" 입니다. 파이프를 생성한 다음에, fork로 자식 프로세스를 생성합니다. 상황이 대략적으로 이렇게 그려집니다. 그리고 부모에서는, 단순하게 "Hello"라는 text를 write 하기만 하고, 자식은 받기만 합니다. 일단, 자식의 pi[0]과 부모의 pi[0], 그리고 자식..
리눅스에서 pipe 명령어는 꽤 유용하게 쓰입니다. 이번 시리즈에서는 이들을 구현하기 위해서 필요한 메서드 중에서 dup2 함수를 알아보도록 하겠습니다. 이는 ori 디스크립터를, new로 복사하는 함수입니다. 아앗. 뭔지 잘 모르겠군요. /proc는 괜히 있는 것이 아니니, 이것을 이용해서 하나하나 알아보도록 하겠습니다. 먼저 예제를 보겠습니다. dup2.c입니다. 먼저, pipe(pi)는 파이프를 생성하는 함수입니다. 파이프 하나에는 입구와 출구가 있습니다. 다음에, 5번째 줄에서 dup2 함수를 호출했는데요. 1번째 인자가 pi[1], 2번째 인자가 1입니다. 그러면, pi[1]의 디스크립터를 1번 디스크립터에 복사한다는 의미인데.. 일단, dup를 실행해 보겠습니다. 그리고 다른 세션에서는 ps ..
리눅스의 시간대를 설정하기 위해서는, etc의 localtime을 건드려야 합니다. 이 파일에 대한 대략적인 정보를 얻어오기 위해서, ls 명령어랑 grep 명령어를 pipe로 연결해서 적당히 쓰면 됩니다. 패턴을 잘 찾아내는 것은 매우 자주 쓰이니, 익혀두시면 도움이 됩니다. 먼저 date 명령어를 입력해 보겠습니다. 그러면, PDT 2020이 나오는데요. 이는 LA 시간으로 불리는 시간대입니다. etc 디렉토리로 이동한 다음에, localtime에 대한 정보만 긁어오도록 하겠습니다. ls -ail의 결과값을 input으로 넣은 다음에, grep localtime 명령을 수행하면, localtime 키워드가 있는 행만 뽑아옵니다. 이것은 /usr/share/zoneinfo/America/Los_Ange..
최근댓글