[2020-2 리눅스 실습] 7주차
2020. 11. 14. 17:50
Study/LINUX
1. 문서편집 - gedit 혹은 vi 에디터를 사용하여 자기를 소개하는 글을 작성하시오. - 작성한 파일(intro)에 대해서 다음 명령을 실행하시오. $ cat intro $ cat -n intro $ more intro $ tail intro $ tail -5 intro 2. 프로그램 작성 - 입력으로 받은 텍스트를 줄의 길이에 따라 정렬하여 출력하는 c 프로그램을 작성하시오. 이 프로그램을 교재의 copy.c 파일 을 포함하여 여러 개의 파일로 구성하시오. (즉, 다중 모듈 프로그램으로 작성하시오.) • 파일 구성 - 텍스트 입력 + 정렬하는 프로그램 파일(파일이름.c) - copy.c - copy.h • 유의사항: 교재의 main.c / copy.c / copy.h 를 먼저 작성해본 후 그 c ..
[2020-2 리눅스 이론] 7주차
2020. 11. 14. 15:51
Study/LINUX
[ 2020 2학기 / 7주차 ] 1. 프로그램 작성과 컴파일 1.1 gedit 문서편집기 GNU의 대표적인GUI 텍스트 편집기다. • 메인 메뉴 [프로그램] -> [보조 프로그램] -> [지에디트] 선택 • 터미널 $ gedit [파일이름] & • 파일 관리자: 텍스트 파일 클릭하면 자동실행 파일 새로 만들기, 열기, 저장, 되돌리기, 인쇄 편집 입력 취소, 다시 실행, 잘라내기, 복사, 붙여넣기, 삭제 보기 도구 모음, 상태표시줄, 전체화면, 강조 모드 검색 찾기, 바꾸기, 줄로 이동 도구 맞춥법 검사, 오타가 있는 단어 강조, 언어 설정, 문서 통계 문서 모두 저장, 모두 닫기, 새 탭 그롭, 이전 문서 1.2 모듈 프로그램 • 단일 모듈 프로그램 코드의 재사용(reuse)이 어렵고, 여러 사람이 ..
[SWEA] 10912/9229
2020. 11. 11. 14:11
알고리즘
#10912 : 외로운 문자 [코드] [코드설명] ① main 테스트케이스를 TC에 받고, TC만큼 실행을 반복한다. scanf를 사용한 후 버퍼를 비우기 위해 getchar()를 사용했다. 소문자 개수를 세기 위해 만든 alpha 배열의 값을 모두 0으로 바꾼다. getchar()로 입력한 문자를 한 개씩 가져와 c에 저장한 후 alpha[c-'a']의 값을 1증가시켜서 소문자의 개수를 센다. count 변수를 0으로 만들어 준 후 alpha 배열의 값이 짝수이면 count를 1증가시키고, 홀수이면 i에 'a'를 더해서 현재 인덱에 해당하는 소문자 알파벳을 putchar()로 출력한다. for문이 끝나면 count가 26인지 확인해서 참이면 Good을 출력한다. [실행결과] #9229 : 한빈이와 Sp..
[2020-2 리눅스 이론] 6주차
2020. 11. 8. 14:44
Study/LINUX
[ 2020 2학기 / 6주차 ] 제10장 BASH 스크립트 1. BASH 쉘 소개 Bash(Borune-again shell) -리눅스, 맥 OS X 등의 운영 체제의 기본 쉘 -시작파일(start-up file) /etcprofile 전체 사용자에게 적용되는 환경 설정, 시작 프로그램 지정 /etc/bashrc 전체 사용자에게 적용되는 별명과 함수들을 정의 ~/.bash_profile 각 사용자를 위한 환경을 설정, 시작 프로그램 지정 ~/.bashrc 각 사용자를 위한 별명과 함수들을 정의 Bash 시작 과정 2. 별명 및 히스토리 기능 2.1 별명 $ alias 단어=스트링 : 스트링이 나타내는 기존 명령에 대해 새로운 단어를 별명으로 정의 예) $ alias dir=‘ls –aF’ $ dir 2..
[SWEA] 10059/9700
2020. 11. 6. 00:56
알고리즘
#10059 : 유효기간 [코드] [코드설명] ① main 테스트케이스를 TC에 입력 받고, getchar()로 버퍼를 비운다(두 번째 for문에서 getchar가 '\n'을 입력 받지 않게 하기 위해). for문에서 유효기간 확인 코드를 TC만큼 반복한다. getchar()로 유효기간을 date[i]에 입력 받고, '0'을 빼줘서 해당 숫자로 만든다. for문이 끝나면 getchar()로 버퍼를 비운다(첫 번째 for문이 다음 반복으로 넘어갈 때 두 번째 for문에서 getchar()가 '\n'을 입력 받지 않게 하기 위해). ② expiration_date n에 date의 맨 앞 두 자리 수를 계산하여 대입한다. n이 1≤n≤12이면 if문을 실행하고, 그렇지 않으면 else문을 실행한다. if문에서..
[2020-2 리눅스 이론] 5주차
2020. 10. 31. 22:26
Study/LINUX
[ 2020 2학기 / 5주차 ] 1. 파일 속성으로 파일 찾기 1.1 find 명령어 $ find 디렉터리 [-옵션] : 파일 이름 또는 속성을 사용해서 해당 파일을 찾는 명령어다. 1.2 find 명령어 검색 조건 검색 조건 및 처리 방법 설명 -name 파일이름 파일 이름으로 찾는다. -atime + n 접근 시간이 n일 이전인 파일을 찾는다. -atime - n 접근 시간이 n일 이내인 파일을 찾는다. -mtime +n n일 이전에 변경된 파일을 찾는다. -mtime -n n일 이내에 변경된 파일을 찾는다. -perm nnn 파일 권한이 nnn인 파일을 찾는다. -type x 파일 종류가 x인 파일들을 찾는다. -size n 사이즈가 n이상인 파일들을 찾는다. -links n n 링크된 개수가 n..
[2020-2 리눅스 실습] 5주차
2020. 10. 31. 22:26
Study/LINUX
[ 2020 2학기 / 5주차 ] 1. grep 명령어 실습 1.1 grep 명령어를 이용하여 /etc/services 파일에서 tcp 서비스들 을 찾아 그 개수를 출력하시오. 1.2 grep 명령어를 이용하여 /etc/services 파일에서 tcp 서비스들 을 찾아 이를 sort 명령어를 이용하여 정렬하고 그 결과를 파일에 저장하시오.(파일명: sort.txt) 2. sort 명령어 실습 /etc/passwd 파일은 계정 정보를 저장하는 파일로 각 계정 정보 는 다음과 같은 구조로 저장된다. 계정명:패스워드:UID:GID:계정설명:홈 디렉터리:로그인 쉘 2.1 이 파일을 계정명의 오름차순으로 정렬하여 파일에 저장한다.(파일명: passwd.sort1) 2.2 이 파일을 계정명의 내림차순으로 정렬하여 ..
[bWAPP] Broken Auth. - Insecure Login Forms/Robots File
2020. 10. 31. 20:28
Study/Web Hacking
Quest. 소스코드를 잘 살펴보면 로그인 할 수 있는 정보가 있습니다. 아이디와 비밀번호를 알아내어 접속해보세요. [level low] 소스코드를 확인해보니 ID는 tonystark, PASSWORD는 I am Iron Man인 것을 알 수 있었다. [level medium] 위 코드에서 로그인이 서버가 아니라 unlock_secret() 함수에서 처리되는 걸 알 수 있다. 변수 bWAPP에 "bash update killed my shells!" 문자열이 담겨 있다. charAt()함수는 인자로 주어진 인덱스에 해당하는 문자를 반환해준다. 따라서 secret은 각 변수가 어떤 인덱스의 값을 받았는지 charAt()의 반환값을 알아내서 조합해야 한다. console창에 secret선언 부분 코드를 복사..
[SWEA] 9317/10804
2020. 10. 31. 19:17
알고리즘
#9317 : 석찬이의 받아쓰기 [코드] [코드설명] ① main 테스트케이스를 TC에 받고, for문으로 TC만큼 실행을 반복한다. N과 입력해야 할 문자열, 입력하는 문자열을 각각 N, s1, s2에 받는다.테스트케이스와 받아쓰기에서 틀린 개수를 출력한다. ② wrong_count 받아쓰기에서 틀린 개수를 저장할 변수 count를 0으로 초기화한다. for문에서 i 가 0에서 n-1까지 증가하고, s1[i]와 s2[i]를 비교해서 둘이 다르면 count가 증가한다.for문이 끝나면 n-count를 반환한다. [실행결과] #10804 : 문자열의 거울상 [코드] [코드설명] ① main 테스트케이스를 TC에 받고, for문으로 TC만큼 실행을 반복한다. s 배열에 b, d, p, q로 이루어진 문자열을..