디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

리눅스를 공부 둘째날

펔끄유갤로그로 이동합니다. 2013.01.12 23:58:40
조회 348 추천 0 댓글 13


프로그래밍도 많이 해보지 못한채 리눅스를 하는것이 어리석을 수도 있지만


깊게 하는것도 중요하지만 두루두루 접해보는것도 중요하다고 생각하기에 리눅스를 맛보고자 하는것이 내가 리눅스를 시작하게된 계기이다.

나의 목표는 쉘 프롬프트를 마스터할 생각도 없고 커널 시스템을 크게 만져볼 생각 까진 갖고 있지 않다.

단지 겉을 핥아 보고 싶을 뿐이다. 일단 나의 목표를 지금 까지 짜본 프로그램중 가장 큰 프로그램을 리눅스 epoll로 짜보는것을 목표로 삼았다.

리눅스의 접속은 해당 컴퓨터에서 직접접속하거나 텔넷 SSH(Secure SHell)이라는 프로그램일 이용해서 원격 텍스트 터미널 모드로 접속하는 방법이 이있다.

직접 접속했을때 우분투에서는 컨트롤+알트+T로 CentOS는 클릭 몇번으로 쉘 프롬프트를 사용할수 있는 터미널을 열수가 있다.

쉘 프롬프트는 MS-DOS와 비슷한 모양으로 생겼고 [계정@리눅스시스템이름]$ 과같은 프롬프트가 보이게 된다.


리눅스에서 거의 모든 장치와 자료의 처리 단위는 파일로 되어있다. 파일은 자료 저장의 논리적인 기본 단위이며 내용 이름 속성 등의 정보를 가지고 있다.

리눅스의 파일 시스템은 파일과 디렉토리들이 계층적으로 구성된 구조를 가지고 있으며 MS-DOS등과 유사하지만 하나의 루트(root)디렉토리만을 가지는 단일한 파일 시스템이다.

최상위 루트 디렉토리는 '/'자체이며 다음 계층은 '/home'등으로 표현할수 있다. 또한 모든 디렉토리는 '.'(현재) , '..'(상위 디렉토리)라는 특수한 디렉토리를 포함한다고 하는데 아직까지 윈도우즈랑 별로 차이가 없는것 같다. 윈도우즈도 폴더 파일검사하면 '.' , '..' 있던데

루트 바로 아래의 디렉토리들은 특별한 의미를 가지고 있으며 리눅스 파일 시스템의 표준 경로를정의한 FHS(Fulesystem Hierarchy Standard)에서 찾아볼 수가 있다.

----------------------------------------------------------------------------------------------------------------------------------------------

/ (root;루트)

가장 최상위 디렉토리라 하고, 모든 디렉토리의 시작점이다.


/bin (binaries)

필수적인 명령 바이너리들이며 단일 사용자 모드에서 사용하고 모든 사용자의 권한 부여되어 있다.

(예; cat, ls, cp.)


/boot

부트 로더 파일; 설치할 때 별도의 파티션에 저장하고 kernel, initrd 부팅과 관련된 파일들이 저장되어 있다.


/root

루트 사용자의 홈디렉토리이다.

</blockquote>

/sbin (system binaries)

<blockquote dir="ltr" style="color: rgb(102, 102, 102); font-family: 굴림체; font-size: 12px; line-height: 16px; margin-right: 0px;">

시스템 바이너리 명령어.

(예; ip, mount)


/etc

리눅스 시스템에서 편집 가능한 텍스트 파일로 구성된 환경설정 파일과 확장도구와 관련된 바이너리파일과 디렉토리가 포함되어 있다.

 

/mnt (mount;마운트)

외부 장치인 FDD, ODD등과 같은 저장장치를 불러와 끼워 넣는 임시로 사용되는 디렉토리이고, 외부 저장 장치를 불러들이면 /mnt/에 하위 디렉토리를 생성하여 수동으로 마운트 한다.

 

/media

FHS version 2.3부터 적용되었고, 새로나온 마운트 지점이다. FDD, ODD, USBDISK 등 외부장치를 GUI상에서 자동으로 /media/하위에 폴더가 생성되고 마운트된다.


/usr

일반 사용자들이 사용가능한 유틸리티 및 응용프로그램이 포함되어 있다.


/usr/X11R6

X 윈도우 버전 11 릴리즈6; X 윈도우 시스템에 사용되는 모든 파일들이 저장되어 있고, 시스템의 개발과 설치를 좀 더 쉽게 하기 위해서 전체 시스템 디렉토리 구조에 통합되지 않고 독자적인 구조를 가진다.


/lib (library;라이브러리)

프로그램들의 각종 라이브러리들이 존재하며, 대부분 공유 라이브러리로 파일의 크기를 줄여서 실행할 때 풀어서 사용한다.


/home

<blockquote dir="ltr" style="color: rgb(102, 102, 102); font-family: 굴림체; font-size: 12px; line-height: 16px; margin-right: 0px;">

시스템 계정에 사용자들의 홈 디렉토리와 ftp, www등과 같은 서비스 디렉토리들이 저장된다. 이곳의 디렉토리와 파일들은 시스템에서 사용되지 않는다. 단일 사용자 또는 원격 지점에서 시스템을 접근하여 사용하는 사용자들의 공간이다.(별도의 파티션)

</blockquote>

 

/dev (device;장치)

시스템의 각 장치들에 접근하기 위한 장치 드라이버들이 저장되어 있고, 접근하면 많은 파일들이 있지만 물리적인 용량을 갖지 않는 가상 디렉토리이다.

 

일반적으로 HDD, FDD, ODD, 루프백 장치 등이 존재한다.


/proc

시스템의 각종 프로세스, 프로그램 정보, 그리고 하드웨어적인 정보들이 저장된다. 이 디렉토리는 가상 파일 시스템으로 /dev 디렉토리와 마찬가지로 하드 디스크상에 물리적인 용량을 갖지 않는다.

즉 실제로 존재하지 않고 파일들은 하드 디스크에 저장되지 않고 커널에 의해서 메모리에 저장된다.

 

- 디렉토리안에 파일들은 현재의 시스템 설정을 보여주는 것이다.

 

/proc/1

/proc/cpuinfo

/proc/devices

/proc/dma

/proc/filesystems

/proc/interrupts

/proc/ioports

/proc/kcore

 

현재 시스템에서 사용중인 메모리의 실제 이미지이다. 이 파일은 실제 메모리의 내용을 모두 가진 것처럼 보이지만 프로그램이 필요로 하는 부분의 이미지만을 필요할 때 만들어 제공한다.


/var

시스템에서 사용되는 빠르게 변화하는 동적인 파일들이 저장된다. 각종 시스템 로그 파일, 사용자 로그인에 대한 보안기록, 그리고 만약 시스템에 메일 서버를 운영한다면 사용자들에게 전송도니 메일들을 임시로 저장한다.


/tmp

임시 파일을 저장한다.

----------------------------------------------------------------------------------------------------------------------------

기본 명령어중에 man이 있는데 man[-s] 파일명1 파일명2 같은 형식을 취하며 각종 시스템 명령어들의 도움말을 출력한다.

기본형식이 파일명이라고 해서 내가생각하는 파일에 대한 도움말일줄 알았지만 앞서 말했듯이 리눅스 시스템 명령어도 파일인가 보다.

따라서 man ls라고 하면 ls라는 시스템 명령어의 도움말을 출력해준다. 꼭유용하니 다 읽어보라는데 너무 길다.


명령어중에 ls라는 명령어는 파일 시스템상의 파일 목록을 보여준다. -a -C -l -R -i -u -r같은 옵션을 선택할수 있다.
-a 도트로 시작되는 이름을 가진 파일도 보여줌 
-C 가로 순서로 나열 출력
-l 각 파일들에 대한 자세한정보
-R 현 디렉토리의 내용은 물론 서브 디렉토리 내용까지
-i 파일의 inode 번호를 보여줌

    - '파일이나 폴더의 정보를 저장'하는 자료 구조체를 의미한다.

    - 각 파일의나 폴더마다 하나의 inode를 가지고 있다. 

    - UNIX 계열의 FileSystem에서만 사용한다.(UNIX, LINUX에서 사용)

    - 리눅스의 'ls' 명령어가 inode 내용을 출력해 주는 명령어 이다.

[출처] 

-u 엑세스한 날짜 순서
-r 정렬 역순

ls -a -i이런식으로 연결하면 도트있는파일까지 inode 번호를 볼수 있다.

cp는 파일복사로 -a -R -b -P -d -f의 옵션을 갖는데 명령어 하나하나마다 옵션졸라 많다 이걸 어떻게 외우지...

 rm는 파일삭제 mv는 파일 이동 mkdir은 디렉토리 생성 rmdir은 디렉토리 삭제 chmod는 파일 속성 모드 변경

ln은 파일 링크 생성으로 두개의 파일 사이에 링크를 만들어 하나의 파일을 두개 이상의 이름으로 접근 가능하게 한다. 바로가기 같은 기능인가보다.

find 파일 검색까지가 기본 명령어이다.

내부 명령어로는 현재 작업 디렉토리를 알려주는 pwd 페뜨 워킹 디렉토리 준말인가보다. 

작업 디렉토리 변경 cd MS-DOS랑 같다. 백그라운드 작업 목록 jobs 스티븐잡스 성님 ㅠㅠ 실행중 프로세스는 포그라운드, 백그라운드 작업으로 실행되는데 포그라운드는 키보드같은 표준입력을 받아들이며 쉘을 붙잡지면 백그라운드가 실행되는 동안 쉘은 다른 용도로 사용할수 있다고 한다.

포그라운드는 쉘과 함께 동작하는건가보다. jobs를 입력했는데 아무것도 표시되지 않는다.

책에서는 sleep 100 &이라는 명령어를 두번 입력하고 jobs를 입력했는데 따라해보니 출력이되었다.
sleep 100 &
[1]3409 
sleep 100 &
[2]3415
jobs
[1] + Running sleep 100 &
[2] - Running sleep 100 &
이렇게 표시되는데 앞의 숫자가 작업숫자 뒤에가 프로세스 번호라고한다 -l이라는 파일명을 추가하면 프로세스명까지 볼수있다.

kill 프로세스 삭제 명령어로 현재 수행중 프로세스에게 시그널을 보데 프로세스를 죽인다 으앙 주금 ㅠㅠ

kill [-signalID]PID형식을 갖고 있으며 시그널 아이디를 지정하지 않으면 15번 디폴트 시그널아이디를 보내서 종료시킨다고 한다.

시스템 로그아웃은 시그널 아이디 1번의 HUP(hang up)시그널이 시스템에 전달되어 실행중 모든 프로세스를 종료시키고 로그아웃한다고 한다.


텍스트 처리 명령어 중 파일생성은 touch와 cat이 잇다옹
touch명령은 파일 수정 시간을 갱신하는 명령이지만, 파일이 존재하지 않을경우 파일을 생성한다.

cat명령어는 표준 출력 재지향 기호 ">"와 함께 쓰면 키보드로 입력 받은 내용을 파일로 저장할수 있다고 한다,
cat > catTest.txt
Hello LINUX

라고 쓰코 컨트롤+D를 입력하면 파일이 저장되고 쉘로 돌아오게 된다.

이밖에도 vi 파일 편집기등 다양한 프로그램을 통해 파일을 만들수 있다고 한다.

책에서는 vi 편집기 +gcc로 코딩한다는데 언제쯤 그걸하게될수있을지 궁금하다 이책이 별론가 아직 한뭉태기는 더해야 프로그래밍을 하는것 같다.

내용 출력은  cat  [-bnuv] 파일명으로 볼수있다.

페이지 단위 파일 출력은 more또는 less 파일명으로 볼수있다. 옵션으로페이지 전방 스크롤 한줄 스크롤 역방향스크롤 문자열 검색등을 줄수있다.


파일 시작 끝부분 출력은 head, tail이며 10라인 출력이 기본이고 옵션으로 라인 블록 문자 또는 추가되는 라인을 지속적으로 보여주는 옵션을 줄수있다. 주로 시스템 로그등을 추적할때 쓴다고 한다.

문자열 검색 grep, 문자열 개수 출력 wc.

파일 비교 diff, cmp, comm이 있다.
diff는 파일간 다른점 같은점 비교하여 보여준다 첫째 파일 줄번호, 둘째 파일 상태 및 줄수로 표시된다.
1a1이면 첫번째 파일, 추가상태, 1번째줄 순서라고 한다 .a 말고 d와 c도있으며 삭제, 변경의 의미이다.

cmp는 두파일이 같은가를 비교하며 comm은 3개의 열로 각 파일의 다른줄과 같은 줄을 표시한다.

파일 묶음 tar은 유닉스의 표준 아카이브 유틸리티 프로그램이다.

파일 압축 및 해제는 gzip, gunzip, zcat, bzip2, bunzip2, bzcat 이있다.

gzip보다 압축효율이 더좋은알고리즘을 사용하는것이 bzip2,bunzip2라고한다.

파일속성결정 file파일이 어떤형태인지 알아내고 파일이 텍스트 문서인지 실행 가능한파일인지 아니면 데이터파일인지를 파악한다. 에디터를 사용해서 보거나 수정할수 있는 파일인가 알아보는데 사용한다고 한다.


좀만 더하면 vi에디터를 사용할수 있는 페이지가 다가오는데 하루에 한번씩 올려야 작심 삼일이 되지 않고 의지를 이어갈수 있을꺼 같아서 여기까지 하고 못본 무한도전 보고 그래야겠다.

도서관에 있는 책하나 가져온건데 잘못가져온건지 싶은 생각도 들고 막그럼 ㅠㅠ vi에디터랑 gcc컴파일러로 C작성하는거 맞는건지도 의심스러움 ㅠㅠ

오늘은 끝

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
343671 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ이러다가 소멤 발표 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [3] 123123(182.209) 13.01.22 205 0
343669 ㅋㅋㅋ아까 소멤 붙었다는새끼는뭐지?ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [4] 123123(182.209) 13.01.22 208 1
343668 고구마s라는 카페가지마셈 [8] 11(175.215) 13.01.22 177 0
343667 밑에 다형성 질문한 넘인데 이 코드가 이해가 안가 [4] q(1.217) 13.01.22 80 0
343666 삼성소멤 발표 또 연기됐네 [16] 수원지원자(121.137) 13.01.22 389 1
343665 플래시로 만든 C 인터프리터 [3] 토페갤로그로 이동합니다. 13.01.22 128 0
343664 c++ 공부하는중인데 가상함수랑 다형성 내가 이해한거 맞는지좀 봐줄래 [9] (1.217) 13.01.22 179 0
343663 난 그냥 병아리 개발자인데 [3] Muscle_balance갤로그로 이동합니다. 13.01.22 196 0
343661 소멤 합격하면 전화오냐?? [1] 고리아(110.70) 13.01.22 141 0
343660 근데 소멤지원한형들 [4] 123123(182.209) 13.01.22 255 0
343659 NSLog의 기능에 대해 불만을 제기한다 [1] ㅁㄴㅇ(119.202) 13.01.22 52 0
343658 요즘 흔히 볼수 있는 C, C++ VM 만들수 있는 횽 있나? [1] ㅁㄴㅇ(119.202) 13.01.22 93 0
343654 소멤 발표 언제하냐 대체.... [3] ㅋㅋㅋ(175.223) 13.01.22 172 0
343651 C와 C++은 영원합니다. [3] ㅇㅇ(58.102) 13.01.22 152 0
343650 임베디드 분야가 어렵고 시장도 좁나? [5] topandbottom갤로그로 이동합니다. 13.01.22 279 0
343649 포토샵의 필터효과같은 기술의 명칭이 뭐죠? [3] AOB(106.240) 13.01.22 83 0
343648 전역변수와 main의 지역변수의차이????? [18] 전역변수(202.30) 13.01.22 402 0
343647 오늘도 어김없이 C찬양자들이 나타났구만 [5] 얼룩돼지갤로그로 이동합니다. 13.01.22 201 0
343642 데이터베이스 멍청돋는 질문 [15] 질문있어요(222.116) 13.01.22 227 1
343640 씨공부하고오브젝티브 씨?! [6] 오브젝티브씨(202.30) 13.01.22 124 0
343639 미로찾는 생쥐인데... 왜 에러나냐? [7] ㅇㅇㅇ(1.209) 13.01.22 149 0
343636 C++ 무시하지마라. C++이 안돌아가는 플랫폼이 어디있냐. [12] ㅇㅇ(58.102) 13.01.22 269 0
343634 포인터가 없다는건 참 좋은거다 [1] ㅇㅇ(58.102) 13.01.22 128 0
343633 어북온씨 [1] 육군야전출신(223.32) 13.01.22 73 0
343630 난 지병이 있다. 자바 공포증 [3] ㅇㅇ(58.102) 13.01.22 147 0
343629 소멤홈피 들어가지는사람? [4] 123123(182.209) 13.01.22 233 0
343627 공부법 질문좀할게형들 봐줘 제발부탁해 [4] 아낟(175.123) 13.01.22 120 0
343626 きゃりーぱみゅぱみゅ - ふりそでーしょん 에어로홍갤로그로 이동합니다. 13.01.22 60 0
343625 소멤 붙었당 ㅋㅋ [3] isengard(121.168) 13.01.22 336 0
343624 php 공부방법점 알려주세요.. [1] 작성자(175.215) 13.01.22 96 0
343623 웹해킹 보안서적 추천좀 작성자(175.215) 13.01.22 52 0
343622 C 언어 라이브러리 개념 질문좀요!! [1] 123(124.5) 13.01.22 72 1
343619 형들. MATLAB 같은 tool 만들려면 뭐부터 시작해야 하나요 [4] 잉여인갤로그로 이동합니다. 13.01.22 131 0
343618 횽들 나좀 도와주삼 ㅠㅠ 초짜(58.181) 13.01.22 41 0
343617 333 333(58.181) 13.01.22 26 0
343616 확실히 한글책이이해가빠르네 [1] 보물같은인성갤로그로 이동합니다. 13.01.22 111 0
343615 요즘 왜케 정보보안전문가 광고가 넘치는거임?? 뭐지?? [7] ㅇㅇ(112.153) 13.01.22 294 1
343614 형들 질문하나만 할께요 [18] 질문(116.36) 13.01.21 193 0
343613 윈8에서 winsock 못하나여?ㅠㅠ [2] 낼름&gt;_&lt;갤로그로 이동합니다. 13.01.21 123 0
343612 요즘 들어 c++ 책을 다시본다 ㅇㅇ(119.149) 13.01.21 92 0
343611 게임톡쓰다가 문득궁금해서 질문좀 하려는대 [1] ㅇㅇ(182.209) 13.01.21 97 0
343610 살아 빠저라 그것이 너의 임무다!! ⚜흑왕⚜ (175.117) 13.01.21 96 0
343608 Firfox OS와 타이젠 이거 인기 끌 거 같냐? [7] 두정갑(121.167) 13.01.21 198 1
343607 야 파싱해서 속성값가져오다가보니 7중 for문이 되었는데 [14] 얼룩돼지갤로그로 이동합니다. 13.01.21 198 0
343604 만약 여자하고 남자 한명이 있는데 한 명만 남아야 집으로 돌아갈 수 잇음 [6] A.I.(175.200) 13.01.21 174 0
343603 윤성우의 c파워 업그레이드 책 보며 문제풀고 있는데 [5] ㅈㄴ(183.106) 13.01.21 190 0
343600 [자바교육] 전액무료 자바교육 웹프로그래밍 앱개발 신입개발 양성교육 중앙일보HTA갤로그로 이동합니다. 13.01.21 89 0
343596 람다는 람다람다해~ [2] ㅋㄱ(183.96) 13.01.21 129 0
343595 오바마 대통령, 게임-총기 폭력 관련성 연구에 1천만달러 예산 지원 [2] ㅇ3ㅇ(180.66) 13.01.21 103 0
343594 근데 SI 공사판은 우리 나라 종특이냐? [2] ㅇㅇ(58.102) 13.01.21 152 0
뉴스 스무공일∙EROS∙김도안, 7월 2주 차 위클리 키트앨범 스포트라이트 선정! 디시트렌드 07.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2