diff --git a/README.md b/README.md index 538decf3762776330a40493dd927d17995bbaa0f..8e25079f196e1d1c5a67191748b773f2ec918e57 100644 --- a/README.md +++ b/README.md @@ -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 + +* 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 모드로 진입하면서 한 줄 내려가는 명령어. + # -## Lecture 3 +1. sleep 10 ; echo 10 + * 10초 후 10을 출력하는 명령어. + * echo는 문자열을 컴퓨터 터미널에 출력하는 명령어. + # -### linux command +1. cat + * 파일이 없을 경우: standard input을 받고 standard output으로 내보냄. + * 파일이 있을 경우: 두개의 파일을 혼합함. + * ex) cat data.txt hello.c output.txt > total.txt: 앞의 3개 파일의 결과를 total.txt에 저장. + # -* 교수님의 코드를 카피함 -* Good job -* Hi +1. jobs + * 현재 세션의 작업 상태를 출력하는 명령어. + # -1. 일번 -2. 이번 -3. 삼번 +1. fg %(number) + * (number) 작업을 foreground 작업으로 실시하는 명령어. + # -``` -cp ~hwan/.profile ~hwan/.bashrc ~hwan/.bash_logout ~ -source .profile -``` -이렇게 하니까 프롬프트가 초록색이 됨 +1. ()& + * 작업을 background로 실시하는 명령어. + # +1. strings + * 읽을 수 있는 데이터만 보여주는 명령어. + # + +1. Redirection + * stdin, stdout, stderr + * < (0<): stdin 대신에 파일을 사용하라는 명령어. + * > (1>): : stdout 디바이스로 나갈거를 파일에 쓰라는 명령어. + * 2>: stderr을 내보내는 명령어. + * ex) cat hello.c hello.cpp 1> out.txt 2> err.txt (에러를 저장하려면 2>을 사용해야함.) + + * '>>': 명령의 결과를 파일에 추가. (기존의 것들이 삭제되지 않음.)