본문 바로가기

동아리/멋쟁이 사자처럼

[멋사] Shell 과제

728x90

# shell

“Shell? 조개 껍데기?”

ex00

제출 디렉토리 : ex00/

제출 파일 : lion

cat 명령어 실행을 통해 “Hello World!"를 반환 후 개행을 반환하는 파일을 만드세요. 파일의 이름은 lion 입니다.

예시)

$ cat lion
Hello World!

ex01

제출 디렉토리 : ex01/

제출 파일 : env.sh

CUK1, CUK2 환경변수를 전역으로 추가해봅시다. 다음과 같은 출력이 나오게 하세요.

출력)

$ ./env.sh
$CUK1 $CUK2
LIKE lion
$ echo $CUK1 $CUK2
LIKE lion

<aside> ⚠️ 환경변수를 사용하지 않고 직접 문자열을 출력하면 안됩니다.

</aside>

ex02

제출 디렉토리 : ex02/

제출 파일 : lion_to_catholic.sh

위에서 추가한 환경변수 CUK1, CUK2를 그대로 사용해서 Catholic 을 출력해봅시다.

$ ./lion_to_catholic.sh
Catholic

<aside> 💡 문자열 치환 명령어를 아시나요?

</aside>

<aside> ⚠️ 환경변수를 사용하지 않고 직접 문자열을 출력하면 안됩니다.

</aside>

ex03

제출 디렉토리 : ex03/

제출 파일 : how_many.sh

현재 디렉토리에 몇개의 파일이 있는지 출력하는 파일을 작성하세요

예시)

$ ./how_many.sh
12

ex04

제출 디렉토리: ex04/

제출 파일 : test_touch.txt

touch 명령어는, 파일의 생성과 파일의 날짜, 시간을 변경하는 명령어 입니다 옵션 없이 사용할 경우 서버의 현재 시간으로 변경 됩니다.

$ touch [옵션] [파일명]

해당 명령어를 활용하여 간단한 txt 파일을 만들고, 내용을 작성하여 출력 되게 해 봅시다.

예시)

#파일 생성
$ touch test_touch.txt

#문구 출력
$ cat test_touch.txt
테스트 문구입니다.

 

ex05

제출 디렉토리: ex05/

제출 파일: test_cp.txt

cp는 서버 기본 명령어중 하나이며, 파일/ 디렉토리 등 복사기능을 이용할 때 사용하는 명령어입니다. 다양한 옵션을 이용하여 덮어쓰기, 다중 복사 등 다양한 기능을 활용할 수 있습니다.

앞서 제작한 텍스트 파일을 복사해봅시다.

예시)

$ cp test_touch.txt test_cp.txt

실행결과)

$cat test_cp.txt
테스트 문구입니다.

 

ex06

제출 디렉토리: ex06/

제출 파일: move_dir.sh

mv 명령어를 사용하여 다른 디렉토리로 파일을 옮겨봅시다.

실행결과) newdir 라는 디렉토리로 파일을 옮긴 경우 (예)

~/newdir# ls
test.txt

 

ex07

제출 디렉토리: ex07/

제출 파일: find_file.sh

find 명령어를 이용하여 확장자가 .sh 로 된 파일을 찾아봅시다.

실행결과)

$ find_file.sh
/경로/파일이름.sh
/경로/파일이름2.sh

...

 

ex08

제출 디렉토리: ex08/

제출 파일: remove_file.sh

rm 명령어를 사용하여 파일을 삭제해 봅시다.

 

ex09

제출 디렉토리: ex09/

제출 파일 : myscript.sh

스크립트 파일이 존재하는 절대/상대 경로를 pwd를 이용하여 얻어봅시다.

스크립트를 실행할 때, 명령어를 인자로 받는데요. 그 인자의 경로를 해석해서 파일의 위치를 구하는 것입니다.

 

실행 결과 )

$ bash myscript.sh
scriptName: myscript.sh
relative Path: .
Absolute Path: /mnt/d/home 

 

ex10

제출 디렉토리 : ex10/

제출 파일 : create_dir.sh

**new_directory**라는 새로운 디렉토리를 생성하고, 생성에 성공하였는지 검사하는 스크립트를 작성하시오. mkdir 명령어 실행 후, **$?**를 통해 명령어의 성공 유무를 확인합니다.

mkdir커맨드를 활용하여 폴더를 생성해봅시다.

  • 종료 상태가 0일 경우, 즉 명령어가 성공적으로 수행된 경우에는 "Directory created successfully." 메시지를 출력하고,
  • 그렇지 않은 경우에는 "Failed to create directory." 메시지를 출력합니다.

실행결과)

$ bash create_dir.sh
Directory created successfully.

 

Bonus00

제출 디렉토리 : bonus00/

제출 파일 : ls.tar

다음과 같은 파일 및 디렉터리를 만듭니다. 디렉터리에서 ls -l 명령을 사용할 때 출력이 다음 일치하도록 필요한 작업을 수행하세요

작업이 완료되면 tar -cf ls.tar * 명령을 실행하여 제출 파일을 생성합니다.

결과)

$ ls -l
total XX
drwx--xr-x 2 XX XX XX Jan 1 20:47 test0
-rwx--xr-- 1 XX XX 4 Jan 1 21:46 test1
dr-x---r-- 2 XX XX XX Jan 1 22:45 test2
-r-----r-- 2 XX XX 1 Jan 1 23:44 test3
-rw-r----x 1 XX XX 2 Jan 1 23:43 test4
-r-----r-- 2 XX XX 1 Jan 1 23:44 test5
lrwxrwxrwx 1 XX XXㅊ  5 Jan 1 22:20 test6 -> test0

 

 

과제 제출

https://github.com/CUK-LikeLion-Common/LikeLion-Common-Subject/tree/subin

 

GitHub - CUK-LikeLion-Common/LikeLion-Common-Subject

Contribute to CUK-LikeLion-Common/LikeLion-Common-Subject development by creating an account on GitHub.

github.com

 

참고자료

[LINUX] 📚 BASH 쉘 프로그래밍 문법 마스터 💯 총정리 (+ 연습예제)

 

🐧 BASH 쉘 프로그래밍 문법 마스터 💯 총정리

Shell Script 란 Shell Script는 Shell이나 command line 인터프리터에서 구동되도록 작성된 스크립트다. 윈도우에서는 batch(배치파일, .bat) 을 한번쯤은 본적이 있을 것이다. bat 파일을 실행하면 프로그램이

inpa.tistory.com

[Linux/리눅스] Shell 실행 파일 만드는 방법 및 예제

 

[Linux/리눅스] Shell 실행 파일 만드는 방법 및 예제

리눅스 환경에서 Shell 스크립트로 실행파일을 만드는 방법을 예제를 통해 소개합니다.

deeplify.dev

알아두면 좋은 쉘 스크립트 (+ 배치, CI/CD)

 

알아두면 좋은 쉘 스크립트 (+ 배치, CI/CD)

쉘 스크립트 문법 및 활용 예시

jinwoo1990.github.io

 

728x90

'동아리 > 멋쟁이 사자처럼' 카테고리의 다른 글