-
[SW 정글 추석 특집] Missing Semester 1일차기타/SW 사관학교 정글 2021. 9. 19. 11:37
오늘부터 추석 연휴가 시작됐고 이번 추석 연휴가 꽤 길다.
그래서 시간을 정말 효율적으로 사용해야겠다는 생각을 가졌고 무엇을 할까 고민하다가 1기 수료생들의 추천으로 Missing Semester를 알게 되어 이번 추석 연휴 아침시간에 공부해보려고 한다.
<오늘 배운 내용>
1. 셸(SHELL)이란 무엇인가?
셸은 우리가 컴퓨터와 상호작용(소통)을 하는 가장 근본적인 방법들 중 하나로 시작적인 인터페이스들보다 더 많은 것들을 원한다면 사용할 수도 있는 것이다.
echo (echo ...는 단순히 arguments를 print해주는 프로그램)
arguments와 함계 프로그램을 실행할 수 있다.
arguments는 띄어쓰기(white space)에 의해 split 된다.
white space가 포함된 string을 argument로 쓰고 싶다면 " "(큰 따옴표), ' '(작은 따옴표)를 쓰면 된다.
$ echo "Hello World" $ echo Hello\ World
echo $PATH
나의 machine 안에 있는 모든 path를 출력
which [프로그램명]
우리가 실행하고자하는 프로그램(date나 echo)가 어디 위치에 있는지를 알려주는 path를 출력
pwd
현재 작업 중인 dicrectory를 출력
절대경로와 상대경로
절대경로란 최상위 디렉토리 (/)부터 시작해서 목표 디렉토리까지 가는 경로를 전부 기술하는 방식
(절대경로로 경로를 기술할 때에는 항상 맨 앞에 최상위 디렉토리 (/)가 붙는다)
상대경로는 상대경로는 '현재 자신이 있는 위치를 기준으로' 이동을 하는 것이다.
('현재 자신이 있는 위치'는 . 으로 표기한다.)
cd
directory를 변경해주는 명령어.(dot)은 현재의 directory를 의미한다...은 부모의 directory를 의미한다./는 file system의 root를 의미한다.
ex)cd ./ home현재 direrctory를 기준으로 잡아 home이라는 directory로 변경한다.
cd ~항상 home directory로 바꿀 수 있게 해준다.
cd -ctrl + z와 비슷한 기능으로 현재 directroy로 옮기기 전 directrory로 cd가 됨
ls
현재 directory를 기준으로 그 안에 있는 file, 또 다른 directory 등을 출력
ex)ls ..부모 directory에 있는 file들을 출력
mv
mv [기존 파일명] [새로운 파일명]기존 파일명을 새로운 파일명으로 변경해줌.
cp
2개의 arguments를 받아 현재 디렉토리에 원래있던 파일을 복사해주는 역할을 함.
cp dotfiles.md ../food.md
rm [옵션] 경로
디렉토리 혹은 파일을 삭제해주는 명령어인데 옵션을 줄 수 있음
- 옵션
-r: 해당 폴더와 해당 폴더 안에 있는 모든 파일, 디렉토리까지 재귀적으로 삭제
(rm 명령어로 디렉토리를 제거하기 위해서는 -r이나 -d가 있어야함)
-d: 빈 디렉토리를 삭제하는 옵션
-i: 각 파일 및 디렉토리를 삭제할 때 삭제여부를 묻도록 하는 옵션
-f: 모든 오류를 무시하고 강제로 삭제하는 옵션
-v: 모든 처리과정을 출력
rm -rf * // 현재 디렉토리의 모든 것을 강제로 삭제
rmdir [옵션] 경로
디렉토리를 삭제하는 명령어인데 삭제하고자하는 디렉토리가 비어있지않으면 실패
--ignore-fail-on-non-empty: 디렉토리가 비어있지 않을 때, 오류문을 던지지 않고 디렉토리는 삭제되지 않음
-p: 해당 디렉토리와 경로로 사용된 부모 디렉토리를 모두 제거
-v: 모든 처리과정을 출력
ctrl + L
clear terminal
cat
파일이름을 인자로 받아서 그 내용을 출력
http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/cat
'기타 > SW 사관학교 정글' 카테고리의 다른 글
[SW 정글 50일차] stdout 와 STDOUT_FILENO (feat. File Descriptor) (0) 2021.09.21 [SW 정글 49일차] Tiny 웹 서버 구현하기 (1) 2021.09.20 [SW 정글 48일차] 소켓 인터페이스 구현부터 Echo 클라이언트와 서버까지 (0) 2021.09.19 [SW 정글 47일차] 소켓 (Socket) 입문 (0) 2021.09.18 [SW 정글 46일차] 네트워크 용어 익숙해지기 (0) 2021.09.17