본문 바로가기

IT

리눅스 사용자 계정관리 / 그룹 계정관리 오늘은 학교에서 수업받은 내용들을 정리하는 김에 포스팅 하겠습니다. 문제 위주로 하나 하나 명령어를 설명하는 방식으로 설명해드리겠습니다. 1. 사용자 계정 userint 계정을 생성하는 수행과정 및 생성결과(grep 사용할 것) 캡쳐 사용자 계정을 생성하는 명령어는 useradd 라는 명령어입니다. useradd [옵션] [만들 계정 이름] 옵션 옵션 내용 -c 새로운 사용자의 설명을 추가 -d 새로운 사용자의 기본 디렉터리 위치를 지정 (기본은 /home/계정명 -e 지정된 날짜까지 계정을 사용 -u 사용자의 ID값 지정 -s 사용자의 로그인 쉘 지정 -g 사용자를 지정한 그룹에 추가하고자 할 경우 그리고 /etc/passwd 라는 파일에 계정 이름 : UID(User Id) : GID(group ID.. 더보기
[알고리즘 자료구조] 연결 리스트 (Linked List) 4. 환형 연결 리스트(Circular Linked List)의 개념 안녕하세요 이번 포스팅은 환형 연결 리스트(Circular Linked List)에 대해서 알아보겠습니다. 이번에는 코드 없이 설명만 하겠습니다. 사실 코드로 보여드리는 것만큼 확실한게 없지만, 저번에 포스팅한 단순 연결 리스트와 모습이 매우 비슷하기 때문에 생략하겠습니다. 환형 연결 리스트는 위에서 말했듯이 단순 연결 리스트와 매우 유사합니다. 단지 리스트에 tail가 없고 tail이 있을 자리를 head 다음의 값으로 대체한다는 점에서 차이가 생깁니다. 설명이 약간 부실한 느낌이 들지만 실제로 이게 다입니다. 환형 연결 리스트를 활용한 문제에는 요셉의 문제라고 있습니다. 인터넷에 흔하니 풀어보실 분은 한번 풀어보셔도 좋을듯 합니다. 더보기
JMP/JA/JB/JE 를 사용한 간단한 어셈블리어 예제 안녕하세요 오랫만에 포스팅인것같네요 ^^ 오늘은 JMP, JA, JB, JE를 사용해 아주 간단한 예제를 만들어보고 무슨 명령어인지 파악해보겠습니다. 우선 예제를 만들기 위해서 JMP JA JB JE에 대해서 알아봐야겠죠? JMP JA JB JE는 점프문으로 c언어에서 goto와 거의 같은 역활을 한다고 생각하시면 됩니다. 그런데 위 점프 명령어를 알아보기 전, 하나의 명령어를 알아야 할 필요가 있습니다. CMP 라는 명령어인데요. 이 명령어는 CMP A, B라고 했을때 A와 B를 비교하여 ZF와 CF의 값을 변동시키는 역활을 합니다. 사실 ZF와 CF는 이 예제를 만들 때 주의깊게 알 필요는 없으며 그냥 A B를 비교하여 ZF와 CF에 값들을 변동시킨다 라고만 알고있으면 됩니다. JMP Lable JM.. 더보기
어셈블리어를 이용하는 간단한 계산기 프로그램(예제) 안녕하세요. 이번 포스팅은 제가 학교 쉬는시간 때 틈틈이 짠 허접하지만, 프로그래밍 언어라면 한번씩 해보는 계산기 프로그램을 소개하겠습니다. 프로그램을 소개하기 앞서 Visual Studio 2008은 어셈블리어를 지원하고 그렇기에 Visual Studio 2008로 프로그램을 짯습니다. 한번 프로그램을 쭉 읽어보시고 이게 무엇을 뜻하는지 한번 생각해보세요. 그런데 사실 저는 printf와 scanf를 어셈블리어로 다룰줄 모릅니다. ㅜㅜ 그래서 그 부분들은 c로 대체하고 연산부분만 어셈으로 만들어봤습니다. 다 읽어보셧나요? 여기서 생소한게 있을텐데 바로 eax일것입니다.(아니면 죄송....) 그럼 설명해드리겠습니다. eax란 레지스터중 하나를 뜻합니다. 레지스터란 또 무엇이냐.. 하면 레지스터는 CPU(.. 더보기
불 대수(Boolean algebra)와 논리 회로(logic circuit) 오늘은 불 대수(Boolean algebra)와 논리 회로(logic circuit)에 대해 포스팅하겠습니다. 우선 불 대수란 논리 게이트를 수학적 표시법으로 표현한 것입니다. 그런데 여기서 논리 게이트란 컴퓨터 내부에서 사용되는 전자 회로를 사용하여 사용자가 입력한 정보를 논리적으로 작동시킬 수 있는 기본 논리 소자입니다. 그냥 간단히 컴퓨터 내부에서 데이터를 처리하는 방법이라 생각하시면 편합니다. 불 대수를 공부하기전 가볍게 알아야 할 약속이 있습니다. 참(True) -> 1 거짓(False) -> 0 AND 연산 -> * OR 연산 -> + 여기서 AND 연산이 뭐고 OR 연산이 뭘까요? 이 사진으로 이해하셨으면 그냥 넘어가시고, 제가 다시 설명해드리겠습니다. OR 연산은 둘 중 하나의 수라도 1이.. 더보기
IP(Internet Protocol)의 개념과 클레스(class)의 개념 안녕하세요 이번 포스팅은 IP의 간단한 개념과 함께 서브넷 마스크에 대해 알려드리도록 하겠습니다. 서브넷 마스크에 대해 어렵다고 생각하시는 분들이 많은데, 그냥 가볍게 이해하며 지나가시면 됩니다. ^^ 우선 IP(Internet Protocol) 주소에 대한 간단한 설명입니다. IP 주소는 우리에게 핸드폰 번호나, 집 주소같은 고유한 정보가 있는것처럼, 컴퓨터도 네트워크를 하기위해 고유한 주소를 갖는 것입니다. IP 주소는 2진수 32자리로 되어있으며 보통 8자리씩 끊어서 10진수로 표현합니다. 이게 무슨 소리냐 하면, 0000 0000.0000 0000.0000 0000.0000 0000 부터 1111 1111.1111 1111.1111 1111.1111 1111 까지 고유한 주소가 존재한다는 소리입니.. 더보기
리눅스 기초적인 기본 명령어 안녕하세요 오늘은 리눅스 기본 명령어들을 포스팅 하겠습니다. 리눅스 기본명령어들은 cd, ls, pwd, cat, mkdir, rmdir, cp, mv, rm 등 있습니다. 주로 쓰는 명령어들이니 충분히 숙지하도록 합시다. 우선 cd입니다. cd는 딱히 옵션이 없으며 사용하는 방법에 따라 네종류로 나눌수 있습니다. 자신이 접속한 계정의 디렉토리로 한번에 날라가는 방법 cd만 단독으로 쓴다. 현재 있는 경로에서 상위 디렉토리로 올라오는 방법 cd .. 를 쓴다. 절대 경로로 이동하는 방법 cd 뒤에 원하는 절대 경로를 쓴다. 현재 있는 디렉토리에서 하위 디렉토리로 내려가는 방법 cd 가고싶은 디렉토리 명을 씀 4 종류의 방법 다 이해 가셧나요? cd는 리눅스를 할때 꼭 필요한 명령어이므로 꼭 숙지하길 바랍.. 더보기
어셈블리어 스택조작(PUSH, POP) 스택의 명령어는 6가지가 있는데, 그 중 가장 중요한 PUSH와 POP에 대해서 포스팅하겠습니다. PUSH AX 스택에 AX 레지스터를 저장하는 명령어입니다. POP AX 스택에 저장되어있는 값을 AX에 저장합니다. 그럼 가볍게 예제를 들어 설명하도록 하겠습니다. MOV AX, 51h MOV BX, 4Fh XCHG AX,BX PUSH AX MOV AX, 34h POP BX PUSH BX POP AX 출력 결과가 예상되시나요? 답은 AX=4Fh BX=4Fh 입니다. MOV AX,51h // AX=51h MOV BX,4Fh // BX=4Fh XCHG AX,BX // AX와 BX의 값 교환 PUSH AX // 스택에 AX(4Fh) 푸시 MOV AX,34h // AX=34h POP BX // BX=4Fh PUS.. 더보기
어셈블리어 명령어 INC A increase의 줄임말로 A의 값을 1 추가합니다.. A++와 같은 뜻 ex)INC AX : AX 의 값 1 추가 DEC A decrease의 줄임말로 A의 값을 1 감소시킵니다. A--와 같은 뜻 ex)DEC AX : AX 의 값 1 감소 MOV A B move의 줄임말로 B를 A로 복사합니다. ex)MOV AX, 0x05 : AX의 값이 0x05로 복사한다. XCHG A B exchange의 줄임말로 A와 B의 값을 서로 바꿉니다. ex)XCHG AX BX : AX와 BX의 값을 서로 바꾼다. 수학 연산자 가볍게 소개하자면 ADD SUB MUL DIV 가 있으며 각각 + - * / 를 의미합니다. ADD A B // A = A + B : add 그대로이며 B의 값을 A에 더합니다. SUB.. 더보기
[알고리즘 자료구조] 연결 리스트 (Linked List) 3. 단순 연결 리스트(Simple Linked List)의 전체 모양 안녕하세요. 이번 포스팅은 단순 연결 리스트(Simple Linked List)의 전체적인 모습을 살펴보도록 하겠습니다. 아래 프로그램 코드는 제가 직접 짠 코드입니다. 딱히 어려운 부분은 없으니 눈으로 코드 한줄 한줄 직접 해석해보세요. 다음 포스팅은 환영 연결 리스트(Circular Linked List)에 대해 알아보도록 하겠습니다. 오류 & 오타 지적 그리고 댓글 환영합니다.버튼 한번 누르시고 가세요. ^^ 더보기