생활코딩 리눅스를 보고 정리하는 용도의 포스팅입니다.
다운로드 방법(wget, git)
- CLI환경에서 다운로드 하는 방법론
- wget은 url을 통해 파일을 다운 받을수 있다.
- wget -O <파일명>
- 파일받을 때 <파일명> 이름으로 다운을 받는다.파일명>
왜 CLI인가?
- GUI
- 장점 : 사용하기 쉽다
- 단점 : 프로그램의 구동이 무겁다
- CLI
- 장점 : 가볍다, 프로그램 명령을 동시에 내릴수 있다.
- 단점 : 사용하기 어렵다
- pipeline
-
|-> 앞에 있는 프로그램의 출력을 뒤에 있는 프로그램의 입력으로 연결함(pipeline)
ex) ls --help | grep sort : ls --help의 출력내용중 sort라는 키워드를 가진 것들 출력
-
IO Redirection
- Output
- redirection : 출력되는 방향을 바꾸는것. (기호로는 >)
(Unix Program)
-
Unix Process가 쉽게 얘기하면 명령어를 실행시킨것이라고 보면 됨
- ex) apt-get, ps, mkdir 등등
-
command-line Arguments(argc, argv) : 프로그램의 입력값.
- ex) ls -al에서 -al
-
Standard Output(stdout): 모니터에 출력
- ex) rm rename2.txt 1> result.txt
-
Standard Error(stderr): 에러인경우
- ex) rm rename2.txt 2> error.log
-
Input
-
cat 으로 Unix Process를 실행시키고 hhhhh 라는 텍스트를 입력하면 이 텍스트가
Standard Input이 됨
쉘과 커널
- shell - 입력한 명령을 해석해서 kernel이 이해할 수 있는 방식으로 전달
(Shell 구조)
쉘 스크립트
-
여러가지 자동화 된 작업을 처리 할 수 있는 것
-
chmod +x backup
- backup이라는 파일에 x모드를 추가(+)하는걸로 변화시킨다(change)
-
쉘 스크립트 에시
#!/bin/bash <- 아래 코드는 bash문법을 쓸것이라는 선언(약속) if ! [ -d bak ]; then <- 만약 bak라는 디렉토리가 없다면 mkdir bak <- bak라는 디렉토리를 만들어라 fi <- if문이 끝났다는 걸 알려줌 cp *.log bak <- 그게 아니면 모든 log파일을 bak 폴더에 복사한다.
디렉토리의 구조
프로세스
- Storage -> ex) SSD, HDD
- Memory -> ex) RAM
- CPU -> ex) Processor
- storage
- 장점 : 가격이 싸다 / 저장용량이 크다
- 단점 : 속도가 느리다
- memory
- 장점 : 속도가 빠르다
- 단점 : 가격이 비싸다 / 저장용량이 작다
파일을 찾는 법
- locate 파일이름 -> 데이터베이스에서 파일이름을 찾는다.
- find
실행파일의 위치를 찾는법
- whereis
- $PATH - 환경변수
Comments