파일에는 소유권이 있습니다. 어느 그룹이 소유하고 있는지, 그리고 누가 소유하고 있는지. 이 둘을 바꾸는 명령어가 chown입니다. .c 파일들은 chogahui05가 소유하고 있고, chogahui05 그룹이 소유하고 있습니다. 권한은 -rw-rw-r--입니다. 그러면, 05 그룹이거나, 05인 경우에는, Read와 Write가 모두 가능하고, 그렇지 않으면 읽기만 가능하다는 이야기입니다. 현재 user는 chogahui06입니다. groups를 쳐 보면, chogahui06만 나오는데요. 06은 05도 아니고, 05 그룹에 속해있지도 않기 때문에 others에 속합니다. 그러면, strcpy.c를 열면 어떻게 될까요? 읽기 전용으로 열릴 거에요. 당연한 이야기입니다. Write 권한이 없기 때문입니다..
리눅스 검색 결과
리눅스에서 ls -ail 명령어를 쳐 보면, 앞에 10자리의 이상한 문자열이 온다는 것을 알 수 있어요. 그리고, 우리는 권한 755를 준다. 664를 준다. 이런 말도 많이 하고요. 이게 무엇을 의미하는지 천천히 보도록 하겠습니다. home 디렉토리에서, ls -ail 명령을 입력해 보았습니다. 먼저, 앞에 오는 것을 빼고 3자리씩 끊어서 읽으시면 되는데요. 예를 들어 283269번 파일은 rwx, ---, --- 이렇게 온다는 것을 알 수 있습니다. 이는 소유자 chogahui05에 대해서만 Read, Write, eXecute가 허용이 되고, 소유자가 아닌, 그룹 chogahui05에 속한 유저들이나, 다른 사람들이 Read, Write, eXecute 할 수 없다는 의미입니다. chogahui06..
실행 중인 프로세스의 pid와, 부모 프로세스의 pid를 얻어올 수 있는 방법이 없을까요? 각각 getpid 함수와 getppid 함수를 쓰시면 됩니다. 두 개 함수의 원형은 아래와 같습니다. 이제 예제 프로그램을 2개 보도록 하겠습니다. 먼저, 1번째 프로그램입니다. fork 함수로 자식 프로세스를 생성합니다. 그리고, pid가 0이면, 앞에 C를 출력하고, 그것의 프로세스 번호와, 부모의 번호를 출력합니다. 그렇지 않으면, 앞에 P를 출력하고, 프로세스 번호와, 부모 번호를 출력합니다. fork 함수의 리턴값이 0이라면 자식이고, 현재 실행중인 pid 값이면 부모이니, 어떻게 실행이 될 지는 대략 예측이 가능하실 거라고 생각이 듭니다. 실행 결과를 봅시다. 그러면 3373번이, 3374번을 생성을 했..
이번 글에서는 간단하게 좀비 프로세스에 대해서 알아보도록 하겠습니다. ps 명령어 사용법도 익히실 겸 겸사겸사. 이것은, 실행이 다 끝났는데, 아직 어딘가에서는, 삭제가 되지 않은, 정보가 남아 있는 프로세스를 의미합니다. 이들을 여러개 생성해 보면서 어떤 일이 일어나는지 보도록 하겠습니다. fork.c 프로그램입니다. 이것을 보면, pid가 -1일 때, while(1) 1번째 LOOP를 빠져 나옵니다. 이 때에는 프로세스를 생성할 수 없을 때일 거고요. fork()를 호출한 경우, 자식 프로세스가 생성이 되는데요. 이 때, 부모인 경우, pid 값이 0이 리턴이 되지 않기 때문에, 계속 while Loop를 돌 겁니다. 그러다가 fork 함수가 -1을 리턴한다면, (예를 들자면, 프로세스를 생성할 수 ..
폴더나 파일이 같은지 다른지 출력하려면 어떻게 해야 할까요? 다른 내용까지 보려면 어떻게 해야 할까요? 리눅스의 diff 명령어는 그것을 위한 명령어입니다. 이런 유틸은 인터넷에도 꽤 많이 있을 정도인데요. 저 같은 경우, 백준에서 (흔히 올라오는 질문 중 하나인) 2개의 소스코드 중 하나는 맞고 하나는 틀리다고 할 경우에 어느 부분이 어떻게 다른지부터 체크하는 편입니다. 이 때 쓸 수 있습니다. 먼저 diff가 어떻게 구현되었는지에 대한 것은, 아니면 그에 대한 알고리즘들은, 나중에 살펴보기로 하고, 이번 시간에는 폴더가 어떻게 다른지, 그리고 파일이 어떻게 다른지 알아내는 방법을 알아보도록 하겠습니다. 먼저, 1과 2 디렉토리가 있습니다. tree 명령어로, 폴더 내에 어떠한 것들이 있는지 출력해 봅..
최근댓글