목차
※ (1~2번) 수행된 명령과 실행 결과를 확인할 수 있는 그림을 캡처하고 과제물 파일에 붙여넣기 하여 답안을 작성합니다. 과제물을 작성할 때 문제를 쓸 필요는 없습니다.
1. 리눅스를 설치하고 일반 사용자 계정을 생성한다. 이때 계정 이름(user name)은 자신의 학번(예: 202034-348000)으로 하고 계정 설명(교재 158쪽 ?c 옵션 참고)은 자신의 한글 이름(예: 김철수)으로 하며 기본 셸은 bash로 한다. 해당 계정으로 로그인 한 후 터미널 창을 띄운다. 여기까지는 준비 과정으로 캡처할 필요가 없다. grep 명령을 사용하여 /etc/passwd 파일에서 자신의 계정 정보를 가지는 1개 라인만을 터미널 창에 출력한다. 이때 명령 프롬프트의 모양에 계정 이름(자신의 학번)이 나타나야 하고 작업 디렉터리는 자신의 홈 디렉터리로 한다. (10점)
1) 리눅스(centos7.9.2009) 설치 2) 일반 사용자 계정 생성 3) grep 명령
2. vi 편집기를 사용하여 아래 4줄의 내용으로 파일을 생성한다. 편집 과정은 캡처할 필요 없다.
1 새롭도다 크고 넓은 뜻 온 누리에 펼쳐
2 앞서가는 뜨거운 마음 한데 모였다
3 일하면서 배우는 보람찬 나날
4 민족 위한 학습사회 펼쳐가리라
파일 이름: schoolsong
명령 프롬프트에서 적당한 출력 명령을 사용하여 파일 schoolsong의 내용을 터미널 창에 출력한다. (5점)
※ (3~4번) 명령의 의미를 공백 포함 200자 이내로 정확하게 설명하라. 그림 캡처는 필요 없으며, 설명을 위해 필요하다면 가정을 전제해도 된다. 설명이 부족하면 감점됩니다. (각 5점)
3. cat /etc/passwd | sort | less
4. mv memo* ~/backup (단, backup은 기존 디렉터리임)
5. 자신의 홈 디렉터리 또는 서브 디렉터리에 있는 정규 파일 중, 내용의 수정 시간이 하루가 되지 않은 파일의 이름(경로 포함)을 화면에 출력하는 find 명령을 작성하고, 공백 포함 200자 이내로 설명하라. 그림 캡처는 필요 없다. (5점)
①find 명령 작성 ②설명
6. 참고문헌
1. 리눅스를 설치하고 일반 사용자 계정을 생성한다. 이때 계정 이름(user name)은 자신의 학번(예: 202034-348000)으로 하고 계정 설명(교재 158쪽 ?c 옵션 참고)은 자신의 한글 이름(예: 김철수)으로 하며 기본 셸은 bash로 한다. 해당 계정으로 로그인 한 후 터미널 창을 띄운다. 여기까지는 준비 과정으로 캡처할 필요가 없다. grep 명령을 사용하여 /etc/passwd 파일에서 자신의 계정 정보를 가지는 1개 라인만을 터미널 창에 출력한다. 이때 명령 프롬프트의 모양에 계정 이름(자신의 학번)이 나타나야 하고 작업 디렉터리는 자신의 홈 디렉터리로 한다. (10점)
1) 리눅스(centos7.9.2009) 설치 2) 일반 사용자 계정 생성 3) grep 명령
2. vi 편집기를 사용하여 아래 4줄의 내용으로 파일을 생성한다. 편집 과정은 캡처할 필요 없다.
1 새롭도다 크고 넓은 뜻 온 누리에 펼쳐
2 앞서가는 뜨거운 마음 한데 모였다
3 일하면서 배우는 보람찬 나날
4 민족 위한 학습사회 펼쳐가리라
파일 이름: schoolsong
명령 프롬프트에서 적당한 출력 명령을 사용하여 파일 schoolsong의 내용을 터미널 창에 출력한다. (5점)
※ (3~4번) 명령의 의미를 공백 포함 200자 이내로 정확하게 설명하라. 그림 캡처는 필요 없으며, 설명을 위해 필요하다면 가정을 전제해도 된다. 설명이 부족하면 감점됩니다. (각 5점)
3. cat /etc/passwd | sort | less
4. mv memo* ~/backup (단, backup은 기존 디렉터리임)
5. 자신의 홈 디렉터리 또는 서브 디렉터리에 있는 정규 파일 중, 내용의 수정 시간이 하루가 되지 않은 파일의 이름(경로 포함)을 화면에 출력하는 find 명령을 작성하고, 공백 포함 200자 이내로 설명하라. 그림 캡처는 필요 없다. (5점)
①find 명령 작성 ②설명
6. 참고문헌
본문내용
less는 이미 지나간 내용을 거슬러 올라가 확인할 수 있다.
4. mv memo* ~/backup (단, backup은 기존 디렉터리임)
mv는 파일 또는 디렉터리의 이름을 변경하거나 다른 디렉터리로 이동시키는 명령이다.
mv 명령을 실행한 후에는 원본과 같은 이름의 파일은 더 이상 존재하지 않게 된다.
~(틸드)는 사용자의 홈 디렉터리를 의미한다.
*(애스터리스크)가 파일 또는 디렉터리 이름에서 사용할 때 0개 이상의 임의 문자열과 대응된다.
따라서 “mv memo* ~/backup”는 현재 디렉터리에 있고 memo로 시작하는 모든 파일과 디렉터리를 홈 디렉터리의 서브디렉터리인 backup으로 이동시키라는 명령이 된다.
5. 자신의 홈 디렉터리 또는 서브 디렉터리에 있는 정규 파일 중, 내용의 수정 시간이 하루가 되지 않은 파일의 이름(경로 포함)을 화면에 출력하는 find 명령을 작성하고, 공백 포함 200자 이내로 설명하라. 그림 캡처는 필요 없다. (5점)
①find 명령 작성
find ~ -type f -mitime -1 -print
②설명
find는 파일의 속성을 기준으로 파일을 찾고, 계속해서 검색된 파일을 대상으로 적당한 명령을 수행할 수 있다. 파일을 검색할 때 검색 위치를 지정할 수 있으며 이름, 소유자, 접근권한, 크기, 수정시간 등의 파일 속성을 조건으로 사용할 수 있다. 사용법은 다음과 같다.
> find [ pathnames ] [ expression ]
현재 작업 디렉터리가 자신의 홈 디렉터리이므로 경로명에서 틸드 또는 .(현재 디렉터리)를 생략할 수 있다.
리눅스에서 파일의 종류로는 정규 파일, 디렉터리, 심벌릭 링크, 블록 디바이스, 문자 디바이스, 파이프 디바이스, 소켓 디바이스 등이 있다. 여기서 정규 파일은 텍스트 파일, 이미지 파일, 또는 실행 파일과 같은 일반적 파일로 대부분의 파일이 여기에 해당한다.
정규 파일만 검색하는 표현식으로 -type 조건을 사용한다. 파일 타입으로는 b(블록 디바이스), c(문자 디바이스), d(디렉터리), f(정규 파일), l(심벌릭 링크)가 있다.
파일의 내용이 수정된 시간을 조건으로 사용할 경우에는 -mmin이나 -mtime를 사용한다.
mmin은 분단위 조건, mtime은 일(24시간)단위 조건 검색에 사용된다.
해당 시간 이전의 경우는 -, 해당 시간 이후는 +를 사용한다.
따라서 -mmin 10이면 정확이 10분, -10이면 10분 이전, +10이면 10분 이후를 의미한다.
-mtime의 경우도 일단위 조건일 뿐 의미는 이와 동일하다.
참고로 아래 그림에서 보이는 시간은 mtime이다.
ctime를 보기 위해서는 \"ls - lc\"를 사용한다.
각 라인의 첫 글자 d와 -는 각각 디렉터리와 정규파일을 의미한다.
표현식이 연속으로 나열되면 중간에 논리연산자 -and가 생략된 것과 같다.
따라서 필요한 경우 다른 논리연산자를 사용하면 된다.
find 명령의 액션으로 -print는 경로를 포함하여 파일 이름을 화면에 출력한다.
아무 액션이 없다면 -print가 기본으로 수행된다.
6. 참고문헌
김희천, 김진욱(2017), UNIX시스템, 한국방송통신대학교출판문화원
http://mirror.navercorp.com/centos/7.9.2009/isos/x86_64/
https://rufus.ie/ko/
리눅스 파일 시스템의 atime. mtime, ctime
https://jootc.com/p/201901272620
atime, mtime, ctime 의 차이점
https://www.lesstif.com/lpt/atime-mtime-ctime-105644095.html
4. mv memo* ~/backup (단, backup은 기존 디렉터리임)
mv는 파일 또는 디렉터리의 이름을 변경하거나 다른 디렉터리로 이동시키는 명령이다.
mv 명령을 실행한 후에는 원본과 같은 이름의 파일은 더 이상 존재하지 않게 된다.
~(틸드)는 사용자의 홈 디렉터리를 의미한다.
*(애스터리스크)가 파일 또는 디렉터리 이름에서 사용할 때 0개 이상의 임의 문자열과 대응된다.
따라서 “mv memo* ~/backup”는 현재 디렉터리에 있고 memo로 시작하는 모든 파일과 디렉터리를 홈 디렉터리의 서브디렉터리인 backup으로 이동시키라는 명령이 된다.
5. 자신의 홈 디렉터리 또는 서브 디렉터리에 있는 정규 파일 중, 내용의 수정 시간이 하루가 되지 않은 파일의 이름(경로 포함)을 화면에 출력하는 find 명령을 작성하고, 공백 포함 200자 이내로 설명하라. 그림 캡처는 필요 없다. (5점)
①find 명령 작성
find ~ -type f -mitime -1 -print
②설명
find는 파일의 속성을 기준으로 파일을 찾고, 계속해서 검색된 파일을 대상으로 적당한 명령을 수행할 수 있다. 파일을 검색할 때 검색 위치를 지정할 수 있으며 이름, 소유자, 접근권한, 크기, 수정시간 등의 파일 속성을 조건으로 사용할 수 있다. 사용법은 다음과 같다.
> find [ pathnames ] [ expression ]
현재 작업 디렉터리가 자신의 홈 디렉터리이므로 경로명에서 틸드 또는 .(현재 디렉터리)를 생략할 수 있다.
리눅스에서 파일의 종류로는 정규 파일, 디렉터리, 심벌릭 링크, 블록 디바이스, 문자 디바이스, 파이프 디바이스, 소켓 디바이스 등이 있다. 여기서 정규 파일은 텍스트 파일, 이미지 파일, 또는 실행 파일과 같은 일반적 파일로 대부분의 파일이 여기에 해당한다.
정규 파일만 검색하는 표현식으로 -type 조건을 사용한다. 파일 타입으로는 b(블록 디바이스), c(문자 디바이스), d(디렉터리), f(정규 파일), l(심벌릭 링크)가 있다.
파일의 내용이 수정된 시간을 조건으로 사용할 경우에는 -mmin이나 -mtime를 사용한다.
mmin은 분단위 조건, mtime은 일(24시간)단위 조건 검색에 사용된다.
해당 시간 이전의 경우는 -, 해당 시간 이후는 +를 사용한다.
따라서 -mmin 10이면 정확이 10분, -10이면 10분 이전, +10이면 10분 이후를 의미한다.
-mtime의 경우도 일단위 조건일 뿐 의미는 이와 동일하다.
참고로 아래 그림에서 보이는 시간은 mtime이다.
ctime를 보기 위해서는 \"ls - lc\"를 사용한다.
각 라인의 첫 글자 d와 -는 각각 디렉터리와 정규파일을 의미한다.
표현식이 연속으로 나열되면 중간에 논리연산자 -and가 생략된 것과 같다.
따라서 필요한 경우 다른 논리연산자를 사용하면 된다.
find 명령의 액션으로 -print는 경로를 포함하여 파일 이름을 화면에 출력한다.
아무 액션이 없다면 -print가 기본으로 수행된다.
6. 참고문헌
김희천, 김진욱(2017), UNIX시스템, 한국방송통신대학교출판문화원
http://mirror.navercorp.com/centos/7.9.2009/isos/x86_64/
https://rufus.ie/ko/
리눅스 파일 시스템의 atime. mtime, ctime
https://jootc.com/p/201901272620
atime, mtime, ctime 의 차이점
https://www.lesstif.com/lpt/atime-mtime-ctime-105644095.html
소개글