600 likes | 956 Views
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스 / 장난감 세미나. SUCKZOO. 운영체제 ( 運營體制 ). 시스템 , 하드웨어 관리 소프트웨어를 실행하기 위한 플랫폼을 제공 구조로 그리자면 이런 느낌 윈도우나 오에스 엑 - 스나 리눅스 같은거. 리눅스. 리누스 토발즈가 취미 삼아 개발한 커널 토발즈 : 뻐크 - 유 엔비디아 가볍고 안정적이어서 서버로 많이들 이용한다 . 대부분 무료 ! 소스코드 또한 공개되어 있음 . 배포되는 리눅스 운영체제들 ?
E N D
시작부터 끝까지 진지한궁서체로 진행하는완벽한 주입식의하드코어한리눅스/장난감 세미나 SUCKZOO
운영체제(運營體制) • 시스템, 하드웨어 관리 • 소프트웨어를 실행하기 위한 플랫폼을 제공 • 구조로 그리자면 이런 느낌 • 윈도우나 오에스 엑-스나 리눅스같은거
리눅스 • 리누스토발즈가 취미 삼아 개발한 커널 • 토발즈:뻐크-유 엔비디아 • 가볍고 안정적이어서 서버로 많이들 이용한다. • 대부분 무료! 소스코드 또한 공개되어 있음. • 배포되는 리눅스 운영체제들? • 우분투, 데비안, 페도라, 붉은별 등등......
커널과셸 • 커널 • 씨앗, 핵(核) • 운영체제의 핵심 부분. • 프로세스, 메모리, 파일 시스템, 디바이스, 네트워크 등 • 관리할 게 많다. • 지속적으로 이용되어야 하므로 보호된 메모리를 이용
커널과셸 • 셸 • 한글로 말하자면 껍데기. • 운영체제를 둘러싼 껍데기. • 즉, 사용자와 운영체제 사이의 층. • 명령어를 입력 받고, 기계어로 바꾸어 커널에 전해주는 역할.
리눅스의디렉토리 구조 • /빈 • /부트 • /데브 • /이-티-씨 • /홈 • /미디아 • /옵트 • /스빈 • /템프 • /유저 • /발 • /립 • /프록 • /루트
리눅스의디렉토리 구조 • 다른 건 휠 세미나에서 계속 하도록 하고… • /홈 만 보자. • 어차피 당신들은 아직 우리 서버에서 /홈 외에 건드릴 수 있는 디렉토리가 없다.
/홈 • 여러분들의 작업 공간이 될 곳이다. • /홈/[아이디] 여기에서만 작업하도록 허락해 놨다.
시큐어셸 • 리눅스 서버로 원격 접속할 수 있는 몇 가지 프로토콜이 있다. • 텔넷 • 시큐어셸(ssh) • 뿌띄를 이용해서 우리의 리눅스 서버에 접속해보자. • newbie.sparcs.org
명령어들 • 계정 관련 • passwd • 매뉴얼 • man • 경로 관련 • pwd • cd • ls • 파일 관련 • cp, rm, mv • mkdir, rmdir • ln • tar • 출력 • cat, more, less, wc • grep • touch, vi
명령어들 • 프로세스 • jobs, ^Z, fg, bg, & • 알리아스 • alias • 원격 접속 • ssh, scp • 파일 디스크립터 • 와일드카드 • 빠이쁘 • 리디렉션 • 히스토리
passwd (password) • 당신 계정의 비밀번호를 변경한다. • 사용법 • passwd를 친다. • 원래 비밀번호를 친다. • 새 비밀번호를 친다. • 끝.
man (manual) • 유닉스 계열 명령어 사용 설명서 • 사용 방법 : man [명령어] • 섹션? • 1 : 사용자 명령 / 1M : 시스템 관리자 명령 • 2 : 시스템 콜 • 3 : 라이브러리 및 헤더 • 4 : 파일 형식 • 5 : 표준, 환경, 매크로 • 6 : 데모, 게임, 스크린세이버 • 7 : 장치 및 네트워크 인터페이스 • 9 : DDI
pwd (print working directory) • 현재 작업중인 디렉토리를 표시해준다. • 예 : /home/suckzoo에서 작업중이면
cd (change directory) • 작업중인 디렉토리를 다른 디렉토리로 변경한다. • 용법 : cd [target] • 상대경로? • /usr에서 /usr/lib으로 이동하기 • . • .. • ~
ls (list) • 파일들을 나열하는 명령어 • ls [option] [file] • 옵션 • -l (long) • 권한, group, owner 등 자세한 정보 표시 • -a (all) • 숨겨진 파일까지 다 보여짐 (참고 : 숨겨진 파일은 파일 이름이 .로 시작!) • -R (recursive) • 디렉토리 안의 디렉토리 안의 … 디렉토리 까지 전부 나온다. • -d (directory) • 디렉토리 내부를 리스팅 하지 않고, 디렉토리 자체의 정보를 출력한다.
cp (copy) • 파일을 복사한다. • 사용법 : cp [option] [source] [target] • option • -r(recursive) : 해당 파일과 그 하위파일까지 전부 복사 • 디렉토리 복사 시 사용 가능.
mv (move) • 파일을 이동(잘라내기+붙이기)한다. • 사용법 : mv [option] [source] [target]
rm (remove) • 파일을 삭제한다. • 사용법 : rm [option] [source] • option • -r(recursive) :해당 파일과 그 하위파일까지 전부 삭제 • 디렉토리 통으로 삭제시 이용 가능. • rm –rf --no-preserve-root / • 사망 커맨드.
mkdir (make directory) • 디렉토리를 새로 만든다. • 사용법 : mkdir [option] [target] • option • -p : 해보세요 • mkdir –p h/e/l/l/w/o/r/l/d • cd h • cd e • cd l • cd l • …
rmdir (remove directory) • 비어있는디렉토리를 지울 때 쓴다. • 사용법 rmdir [option] [target] • option • -p : 하위 디렉토리를 모조리 지운다. • 단, 모든 하위 디렉토리가 비어있어야 한다. • rm –r a vsrmdir –p a
ln (link) • 바로가기 만들기 • ln [option] [target] [link_name] • 옵션 • -s (Symbolic)
하드링크 링크1 파일 링크2
심볼릭 링크 링크1 파일 링크2
tar • 여러 파일을 모으고 압축한다. • 사용법 : tar [cvxzf] filename file1 file2 … • option • -c(create) : 압축 하기 • -v(verbose) : 진행상황 화면에 보여주기 • -x(extract) : 압축 풀기 • -z(gzip) : gzip으로 압축/해제 • -f(file) : 압축 결과를 파일로 저장하기
tar • 파일을 모으고 압축까지 한번에(tar.gz) • alzip.tar.gz 파일로 a.ab.bc.cd.d를 모으고 압축 • tar cvzf alzip.tar.gz a.ab.bc.cd.d • tar.gz 풀기 • gunzip alzip.tar.gz -> tar xvf alzip.tar • 를 한방에! tar xvzf alzip.tar.gz
cat(concatenate) • 파일 내용 읽기, 합치기 할 때 쓴다. • 사용법 • cat [filename] • 파일을 읽는다 • cat [a] [b] > [c] • a와 b의 파일 내용을 합친 것을 c로 저장한다. • cat –n [filename] • 줄 번호가 나오게 파일 내용을 출력한다.
more • 내용을 앞에서부터 화면에 꽉 차게 출력시킨다. • 엔터를 눌러서 한 줄씩 이동 • 스페이스바를 통해 한 페이지씩 이동 • q로 나간다.
less • more보다 더 많은 기능 지원 • 사용법 : less [filename] • less로 파일을 불러와보자. • /[keyword] : [keyword] 찾기 • n으로 이전, N으로 다음 키워드 찾기. • :[line] : [line]번 줄로 이동 • 무려 편집기능도 제공한다. v를 눌러보세요 • q로 나간다. • 그 외 • http://linuxaria.com/howto/bash-linux-less?lang=en
wc(word count) • 줄 수, 단어 수, 바이트 수를 세준다. • wc[filename]
grep(global/regular expression/print) • 텍스트 검색 기능을 가진 명령어 • 주어진 정규표현식(regular expression)과 맞는 줄을 찾아 출력 • grep [option] [keyword] [file] • option • -i : 대소문자 구분 엑스 • -w : 독립적인 단어로 검색 • -w로 apple을 찾으면 pineapple을 가진줄은 출력이 안된다.
touch • 만진다. • 수정 시간을 손대는 명령어 • 용법 : touch [option] [file/time] • option • -r [file1] [file2] • file2의 수정시간을 file1과 같게 한다. • -t [time] [file] • file의 수정시간을 time이 되게 한다.
vi • 편집기이다. • 다들 한번쯤은 써봤을 것이므로 패스한다. • vi의 사용법 • http://vim-adventures.com/
jobs • jobs • 현재 작업중인 프로세스들을 출력한다.
bg(background), fg(foreground), & • fg [process] • [process]를 foreground 상태로 만든다. • foreground • 실행되고 있으며 유저에게 보이는 프로세스 • bg [process] • 프로세스를 background에서 실행되게 한다. • background • 실행되고 있지만 유저에게 보이지 않는 프로세스 • [process] & • 프로세스 뒤에 &를 붙이면 background 상태로 시작한다.
^Z • 컨트롤 젵트 • 실행 중이던 프로그램을 일시 정지한다.
alias • 길고 길고 길고 길어서 치기 귀찮은 명령어를 • 한방에! • sp서버에 접속하고 싶은 휠장! • “ssh cs20130711@vc134.kaist.ac.kr”를 몇 번이고 치기 귀찮아서! • alias sp=“ssh cs20130711@vc134.kaist.ac.kr”
ssh (Secure Shell) • 원격 컴퓨터에 접속하여 작업할 수 있게 해준다. • 용법 : ssh [user@computer] • [user@]부분이 비어있으면 같은 아이디로 접근을 시도
scp (Secure Copy) • 암호화된 명령을 통하여 파일을 전송하는데 사용 • 용법 • scp [file] [user@computer:directory] • 마찬가지로 user@부분이 비어있으면 원래 계정과 같은 아이디로 접속 시도.
Wildcard • *? • * • 0개 이상의 문자를 상징. • ex : suck* • suck, suckz, suckzo, suckzoo, suckza … • ? • 딱 1개의 문자를 상징 • ex : ?parcs • oparcs, pparcs, qparcs, rparcs, sparcs, tparcs, …
Pipe • 쐬빠이쁘 • 한 명령어의 output이 다른 프로그램의 input으로 연결된다. • standard i/o임. • ex • ps aux vsps aux |more • ps aux | grep bash
History • 컨트롤+R을 눌러보세요 • 이전에 쳤던 명령어나 키워드 아무거나 쳐보세요 • 엔터로 바로 입력 or 왼쪽/오른쪽 방향키로 이동하여 수정하고 입력하면 된다. • !keyword -> 컨트롤+R • 이전에 실행된 것들 중 keyword를 포함한 이전에 실행했던 명령을 다시 실행할 수 있음.
장난감 • SPARCS 서버에서 어떤 작업들을 쉽고 편하게 할 수 있도록 • SPARCS에서 직접 만든 툴들을 장난감이라고 한다.
동아리 사람의 전화번호를 알고 싶다..! • 밥을 사달라고 조르고 싶다..! • 목을 조르고 싶다..! • 등등, 동아리 사람의 정보를 열람하려면?
누구 • SPARCS 주소록 관리 도구 • 사용법 : nugu [-option] [ID] • 00학번 신재호 선배님께서 제작.
각종 메일을 받고 싶다..! • 인턴 정보? • 프로젝트 정보? • 소개팅 정보? • 물론 지금까지 동아리에서 2회의 소개팅이 이루어졌지만 망했어요. • 혹은, 메일이 귀찮다..!
edalias • 메일링 리스트 관리 툴 • 특정 메일을 받아보고 싶다! or 싫다! • 쉽게 메일 차단/수신을 할 수 있다. • python based • edalias를 친다.