본문 바로가기

전체 글49

[리눅스] 명령어 정리 - echo [텍스트 출력 명령 - echo] 전달된 인수들을 화면에 출력하는 명령이다. echo Hello World라고 사용하게 되면 문자열 "Hello"와 "World"를 공백을 기준으로 출력하게 된다. 형식 echo [ 옵션 ] [ 문자열 ] echo 명령은 기본적으로 인수로 전달된 문자열들을 출력하고 개행을 수행한다. 그러나 가끔은 개행을 하고 싶지 않을 수 도 있다. 이럴 때에는 -n 옵션을 사용한다. -n : 개행 문자를 출력하지 않는다. 그리고 -e 옵션은 문자열 중에서 백슬래쉬(\)와 조합되는 특수 문자들을 인식하여 작업을 수행하라는 옵션으로 아래와 같은 특수 문자들을 사용할 수 있다. \a 경보(alert, BEL) \b 백스페이스 \n 개행 \\ 백슬래쉬 문자 \t 탭 문자 -E 옵션은 -e 옵션.. 2020. 11. 12.
[리눅스] 명령어 정리 - ls [directory contents 조회 명령 - ls] directory contents를 조회하는 명령으로 파일 및 디렉토리 목록을 볼 수 있다. 형식 ls [ -option ] [ names ] ls 명령에서는 아래와 같은 옵션으로 더 다양한 기능을 활용할 수 있다. -1 해당 하나의 항목만 출력 -R 하위 디렉토리를 재귀적(Recursive)으로 출력 -a 숨김 파일을 포함해서 모든 항목 출력 -d 디렉토리 정보만 출력(-l 과 함께 사용) -F 해당 파일이 디렉토리인 경우, 파일 이름 뒤에 / 추가 실행 가능한 경우, 파일 이름 뒤에 * 추가 파일이 소켓인 경우, 파일 이름 뒤에 = 추가 파일이 FIFO인 경우, 파일 이름 뒤에 | 추가 기호 링크인 경우, 파일 이름 뒤에 @ 추가 -m 쉼표로 .. 2020. 11. 12.
[리눅스] 명령어 정리 - cal, clear [달력 출력 명령 - cal] 지정한 년도의 달력을 출력하는 명령이다. 형식 cal [ [ month ] year ] 특정 월을 지정하면 해당 월 및 앞뒤 한 달씩의 달력을 출력한다. 만약 년, 월을 모두 지정하지 않는다면 현재 월의 달력을 출력한다. 아래와 같이 사용할 수 있다. $ cal # 현재 달력(2020.11) 출력 $ cal 10 2020 # 2020년 10월 달력 출력 위 예제를 직접 터미널에 타이핑 하게 되면 아래와 같은 결과를 볼 수 있다. [화면지움 명령 - clear] 현재 사용중인 터미널 화면을 지우는 명령이다. 지금까지 출력된 화면들을 지워 최상단에 $만 보이도록 설정한다. 형식 clear 사용하게 되면 위와 같이 cal 명령을 실행한 결과들이 모두 사라진다. 2020. 11. 12.
[리눅스] 명령어 정리 - date [현재 시간 출력 명령 - date] 년, 월, 일 시간을 출력하는 명령이며 출력형식을 변경할 수 있다. super user의 경우에는 시스템 날짜와 시간을 변경시킬 수 있다. 형식 date [+ format] date [mmddhhmm [yy] ] format : 형식을 지정하기 위한 문자열 '+ %m/%d/%y %H:%M' 과 같이 사용할 경우 '11/11/20 17:11'과 같이 출력 됨. mmddhhmm : 월, 일, 시간, 분을 나타내는 8자리 숫자로 super user가 시스템 날짜와 시간을 변경할 때 사용 yy : 년도의 마지막 두자리로 super user가 시스템 날짜와 시간을 변경할 때 사용 출력 포맷 지정을 위한 특수 문자는 아래와 같다. %a abbreviated weekday ( S.. 2020. 11. 11.
[백준BOJ 1152번] 단어의 개수 해설 [문제 내용] 아래 링크로 설명을 대신한다. https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net [해답 코드 및 설명] #include int main() { int bc, c, wc=0; c=getchar(); bc=c; while((c=getchar())!='\0'&&c!='\n') { if(c==' ')wc++; bc=c; } if(bc==' ')wc--; printf("%d", wc+1); } 이 문제에서 가장 핵심이 되는 포인트는 띄어.. 2020. 11. 11.
[백준BOJ 1008번] A/B 해설 [문제 내용] 아래 링크로 설명을 대신한다. https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net [해답 코드 및 설명] #include int main() { double a,b; scanf("%lf %lf",&a,&b); printf("%.9lf", a/b); return 0; } A+B, A-B 문제와 유사하게 2개의 값을 입력 받아 먼저 입력 받은 수를 뒤에 입력 받은 수로 나눈 결과를 출력하면 된다. 단 절대오차, 상대오차를 10^-9 이하로 하라는 조건이 있었기에 float 형이 아닌 double 형을 사용하고 소수점 아래 9자리까지 출력해주었다. 2020. 11. 11.
[백준BOJ 1001번] A-B 해설 [문제 내용] 아래 링크로 설명을 대신한다. https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net [해답 코드 및 설명] #include int main() { int a,b; scanf("%d %d",&a,&b); printf("%d", a-b); return 0; } 이 문제는 이전 번호(1000번)의 문제 "A+B"의 문제와 매우 유사하다. A+B의 문제에서 +를 -로 만들면 A-B문제의 해답이 되니 말이다. 그래도 설명하자면 두 변수 a와 b에 대해서 scanf() 함수를 통해 값을 입력받아서 먼저 입력 받은 a에 b를 뺀 값을 printf() 함수를 통해 출력.. 2020. 11. 11.
[리눅스] 명령어 기초 - 명령어 사용 방법 & 쉘 기호 & man 명령 리눅스에서는 Shell이라는 것이 있고 이 Shell을 통해서 여러 명령어들을 실행하여 리눅스 시스템을 사용할 수 있다. 이 글에서는 이러한 명령어에 대한 기초 지식을 다뤄보려고 한다. 1. 명령어의 사용 - 명령어 형식 $ 명령어 [옵션] [인수] Shell에서 실행되는 모든 명령어들은 위와 같은 형식으로 실행되게 된다. 모든 명령어는 선택적으로 옵션과 인수를 입력받는다. - 명령어는 대,소문자를 엄격하게 구분한다. 이러한 명령어들은 대, 소문자를 엄격하게 구분하는 데 그 이유는 간단하다. 이러한 명령어들이 그냥 프로그램명이기 때문이다.(물론 모든 명령들이 프로그램명이라는 것은 아니다. ) directory contents를 조회하는 명령인 'ls'를 기준으로 설명하자면 이 명령어는 Shell 프로그램.. 2020. 11. 10.
[C언어] 표준 입출력 - printf()와 scanf() 이 글에서는 이전 글에서 미처 살펴보지 못한 채 계속 사용하고 있던 printf()함수와 scanf()함수에 대해서 살펴보려고 한다. 먼저 printf()함수와 scanf()함수를 사용하기 전에 반드시 상단에 작성하는 코드 한 줄에 대해 언급하고 넘어가겠다. #include stdio.h라는 헤더 파일은 printf()함수와 scanf()함수에 대한 정의를 가지고 있는 헤더 파일로 stdio는 standard input output 의 약자로 표준 입출력에 대한 모든 내용을 포함하고 있는 헤더파일이다. 이 헤더파일 내에는 printf()함수와 scanf() 함수 외에 표준 입출력, 출력과 입력을 할 수 있는 많은 함수와 관련 변수들이 있지만 여기서는 가장 많이 사용되는 두 가지 함수, printf()함수.. 2020. 11. 10.
[백준BOJ 1000번] A+B 해설 [문제 내용] 아래 링크로 설명을 대신한다. https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net [해답 코드 및 설명] #include int main() { int a,b; scanf("%d %d",&a,&b); printf("%d", a+b); return 0; } 매우 간단한 코드라 사실 설명할 게 거의 없다. 변수 a,b에 값을 입력 받아 이 두 변수의 값을 더한 값을 출력한다. 2020. 11. 10.
[리눅스] 심플하게 구현하는 echo 명령어(command) 이 글에서는 인자로 받은 값들을 그대로 출력하는 echo 명령의 아주 간단한 형태를 같이 구현해보려고 한다. 여기서 구현하려는 echo 명령이 가지는 단 한 가지 기능은 아래와 같다. - 인자로 받은 모든 값들을 공백을 기준으로 출력한다. 그리고 이러한 기능을 구현하기 위해서 알아야 할 것은 main() 함수로 전해지는 매개변수이다. main()로 전해지는 매개변수에는 두 가지가 있는데 하나는 프로그램을 실행할 때 입력한 인수의 개수이고 또 다른 하나는 그 인수들의 값이다. 인수의 개수는 int형으로, 그리고 인수들의 값(문자열)은 2차원 포인터 혹은 포인터 배열로 전해진다. 즉 main() 함수는 우리가 일반적으로 사용하던 main(void) 말고도 다음과 같이 사용할 수 있다. int main(int.. 2020. 11. 7.
[리눅스] scandir() 함수를 이용하여 구현하는 ls 명령어(command) 여기서는 아주 간단한 형태의 ls 명령을 구현하려고 한다. ls라 함은 리눅스 환경에서 디렉토리(or 폴더)의 내용을 보는 명령을 의미한다. 그리고 이런 ls 명령의 아주 간단한 형태는 단순하게 내부에 있는 파일들/디렉토리들의 이름들을 공백을 기준으로 출력하는 것을 말한다. 먼저 scandir() 함수에 대한 소개를 먼저 하려고 한다. #include int scandir(const char *dirp, struct dirent ***namelist, int (*filter)(const struct dirent *), int (*compar)(const struct dirent **, const struct dirent **)); scandir() 함수는 인자로 dirp에 디렉토리 이름을 주면 해당 디렉.. 2020. 11. 6.
반응형