반응형

분류 전체보기 429

[오픈소스소프트웨어] 쉘 임베딩

명령행에서 새로운 쉘(embedded shell)을 실행시킬 수 있습니다.  $()을 사용하는 방법  이전 쉘 명령(shell history)!!직전 명령을 다시 실행 !patternpattern에 매칭되는 이전 명령을 다시 실행 history-현재까지 사용한 명령들을 표시함-공백을 먼저 입력하고 명령을 사용하면 history에 저장되지 않는다. !번호이전 명령들 중에서 번호에 해당하는   파일 이름 확장(file globbing)aterisk(*)는 글자가 없거나 하나 이상의 임의의 글자를 나타냄 물음표(?)는 임의의 한 글자를 나타냄 $ls File*이렇게 하면 File로 시작하는 어느 문자나 와도 된다는 것입니다.  $ ls *dat이것은 반대로 dat로 끝나는 파일을 찾는 것입니다. $ ls Fi..

[오픈소스소프트웨어] 쉘 변수

쉘에서 사용하는 변수로 $ 문자를 사용하여 그 값을 설정합니다. 쉘 변수는 대소문자를 구분하며 쉘에서 쌍따음표를 상ㅇ하면 그 안의 스트링을 쉘이 해석합니다. 단 따음표는 그 내부를 해석하지 않습니다. 모든 변수들의 값을 확인하려면 'set'을 사용하고 변수를 삭제하려면 'unset'을 사용합니다. 이렇게 $shell 이라는 부분이 /bin/bash 로 바뀌어 있습니다. 이렇게 정의한 적은 없지만 default로 이렇게 정의되어 있는 것입니다.     리눅스의 주요 변수HOSTNAME호스트 컴퓨터의 이름 USER현재 사용자의 이름 UID현재 사용자의 사용자 식별 번호(User IDentifier) SHELL현재 사용중인 셀 HOME현재 사용자의 홈 디렉토리 PS1쉘 프롬프트 형태를 지정-$echo $ps1..

[컴퓨터네트워크 3.1] 프로토콜 레이어링과 데이터

Encapsulation상위계층에서 데이터를 수신해서 하위계층으로 보내기 전에 필요한 헤더들을 추가시키고 그 헤더가 추가된 새로운 데이터 유닛을 하위계층으로 전달하게 됩니다.  하위계층으로 데이터를 전달하기 전에 처리를 필요한 데이터를 헤더에 추가하고 하위계층을 전달하는 과정을 encapsulation이라고 합니다.  출발지에서 어플리케이션이 메세지를 생성할 때 응용계층에서의 데이터 유닛은 메세지라는 용어를 통해서 정의를 할 수 있습니다. 메세지를 생성해서 전달하기 위해서 하위계층으로 전달하면 하위계층은 전송 계층이 여러가지 기능들이 있고 그 기능을 지원하기 위해 응용계층 앞에 전송계층 헤더를 추가시킵니다. 그래서 메세지에 전송계층 헤더가 추가된 데이터 유닛을 segment라고 정의를 합니다.  따라서 ..

[컴퓨터네트워크 part3-1] 프로토콜 계층

네트워크 구조를 체계화 시켜서 설명할 방법에 대해서 간단한 예를 통해서 살펴보겠습니다. 계층화 (layering)실제 시스템을 구성하는 구성요소를 명확하게 파악할 수 있으며 이 관계도 훨씬 더 명확하게 파악할 수 있습니다. 이러한 계층화를 계층화된 참조 모델로 정의를 해서 복잡한 시스템을 설명을 할 수 있습니다.  유지관리의 부분에서도 용이한데요. 시스템을 업그레이드 하거나 그룹화할 때 해당되는 계층만 구현을 해주면 되기 때문에 어떠한 유지관리나 업그레이드의 관점에서 상당히 좋은 장점이 있습니다.  인터넷의 계층을 살펴보면 다섯개의 계층으로 볼 수 있습니다. applicationtransportnetworklinkphysical이 다섯개의 계층이 인터넷 프로토콜 스택이고 얘기하며 TCP/IP Protoc..

[컴퓨터네트워크 part3-1] 인터넷에서의 지연과 경로

Traceroute program경로를 파악하면서 지연을 측정하는 도구를 제공하는 것이 Traceroute라고 합니다. traceroute가 동작하는 원리를 설명하자면 목적지로 여러번의 패킷을 전송합니다. 각각의 패킷을 따라서 중간 경로에서 라우터가 출발치로 응답을 보냄으로써 도착하는 시간을 측정하면 중간 경로에서 지연을 측정할 수 있습니다. 첫 번째 패킷은 첫 번째 라우터에 도착하고 출발지쪽으로 응답을 보냅니다. 그러면 출발지는 자신이 패킷을 보냈을 때부터 응답했을 때 시간을 측정하면 그곳에서의 지연이 됩니다. 지연을 조금 더 정확하게 측정하기 위해서 세 개의 패킷을 목적지로 전달하기 됩니다. 첫 번째 세개의 패킷을 전달하면 경로상에서의 첫 번째 라우터가 출발지로 응답을 되돌려 보냅니다. 그리고 출발지..

[자료구조] c++ 주소록 프로그램

C++의 단어 쪼개기#include #include #include #include using namespace std;int main(){ string line; while (getline(cin, line)) { cout tokens = split_line(line, ' '); for (string str : tokens) cout split_line(string& line, char delimiter) { vector tokens; stringstream sstream(line); string str; while (getline(sstream, str, delimiter)) tokens.push_back(str); return tokens;}string vector를 만들어서 저장을 한..

vector에서 원소의 삽입과 삭제

vector 원소 삽입 삭제vector의 맨 뒤에 원소를 삽입할 때는 push_back을 사용합니다. 맨 마지막 원소를 삭제할 때는 pop_back을 사용합니다. 그럼 맨 앞이나 혹은 가운데 삽입할 때는 어떻게 해야 할까요?#include #include #include using namespace std;int main() { vector sentence{"how", "is", "programming"}; //First try sentence[1] = "fun"; for (auto word : sentence) cout sentence2{ "how", "is", "programming" }; sentence.at(3) = sentence2.at(2); //인덱스 연산자 [] 대신 at을 쓰면 ind..

쉘 확장

쉘 확장사용자가 입력한 명령행을 리눅스의 쉘이 해석하는 과정으로 사용자가 입력한 명령행은 쉘 확장 과정을 거쳐 쉘에 의해 실행됩니다. $cd; touch test42 && echo it worked || echo it failed이런 식으로 사용됩니다. bash리눅스에서 가장 널리 사용되는 셀로 기존의 sh에서 csh와 ksh의 장점을 추가한 것입니다.  명령 인자(command argument)$echo Hello world!echo명령이 사용된 예시로 인자로 전달되는 텍스트를 화면에 출력해주는 역할을 합니다. 인자들의 공백문자는 모두 제거되며 따음표 또는 쌍따음표로 묶인 문자열은 단일한 인자로 처리되며 내부의 공백도 그대로 유지됩니다.  이렇게 -e를 주고 하면 \n을 인식해서 처리해주는 모습을 볼 ..

Linux 파일

리눅스는 파일명에서 대소문자를 구분하며 디렉토리도 파일의 한 종류로 보고 하드웨어 장치도 파일처럼 다룰 수 있습니다.  파일 관리 명령file파일의 종류를 알려줍니다. touch파일의 시간 속성을 변경합니다. 존재하지 않는 파일에 대해서는 empty를 생성합니다. rmrm-i : 각 파일에 대해 대화형으로 사용자에게 묻고 파일 삭제를 수행rm-rf : -r은 recursive하게 하위 디렉토리들도 삭제하라는 의미, -f는 디렉토리 내에 파일이 존재하더라도 삭제cpcp-r : recursive(재귀적으로) 하위 디렉토리를 그 안에 파일도 복사cp-i : 대화형으로 복사 실행mv파일을 이동합니다.rename정규식을 사용하여 파일 이름을 변경 가능합니다. 리눅스 실습시간을 바꿔주는 함수지만 파일이 존재하지 않..

리눅스 ls 명령, 디렉토리 추가 및 삭제 명령

ls 명령디렉토리의 내용을 보여주는 명령입니다. ls-a : 감춰진 파일을 포함한 모든 파일을 보여줍니다.ls -l : 각 파일의 정보를 상세하게 보여줍니다.. 과 .. 은 항상 존재하는 파일입니다.  디렉토리 생성 및 삭제mkdirmake directory의 약자입니다. 주어진 이름으로 디렉토리를 생성합니다. mkdir -p는 부모 디렉토리를 포함하여 디렉토리를 생성합니다.rmdir주어진 이름으로 디렉토리를 삭제합니다(remove) 의 약자입니다.

반응형