본문 바로가기

Programming diary

36. July 8, 2021

 

Linux(Command Line Interface)

뭔가를 직접만들고 개조할 수 있는 체제. 컴퓨터 역사상 가장 많은 참여자가 관여하고 있는 오픈 소스 프로젝트.

Window, MAC

end-use 일반인을 대상으로 만든 체제로 이미 필요한 것들을 다 만들어 제공해 사용자들은 딱 그 의도에 맞게 사용하는 용도  GUI (Graphic User Interface)

 

커널 (kernal) 

리눅스가 칼이라면 커널은 칼날이라고 보면 된다. 물리적 컴퓨터, 즉 하드웨어 요소들을 os의 최하단, 기계를 상대하는 최전선에서 직접 다루고 관리하는 하드웨어 통신 담당. 운영체제라는 소프트웨어의 존재이유이자 핵심.

-sh(Bourne shell) : super class. 상속으로 따지면 최상위 부모. 유닉스에서 온 가장 기본이 되는 쉘 (기능은 적지만 자식들이 다 사용할 수 있음)

-bash(Bourne-agin shell) : 리눅스의 최상위 부모 (super shell)

-csh(C shell) : c언어의 쉘

-tcsh(Enhanced C shell) : 향상된 c shell

 

 

리눅스 파일 시스템 디렉토리들

/bin : 기본 명령어

/boot : 리눅스가 구동될 때 필요한 파일들

/dev : 디바이스 관련된 파일들

/etc : config, password 등 기타 설정파일들

/home : 유저들이 실제 있는 홈 (단, 수퍼바이저가 있는 홈은 root)

/lib : 공유된 라이브러리 파일(설치파일)

/media : 마운트해서 쓰는 곳 (ssd, 외장하드) 

/opt : 프로그램 애플리케이션

/proc : 프로세스 인포

/sbin : 관리자용 명령어들 파일 (ifconfig)

/tmp : 임시디렉토리 

/usr : 특정 유저들이 쓰는 소스나 프로그램 파일들

/var : 큰 파일들을 두는 디렉토리 (logs, ftp, sppol, mail ...)

/lost+found : 사용이 더 이상 안되는 파일들을 모아놓는 휴지통의 개념

 

*inode : 리눅스는 트리형태로 파일시스템을 메모리에 올려놓는다. 해서 필요한 파일을 찾을 때 빨리 찾을 수 있음.

 

 

리눅스 포트

20 FTP (data)

21 FTP (Control)

22 SSH

23 Telenet

25 SMTP

53 DNS

80 HTTP

443 HTTPS

110 POP3

123 NTP (Network Time Protocol)

 

 

리눅스의 명령어

pwd(print working directory)

현재 위치한 디렉토의 절대경로를 표시

 

ls(list)

현재 위치한 디렉토리 내 파일/디렉토리 목록을 표시

옵션

-a 숨긴파일을 포함한 모든 항목 표시
-d 디렉토리 정보만 표시
-F 디렉토리는 /, 실행가능 파일은 *, 소켓파일은 =, 링크인 경우 @를 파일이음 뒤에 표시
-l 각 항목의 상세 정보들을 함께 표시
-m 각 항목들을 쉼표로 구분하여 표시
-r 항목들을 역순으로 표시
-R 하위 디렉토리의 내용들도 표시
-s kb 단위로 표시
-t 최종 수정시간을 기준으로 표시
-u 최종 액세스 시간 기준으로 표시

 

cd {경로} (chage directory)

뒤에 덧붙여진 경로로 이동

 

mkdir {디렉토리명} (make directory)

디렉토리를 생성
예) mkdir myfolder

 

vi {생성할 또는 열어볼 파일명}

vi 에티터 실행. 해당 파일명의 파일이 있으면 열고 없으면 새로 생성(:wq로 저장해야 만들어짐)

 

cp {복사할 대상} {붙여넣을 경로 또는 새 파일명} (copy)

파일 복사. 디렉토리를 복사할 시에는 cp 뒤에 -r을 붙여야 함

예) cp original.txt copied.txt

      cp original.txt ../anotherfolder/

 

mv {옮길 대상} {대상 디렉토리 또는 새 파일명} (move)

파일이나 디렉토리를 옮기거나 이름을 변경할 때 사용

예) mv original.txt ../anotherfolder/

      mv original.txt renamed.txt

 

rm {삭제할 대상} (remove)

파일이나 디렉토리 삭제. 디렉토리를 삭제할 때는 rm 뒤에 -r을 붙인다

예) rm fileTodelete.txt

      rm -r folderToDelete

 

sudo {명령어}

최고관리자 권한이 있어야 실행할 수 있는 명령들 앞에 붙여넣는다. 실행시 비밀번호를 요구하기도 함.
어떤 명령어 입력시 Permission 관련 오류가 뜬다면 sudo 명령어가 필요한 상황

예) sudo apt update

      sudo rm -r importantFolder

 

 


참고

 

https://namu.wiki/w/Linux?from=%EB%A6%AC%EB%88%85%EC%8A%A4 

yalco.kr/35_linux/

https://www.youtube.com/watch?v=9_KIdQ8abH4&t=454s

'Programming diary' 카테고리의 다른 글

35. July 4, 2021  (0) 2021.07.04
34. March 29, 2021  (0) 2021.03.29
33. February 26, 2021  (0) 2021.02.26
32. February 25, 2021  (0) 2021.02.25
32. February 22, 2021  (0) 2021.02.22