* 어떤 파일이 있는지 보는 명령어, 현재 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

* CPU (Intel, AMD..)
* Memory (RAM)
* Output Devices
* Storage Devices (DISK)
* Input Devices
* buffer
* iobuffer (input, output device에 관여하는 buffer)
### Linux Software

* 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)

**그림에서 위쪽으로 갈수록 sw, 아래로 갈수록 hw.**
* Terminal (단말기): 사용자와 컴퓨터 시스템 간의 마지막 관계 -> 사용자 바로 앞의 기계 -> input, output 둘다 가능함.
* Chatacter deivce: 문자 장치
* 리눅스는 모든 디바이스가 파일이다.
### 컴퓨터의 구성요소 4가지
* 데이터, 소프트웨어, 하드웨어, 사용자
### Linux system
<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에 저장.