Skip to content
Snippets Groups Projects
Commit 31bfe9ac authored by Kang Hyeonuk's avatar Kang Hyeonuk
Browse files

Update README.md

parent c7cd0233
No related branches found
No related tags found
No related merge requests found
......@@ -6,23 +6,223 @@
## Lecture 1
1. ls
* 어떤 파일이 있는지 보는 명령어, 현재 directory에 있는 파일의 리스트를 보는 명령어
#
2. pwd
* 현재 directory가 어디인지 보여주는 명령어
#
3. hostname
* 내가 지금 어떤 컴퓨터를 쓰고 있는지 알려주는 명령어
#
4. ssh
* 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜
#
5. who
* 이 컴퓨터에 누가 있는지 확인하는 명령어
#
6. wc
* word count의 준말. 줄 수 단어 수 캐릭터 수로 구성됨
#
7. sort
* 정렬하는 명령어
#
8. mkdir
* directory를 만드는 명령어
#
9. cd
* change directory의 준말. 내가 지금 작업하는 directory를 옮기는 명령어
* cd만 치면 홈 디렉터리로 이동
#
10. cd ..
* 윗 디렉터리로 이동
#
11. ls -l
* 파일의 정보를 좀 더 상세히 보여주는 명령어
#
12. ls -al
* 모든 파일을 모여주는 명령어
* .으로 시작하는 파일은 **히든 파일** 이므로 ls -l에서는 나타나지 않음
* 그러므로 교수님께서 ls -al 혹은 ls -la를 습관화 하라고 말씀하심
#
13. vi + 파일명
* vi editor를 실행하는 명령어
1. normal mode
* 들어가면 가장 먼저 작동하는 모드로, 이때 키보드 입력은 명령으로 작동된다.
2. insert mode
* i 혹은 a를 입력하여 insert mode 로 변경할 수 있으며, 키보드를 통해 문서 편집(글자 입력)이 가능해진다.
3. command mode
* insert mode에서 esc를 통해 이동할 수 있다. 화살표로 커서를 이동할 수 있다.
* delete 또는 x를 통해 한 글자를 지울 수 있다.
* u를 통해 실행취소를 할 수 있다.
* a를 통해 현재 커서 위치의 다음 위치에서 insert mode로 변경할 수 있다.
* :를 통해 command mode로 이동하고 커서를 밑으로 떨어뜨린다. w(write)로 저장, q(quit)로 종료할 수 있다.
#
14. cc + 파일명
* 컴파일을 해주는 명령어
#
15. a.out (./a.out)
* 실행파일로써 ./와 함께 붙여서 실행해야되는 명령어. ./는 현재 directory에 있다는 의미
#
16. passwd
* 비밀번호 변경하는 명령어
#
17. chmod
* 분석: dr--r----- 2 pcc039 pcc 4096 1월 4 15:35 forAll 의 경우
이 파일의 이름이 d로 시작하므로 directory 입니다. 이 파일의 소유자는 pcc039입니다. pcc라는 그룹에 속해져 있습니다. 이 파일은 그룹원의 경우 read만 할 수 있으며 다른 사람들은 이 directory를 write, read, execute 할 수 없습니다.
* d: 종류, rwx를 한 묶음으로 각각 8진수 체계로 421이 할당. 그러므로 모든 권한을 오픈하고 싶을 경우 전부 더해서 7이 됨. 일례로 w를 막고 싶은 경우 5를 입력하면 됨
* chmod 777은 전체를 오픈하게 됨
* chmod 770은 자신을 포함한 그룹원에게만 권한을 오픈
* chmod 700은 소유자에게만 권한을 오픈
#
18. whoami
* 내가 누군지 알려주는 명령어
#
19. cat
* 어떤 파일의 내용을 볼 수 있는 명령어
#
20. history
* 내가 사용했던 명령어들의 역사를 볼 수 있는 명령어
#
## Lecture 2
### Computer Hardware System
![Computerhard](./Image/Computerhard.jpg)
* CPU (Intel, AMD..)
* Memory (RAM)
* Output Devices
* Storage Devices (DISK)
* Input Devices
* buffer
* iobuffer (input, output device에 관여하는 buffer)
### Linux Software
![Linuxsoft](./Image/Linuxsoft.jpg)
* HardWare
* Linux: Kernel
* System Call: Interface
* System Utilities: cat, ls, date, ps, kill, who
* Linux Shell: bash, tcsh, zsh, pdksh
### Linux kernel SCI (System Call Interface)
![Linuxkernel](./Image/Linuxkernel.jpg)
**그림에서 위쪽으로 갈수록 sw, 아래로 갈수록 hw.**
* Terminal (단말기): 사용자와 컴퓨터 시스템 간의 마지막 관계 -> 사용자 바로 앞의 기계 -> input, output 둘다 가능함.
* Chatacter deivce: 문자 장치
* 리눅스는 모든 디바이스가 파일이다.
### 컴퓨터의 구성요소 4가지
* 데이터, 소프트웨어, 하드웨어, 사용자
### Linux system
![tty](../Image/tty.jpg) <br>
**C는 캐릭터 디바이스. l은 slink. 여기서 디바이스 pts가 14인 파일을 소유하고 있는 tty 그룹은 write할 수 있고, 나머지는 permission 할 수 없음.**
* shell에서 가장 기본이 되는 input과 output 장치: 표준입출력장치(stdio)
### Linux command
1. wall
* 모든 사람에게 메세지를 보내는 명령어.
#
1. write + (대상)
* 대상에게 메세지를 보내는 명령어.
#
1. mesg n
* 메세지 차단.
#
1. man
* manual의 약자로 명령어의 사용법을 알려주는 명령어.
#
1. ctrl + c
* kill의 효과를 가지고 있는 명령어.
#
1. ctrl + d
* 파일을 끝내는 명령어.
#
1. ctrl + z
* 프로세스를 잠시 서스팬드 시키는 명령어.
#
1. cp
* 파일과 디렉토리를 복사할 수 있는 명령어.
#
1. mv
* 파일과 디렉토리를 옮기는 명령어.
#
1. tty
* 현재 사용 중인 터미널의 이름을 출력하는 명령어.
#
1. ps
* 현재 돌아가고 있는 process를 확인할 수 있는 명령어. -al을 붙이면 숨겨진 파일까지 확인 가능.
#
1. vi
1. (command mode) set number: 라인 넘버를 달아주는 명령어.
1. (normal mode) /[찾고자 하는 것]: 찾고자하는 것을 찾아주는 명령어.
1. (normal mode) o: insert 모드로 진입하면서 한 줄 내려가는 명령어.
#
1. sleep 10 ; echo 10
* 10초 후 10을 출력하는 명령어.
* echo는 문자열을 컴퓨터 터미널에 출력하는 명령어.
#
1. cat
* 파일이 없을 경우: standard input을 받고 standard output으로 내보냄.
* 파일이 있을 경우: 두개의 파일을 혼합함.
* ex) cat data.txt hello.c output.txt > total.txt: 앞의 3개 파일의 결과를 total.txt에 저장.
#
## Lecture 3
1. jobs
* 현재 세션의 작업 상태를 출력하는 명령어.
#
### linux command
1. fg %(number)
* (number) 작업을 foreground 작업으로 실시하는 명령어.
#
* 교수님의 코드를 카피함
* Good job
* Hi
1. ()&
* 작업을 background로 실시하는 명령어.
#
1. 일번
2. 이번
3. 삼번
1. strings
* 읽을 수 있는 데이터만 보여주는 명령어.
#
```
cp ~hwan/.profile ~hwan/.bashrc ~hwan/.bash_logout ~
source .profile
```
이렇게 하니까 프롬프트가 초록색이 됨
1. Redirection
* stdin, stdout, stderr
* < (0<): stdin 대신에 파일을 사용하라는 명령어.
* > (1>): : stdout 디바이스로 나갈거를 파일에 쓰라는 명령어.
* 2>: stderr을 내보내는 명령어.
* ex) cat hello.c hello.cpp 1> out.txt 2> err.txt (에러를 저장하려면 2>을 사용해야함.)
* '>>': 명령의 결과를 파일에 추가. (기존의 것들이 삭제되지 않음.)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment