반응형

분류 전체보기 661

리눅스 파일의 종류와 권한 Linux File

개요리눅스에서 파일의 종류에 대해 학습한다.리눅스는 모든 것을 파일로 관리한다.  리눅스 파일의 종류Reguler File일반 파일 Directory File리눅스 커널 내부에서는, 디렉토리도 파일로 취급 Link File윈도우의 바로가기와 비슷한 파일 Device File새로운 장치 (마우스 등) 연결하면, 상징물과 같은 파일이 하나 생긴다.이 파일을 건드리면, 장치를 제어할 수 있다.  파일 종류 확인하기ls –al 명령어로 확인할 수 있다cd /, ls –al를 순차적으로 명령어로 입력하면 root에 존재하는 파일 정보를 확인할 수 있다.  가장 앞 한 글자를 확인해 주면 해당 파일의 종류를 알 수 있다.- : regular filed : directory filel : link filec, b :..

리눅스 사용자 그룹 Linux Group

개요User를 생성하면 그룹이 함께 생성된다. 해당 그룹엔 자기 자신만이 속해있다. 리눅스에서는 Group 단위로, 권한을 단체 설정하기 위해 Group을 사용한다.특정 Group만 읽고 쓸 수 있는 파일 설정 가능특정 Group만 쓸 수 있는 디렉토리 설정 가능특정 Group만 실행 시킬 수 있는 프로그램 설정 가능실제 회사에서도 이런 방식으로 부서별 그룹을 지정한다.회사 부서별 (그룹별) 파일 접속, 디렉토리 접속 권한을 달리 부여함타 부서 파일을 읽지 못하도록 그룹 별 권한 설정 가능  group 확인하기inho 사용자를 추가하고 해당 사용자가 속한 그룹을 확인해 보자groups [계정명] 명령어를 통해 특정 user가 소속된 그룹을 확인할 수 있다.  inho를 사용자로 추가하였고, inho가 속..

리눅스 사용자 Linux User

개요다중 사용자 시스템에 대한 이해와 사용자 추가와 권한에 대한 내용을 다뤄본다.  Host네트워크에서 Host는 컴퓨터 주인을 뜻할까? 정답은 X이다.네트워크에 연결되어 있는 장치, 컴퓨터를 Host 라고 한다. 리눅스는 다중 사용자 시스템으로 설계 되었다.한 컴퓨터를 여러 명이서 사용하게 되며, 이러한 특징이 서버용 OS로 많이 사용되는 이유이다. 네트워크에 연결된 한 컴퓨터 개념으로 리눅스가 설치된 컴퓨터 한 대를 Host 라고 부른다. 다중 사용자 시스템리눅스던 윈도우던 여러 사용자가 하나의 PC를 사용할 수 있다. 가족이 전체 쓰는 컴퓨터의 경우 사용자를 나누어 각자 계정으로 로그인 가능하다는 것을 알 것이다.이런 경우 주인이 없으면 안되기 때문에 관리자 지정 필요하다.공용 프로그램들 설치 / ..

리눅스 터미널 Linux Terminal

개요터미널은 컴퓨터에 접속하기 위한 Text 기반 장치이다.과거 터미널은 H/W 였으며, 현재는 H/W 였던 터미널이 남아, S/W 로 구현된 것이다.H/W 였던 그 시절과 마찬가지로 사용자는 터미널을 이용해 명령을 내린다. 터미널 or 콘솔이라고 부른다.터미널 창을 통해 컴퓨터에 명령을 내린다. 동작 과정사용자가 터미널 창을 열어 명령어를 입력한다입력된 명령어는 터미널을 통해 Shell 로 전달된다.Shell에서 커널로 해당 내용을 전달하고 커널이 쉘에 요청에 대한 반환을 한다.쉘을 통해 터미널로 사용자가 정의한 방향에 맞추어 반환을 해주고사용자가 명령에 대한 결과를 받게 된다. 터미널 에뮬레이터GUI 환경에서 훨씬 사용하기 편한 Terminator 에뮬레이터가 있다.sudo apt install te..

[G3] 백준 1005번 ACM Craft C++ 위상 정렬

리뷰 위상 정렬을 통해 가중치가 있는 간선을 갖고 특정 노드의 최소값을 구하는 문제https://www.acmicpc.net/problem/1005 문제 풀이테스트 케이스의 개수 tc, 노드의 개수 n, 간선의 개수 m, 목표 노드 dest를 전역변수로 초기화 해준다.인접 리스트를 담을 정수형 벡터 path, 각 노드의 소요시간 정보 times의 크기를 n의 최대값으로 설정해 준다.init 함수를 통해 times 배열 초기화, path 백터를 초기화 해준다.input 함수를 통해 n, m값과 각 노드의 소요시간, 간선정보, 목표 노드를 입력 받는다.solution 함수를 통해 dest 노드가 건설이 완료 되기까지의 최소 시간을 출력해 준다.cnt, sum 벡터를 n + 1 크기로, 초기값은 0으로 초기화..

[G3] 백준 2252번 줄 세우기 C++ 위상 정렬

리뷰 위상 정렬의 가장 기본이 되는 문제https://www.acmicpc.net/problem/2252 문제 풀이n, m과 정수형 벡터 path를 n의 최대 크기인 32001로 전역 변수로 초기화 해준다.input 함수를 통해 n, m값을 받고 m개의 키 정보를 받아 path 벡터에 연결 리스트를 추가해 준다.solution 함수를 통해 위상 정렬을 수행해 준다, 정수형 벡터 cnt를 n + 1크기, 0으로 초기화 result를 초기화 해준다.1 ~ n을 탐색하여 i번째 path를 탐색하여 인접리스트에 저장된 노드의 cnt를 늘려준다.정수형 큐 q를 초기화 하고 1 ~ n을 탐색하여 만약 cnt가 0인 키 정보가 있다면 큐에 추가해 준다.큐가 빌때까지 while 루프를 돌며 현재 키를 result에 추..

[S4] 백준 14911번 궁합 쌍 찾기 C++ 브루트포스 알고리즘, 정렬, Hash

리뷰 5달만에 다시 찾아와 깨부신 문제 파이썬에 비해 입력을 처리하는데 시간이 더 쓰인거 같다.https://www.acmicpc.net/problem/14911 문제 풀이정수형 벡터 lst를 초기화 해주고 getline을 통해 첫 줄을 문자열로 받아와 준 뒤 두번째 줄은 정수 l에 저장해 준다.문자열 s를 stringstream타입 ss로 변환해 주고, 공백을 기준으로 문자를 뽑아 정수형으로 변환 시킨다.변환시킨 정수를 lst에 넣어준 뒤 length변수에 lst의 사이즈를 구해준다.lst를 오름차순으로 정렬시킨 후 length!번의 브루트포스 알고리즘을 실행해 준다.만약 lst[i] + lst[j]가 l과 같다면 set에 해당 숫자 쌍을 추가해 준다.브루트포스가 끝나면 ans에 저장된 숫자 쌍을 모두..

[S4] 백준 26596번 황금 칵테일 C++ 해시를 사용한 집합과 맵

리뷰 5달만에 다시 덤볐으나 문제 조건을 제대로 읽지 않아 또 져버렸다... https://www.acmicpc.net/problem/26596 문제 풀이재료의 개수 m과 황금 비율을 비교할 gold_rate를 1.618로, 문자열, 정수로 이루어진 맵 dic를 초기화 해준다.m값을 입력 받고 m만큼 루프를 돈 뒤 재료명과 값을 입력받아 재료명을 키로 갖는 맵에 값을 더해준다.flag를 0으로 초기화 해주고 맵을 두개로 나누어 순회하며 특정 재료의 값 * 황금비율이 다른 재료의 값과 동일한지 찾아준다. 이때 재료가 동일한 경우에는 황금 비율로 인정하지 않는다.만약 황금 비율을 찾았다면 flag를 1로 변경한 후 break 처리를 해준다.flag가 1인 경우 Delicious! 를, 아닐 경우 Not De..

[S3] 백준 9017번 크로스 컨트리 C++ 구현

리뷰 10달만의 복수를 완료하였다, 확실히 10달 전보단 문제를 보는 시각이 많이 늘어난 것 같다.https://www.acmicpc.net/problem/9017 문제 풀이참여자의 수 n과 등수 정보 배열 lst, 팀 정보 구조체 Team과 해당 배열 teams를 전역 변수로 초기화 해준다.init 함수를 통해 팀 정보 teams 배열을 각 테스트 케이스 마다 초기화 해준다.input 함수를 통해 n값을 받고, 특정 팀이 들어온 등수와 팀의 총원, 5번째로 들어온 등수를 기록해 준다.solution함수를 통해 각 팀의 점수를 비교하여 가장 등수가 낮은 팀을 찾아준다.점수를 1부터 시작하여 팀의 총원이 6명이 이상인 경우만 등수를 기록해 준다.각 팀을 순회하며 총원이 6명 이상인 팀만 상위 4명의 등수를..

리눅스 vi Linux Visual Editor

개요40년 전 만들어진 화면 기반 Text Editor리눅스 에디터의 전통이며, 임베디드 리눅스에서 주로 사용한다.vim(vi improve)을 사용할 것이다, vs code의 원조, 플러그인 설치 가능하도록 vi 의 업그레이드 판 우분투에는 기본적으로 텍스트 편집기로 vi가 제공되며, 시스템의 효율성과 경량성을 고려해 small version이 설치되어 있다.vi 버전 확인하기 $vi -- version Small version이 설치되어 있는 것을 볼 수 있다. vim 설치$ sudo apt install vim -y 위 명령어를 터미널에 입력하고 암호를 입력하면 패키지가 자동으로 설치가 된다.  Huge 버전으로 바뀐것을 볼 수 있다. vi 사용하기vi [파일명] 을 통해 vi를 실행해 준다 ex)..

728x90
반응형