분류 전체보기

개발 기록/LINUX

[LINUX] 리눅스의 파일 관리 | ownership, permission 변경 | 전공역량강화

리눅스 파일의 특성 (대부분의 특성이 윈도우 파일과 다르다.) 확장자가 의미를 가지지 않는다. (원래 .txt , .exe , .mp4 등의 확장자는 파일의 내용이 어떤 종류인지를 의미한다.) 대소문자를 구분한다. (윈도우의 cmd에서는 대소문자 구분을 하지 않는다.) 소유권(ownership)과 허가권(permission)을 가진다. (이는 사실 윈도우에도 있는 특징이다.) 아래에서 예제를 통해 진짜인지 확인해보겠다. js.txt 파일에서 .txt는 종류를 나타내는 것이 아닌 그저 이름일 뿐이다. 참고) touch는 파일을 생성하는 명령어이다. file 명령어를 사용하면 그 파일의 종류를 확인할 수 있다. 보다시피 js.txt 파일은 빈 파일이다. 리눅스 파일의 종류 디렉토리 파일 (디렉토리는 정확히 ..

개발 기록/LINUX

[LINUX] 리눅스의 절대경로, 상대경로 | pwd, cd, cd -, cd ~, mkdir, rmdir, rm | 전공역량강화

경로 : 특정 파일(디렉토리)의 트리 구조에서의 위치 절대경로 : /로 시작하는 경로 상대경로 : 사용자의 현재 위치 기준으로 하는 경로 . : 현재 디렉토리 .. : 상위 디렉토리 /home/worker1 /f1 (현재 위치) - /home/worker1/f1 - f1 pwd : 현재 작업 디렉토리를 보여주는 명령어 (옵션도 없고, 인수도 없다) cd : change directory의 약어로, 현재 위치의 디렉토리 이동 ls : list contents of directory의 약어로, 디렉토리의 목록 출력 cd /tmp : tmp 디렉토리로 이동 cd .. : 지금 위치의 상위 디렉토리로 이동 cd : 작성하면 사용자의 홈 디렉토리로 이동한다. cd - : 지금 있는 경로의 전에 있던 경로로 이동한..

개발 기록/LINUX

[LINUX] 리눅스의 디렉토리, 파일 관리 | usr, home, root, etc, tmp, var | 전공역량강화

디렉토리 구조 (tree : 많은 파일을 쉽게 분류하고, 빠르게 접근하기 위해 사용) / : 최상위 노드 /usr : unix system resource의 약자, 명령어 실행 파일 /usr/bin (binary, *.exe) (exe 실행 파일은 보통 바이너리 파일이라고 칭한다.) /usr/sbin (superuser binary) : 관리자용 명령어 /usr/lib (library) : 공용 라이브러리 /usr/lib64 (library, 위와 같음) : 공용 라이브러리 /home : 사용자 계정의 홈 디렉토리 ( C:\Users\daram ) --> /home/daram /root : root 사용자의 홈 디렉토리 /etc : 시스템 관련 설정 파일 /etc/sudoers /etc/passwd /e..

개발 기록/LINUX

[LINUX] 리눅스 명령어 2 | shutdown, poweroff, reboot, -h, -r, -c, -ff | 전공역량강화

서버는 운영체제 종료와 파워 종료가 따로 이루어져있다. 그래서 보통 OS를 종료한 후 버튼을 눌러 서버 컴퓨터의 파워를 꺼야 한다. 시스템 종료 명령어 shutdown -h -h : halt (종료) ( OS 종료, 전원 on ) = poweroff -r : reboot (재부팅) = reboot # shutdown -r 0 # shutdown -r now # shutdown -r +10 맨 끝에 시간은 grace period : 우아한 시간(저장하고 종료할 때까지 기다리는 시간, 기본 60초) +10은 10분 후 # shutdown -c -c는 cancel로, 종료 명령 취소 #poweroff -ff #reboot -ff -ff는 강제종료 (서버가 행 걸렸을때(응답이 없을 때) 하는 최후의 수단, 정상..

개발 기록/LINUX

[LINUX] 리눅스 명령어 su, sudo | 전공역량강화

su는 switch user를 줄인 것으로, 사용자 전환을 의미한다. sudo는 switch user do를 줄인 것으로, 사용자를 전환하여 실행하는 것을 의미한다. su의 장점은 사용자 전환 이후에 exit하기 전까지 사용자 권한을 유지한다는 것이다. su의 단점은 사전에 사용자에게 root의 암호를 공지해야 된다는 것이다. (보안 취약점이 된다.) 사용자 -> root / 사용자 -> 사용자 전환 시 로그인 필요 root -> 사용자 전환 시 로그인 필요 X sudo의 장점은 다른 사용자의 권한으로 명령어 하나를 실행할 수 있다는 것이다. 또한 root가 사전에 허락한 사용자만 sudo를 사용할 수 있다. (sudo를 위한 일반 사용자의 비밀번호를 입력하면, 5분간 캐싱되어 비밀번호를 입력하지 않아도..

개발 기록/LINUX

[LINUX] 리눅스 명령어 1 | ls, ls -al, cd, cp, man, su - root, useradd, userdel, usermod, id | 전공역량강화

prompt(프롬프트)는 입력하다라는 뜻인데, 명령어를 적는 곳이다. 위에서 worker1@worker1 이라는 텍스트가 있는데, 사용자이름@호스트네임(내 컴퓨터의 이름) 을 의미한다. 리눅스(worker1) --> 홈 디렉토리 (사용자 계정이 로그인 시 처음 위치하는 디렉토리) 명령어 라인에 입력할 수 있는 것 1. 명령어 (command) (명령) 2. 옵션 (option) (선택적) 3. 인수 (argument) (입력해줄 부가 정보) 리눅스에는 명령어를 단독으로 사용하는 경우, 명령어와 옵션을 사용하는 경우, 명령어와 옵션과 인수를 같이 사용하는 경우가 있다. ls는 list의 약자로, 목록을 보여달라는 명령어이다. 현재 디렉토리의 아래에 있는 것들을 보여준다. cd 는 change directo..

청춘 기록/수필

스타트업과 비즈니스 모델(BM) | 스타트업의 실패 이유

사업 모형이라고도 하는 비즈니스 모델(BM, Business Model)의 사전적 정의를 보면 "기업 업무, 제품 및 서비스의 전달 방법, 이윤을 창출하는 방법을 나타낸 모형. 기업이 지속적으로 이윤을 창출하기 위해 제품 및 서비스를 생산하고, 관리하며, 판매하는 방법. 또, 서비스를 소비자에게 어떻게 제공하고 마케팅하며, 돈을 벌 것인지 계획한 사업 아이디어"를 뜻한다. 말 그대로, 지속적 이윤 창출을 위한 수익 구조이다. 이 비즈니스 모델(BM)은 수익을 찾는 것만이 아닌, 기업의 '가치'를 발굴하는 것이라고도 할 수 있다. 또한 스타트업은 반복적이고 확장 가능한 비즈니스 모델을 찾아내기 위해 만들어진 조직을 의미한다. 여기서 반복적, 확장 가능한 것이 스타트업 비즈니스 모델의 핵심이다. 이 스타트업..

개발 기록/C Language

[C언어] 토끼와 닭의 다리 수와 전체 마리 수 문제

토끼의 다리 수 4개, 닭의 다리 수 2개 토끼와 닭의 전체 다리 수와 전체 마리 수를 입력 받을 때, 토끼와 닭이 각각 몇 마리인지 구하는 문제 [입력예] 6 2 [출력예] 토끼 : 1, 닭 : 1 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int num, leg; int rabbit = 0, chicken = 0; scanf("%d %d", &leg, &num); while (num > 0) { if (leg - 4 >= 0) { rabbit++; num--; leg -= 4; } else if (leg - 2 >= 0) { chicken++; num--; leg -= 2; } } printf("토끼 : %d, 닭 : %d", rabbit,..

개발 기록/C Language

[C언어] 안쪽이 비어있는 사각형 만들기 | 별 출력 | for

#define _CRT_SECURE_NO_WARNINGS #include int main(void) { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if ((i == 0 || i == n - 1) || (j == 0 || j == n - 1)) printf("*"); else printf(" "); } printf("\n"); } return 0; }

개발 기록/C Language

[C언어] 안쪽이 비어있는 직각삼각형 만들기 | for , continue

#define _CRT_SECURE_NO_WARNINGS #include int main(void) { int n; printf("수 입력: "); scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j

개발 기록/C Language

[C언어] 정수를 입력받고, 입력된 각 정수의 개수 출력하기

1부터 10까지의 정수를 입력받는 중 입력된 정수가 범위를 벗어나면 그때까지 입력된 각 숫자의 개수를 작은 수부터 출력하는 프로그램을 작성 [입력 예] 5 6 10 6 3 0 [출력 예] 3 : 1개 5 : 1개 6 : 2개 10 : 1개 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int input; int range[11] = { 0, }; while (1) { scanf("%d", &input); if (input 10) break; range[input]++; } for (int i = 1; i

개발 기록/C Language

[C언어] 달리기 기록 파일 입력, 평균 파일 출력 | 파일 입출력 FILE IO

// 달리기 초 계산 평균 파일 출력 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { FILE* ifp = fopen("run.txt", "r"); // 파일 읽기 read FILE* ofp = fopen("result.txt", "w"); // 파일 쓰기 write char name[10]; double avg, n1, n2, n3; fscanf(ifp, "%s %lf %lf %lf", name, &n1, &n2, &n3); avg = (n1 + n2 + n3) / 3.0; fprintf(ofp, "%s %.lf\n", name, avg); fscanf(ifp, "%s %lf %lf %lf", name, &n1, &n2, &n3); avg = (n..

개발 기록/C Language

[C언어] 대소고 기말 평가 대비 코드 | 구조체, 미로 재귀 탐색, 소수

// 점을 표현하는 구조체 #define _CRT_SECURE_NO_WARNINGS #include typedef struct _p { int x; int y; }Point; struct Point { int x, y; }; int main(void) { struct Point p1, p2; // Point p1, p2; p1.x = 5; p1.y = 6; return 0; } #define _CRT_SECURE_NO_WARNINGS #include int m[9][9] = { // maze {2,2,2,2,2,2,2,2,2}, {2,0,0,0,0,0,0,0,2}, {2,0,2,2,0,2,2,0,2}, {2,0,2,0,0,2,0,0,2}, {2,0,2,0,2,0,2,0,2}, {2,0,0,0,0,0,2,..

청춘 기록/수필

10년 뒤, 20년 뒤, 30년 뒤

시간이 정말 빨리 흘러간다. 가끔 그런 생각을 한다. 우리의 삶이 이대로 계속되면 언젠가는 나와 가족도 늙어가고 내 삶에 대한 후회를 하겠지. 그게 무슨 후회일까. 너무 내 꿈에 닿으려 살다가 가족과 주변 사람들에게 소홀히 한 것에 대한 후회? 가족과 주변 사람들과 사랑을 나누며 지냈지만 꿈에 다가가지 않은 것에 대한 후회? 그게 무엇이 됐든, 10년 뒤의 나를 봤을 때, 20년 뒤의 나를 봤을 때, 30년 뒤의 나를 봤을 때, 그저 행복하면 좋겠다. 후회를 하더라도 지금 순간에 만족하며 살았으면 좋겠다. 날 감싸주었던 주변의 모든 이들이 내가 보답할 수 있게 여전히 그 자리에 있어주었으면 좋겠다. 그 나이에도 꿈에 닿으려 노력하기에 늦지 않았으면 좋겠다. 크나큰 욕심일지 모르지만, 난 행복을 향해 한 ..