Linux 개요, 명령어와 디렉토리 Suckzoo.

Slides:



Advertisements
Similar presentations
Apr. 25, 2013 Laboratory of Systems Medicine BASIC LINUX COMMANDS.
Advertisements

SPARCS 10 이 가 영 기본 UNIX 명령어. 일단 로그인 ! Linux login 시 계정을 입력하거나 root 를 입력 Root -> # 일반 사용자 -> $ 패스워드 : echo 기능을 꺼서 볼 수 없다. 대소문자 구분 패스워드 처음 설정 시 : ~$ passwd.
컴퓨터와 인터넷.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스/장난감 세미나
Linux University of Seoul Computer Science Park Jong wook
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
MYSQL 설치.
Introduction to UNIX/Linux
리눅스 기본 명령어 및 Vi 명령어 정리 2015/1, 컴퓨터의 개념 및 실습.
Linux/UNIX Programming
Unix & Shell 사용법 1 번째주 Dept. of Computer Science & Engineering
Ch. 1 LINUX SYSTEM.
[beginning] Linux & vi editor
목차 커널의 개념 및 기능 커널 포팅 램디스크.
ANSYS17.2 Student 제품 무료 다운로드
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
제2장 유닉스/리눅스 사용.
강 명 수 LINUX 설치 강 명 수
8장. 원격지 시스템 관리하기.
Root Filesystem Porting
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Root Filesystem Porting
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
Linux Master 김희승 임승한 OneScore 임승한.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Cross Compiler 설치.
Unix S/W PC S/W와 같은 구조 OS(Operating System) : 변종이 많다 통신 S/W 사무자동화 S/W
Cross Compiler를이용한 커널 컴파일 및 포팅
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Linux/UNIX Programming
학기 C/C++ 프로그래밍 실습 1주차.
화면 갈무리 및 파일 권한 설정.
setuid, setgid, sticky bit 권한
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
Root passwd 분실, bootblk 복구
운영체제 RaspberryPi Sejin Oh.
자바 5.0 프로그래밍.
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
Internet Protocol and Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
OpenCV 설정 2.21 만든이 딩딩.
뇌를 자극하는 Solaris bible.
소리 편집 안 재 형.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
Internet Protocol and Programming
시스템 인터페이스 Lab#5 쉡 실습.
2장. 솔라리스10 설치. 2장. 솔라리스10 설치 Solaris 3. 솔라리스10 설치 후 설정하기 1. 텔넷 ( telnet ) 서비스 사용 SSH ( Secure Shell ) 서비스 사용 FTP ( File Transfer Protocol )서비스 사용 시스템.
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
 파일 아카이브와 압축 명령 익히기.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Linux 기본 사용법.
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
4. 셸을 이용한 명령어 입력. Unix 시스템 쉘 간단한 셸 명령 명령 매개변수(Command arguments)
Internet Protocol and Programming
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
Git을 이용한 버전 관리 - Branch 실습
CHAP 15. 데이터 스토리지.
Docker Study 6~7.
Chapter 07. 사용자 관리 Solaris3. 사용자 암호 관리 및 소유권 관리
시스템 해킹과 보안 permission과 SetUID.
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Presentation transcript:

Linux 개요, 명령어와 디렉토리 Suckzoo

Linux 다중 사용자, 멀티 태스킹, 다중 스레드를 지원하 는 네트워크 운영 체제(NOS) 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본

Linux의 특징 멀티유저 시스템을 지원 가볍고 안정적 서버로서 많이 선택 받는다. 무료, 소스코드가 공개되어 있음

배포되는 Linux Fedora, Ubuntu, CentOS, BSD, Debian 등 다양 한 OS가 무료로 배포되고 있다. 거울을 통해 CentOS, debian, fedora, bsd, ubuntu가 미러링 되는중. (chicken도?)

Linux 구조 - Linux Kernel 운영체제의 핵심 부분. 세부적인 기능은 아래와 같다. 프로세스 관리 메모리 관리 파일 시스템 관리 디바이스 관리 네트워크 관리 지속적으로 이용되므로 보호된 메모리에 적재된다.

Linux 구조 – Linux Shell Shell : 껍데기 OS를 둘러싼 껍데기라고 할 수 있다. 명령어를 입력 받아 컴퓨터가 이해할 수 있는 0과 1로 된 명령어로 바꾸어 커널에 전달해주는 역할 을 한다.

리눅스의 디렉토리 구조 /bin /sbin /boot /tmp /dev /usr /etc /var /home /lib /media /proc /opt /root

/home, /root /home은 일반 사용자들의 홈 디렉토리. /root는 루트의 홈 디렉토리.

/bin, /sbin /bin /sbin 일반사용자가 리눅스를 사용할 때 쓰는 각종 유틸리티가 들어있는 디렉토리 일반사용자가 리눅스를 사용할 때 쓰는 각종 유틸리티가 들어있는 디렉토리 (ex : cat, chmod, ls) /sbin 루트유저가 시스템 관리에 필요한 유틸리티가 들어있는 디렉토리

/boot, /dev /boot /dev 부팅에 필요한 필수적인 파일들이 모인 디렉토리 장치 파일, 특수 파일이 들어있는 폴더 부트로더, 커널이 위치한다. /dev 장치 파일, 특수 파일이 들어있는 폴더

/etc, /lib /etc /lib 시스템의 전반적인 관리 파일이 들어있는 디렉토리 계정 정보, 비밀번호, 스케줄링 등에 관련된 파일이 있음 static file이어야 한다. static file : 사용자 권한 없이 변경할 수 없는 파일. /lib 시스템을 부트 하거나 혹은 그 외에 root에 관련된 파일 을 이용할 때 자주 쓰이는 라이브러리 파일을 담고 있다. 라이브러리 : 하위 프로그램들의 모임

/media, /proc /media /proc 외부 저장매체(ex : usb memory)를 mount하여 하위 디렉토 리인 것 같이 사용할 수 있는 디렉토리 /proc 실행되고 있는 프로세스, 사용중인 디바이스, 커널이 수집한 하드웨어 정보가 저장된다. /proc/meminfo – 메모리 사용 현황 /proc/stat – 시스템 상태 /proc/uptime – 부팅 후 흐른 시간 /proc/version – 실행되고 있는 커널 버전 각 프로세스는 고유의 식별자(PID)를 가진다. PID를 이름으로 갖는 디렉토리들이 /proc의 하위 디렉토리로 존재 하며, 그 안에 각종 정보가 저장됨.

/opt, /tmp /opt /tmp 기본적으로 설치되는 프로그램을 제외한 소프트웨어들과 애드온들이 설치되는 디렉토리이다. 기본적으로 설치되는 프로그램을 제외한 소프트웨어들과 애드온들이 설치되는 디렉토리이다. bit에는 scala가 깔려있는 듯 /tmp 임시파일들이 저장되는 장소 linux 종료 시 모든 파일이 삭제됨.

/usr /usr /bin, /usr/bin, /usr/local/bin의 차이 시스템에 빌드하는 프로그램들의 소스나 매뉴얼 등을 포 함하고 있는 디렉토리이다. /usr/src : 시스템에 빌드하는 프로그램들의 소스 /usr/share : 매뉴얼 등의 자료 /usr/local : 잡다한 것들 /bin, /usr/bin, /usr/local/bin의 차이 /bin은 리눅스를 돌리기 위한 최소한의 것들을, /usr/bin은 콘솔에서 확장된 것이나 Xwindow 관련 프로그램 등이, /usr/local/bin은 잡다한 프로그램들이 위치해있다.

/var 자주 바뀌는 데이터들을 모아놓은 디렉토리 /var/lib /var/log /var/run /var/tmp 시스템 운용 시 계속 바뀌는 파일들이 담김 /var/log 각종 로그들 저장 /var/run 시스템 정보를 담음. 부팅시 초기화된다. /var/tmp /tmp보다 좀 더 오래 유지되야 하는 것들이 담긴다. 부팅시 초기화되지 않는다.

Commands 계정 관련 Shell 관련 매뉴얼 Path 관련 파일 관련 출력 passwd chsh man pwd cd ls cp, rm, mv mkdir, rmdir tar 출력 cat, more, less, wc grep touch, vi

Commands 권한 프로세스 시스템 원격 접속 와일드카드 pipe(|) 리디렉션 히스토리 chmod, chown, chgrp su, sudo 프로세스 signal ps, kill jobs, bg, fg background process(&) 시스템 halt, reboot, shutdown init 원격 접속 ssh, scp 와일드카드 pipe(|) 리디렉션 히스토리

passwd (password) 계정의 비밀번호를 바꾼다. 사용법 passwd를 친다 원래 비밀번호를 친다 새 비밀번호를 친다 끗

chsh (change shell) 사용하는 shell을 바꾸어 준다. 기본으로 사용하는 shell은 /bin/bash echo $SHELL : 현재 이용중인 shell 출력

man (manual) 프로그램의 사용방법을 출력해주는 명령어 용법 : man [command] man ls

pwd (print working directory) 현재 작업중인 디렉토리를 표시해준다. 예 : /home/suckzoo에서 작업 중이면

cd (change directory) 작업중인 디렉토리를 다른 디렉토리로 변경한다. 용법 : cd [target]

ls (list) 파일들을 나열하는 명령어 option -l(long) -a(all) -R(recursive) 권한, group, owner 등 자세한 정보 표시 -a(all) 숨겨진 파일까지 다 보여짐 -R(recursive) 디렉토리 안의 디렉토리 안의 … 디렉토리 까지 전부 나온다. -d(directory) 디렉토리 내부 컨텐츠가 아니라 디렉토리 그 자체의 정보를 출력한 다. ls –d public_html vs ls public_html

cp (copy) 파일을 복사한다. 사용법 : cp [option] [source] [target] option -r(recursive) : 해당 파일과 그 하위파일까지 전부 복사 디렉토리 복사 시 사용 가능.

mv (move) 파일을 이동(잘라내기+붙이기)한다. 사용법 : mv [option] [source] [target] -r(recursive) : 해당 파일과 그 하위파일까지 전부 이동 디렉토리 옮길 때 쓸 수 있음.

rm (remove) 파일을 삭제한다. 사용법 : rm [option] [source] option -r(recursive) :해당 파일과 그 하위파일까지 전부 삭제 디렉토리 통으로 삭제시 이용 가능. 조심조심 쓰자. 잘못 쓰다 날라가면 죽슴다 ㅠㅠ

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 …

rmdir (remove directory) 비어있는 디렉토리를 지울 때 쓴다. 사용법 rmdir [option] [target] option -p : 하위 디렉토리를 모조리 지운다. 단, 모든 하위 디렉토리가 비어있어야 한다. rm –r a vs rmdir –p a

tar 여러 파일을 모으고 압축한다. 사용법 : tar [cvxzf] filename file1 file2 … option -c(create) : 압축 하기 -v(verbose) : 진행상황 화면에 보여주기 -x(extract) : 압축 풀기 -z(gzip) : gzip으로 압축/해제 -f(file) : 압축 결과를 파일로 저장하기

tar 파일 모으기 모으고 압축까지 한번에 (tar.gz) tar.gz 풀기 alzip.tar 파일로 a.a, b.b, c.c, d.d를 모으는 방법 tar cvf alzip.tar a.a b.b c.c d.d 모으고 압축까지 한번에 (tar.gz) alzip.tar.gz 파일로 a.a b.b c.c d.d를 모으고 압축 tar cvzf alzip.tar.gz a.a b.b c.c d.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을 가진줄은 출력이 안된다.

Regular Expression

touch 수정 시간을 손대는 명령어 용법 : touch [option] [file/time] option 만진다. 수정 시간을 손대는 명령어 용법 : touch [option] [file/time] option -r [file1] [file2] file2의 수정시간을 file1과 같게 한다. -t [time] [file] file의 수정시간을 time이 되게 한다.

vi 편집기이다. 다들 한번쯤은 써봤을 것이므로 패스한다. vi의 사용법 http://vim-adventures.com/

권한 말 그대로 권한. 파일을 접근할 수 있는지 여부를 사용자/그룹/그외 로 나누어 8진수로 표현.

권한 설정에 8진수 쓰기 ls –l 해보면 요기에 –rwxrwxrwx 이런애들이 8진수에 대응 ex) catAndDog.c -rw-r—r-- : (4+2)(4)(4) -> 644 ex2) catAndDog -rwxrwxr-x : (4+2+1)(4+2+1)(4+1) ->775

sticky bit 모든 사용자가 사용할 수 있는 디렉토리에 적용 이 디렉토리 내의 파일을 others가 임의로 삭제할 수 없음 소유자만 삭제 가능 예 : /tmp 팔진수 세자리 앞에 1을 붙여 표현

SetUID, SetGID SetUID가 걸린 파일을 실행시키면 파일 소유자의 권한으로 프로그램을 실행한다. 8진수 세자리 앞에 4를 붙여 표현 SetGID가 걸린 파일을 실행시키면 파일 소유그룹 의 권한으로 프로그램을 실행한다. 8진수 세자리 앞에 2를 붙여 표현

chmod chmod 파일의 권한을 바꾼다. 용법 : chmod [permission] [file] 혹은, +, -, r, w, x 등을 이용하여 설정 가능 u : user, g : group, o : others, a : all ex : chmod ug+wx a 유저, 그룹에게 a의 쓰기/실행 권한 부여

chown, chgrp chown chgrp 파일 주인을 바꾼다. 용법 : chown [owner] [file] 루트밖에 못한다. chgrp 파일 소유 그룹을 바꾼다. 용법 : chgrp [group] [file]

su (subsitute user) 유저 전환하기. 용법 : su [username] username이 비면 root로 전환 시도. password 필요.

sudo(substitute user do) /etc/sudoers에 유저가 기록되어 있어야 함. 다른 유저의 권한으로 어떤 프로그램을 실행시킴. sudo [option] [process] option -u [username] : username의 권한으로 실행 -u가 없으면 root로 인식.

Signal 프로세스간 의사소통을 위해 보내는 신호

jobs, ps jobs ps 현재 작업중인 프로세스들을 출력한다. 마찬가지로 현재 작업중인 프로세스들을 출력한다. 용법 : ps [option] option -u : CPU, memory 점유율 등 보다 다양한 정보 표시 -a : 모든 유저가 사용하는 프로세스 표시 -U [user] : [user]가 사용하는 프로세스 표시

kill 프로세스를 파.괘.한.다 용법 : kill [option] [pid] option -[signal] : PID가 [pid]인 프로세스에게 [signal]을 보냄 -l [signal] : [signal]이 어떤 신호인지 출력

bg(background), fg(foreground), & fg [process] [process]를 foreground 상태로 만든다. foreground 실행되고 있으며 유저에게 보이는 프로세스 bg [process] 프로세스를 background에서 실행되게 한다. background 실행되고 있지만 유저에게 보이지 않는 프로세스 [process] & 프로세스 뒤에 &를 붙이면 background 상태로 시작한다.

halt, reboot halt reboot -f 붙이면 “강제”로 컴퓨터 종료 시스템을 종료합니다 뚜룽 루트만 가능 재부팅 한다. -f 붙이면 “강제”로 컴퓨터 종료

shutdown 무려 시간 예약 기능이 있음 시스템 종료 or 재부팅 용도 용법 : shutdown [option] -h [time] : time에 시스템 종료 [time]에 들어갈 수 있는 것들 10 -> 10분 15:10 -> 15시 10분에 종료 (hh:mm) now -> 롸잇 나우 -r [time] : time에 재부팅 시작 -c : shutdown 명령 취소

init Run-level 용법 : init [runlevel] 루트만 가능. 리눅스는 시스템이 가동되는 방법을 7가지로 나눔 이를 런레벨이라고 함. 0 : 종료(halt) 1 : 단일 사용자 모드(시스템 복구에 이용) 3 : 다중 사용자 모드(텍스트 로그인) 5 : 다중 사용자 모드(Xwindows 로그인) 6 : 재부팅 2,4는 사용 엑스 /etc/inittab에 각 런레벨이 정의되어있다. 용법 : init [runlevel] 루트만 가능.

ssh (Secure Shell) 원격 컴퓨터에 접속하여 작업할 수 있게 해준다. 용법 : ssh [user@computer]

scp (Secure Copy) 암호화된 명령을 통하여 파일을 전송하는데 사용 용법 scp [file] [user@computer:directory] 마찬가지로 user@부분이 비어있으면 원래 계정과 같은 아이디로 접속 시도.

Wildcard *? * ? 0개 이상의 문자를 상징. ex : suck* 딱 1개의 문자를 상징 ex : ?parcs suck, suckz, suckzo, suckzoo, suckza … ? 딱 1개의 문자를 상징 ex : ?parcs oparcs, pparcs, qparcs, rparcs, sparcs, tparcs, …

Pipe 한 명령어의 output이 다른 프로그램의 input으 로 연결된다. standard i/o임. ex 쐬빠이쁘 한 명령어의 output이 다른 프로그램의 input으 로 연결된다. standard i/o임. ex ps aux vs ps aux |more ps aux | grep bash yes – 끊임없이 y를 출력하는 프로그램 계속하시겠습니까?(y/n)이 귀찮을 때 yes | [command]

Redirection Standard In/out >[a], 2>[b] >>, 2>> stdin : 키보드 입력 stdout : 모니터 출력 stderr : 모니터 출력(에러) >[a], 2>[b] 출력 리다이렉션 정상 출력 결과는 [a]로, 에러는 [b]로 보낸다. ex : ls /tmp /tmpp > output.txt ex : ls /tmp /tmpp 2> output.txt ex : ls /tmp /tmpp > /dev/null ex : ls /tmp /tmpp 2> /dev/null >>, 2>> >, 2>와의 차이점은 파일을 새로 만들지 않고 파일 끝에 붙인다 는 점이다.

Redirection 표준 출력과 에러를 동시에 리다이렉션하기 < [a] &>[file] >&[file] mail mother < “give me $1” </dev/random 입력으로 랜덤한 값을 넣는다.

History 컨트롤+R을 눌러보세요 이전에 쳤던 명령어나 키워드 아무거나 쳐보세요 !keyword -> 컨트롤+R 이전에 실행된 것들 중 keyword를 포함한 이전에 실행했 던 명령을 다시 실행할 수 있음.

Reference SPARCS 11’ cling 선배님의 세미나자료 Wikipedia