%cd /tmp/private/tmp
We use cookies
We use cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.
Heeyoung Kim
December 8, 2022
아래 노트북은 MIT에서 제공하는 Missing semester의 연습문제를 풀이한 것입니다. 이번 내용은 셸(Shell) 에 대한 것입니다.
!cd가 작동하지 않기 때문에, %cd로 대체하여 사용했습니다.
touch 명령어는 파일이 없을 때 새로운 파일을 만들 수 있는 명령어입니다.
#!/bin/sh
curl –head –silent https://missing.csail.mit.edu
#, ! 등은 shell 내에서 특수한 역할을 하는 문자로, 해당 기능으로 사용하는 것이 아닌 문자로 취급하도록 컴퓨터에 알려 주어야 합니다. 위에서는 작은 따옴표(’)를 활용하여 문장을 감쌉니다.
줄구분은 특수문자인 \n을 사용했으나, 다른 방법이 있는지 확인해 봐야겠습니다.
Permission denied - 권한이 거부되었습니다. 해당 파일의 권한을 확인하겠습니다.
첫 문자는 해당 객체가 디렉토리인지 아닌지를 의미합니다. 디렉토리인 경우 첫 문자는 d입니다. 이 객체는 디렉토리가 아닙니다.
r은 읽기 권한, w은 쓰기 권한을 나타냅니다. 위에서는 보이지 않으나 x는 실행 권한을 의미합니다.
세 문자씩 끊어서 파일 소유자의 권한, 소유 그룹의 권한, 다른 모든 사람들의 권한을 의미합니다. ./semester 명령에도 작동하지 않는 이유는 파일 소유자, 소유 그룹, 다른 모든 사람들 중 실행 권한 x를 가진 사람이 없기 때문입니다.
HTTP/2 200 server: GitHub.com content-type: text/html; charset=utf-8 last-modified: Mon, 05 Dec 2022 15:59:23 GMT access-control-allow-origin: * etag: "638e155b-1f37" expires: Mon, 05 Dec 2022 17:56:30 GMT cache-control: max-age=600 x-proxy-cache: MISS x-github-request-id: 3D04:7A94:4B80:17691:638E2E76 accept-ranges: bytes date: Thu, 08 Dec 2022 08:07:09 GMT via: 1.1 varnish age: 0 x-served-by: cache-nrt-rjtf7700062-NRT x-cache: HIT x-cache-hits: 1 x-timer: S1670486829.366512,VS0,VE226 vary: Accept-Encoding x-fastly-request-id: 4c44fa880a52315bef95222f27f437345312a5ee content-length: 7991
모든 사용자가 읽기 권한 r은 가지고 있기 때문에 해당 프로그램을 실행할 수는 있습니다. ./semester 명령은 해당 폴더에 접속 권한 x가 있어야 하기 때문에 실행되지 않았습니다.
chmod는 파일의 권한을 수정하는 명령어입니다. 숫자 또는 예약어를 통해 소유자, 소유 그룹, 다른 모든 사람들의 읽기, 쓰기, 실행 권한을 수정할 수 있습니다.
위와 같이 권한이 -rw-r--r--에서 -rwxr-xr-x로 수정되었음을 알 수 있습니다. 모든 사용자가 실행 권한을 가지고 있기 때문에, ./semester을 통한 접속도 가능할 것입니다.
HTTP/2 200 server: GitHub.com content-type: text/html; charset=utf-8 last-modified: Mon, 05 Dec 2022 15:59:23 GMT access-control-allow-origin: * etag: "638e155b-1f37" expires: Mon, 05 Dec 2022 17:56:30 GMT cache-control: max-age=600 x-proxy-cache: MISS x-github-request-id: 3D04:7A94:4B80:17691:638E2E76 accept-ranges: bytes date: Thu, 08 Dec 2022 08:27:23 GMT via: 1.1 varnish age: 0 x-served-by: cache-nrt-rjtf7700029-NRT x-cache: HIT x-cache-hits: 1 x-timer: S1670488044.617282,VS0,VE220 vary: Accept-Encoding x-fastly-request-id: 7da9cf240d64e552531be45064755f40dc65c6bd content-length: 7991
좋습니다!
grep은 문자가 존재하는 라인을 추출합니다.
MacOS에서 cut 명령어를 사용할 때는 자를 기준점을 지정해 주어야 합니다. byte, 문자, 구두점 중 선택 가능합니다. 구두점의 경우 -f 옵션을 지정하고 -d 옵션 뒤에 구두점을 적습니다.
아래와 같이 >를 사용하여 저장합니다. home 디렉토리는 ~로 접근합니다.