Study/Computer Science

[면접대비] 리눅스

meshjo_12 2023. 11. 27. 13:37
기술면접시, 리눅스 관련 질문들을 많이 받아 기본적인 학습을 할 생각이다.

 

리눅스란?

✔ 유닉스 계열의 운영체제 

 

리눅스를 왜 사용할까?

리눅스는 오픈소스 운영체제로서 소스 코드를 자유롭게 수정하고 배포할 수 있습니다. 이로 인해, 보안성과 유연성이 뛰어난 것이 특징입니다. 또한, 서버 환경에서 많이 사용됩니다.

 

Inode란?

✔ 파일 정보가 담긴 특별한 구조체

 

링크와 복사의 차이?

링크는 같은 파일에 이름만 다르게 붙이는 것

복사는 완전히 독립적인 파일을 만드는 것

 

하드링크와 심볼릭 링크의 차이는?

하드 링크는 원본 파일의 데이터를 직접 가리키는 반면, 심볼릭 링크는 원본 파일의 위치를 가르킨다.

그래서, 하드 링크는 원본이 삭제되어도 계속 사용 가능하지만, 심볼릭 링크는 원본 링크가 없어지면 사용할 수 없다.

 

쉘과 커널의 차이

쉘은 사용자가 운영체제의 서비스를 사용할 수 있도록 사용자의 입력을 기반으로 프로그램을 실행해 주는 역할을 한다. 즉, 커널과 사용자 사이의 인터페이스 역할을 담당합니다.

커널은 쉘로부터 전달 받은 명령을 기계가 이해할 수 있는 언어로 변환하여 CPU, I/O, 메모리 등 다양한 리소스에 접근해주는 역할을 한다. 

 

리눅스에서 파일 권한을 확인하고, 변경하는 방법을 설명해주세요

ls -l 명령어로 파일 권한을 확인할 수 있습니다. 파일 권한 변경은 'chmod' 명령어를 사용합니다.

 

스크립트 작성에 대해 설명하고, 간단한 예시를 들어주세요.

✔ 스크립트는 일련의 명령어를 파일로 만들어 자동화하는 것을 말합니다. 리눅스에서 bash 쉘 스크립트가 많이 사용됩니다.

 

grep 명령어란?

✔ grep은 파일에서 패턴을 검색하는 명령어입니다. 예를 들어, grep "error" logfile.txt 는 logfile.txt에서 "error라는 단어가 포함된 라인을 찾아줍니다.

 

리눅스에서 사용되는 네트워킹 명령어들에 대해 설명해주세요

✔ 'ifconfig'는 네트워크 인터페이스의 구성을 확인하거나 변경할 때 사용합니다.

✔ 'netstat'는 네트워크 연결, 라우팅 테이블, 인터페이스 상태 등을 보여줍니다.

 

crontab을 사용하여 주기적인 작업을 스케줄링하는 방법을 설명해주세요

✔ crontab -e으로 크론탭 파일을 편집할 수 있습니다. 여기에 실행할 명령과 그 실행 시간을 지정합니다.

 

리눅스 VS 유닉스

- 라이센스 : 유닉스는 대부분 상업용 소프트웨어로 라이센스 비용이 발생되지만, 반면에 리죽스는 오픈소스이므로 무료로 사용 가능

- 플랫폼 호환성 : 유닉스는 주로 대형 컴퓨터나 서버에서 사용되지만, 리눅스는 개인용 컴퓨터부터 스마트폰, 슈퍼컴퓨터에 이르기 까지 다양한 플랫폼에서 사용할 수 있다.