Backend

[생활코딩] 리눅스

:)jun 2021. 11. 10. 18:36

 1. file & directiory

리눅스는 문자를 입력해 제어를 한다. (CLI (command line interface) <-> GUI )

pwd : 현재 내가 어디에 위치해 있는지 확인

mkdir hello_linux : 디렉토리 생성

touch empty_file.txt : 비어있는 파일 생성

ls -l 각각의 파일과 디렉토리를 자세히 보여줌 (-l : 파라미터)

 

-로 시작하면 파일, d로 시작하면 디렉토리

cd hello_linux/ : 디렉토리로 이동

cd /home/ubuntu : 가고자 하는 디렉토리로 이동

cd .. : 현재 디렉토리의 부모 디렉토리로 이동

rm hello_linux : 삭제 실패

rm empty_file.txt : 삭제 성공

rm -r hello_linux : 삭제 성공 ( -r : recursive (안에 있는 모든 디렉토리가 삭제됨) )

rm --help : 명령어의 사용방법 확인

 

 2. --help & man

mkdir --help : 명령어의 사용방법 간단한 확인

man mkdir : 명령어의 사용방법 전용페이지에서 자세히 확인

 

/sort : man 안에서 검색하고싶다. n누를때마다 다음 sort보여줌.

q : 밖으로 빠져나감

mkdir 

 

 3. Searching (%^*$%#*# in linux)

touch cp.txt : 파일 생성

cp cp.txt dir1/cp.txt : 파일 복사

rm cp.txt : 파일 삭제

-> 이동하는 것과 같은 효과. 불편하다.

touch mv.txt : 파일 생성

mv mv.txt dir1/mv.txt : 파일 이동

-> 이동

touch rename.txt : 파일 생성

mv rename.txt rename2.txt : 파일 이름 바꾸기

 

 4. frequency of command

 

 5. sudo (root)

 

 6. file edit (nano)

nano : 새 에디터 파일

nano hello.html : hello.html 파일을 편집하겠다.

^6을 사용해서 텍스트 블럭 설정가능

nano가 익숙해지면 vi도 사용해봐라.

 

 7. Package manager(apt 기준, yum은 검색해보면 안다)

앱스토어에 해당하는 것

sudo apt-get update : 설치할 수 있는 최신 목록 갱신 (Package manager 사용하기 전 항상 해줘라)

sudo apt-cache search htop : htop에 관련된 목록 불러온다

sudo apt-get : 어떤 것을 사용할 수 있는지 알려준다.

sudo apt-get upgrade htop : htop을 업그레이드 한다.

sudo apt-get upgrade : 전체 업그레이드 한다.

 

 8. file download : wget

다운로드할 수 있는 주소 copy link address 한 뒤에

wget 주소 : 주소 다운로드

wget -O paris.jpeg 주소 : 주소를 paris.jpeg라는 이름으로 다운로드

 

 9. Source download : git

 

 10. Why using CLI?

 sequence execution (semicolon)

mkdir why; cd why : why 디렉토리를 만들고 why로 들어간다. 

 pipeline( | )

nano linux.txt : linux.txt 편집기 연다. 

cat linux.txt : linux.txt 파일의 내용을 출력해준다.

grep linux linux.txt : linux.txt 안에서 linux를 찾는다.

ls --help | grep sort : sort가 포함된 문장만 출력.

ls --help | grep sort | grep file : sort, file 둘 다 포함된 문장만 출력.

ps aux : 현재 실행되고 있는 프로그램 목록

ps aux | grep sh : 현재 실행되고 있는 프로그램 목록 중 sh를 포함한 문장만 출력.

 

 11. IO Redirection (output)

ls -l > result.txt : ls -l 출력을 result.txt 로 돌려 파일에 저장한다. Redirection

 

rm e.txt : e.txt 파일 삭제

rm e.txt : error 메세지

rm e.txt > result.txt : >앞에 1이 생략된 상태로서 standard output을 출력함.

rm e.txt 2> error.log : standard error를 error.log로 돌려 파일에 저장.

cat error.log : 저장된 에러메세지 출력

 

 12. IO Redirection (Input)(실용적이지 않다.)

cat

hi

hi

linux

linux

컨트롤 + d 로 빠져나옴.

 

cat a.txt : standard arguments로 입력 받은것.

cat < a.txt standard input으로 입력 받은것.

 

head -n1 a.txt : 앞의 1문장만 출력한다.

head -n1 < a.txt : "

head -n1 < a.txt > one.txt : 출력된 것을 one.txt에 출력해라.

 

 13. IO Redirection (append)

ls -al >> result.txt : 원래 있던 내용에 출력값을 추가

커맨드라인을 입력하다가 실행하고 싶지 않으면 컨트롤+C 누르면 바로 취소가 된다.

ls -al > /dev/null : 그냥 출력값 날리고 싶을때 (휴지통 같은 곳)

 

 14. Shell (intro)

SHELL VS KERNEL

지금까지 써왔던 Shell 이 어떻게 동작하는지, 다른 Shell을 쓰면서 Kernel이 하는 일이 무엇인지 알아보자.

 

 15. Shell(bash vs zsh)

echo "hello" : 뒤에 있는 글자를 출력

hello

echo $0 : 어떤 쉘을 사용하고 있는지 확인

-bash

 16. Shell Script

Shell에서 실행되는 명령들을 어딘가에 적어두고 그대로 실행하도록 만드는 방법.

 

nano backup

 

#!/bin/bash : /bin/bash 에 의하여 해석된다.

if ! [ -d bak ]; then      : 만약 bak이라는 디렉토리가 없으면

    mkdir bak                : bak 디렉토리를 만들어라.

fi                                   : if문 종료

cp *.log bak                 : *.log 카피해서 bak에 복사해라.

 

chmod +x backup : backup 파일에 x를 추가해 실행가능한 모드를 추가하고 변경한 것.

-x 가 붙어있으면 실행 가능한 파일이라는 뜻이다.

 

rm -rf bak : bak 제거

./backup : backup 실행

 

 17. Directory structure ( https://www.thegeekstuff.com/2010/09/linux-file-system-structure/ )