차례[숨다][보여 주다]
- 1. 쉘이란 정확히 무엇입니까?
- 2. 쉘 스크립팅이란 정확히 무엇입니까?
- 3. 쉘 스크립팅의 이점을 설명하십시오.
- 4. GUI 프로그래밍에 대해 설명합니다.
- 5. 쉘 프로그래밍에서 슈퍼블록이란 정확히 무엇입니까?
- 6. 다양한 종류의 접근 가능한 쉘을 나열하십시오.
- 7. Bourne Shell과 C Shell의 차이점을 쓰십시오.
- 8. Shell 변수는 정확히 무엇입니까?
- 9. Shell Script에는 어떤 종류의 변수가 있습니까?
- 10. 쉘 파일을 실행하는 데 사용되는 명령은 무엇입니까?
- 11. Super Block in Shell 스크립팅에 대해 무엇을 말해줄 수 있습니까?
- 12. 메타 문자란 정확히 무엇입니까?
- 13. 소프트 링크와 하드 링크의 차이점은 무엇입니까?
- 14. 쉘 스크립팅에서 Shebang 행의 의미는 무엇입니까?
- 15. Linux 프로세스는 어떤 몇 단계를 거치나요?
- 16. Crontab에 대해 설명하십시오.
- 17. 제어 명령이란 정확히 무엇입니까?
- 18. $*와 $@의 차이점은 무엇입니까?
- 19. 쉘 스크립트에서 문자열을 비교하는 방법을 설명하십시오.
- 20. 어떻게 파일을 만들고, 읽고, 제거할 수 있습니까?
- 21. 쉘 스크립팅에서 하드 링크와 소프트 링크를 구분할 수 있습니까?
- 22. 쉘 프로그램의 버그를 어떻게 해결할 것인가?
- 23. 파일 시스템에는 몇 개의 블록이 있습니까?
- 24. bash가 약한 유형의 언어인 이유는 무엇입니까?
- 25. 쉘 스크립트에서 변수의 길이는 얼마입니까?
- 26. echo에 대한 대체 명령의 이름을 지정합니다.
- 27. IFS 정의
- 28. 쉘에서 수많은 스크립트를 실행할 수 있습니까?
- 29. vi 편집기의 많은 모드는 무엇입니까?
- 30. $!의 차이점은 무엇입니까! 그리고 $$?
- 31. $#은 무슨 뜻인가요?
- 32. 백업을 만드는 데 사용된 명령의 이름을 지정합니다.
- 33. 쉘 스크립팅을 사용하는 것이 적절하지 않은 경우는 언제입니까?
- 34. Linux에서 데이터베이스 서버에 어떻게 연결하시겠습니까?
- 35. 두 개의 crontab 명령 파일은 무엇입니까?
- 36. 파일 또는 데이터에 대한 세 가지 고유한 UNIX 보안 보호 기능은 무엇입니까?
- 37. 예를 들어 sed 명령을 간략하게 설명하십시오.
- 38. 쉘 스크립팅에서 개방형 클라이언트 드라이버와 함께 제공되는 도구의 목적은 무엇입니까?
- 49. 시스템의 지속 시간을 결정하는 데 사용해야 하는 명령의 이름을 지정하십시오.
- 40. 많은 값을 추가하는 스크립트를 만드십시오.
- 41. 함수 예제를 만듭니다.
- 결론
셸 스크립트는 Unix 셸에서 실행하도록 의도된 컴퓨터 프로그램 또는 명령줄 인터프리터입니다. 셸 스크립트를 빌드할 때 가장 좋은 점은 명령어와 구문이 명령줄에 직접 입력한 것과 동일하다는 것입니다.
Linux는 높은 보안 및 명령줄 인터페이스로 잘 알려진 인기 있는 오픈 소스 운영 체제입니다. DevOps 엔지니어 지망생은 쉘 스크립팅 또는 bash 스크립팅을 이해하는 것이 중요합니다.
쉘 스크립팅에 익숙하고 취업 면접을 준비하는 경우 이 쉘 스크립팅 인터뷰 질문 및 답변 기사는 준비를 더 쉽게 만들어줄 최고의 쉘 스크립팅 인터뷰 질문을 제공합니다.
1. 쉘이란 정확히 무엇입니까?
쉘은 사용자와 커널 사이의 다리 역할을 합니다. 커널은 하나만 있을 수 있지만 시스템은 동시에 여러 셸을 실행할 수 있습니다.
결과적으로 사용자가 키보드에 명령을 입력할 때마다 쉘은 커널과 대화하여 이를 실행한 다음 결과를 사용자에게 표시합니다.
2. 쉘 스크립팅이란 정확히 무엇입니까?
Shell Scripting은 Unix/Linux 셸에서 실행되는 무료 오픈 소스 컴퓨터 소프트웨어입니다. 쉘 스크립팅 소프트웨어를 사용하면 쉘이 실행할 일련의 명령을 작성할 수 있습니다.
길고 반복적인 명령 시퀀스를 언제든지 저장하고 수행할 수 있는 쉬운 단일 스크립트로 통합하여 프로그래밍 노력을 줄일 수 있습니다.
3. 쉘 스크립팅의 이점을 설명하십시오.
- UNIX, Linux, BSD 및 Mac OS X를 포함한 거의 모든 현재 운영 체제는 인터프리터 언어로 생성되기 때문에 쉘 스크립트를 실행할 수 있습니다.
- 빠른 시작은 물론 대화형 디버깅 도구입니다.
- 관리 업무를 자동화하여 시간을 절약합니다.
- 명령과 구문이 명령줄에 바로 배치된 것과 동일하기 때문에 프로그래머는 구문을 조정할 필요가 없습니다.
- 셸 스크립트는 사용 및 작성이 간단합니다.
- 이 도구를 사용하면 해당 플랫폼에 따라 소프트웨어 응용 프로그램을 생성할 수 있습니다.
- 단일 명령 대신 대량 실행에 사용할 수 있습니다.
- 이를 사용하여 필요한 기능을 갖춘 사용자 정의 운영 체제를 만들 수 있습니다.
4. GUI 프로그래밍에 대해 설명합니다.
그래픽 시간을 아껴주는 인터페이스 컴퓨터와 앱을 작동시키는 데 필요한 (GUI) 프로그래밍을 GUI 스크립팅이라고 합니다. 여러 운영 체제에서 작동하며 다양한 프로그램을 제어하는 데 사용됩니다.
5. 쉘 프로그래밍에서 슈퍼블록이란 정확히 무엇입니까?
슈퍼블록이라는 소프트웨어는 특정 파일 시스템의 기록을 저장합니다. 크기, 채워진 블록과 비어 있는 블록의 수, 사용 데이터, 블록 그룹 크기, inode 테이블의 위치와 크기 등이 블록에서 찾을 수 있는 속성입니다.
6. 다양한 종류의 접근 가능한 쉘을 나열하십시오.
- Bourne 쉘: Bourne 유형 쉘을 사용할 때 기본 프롬프트는 $ 기호입니다.
- C 쉘: C 유형 쉘을 사용할 때 기본 프롬프트는 문자 %입니다.
- Korn 셸: Korn은 원래 Bash Shell 스크립팅을 기반으로 하는 Unix 기반 셸 스크립팅 응용 프로그램입니다. 이 셸은 매우 복잡하며 높은 수준의 프로그래밍 언어.
- TCSH: TCSH의 완전한 형태는 없습니다. 그것은 방법입니다. TCSH는 Berkeley Unix C 셸의 보다 정교한 버전입니다. 이제 C 구문을 지원합니다.
7. Bourne Shell과 C Shell의 차이점을 쓰십시오.
Bourne Shell: 컴팩트함과 속도가 다른 쉘과 구별됩니다. 그러나 이전 요청을 기억하는 기능과 같은 대화형 요소가 누락되었습니다. 또한, 산술과 논리식 Bourne 셸에서 지원하지 않습니다.
C 셸: 별칭 및 명령 기록과 같은 대화형 기능을 포함하는 UNIX 개선 사항입니다. 여기에는 내장된 산술 및 표현식 문법 외에 쉬운 프로그래밍 기능이 포함되어 있습니다.
8. Shell 변수는 정확히 무엇입니까?
셸 변수는 모든 셸 프로그램 또는 스크립트의 기초입니다. 변수를 사용하면 Shell이 Shell 응용 프로그램 내에서 데이터를 저장하고 변경할 수 있습니다. 문자열 변수는 일반적으로 쉘 변수를 보유하는 데 사용됩니다.
9. Shell Script에는 어떤 종류의 변수가 있습니까?
운영 체제(Linux)는 시스템 정의 변수를 생성하고 정의합니다. 이러한 변수는 종종 대문자로 정의되며 "set" 명령으로 검사할 수 있습니다.
사용자 정의 변수는 시스템 사용자가 생성하거나 지정하며 "echo" 명령을 실행하여 값을 확인할 수 있습니다.
10. 쉘 파일을 실행하는 데 사용되는 명령은 무엇입니까?
11. Super Block in Shell 스크립팅에 대해 무엇을 말해줄 수 있습니까?
슈퍼 블록은 단순히 특정 파일 시스템에 대한 정보를 저장하는 소프트웨어입니다.
수퍼 블록은 블록 크기, 비어 있는 블록과 가득 찬 블록의 수, 해당 개수, inode 테이블의 크기와 배치, 디스크 블록 맵, 사용 통계 및 블록 그룹 크기와 같은 정보를 포함합니다.
12. 메타 문자란 정확히 무엇입니까?
메타 문자는 셸의 프로그램 또는 데이터 필드에 통합된 고유한 문자입니다. 다른 캐릭터에 대한 정보를 제공합니다. 예를 들어, 문자 ''로 시작하는 모든 파일을 나열하려면 'ls s*' 명령을 사용하십시오.
13. 소프트 링크와 하드 링크의 차이점은 무엇입니까?
소프트 링크는 파일 이름에 연결되며 다양한 파일 시스템에 존재할 수 있습니다. 반면에 하드 링크는 파일의 inode에 연결되며 파일과 동일한 파일 시스템에 있어야 합니다.
원본 파일을 삭제하면 소프트 링크가 비활성화(연결 끊김)되지만 하드 연결에는 영향을 주지 않으며 하드 링크는 파일 복사본에 계속 액세스합니다.
14. 쉘 스크립팅에서 Shebang 행의 의미는 무엇입니까?
Shebang 줄은 일반적으로 스크립트의 머리 부분에 있습니다(예: #!/bin/sh). 이 라인은 엔진의 위치를 지정합니다. 이 엔진은 일반적으로 스크립트를 실행하는 엔진입니다.
15. Linux 프로세스는 어떤 몇 단계를 거치나요?
일반적으로 Linux 프로세스는 다음 네 단계를 거칩니다.
- 대기 중: Linux 프로세스에서 리소스를 기다리고 있습니다.
- 실행 중: 현재 Linux 프로세스가 실행 중입니다.
- 중지됨: 성공적으로 실행된 후 Linux 프로세스가 종료됩니다.
- Zombiee 프로세스가 중지되었지만 프로세스 테이블에는 여전히 활성 상태로 표시됩니다.
16. Crontab에 대해 설명하십시오.
Crontab은 작업 스케줄러 'cron'이 작업을 수행하는 데 사용되기 때문에 cron 테이블을 나타냅니다. 그것은 정기적으로 수행되는 명령의 모음이며 명령의 이름도 목록을 제어합니다.
일정과 일정을 변경하는 데 사용되는 도구를 모두 Crontab이라고 합니다.
17. 제어 명령이란 정확히 무엇입니까?
제어 명령은 스크립트의 다양한 명령이 수행되는 방법을 나타냅니다. 일반적으로 Shell 애플리케이션에서 다음을 평가하는 데 사용됩니다. 제어 흐름.
이러한 명령이 없으면 쉘 스크립트의 실행이 순서대로 진행됩니다. 제어 명령은 셸 프로그램에서 실행이 진행되는 방식에 영향을 줍니다.
18. $*와 $@의 차이점은 무엇입니까?
$@는 인용된 각 인수를 별도의 인수로 간주하는 반면 $*는 위치 매개변수의 전체 컬렉션을 단일 문자열로 간주합니다.
19. 쉘 스크립트에서 문자열을 비교하는 방법을 설명하십시오.
'test' 명령은 텍스트 문자열을 비교하는 데 사용됩니다. 이 명령은 각 문자열의 문자를 비교하여 텍스트 문자열을 비교합니다.
20. 어떻게 파일을 만들고, 읽고, 제거할 수 있습니까?
21. 쉘 스크립팅에서 하드 링크와 소프트 링크를 구분할 수 있습니까?
셸 스크립팅은 Windows와 마찬가지로 링크를 사용하여 바로 가기를 구성하는 강력한 솔루션입니다. 소프트 링크는 고정된 위치가 없으며 동일한 파일 시스템의 모든 곳에서 찾을 수 있습니다.
일반적으로 파일 이름에 연결됩니다. 반면에 하드 링크는 동일한 파일 시스템에 유지됩니다. 대부분의 상황에서 하드 링키지는 노드와 연관되며 특정 고정 위치를 갖습니다.
22. 쉘 프로그램의 버그를 어떻게 해결할 것인가?
스크립트 버그를 해결하는 몇 가지 일반적인 방법은 다음과 같습니다.
- Set-x는 디버깅을 허용하는 데 사용됩니다.
- 디버그 명령문을 쉘 스크립트에 삽입하여 문제 발견에 도움이 되는 정보를 표시하십시오.
23. 파일 시스템에는 몇 개의 블록이 있습니까?
- 수퍼 블록: 이 블록은 블록 크기, 블록 그룹 크기, 사용 데이터, 비어 있고 채워진 블록 수, inode 테이블의 크기 및 배치 등 파일 시스템 상태에 대한 세부 정보를 제공합니다.
- Bootblock: 사용자가 호스트 시스템을 부팅할 때 실행되는 부트스트랩 로더 소프트웨어가 이 블록에 저장됩니다.
- 데이터 블록: 이 데이터 블록에는 파일 시스템의 파일 내용이 포함됩니다.
- Inode 테이블: UNIX는 모든 구성 요소를 파일로 취급하고 inode 테이블은 모든 파일 관련 데이터의 저장소입니다.
24. bash가 약한 유형의 언어인 이유는 무엇입니까?
변수를 선언할 때 데이터 형식 선언 요구 사항이 없기 때문에 Bash는 약한 형식 언어입니다. 변수의 유형은 현재 값에 의해 결정되며 Bash에서 문자열로 처리됩니다.
선언 명령을 사용하여 Bash 변수를 정의할 수 있습니다.
그러나 데이터 유형을 정의할 수 있는 가능성은 제한적이며 모든 데이터 유형을 다루지는 않습니다. 예를 들어, 선언 명령은 float 데이터 유형과 함께 사용할 수 없습니다.
25. 쉘 스크립트에서 변수의 길이는 얼마입니까?
쉘 스크립트의 변수는 실행이 끝날 때까지 수명이 있습니다.
26. echo에 대한 대체 명령의 이름을 지정합니다.
tput 명령은 echo의 대안입니다. 이 명령을 사용하여 출력이 표시되는 방식을 제어할 수 있습니다. 또한 화면 크기에 관계없이 셸 스크립트는 밑줄 및 가운데 텍스트와 같은 작업을 수행할 수 있습니다.
27. IFS 정의
IFS는 내부 필드 구분 기호를 나타냅니다. 공백, 탭, 새 행의 기본값이 있는 시스템 변수입니다. IFS는 한 행에서 한 필드 또는 단어가 끝나고 다른 것이 시작되는 위치를 나타냅니다.
28. 쉘에서 수많은 스크립트를 실행할 수 있습니까?
예, 많은 스크립트를 셸에서 실행할 수 있습니다. 여러 스크립트를 실행하여 다른 스크립트에서 한 스크립트를 호출할 수 있습니다. 이렇게 하려면 호출하려는 스크립트의 이름을 지정해야 합니다.
29. vi 편집기의 많은 모드는 무엇입니까?
- 명령 모드: 시작하는 모드입니다.
- 편집 모드: 이 옵션을 사용하면 후속 편집을 수행할 수 있습니다.
- 이 모드에서는 vi와 상호 작용하고 처리 지침을 제공합니다.
30. $!의 차이점은 무엇입니까! 그리고 $$?
$! 최근에 백그라운드로 들어간 프로세스의 프로세스 ID를 표시합니다.
$$는 현재 실행 중인 프로세스의 프로세스 ID를 반환합니다.
31. $#은 무슨 뜻인가요?
$#는 일반적으로 인수의 수를 보유하지만 함수에 따라 다를 수 있습니다. 간단히 설명하면 쉘 스크립트에 제공된 명령줄 매개변수의 수를 기록하는 데 사용되었습니다.
32. 백업을 만드는 데 사용된 명령의 이름을 지정합니다.
tar 명령은 백업을 만드는 데 사용됩니다. Tar는 테이프 아카이브의 약어이며 tar, gzip 및 bzip을 사용하는 백업을 빌드하는 데 사용됩니다. 이 명령은 테이프에서 파일을 저장 및 복원할 수 있습니다.
일반적으로 파일과 디렉토리는 아카이브 파일인 tarball로 압축됩니다. 이러한 이유로 가장 많이 사용되는 지침 중 하나입니다. 또한 tarball은 한 서버에서 다른 서버로 간단히 전송할 수 있습니다.
33. 쉘 스크립팅을 사용하는 것이 적절하지 않은 경우는 언제입니까?
전체 급여 처리 시스템을 구축하는 것과 같이 작업이 정말 복잡한 경우에는 Shell Scripting을 사용하지 않아야 합니다.
작업에 높은 수준의 생산성이 필요한 경우 Shell 스크립팅을 사용해서는 안 됩니다.
프로젝트에 여러 소프트웨어 솔루션이 필요한 경우 Shell Scripting을 사용해서는 안 됩니다.
34. Linux에서 데이터베이스 서버에 어떻게 연결하시겠습니까?
다음과 같이 개방형 클라이언트 드라이버에 포함된 isql 유틸리티를 활용할 수 있습니다.
35. 두 개의 crontab 명령 파일은 무엇입니까?
cron.allow는 crontab 명령을 사용하도록 허용되어야 하는 사용자를 결정합니다.
cron.deny는 사용자가 crontab 명령을 사용하는 것을 금지해야 하는지 여부를 결정합니다.
36. 파일 또는 데이터에 대한 세 가지 고유한 UNIX 보안 보호 기능은 무엇입니까?
- 파일에 대한 읽기, 쓰기 및 실행 권한을 부여하여 파일 수준 보안을 제공합니다.
- 사용자에게 인증을 위한 고유한 사용자 ID와 비밀번호를 제공하여 익숙하지 않거나 권한이 없는 개인이 액세스할 수 없도록 합니다.
- 에 의해 보안을 제공합니다. 파일 암호화. 이 접근 방식을 사용하면 읽을 수 없는 형식으로 파일을 인코딩할 수 있습니다. 파일을 열어도 복호화될 때까지 그 내용을 읽을 수 없습니다.
37. 예를 들어 sed 명령을 간략하게 설명하십시오.
sed는 스트림 편집기의 약자입니다. 편집기를 사용하지 않고 파일을 편집하는 데 사용됩니다. 파일 또는 파이프라인 입력과 같은 지정된 스트림을 변경하는 데 사용됩니다.
38. 쉘 스크립팅에서 개방형 클라이언트 드라이버와 함께 제공되는 도구의 목적은 무엇입니까?
시스템은 도구를 통해 데이터베이스 서버에만 연결됩니다. 사용자는 프로그래밍을 위해 여러 중요하고 필요한 활동을 완료해야 합니다.
스크립팅을 위해서는 더 많은 데이터와 정보가 필요하며, 이를 한 곳에 보관하는 것이 항상 실용적이지는 않습니다. 이 접근 방식을 사용하는 사용자는 오류 없는 출력을 보장해야 합니다.
49. 시스템의 지속 시간을 결정하는 데 사용해야 하는 명령의 이름을 지정하십시오.
Uptime 명령을 사용하여 시스템이 작동한 기간을 확인할 수 있습니다. 활성 세션이 있는 사용자 수와 1분, 5분 및 15분 동안의 일반적인 시스템 부하도 확인할 수 있습니다.
선택한 항목에 따라 한 번에 표시되는 정보를 필터링할 수도 있습니다.
40. 많은 값을 추가하는 스크립트를 만드십시오.
41. 함수 예제를 만듭니다.
결론
쉘은 주로 이러한 쉘 스크립팅 인터뷰 질문을 통해 사용자가 입력한 명령을 운영 체제나 커널로 번역하는 사용자와 운영 체제 간의 인터페이스라는 것을 이해할 수 있습니다.
이 개념은 면접 준비 과정에서 종종 중요합니다. DevOps 엔지니어 및 자동화 테스터. 셸 스크립팅을 사용하면 다양한 복잡성 수준의 스크립트를 생성할 수 있습니다. 셸 스크립팅을 사용하여 다양한 반복 프로세스를 자동화할 수도 있습니다.
만나다 해시독의 인터뷰 시리즈 면접 준비에 도움이 됩니다.
댓글을 남겨주세요.