Linux

양희연·2020년 8월 7일
0

웹 개발 기초

목록 보기
3/6
post-thumbnail

linux 🧐

1991년 Linus Torvals 가 개발한 운영체제이다.
리눅스는 시스템을 운영하는 데 가장 널리 사용되는 운영체제이며, 오픈소스다.



🏗 구조

application — shell — kernel - hardware

> kernel

리눅스의 핵심으로 프로세스 관리, 메모리 관리, 파일 시스템 관리, 장치 관리 등 컴퓨터의 모든 자원을 초기화하고 제어하는 기능을 수행한다.

> shell

리눅스의 사용자 인터페이스로서 사용자와 커널 사이의 중간자 역할을 담당하는 프로그램이다.

셸은 사용자가 입력한 명령을 해석하여 커널에 넘겨준다. 그러면 커널이 명령을 수행한 후 수행 결과를 돌려주고, 셸은 다시 사용자가 이해 할 수 있는 형태로 바꿔서 출력한다.



⌨️ 명령어

💡 $ tldr 명령어
간단하게 해당 명령어에 대한 매뉴얼을 볼 수 있다.

pwd
현재 작업중인 디렉토리 정보 출력

cd
경로 이동

#홈 디렉토리 이동
$ cd

ls
디렉토리 목록 확인

cp
파일 또는 디렉토리 복사. 디렉토리는 -r을 붙여야 함

#file1 파일을 똑같이 복사하여 file2 생성 (있다면 덮어씀)
$ cp file1 file2

#file1과 file2을 dir1 안에 복사 (해당 파일명으로)
$ cp file1 file2 dir1/

#디렉토리 전체를 복사
$ cp -r dir1 dir2

mv
파일 또는 디렉토리 이동. 이름을 변경할 때도 쓰임

mkdir
디렉토리 생성. -p 옵션으로 하위 디렉토리를 한번에 생성 가능하다.

rm
파일이나 디렉토리를 삭제. 디렉토리를 삭제할 때는 -r, 강제로 삭제할 시 -f

touch
파일이나 디렉토리의 최근 업데이트 일자를 현재시간으로 변경한다.
해당 파일이 없으면 빈 파일을 만든다.

cat
파일의 내용을 출력

$ cat file1 file2 > file_new
$ cat file1 >> file2

#input 값이 file3에 저장된다. ctrl+d 로 종료
$ cat > file3

head
파일의 앞부분을 보고 싶은 줄 수 만큼 보여준다.

#기본값 10
$ head -3 file

tail
파일의 뒷부분을 보고 싶은 줄 수 만큼 보여준다.
-F 옵션으로 업데이트된 내용을 화면에 출력 👉 실시간 모니터링

find
특정 파일이나 디렉토리를 검색

#find 검색경로 -name 파일명
$ find ./ -name '*.jpg'

#현재 위치에서 디렉토리 타입 검색
$ find ./ -type d

#현재 위치에서 파일 타입 검색
$ find ./ -type f

#결과값 개수로 표시
$ find /home -type f -name '*log' | wc -l

alias
자주 쓰는 명령어를 쉽게 사용할 수 있도록 설정



🕶 sudo (super user do)

관리자 권한을 말하며, 명령어 앞에 사용할 수 있다.



🧚 package manager

mac’s package manager homebrew

$ brew update
$ brew search 프로그램명
$ brew install 프로그램명
$ brew upgrade 프로그램명
$ brew uninstall 프로그램명



🛢 pipe

이전 명령어의 결과를 다음 명령어의 입력값으로 사용할 때 쓰인다. |

#현재 위치에서 'c' 문자열이 들어있는 파일이나 디렉토리 출력
$ ls | grep c

💡 grep 입력된 내용 중에 특정 문자열이 존재하는 줄을 출력




📢 I/O Redirection

#[direction]
$ ls -l

#파일에 저장된 내용을 입력으로 받는다. [redirection]
$ cat < hello.txt

#standard output 값이 파일로 저장 [redirection]
$ ls -l (1)> result.txt

#standard error 값이 파일로 저장 [redirection]
$ ls -l 2> error.log
$ ls -al > result.txt 2> error.log

#>>: 결과값을 append
$ cat file1 >> file2

$ head -2 < test.txt > test2.txt



💻 shell

사용자가 입력한 명령을 해석하고 실행하는 프로그램

#사용 중인 shell의 위치를 알 수 있다.
$ echo $SHELL



📁 directory structure

/ 최상위 디렉토리 root
/bin 기본적인 명령어가 저장된 디렉토리 ex. rm, mv …
/sbin 시스템관리자들이 사용하는 시스템관리자용 명령어가 저장된 디렉토리
/etc 설정파일이 존재하는 디렉토리
/usr 일반 사용자들이 주로 사용하는 디렉토리
/home 사용자의 home 디렉토리



𝓧 환경변수

shell 의 어떠한 설정 값을 가지고 있는 변수를 뜻하며, 쉘이 돌아가는 동안 계속 존재하며 사용된다.

shell이 시작할 때 자동으로 선언된다.

#환경변수 보는 명령어
$ env

PATH

PATH 환경변수는 명령어를 찾을 수 있는 경로들을 저장해놓은 환경변수이다.

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

💡 whereis 해당 명령어의 위치를 알 수 있다.

$ whereis ls
/bin/ls

PATH 설정

shell 설정 파일에서 설정한다.

# .zshrc 파일

export PATH="/Users/user/wecode:$PATH"

파일 저장 후 나와서 적용을 시켜준다.

$ source ~/.zshrc



🚧 permission

read
write 저장, 삭제, 이름변경
excute 접근

#아래 명령어로 권한 확인 가능
$ ls -l

#chmod: 권한을 변경하는 명령어
$ chmod u+x 파일 혹은 디렉토리명        
$ chmod g-x 파일 혹은 디렉토리명

#8진수를 통한 권한 변경
$ chmod 755 test.sh



🚚 ip 주소

자기 자신의 컴퓨터를 가르키는 가상의 ip 주소 127.0.0.1

profile
꾸준히 나아가자!

0개의 댓글