웹사이트 검색

Linux 기본 소개


소개

Linux는 Linux 커널을 기반으로 하는 무료 오픈 소스 운영 체제 제품군입니다. Linux 기반 운영 체제는 Linux 배포판 또는 배포판으로 알려져 있습니다. 예를 들면 Debian, Ubuntu, Fedora, CentOS, Gentoo, Arch Linux 등이 있습니다.

Linux 커널은 1991년부터 활발히 개발되어 왔으며 매우 다재다능하고 적응력이 뛰어난 것으로 입증되었습니다. 웹 서버에서 휴대폰에 이르기까지 전 세계의 다양한 상황에서 Linux를 실행하는 컴퓨터를 찾을 수 있습니다. 오늘날 모든 클라우드 인프라의 90%와 전 세계 스마트폰의 74%가 Linux로 구동됩니다.

그러나 Linux 파일 시스템은 Windows나 MacOS에서 볼 수 있는 구조와 구조가 다르기 때문에 Linux를 처음 사용하는 사용자는 접근하기 다소 어려울 수 있습니다. 또한 Linux 기반 운영 체제는 명령줄 인터페이스 작업에 크게 의존하는 반면 대부분의 개인용 컴퓨터는 그래픽 인터페이스에 의존합니다.

이 가이드는 중요한 명령줄 개념과 기술에 대한 소개 역할을 하며 초보자가 Linux에 대해 자세히 배울 수 있도록 합니다.

전제 조건

이 가이드를 따라 하려면 Linux 기반 운영 체제를 실행하는 컴퓨터에 액세스해야 합니다. 이것은 SSH 또는 로컬 시스템으로 연결한 가상 사설 서버일 수 있습니다. 이 튜토리얼은 Ubuntu 20.04를 실행하는 Linux 서버를 사용하여 검증되었지만 주어진 예제는 모든 Linux 배포 버전을 실행하는 컴퓨터에서 작동해야 합니다.

이 가이드를 따르기 위해 원격 서버를 사용할 계획이라면 먼저 초기 서버 설정 가이드를 완료하는 것이 좋습니다. 이렇게 하면 sudo 권한이 있는 루트가 아닌 사용자와 UFW로 구성된 방화벽을 포함하여 보안 서버 환경을 설정하여 Linux 기술을 구축하는 데 사용할 수 있습니다.

터미널

"터미널\, "셸\ 및 "명령줄 인터페이스\라는 용어는 종종 같은 의미로 사용되지만 이들 사이에는 미묘한 차이가 있습니다.

  • 터미널은 셸을 실행하는 텍스트 전용 창을 제공하는 입력 및 출력 환경입니다.
  • 은 컴퓨터의 운영 체제를 사용자나 프로그램에 노출시키는 프로그램입니다. Linux 시스템에서 터미널에 표시되는 셸은 명령줄 인터프리터입니다.
  • 명령줄 인터페이스는 명령을 컴퓨터 프로그램으로 처리하고 결과를 출력하는 사용자 인터페이스(명령줄 인터프리터 프로그램에 의해 관리됨)입니다.

누군가가 Linux의 맥락에서 이 세 가지 용어 중 하나를 언급할 때 일반적으로 다음과 같이 명령을 실행하고 결과가 터미널에 출력되는 것을 볼 수 있는 터미널 환경을 의미합니다.

Linux 전문가가 되려면 터미널 사용에 익숙해야 합니다. 파일 조작, 패키지 설치, 사용자 관리 등 모든 관리 작업을 터미널을 통해 수행할 수 있습니다. 터미널은 대화식입니다. 실행할 명령을 지정하면 터미널이 해당 명령의 결과를 출력합니다. 명령을 실행하려면 프롬프트에 명령을 입력하고 ENTER를 누르십시오.

클라우드 서버에 액세스할 때 터미널 셸을 통해 액세스하는 경우가 가장 많습니다. Linux를 실행하는 개인용 컴퓨터에는 대부분의 컴퓨터 사용자에게 친숙한 종류의 그래픽 데스크톱 환경이 제공되는 경우가 많지만 터미널에 입력된 명령을 통해 특정 작업을 수행하는 것이 더 효율적이거나 실용적인 경우가 많습니다.

파일 시스템 계층 구조 표준

거의 모든 Linux 배포판은 FHS(Filesystem Hierarchy Standard)로 알려진 파일 시스템 디렉토리 구조에 대한 범용 표준을 준수합니다. FHS는 각각 고유한 특수 기능을 제공하는 일련의 디렉토리를 정의합니다.

슬래시(/)는 FHS에 의해 정의된 파일 시스템 계층 구조의 루트 디렉토리를 나타내는 데 사용됩니다.

사용자가 셸에 로그인하면 /home/에 저장된 자신의 사용자 디렉터리로 이동합니다. 이것은 사용자의 홈 디렉토리라고 합니다. FHS는 일반 사용자의 홈 디렉토리를 포함하는 것으로 /home/를 정의합니다.

루트 사용자는 FHS에 의해 지정된 자체 홈 디렉토리를 가집니다: /root/. /는 "루트 디렉터리\라고 하며 /에 저장되는 root/와 다릅니다.

FHS는 Linux 시스템의 기본 파일 시스템 레이아웃이고 그 안의 각 디렉토리는 특정 목적을 위해 포함되기 때문에 기능별로 파일을 구성하는 프로세스를 단순화합니다.

항해

Linux 파일 시스템은 디렉토리 트리를 기반으로 합니다. 즉, 다른 디렉터리 내부에 디렉터리(다른 운영 체제에 있는 폴더와 기능적으로 동일함)를 만들 수 있으며 파일은 모든 디렉터리에 존재할 수 있습니다.

현재 활성화된 디렉토리를 확인하려면 "print working directory\를 나타내는 pwd 명령을 실행할 수 있습니다.

  1. pwd

pwd는 현재 디렉토리의 경로를 출력합니다. 출력은 다음과 유사합니다.

Output
/home/sammy

이 예제 출력은 현재 활성 디렉토리가 루트 디렉토리인 /에 있는 home/ 디렉토리 안에 있는 sammy임을 나타냅니다. 앞에서 언급했듯이 sammy/ 디렉토리는 home/ 디렉토리 내에 저장되므로 sammy/는 sammy 사용자의 홈 디렉토리를 나타냅니다.

현재 작업 디렉토리에 있는 파일 및 디렉토리 목록을 보려면 ls 명령을 실행하십시오.

  1. ls

그러면 현재 작업 디렉토리에 있는 파일 또는 디렉토리의 이름 목록이 반환됩니다. 그러나 새 컴퓨터에서 이 가이드를 따르는 경우 이 명령은 출력을 반환하지 않을 수 있습니다.

"make directory\를 나타내는 mkdir 명령을 사용하여 현재 작업 디렉토리 내에 하나 이상의 새 디렉토리를 생성할 수 있습니다. 예를 들어, testdir1 라는 두 개의 새 디렉토리를 생성하려면 및 testdir2, 다음 명령을 실행할 수 있습니다.

  1. mkdir testdir1 testdir2

이제 ls 명령을 실행하면 다음 디렉토리가 출력에 나타납니다.

  1. ls
Output
testdir1 testdir2

이러한 새 디렉토리 중 하나로 이동하려면 cd 명령("change directory\를 나타냄)을 실행하고 디렉토리 이름을 지정하십시오.

  1. cd testdir1

이것은 새로운 현재 작업 디렉토리를 지정한 디렉토리로 변경합니다. pwd로 이것을 볼 수 있습니다:

  1. pwd
Output
/home/sammy/testdir1

그러나 testdir1testdir2는 모두 sammy 사용자의 홈 디렉토리에 있으므로 디렉토리 트리의 서로 다른 분기에 상주합니다. cd 명령은 현재 작업 디렉토리 내의 디렉토리를 찾습니다. 따라서 cd는 이전에 생성한 testdir2 디렉토리로 직접 cd할 수 없습니다.testdir1은 작업 디렉토리입니다.

  1. cd testdir2
Output
bash: cd: testdir2: No such file or directory

그러나 탐색하려는 디렉토리의 전체 경로를 지정하면 현재 작업 디렉토리에 관계없이 기존 디렉토리로 이동할 수 있습니다.

  1. cd /home/sammy/testdir2

참고: Linux에서 물결표(~)는 로그인한 사용자의 홈 디렉터리를 약칭합니다. 이를 알면 이전 명령을 다음과 같이 작성할 수 있으며 동일한 결과를 얻을 수 있습니다.

  1. cd ~/testdir2

또한 ..를 지정하여 경로에서 한 수준 위의 디렉토리로 변경할 수 있습니다. 원래 디렉터리로 돌아가려면:

  1. cd ..

탐색 트리에서 자신이 어디에 있는지 혼란스럽다면 언제든지 pwd 명령을 실행하여 현재 디렉터리를 찾을 수 있음을 기억하십시오. 많은 최신 쉘(많은 Linux 배포판의 기본값인 Bash 포함)도 이 섹션의 예제 명령에 표시된 대로 현재 디렉토리를 나타냅니다.

파일 조작

cd를 사용하여 파일과 상호 작용할 수 없습니다. cd는 "디렉토리 변경\을 나타내며 디렉토리 탐색만 허용합니다. 그러나 파일 내용을 생성, 편집 및 볼 수 있습니다.

파일을 만드는 한 가지 방법은 touch 명령을 사용하는 것입니다. file.txt라는 새 파일을 만들려면:

  1. touch file.txt

이렇게 하면 현재 작업 디렉토리에 file.txt라는 이름의 빈 파일이 생성됩니다. 이 파일의 내용은 비어 있습니다.

나중에 file.txt의 이름을 바꾸려면 mv 명령을 사용하면 됩니다.

  1. mv file.txt newfile.txt

mv는 "이동\을 의미하며 한 위치에서 다른 위치로 파일이나 디렉토리를 이동할 수 있습니다. 원본 파일인 file.txt를 지정하면 "이동할 수 있습니다. ” 현재 작업 디렉토리의 새 위치로 이동하여 이름을 바꿉니다.

cp 명령을 사용하여 파일을 새 위치에 복사할 수도 있습니다. file.txt를 다시 가져오지만 newfile.txt는 유지하려면 file이라는 newfile.txt의 복사본을 만들 수 있습니다. .txt는 다음과 같습니다.

  1. cp newfile.txt file.txt

짐작하셨겠지만 cp는 "복사\의 줄임말입니다. newfile.txtfile.txt라는 새 파일에 복사하면 다른 이름으로 새 파일에 원본 파일을 복제했습니다.

그러나 파일에 아무 것도 포함되어 있지 않으면 파일이 별로 쓸모가 없습니다. 파일을 편집하려면 파일 편집기가 필요합니다.

매일 사용하기 위해 전문가가 만든 파일 편집기에는 다양한 옵션이 있습니다. 이러한 편집기에는 vim, emacs, nanopico가 포함됩니다.

nano는 초보자에게 적합한 옵션입니다. 상대적으로 사용자 친화적이고 비밀스러운 옵션이나 명령으로 인해 과부하가 걸리지 않습니다.

nano를 사용하여 file.txt에 텍스트를 추가하려면 다음 명령을 실행합니다.

  1. nano file.txt

이렇게 하면 즉시 입력을 시작하여 file.txt를 편집할 수 있는 공간이 열립니다. 원하는 텍스트를 추가하거나 다음 예제의 텍스트를 복사할 수 있습니다.

Say it's only a paper moon
Sailing over a cardboard sea,
But it wouldn't be make believe
If you believed in me.

Yes it's only a canvas sky
Hanging over a muslin tree,
But it wouldn't be make believe
If you believed in me.

Without your love,
It's a honky-tonk parade.
Without your love,
It's a melody played in a penny arcade.

It's a Barnum and Bailey world,
Just as phony as it can be,
But it wouldn't be make believe
If you believed in me.

작성한 텍스트를 저장하려면 CTRL + X, Y를 누른 다음 ENTER를 누르십시오. 이렇게 하면 새로 저장된 file.txt 파일이 있는 셸로 돌아갑니다.

이제 file.txt에 일부 텍스트가 있으므로 cat 또는 less를 사용하여 볼 수 있습니다.

cat 명령은 지정된 파일의 내용을 시스템 출력에 인쇄합니다. cat을 실행하고 방금 편집한 file.txt 파일을 인수로 전달합니다.

  1. cat file.txt

이렇게 하면 file.txt의 전체 내용이 터미널에 출력됩니다. 이전 예제의 텍스트를 사용한 경우 이 명령은 다음과 유사한 출력을 반환합니다.

Output
Say it's only a paper moon Sailing over a cardboard sea, But it wouldn't be make believe If you believed in me. Yes it's only a canvas sky Hanging over a muslin tree, But it wouldn't be make believe If you believed in me. Without your love, It's a honky-tonk parade. Without your love, It's a melody played in a penny arcade. It's a Barnum and Bailey world, Just as phony as it can be, But it wouldn't be make believe If you believed in me.

cat을 사용하여 파일 내용을 보는 것은 파일이 특히 긴 경우 다루기 힘들고 읽기 어려울 수 있습니다. 대안으로 less 명령을 사용하여 출력에 페이지를 매길 수 있습니다.

다음과 같이 less를 사용하여 file.txt 파일의 내용을 봅니다.

  1. less file.txt

이렇게 하면 file.txt의 내용도 인쇄되지만 파일 시작 부분에서 시작하여 한 번에 하나의 터미널 페이지가 인쇄됩니다. 스페이스바를 사용하여 페이지를 넘기거나 화살표 키를 사용하여 한 줄씩 위아래로 이동할 수 있습니다.

less를 종료하려면 q를 누르세요.

마지막으로 file.txt 파일을 삭제하려면 rm에 파일 이름을 인수로 전달합니다.

  1. rm file.txt

참고: 다른 옵션이 없으면 rm 명령("제거\를 나타냄)을 사용하여 디렉토리를 삭제할 수 없습니다. 그러나 -d 플래그는 빈 디렉토리를 삭제하려면:

  1. rm -d directory

rmdir 명령을 사용하여 빈 디렉토리를 제거할 수도 있습니다.

  1. rmdir directory

비어 있지 않은 디렉토리를 삭제하려면 -r 플래그와 함께 rm을 실행할 수 있습니다. 이렇게 하면 모든 파일 및 하위 디렉터리를 포함하여 해당 내용과 함께 지정된 디렉터리가 삭제됩니다.

  1. rm -r directory

그러나 콘텐츠 삭제는 영구적인 작업이므로 지정된 디렉터리를 삭제하려는 것이 확실한 경우에만 rm-r 옵션과 함께 실행해야 합니다.

배움의 문화

터미널 창을 통해 Linux 시스템을 편안하게 탐색하려면 특히 완전히 새로운 경우에 시간, 헌신 및 호기심 많은 사고 방식이 필요합니다.

특정 작업을 수행하는 방법에 대한 질문이 있을 때 사용할 수 있는 몇 가지 방법이 있습니다. DigitalOcean의 커뮤니티 Q&A와 같은 검색 엔진. 질문이 있는 경우 다른 많은 사람들이 이미 질문을 했고 질문에 대한 답을 얻었을 확률이 높습니다.

질문이 특정 Linux 명령과 관련이 있는 경우 매뉴얼 페이지에서 거의 모든 명령에 대한 상세하고 통찰력 있는 문서를 제공합니다. 명령에 대한 매뉴얼 페이지를 보려면 명령 이름을 man 명령에 대한 인수로 전달하십시오.

  1. man command

예를 들어 man rmrm의 목적, 사용 방법, 사용 가능한 옵션, 사용 예 및 더 유용한 정보를 표시합니다.

결론

이 가이드는 Linux 환경 작업에 대한 소개 역할을 합니다. 그러나 Linux와 모든 구성 요소를 완전히 이해하는 것은 단일 자습서의 범위를 훨씬 뛰어넘습니다. 예를 들어 이 튜토리얼에서는 Linux 시스템 관리의 기본 개념인 권한에 대해 언급하지 않습니다.

Linux Basics 태그 페이지에서 찾을 수 있는 모든 소개 Linux 콘텐츠를 확인하는 것이 좋습니다.