[Linux] 시스템 설치 및 공통 명령어 사용
1. 리눅스 시스템의 이해
Linux는 파티셔닝 없이 메모리를 관리합니다.
1. 시스템 소개
1. 커널 버전
- 오픈 소스 배포 버전: 클라우드 서버 배포 시스템, Ubuntu 및 CentOS 가 시장에서 가장 인기 있는 버전입니다 .
- 비오픈소스 버전, iOS, Android
2. 체계적인 계보
3. Linux 커널이 지원하는 시스템
4. Linux 시스템의 서버 시장 점유율
(2016년)
- 세계에서 가장 빠른 500대 슈퍼컴퓨터 중 90% 이상이 Linux 배포판 또는 변형 버전을 실행하며, 그중 상위 10대 슈퍼컴퓨터는 모두 Linux 커널을 기반으로 합니다.
- Linux는 또한 Linux 커널을 기반으로 하는 iOS 및 Android 시스템을 포함하여 임베디드 시스템, 휴대폰, 태블릿, 라우터, TV, 게임 콘솔 등에 널리 사용됩니다.
5. 리눅스의 장점
- 1. 오픈소스는 무료이며, 직접 수정이 가능하고, 다른 오픈소스 소프트웨어와 호환성이 좋습니다.
- 2. 다중 사용자 접근이 편리하며, 권한 관리가 편리하고 빠릅니다.
- 3. 우수한 메모리 관리, 장시간 연속 실행이 가능하고 시스템이 적은 메모리를 차지합니다.
- 4. 완벽한 도구 기능 라이브러리, 배포 및 설치가 용이함
2. Windows의 가상 머신에 Linux를 설치합니다.
- win10과 함께 제공되는 가상 머신을 사용하면 편리하고 빠르며 공간을 거의 차지하지 않습니다.
1. 개발자 모드를 켠다
2. 하위 시스템 기능 활성화
- Windows 기능 켜기/끄기를 켜고 Linux용 Windows 하위 시스템을 확인한 후 확인하세요. 나중에 다시 시작.
3. 우분투 다운로드 및 설치
- Microsoft Store를 열고 Ubuntu를 검색하여 설치, LTS 장기 지원 버전 받기
- 다운로드 및 설치가 완료되면 다음을 엽니다.
3. 일반적인 Linux 명령
0, 기본 명령
sudo , 높은 권한
지우다 , 화면을 지우다
pwd , 현재 디렉터리 경로를 표시합니다.
> , 왼쪽 명령의 출력을 오른쪽 파일이나 명령에 덮어쓰고, 오른쪽 파일이 없으면 새로 만듭니다.
>> , 왼쪽 명령의 출력을 오른쪽 파일이나 명령에 추가합니다. 오른쪽 파일이 없으면 새로 만듭니다.
chmod, 속성 수정 권한, 6777: 전체 권한(8진수), 110: 슈퍼 권한/재구성(6), 111: 사용자의 읽기 및 쓰기 실행(7), 예:
1. ls 명령 - 트래버스
ls는 list의 약자로 지정된 위치에 있는 파일과 폴더를 나열하는 기능으로, 지정하지 않을 경우 현재 폴더에 있는 파일이나 폴더가 기본값으로 설정됩니다.
일반적으로 사용되는 매개변수는 다음과 같습니다.
-a , 모든 파일 또는 폴더 나열
- 숨겨진 파일이나 폴더를 포함한 모든 파일을 볼 수 있습니다(.로 시작하는 파일이나 폴더는 일반적으로 기본적으로 숨겨진 것으로 간주됩니다).
-l , 세부정보 나열
- 기본적으로 ls는 이름만 표시하며, 이 매개변수를 추가하면 파일 권한, 사용자, 그룹, 크기, 수정 날짜 등이 표시됩니다.
-h , 가독성 향상
- 기본 파일은 바이트 단위로 표시됩니다. 이 매개변수를 추가하면 K, M, G, T 등과 같은 크기 접미사가 수반됩니다. K: 킬로바이트, M: 메가바이트, T: 1024G
-R , 재귀적 접근
- 현재 디렉터리에 다른 폴더가 있는 경우 해당 폴더에 있는 파일과 폴더도 표시됩니다.
-Q , 파일 이름을 큰따옴표로 묶습니다.
- 이 매개변수는 일부 파일이나 폴더가 공백 문자로 끝나는 것을 방지하는 데 사용됩니다. 큰따옴표를 사용하면 파일 이름의 실제 길이를 확인할 수 있습니다.
2. echo 명령 - 표시 문자열
- 표시 문자열,
이스케이프 문자를 표시합니다(예: echo ", 또는 '`)
변수 표시, echo $PATH: 환경 변수 표시
줄 바꿈 표시/줄 바꿈 없음, echo -e "\n": 줄 바꿈, echo -e "\c": 줄 바꿈 없음
문자열을 있는 그대로 표시합니다. echo "$PATH"
명령 결과 표시, 에코date
3. cd 명령 - 대상 경로
CD 대상 경로(디렉토리 변경)
~ : 현재 사용자의 사용자 디렉터리를 나타냅니다.
- 일반 사용자의 경우: 일반적으로 /home/username 폴더, 루트 사용자의 경우: 해당 /root 폴더.
. : 점은 현재 디렉터리를 나타냅니다.
. . : 두 개의 점은 상위 디렉터리를 나타냅니다.
- CD . ./. .
4. head 명령 - 파일 헤더
-cn , 헤더의 지정된 n 문자를 표시합니다 .
-nx , 헤더에 지정된 처음 x개의 데이터 행을 표시합니다.
-v , 파일 이름 표시
-q, 파일 이름을 표시하지 않습니다. 기본값입니다.
지정된 형식의 파일을 탐색합니다. 예: ls*.txt
문자를 지정하지 않은 파일을 탐색합니다. 예: ls jso?.txt
5. tail 명령 - 파일 끝
-c는 끝에 지정된 바이트의 내용을 표시합니다.
-n, 파일 끝에 지정된 행 수의 내용을 표시합니다.
-v 표시 파일 이름
-q, 파일 이름을 표시하지 않습니다. 기본값입니다.
-f를 사용하면 파일의 최종 내용을 지속적으로 업데이트할 수 있습니다.
6. ps 명령 - 현재 사용자로 시작된 프로세스를 표시합니다.
-Al은 모든 프로세스의 세부 정보와 프로세스 이름을 표시합니다.
-aux는 모든 프로세스와 해당 시작 명령의 세부 정보를 표시합니다.
- 모든 프로세스는 init 프로세스의 하위 프로세스입니다.
프로세스 값 항목 설명:
- USER, 프로세스가 속한 사용자
- UID는 해당 프로세스가 속한 사용자 ID로, 0일 경우 가장 높은 권한을 가진 루트 사용자를 나타낸다.
- PID, 프로세스 ID
- PPID, 상위 프로세스 ID
- PRI는 우선순위 값이 낮을수록 우선순위가 높으며, 음수일 수도 있습니다.
- %CPU, CPU 사용량
- %MEM, 메모리 사용량
- VSZ, 가상 메모리 공간(일부는 스왑 파일에 있을 수 있음)
- RSS, 실제 메모리 사용량(RAM이 차지하는 크기)
- TTY, 해당 콘솔 장치
- TIME, 프로세스가 실행되는 시간
- START, 프로세스가 실행을 시작하는 시간
- COMMAND, 프로세스를 시작하는 데 사용되는 명령, 프로세스 이름(매개변수를 사용할 수 있음)
- CMD, 프로세스를 시작하는 데 사용되는 명령, 프로세스 이름(매개변수 없음)
- S/STAT, 상태: S 절전, R 실행 중, D 차단, Z 좀비 프로세스, T 일시 중지
7. cp 명령 - 복사
(copy copy 명령)
명령 사용법: cp [매개변수] 소스 파일/폴더 대상 파일/폴더,
[]는 선택 사항, 사용 가능 여부를 의미합니다.
-속성을 포함한 사본
- 이 옵션은 일반적으로 디렉터리를 복사하고 링크, 파일 속성을 유지하고 디렉터리 아래의 모든 콘텐츠를 복사할 때 사용됩니다. 효과는 dpr 매개변수 조합과 동일합니다.
-d 복사할 때 링크를 유지합니다.
-p 권한이 있는 복사
- 파일 내용을 복사하는 것 외에도 수정 시간과 접근 권한도 새 파일에 복사됩니다.
-r 폴더 복사
- 주어진 소스 파일이 디렉터리 파일인 경우 해당 디렉터리의 하위 디렉터리와 파일이 복사됩니다.
-f 병력 적용 범위
- 프롬프트를 표시하지 않고 기존 대상 파일을 덮어씁니다.
-i 프롬프트 무시
- 대상 파일을 덮어쓰기 전에 사용자에게 덮어쓰기 여부를 묻는 메시지를 표시합니다.
-l 링크 생성
- 파일은 복사되지 않으며 링크된 파일만 생성됩니다.
- 일부 시스템에서만 작동하며 Ubuntu에는 영향을 미치지 않습니다.
8. rm 명령 - 삭제
제거삭제
-i 삭제 확인
-f 강제 삭제
-r 디렉토리 삭제
4. 일반적인 Linux 명령(인터넷에서):
암호 명령
pwd 명령을 사용하여 현재 작업 디렉터리(폴더)의 경로를 찾습니다. 이 명령은 기본적으로 /로 시작하는 모든 디렉터리에 대한 경로인 절대(전체) 경로를 반환합니다. 절대 경로의 예는 /home/username입니다.
CD 명령
Linux 파일 및 디렉터리를 찾아보려면 cd 명령을 사용합니다. 현재 작업 중인 디렉터리에 따라 디렉터리의 전체 경로나 이름이 필요합니다. 당신이 /home/username/Documents에 있고 Documents의 Photos 하위 디렉토리로 가고 싶다고 가정합니다. 이렇게 하려면 다음 명령을 입력하십시오: cd Photos. 또 다른 경우는 /home/username/Movies와 같은 완전히 새로운 디렉토리로 전환하려는 경우입니다. 이 경우 cd 다음에 해당 디렉토리의 절대 경로(cd /home/username/Movies)를 입력해야 합니다. 빠르게 탐색하는 데 도움이 되는 몇 가지 단축키가 있습니다. cd ...(점 2개) 한 디렉터리 위로 이동 cd 홈 폴더로 직접 이동 cd-(하이픈 포함) 이전 디렉터리로 이동 참고로 Linux용 셸은 대소문자를 구분합니다. 따라서 디렉터리 이름을 정확하게 입력해야 합니다.
ls 명령
LS 명령은 디렉토리의 내용을 보는 데 사용됩니다. 기본적으로 이 명령은 현재 작업 디렉터리의 내용을 표시합니다. 다른 디렉토리의 내용을 보려면 ls 다음에 해당 디렉토리 경로를 입력하십시오. 예를 들어 파일 내용을 보려면 ls /home/username/documents를 입력합니다. ls 명령의 다음 변형을 사용할 수 있습니다. ls -R은 하위 디렉터리의 모든 파일도 나열합니다. ls -a는 숨겨진 파일을 표시합니다. ls -al은 권한, 크기, 기다리는 모든 사람과 같은 세부 정보와 함께 파일 및 디렉터리를 나열합니다.
고양이 명령
cat(connect의 약어)은 Linux에서 가장 일반적으로 사용되는 명령 중 하나입니다. 표준 출력(sdout)에 파일 내용을 나열하는 데 사용됩니다. 이 명령을 실행하려면 cat을 입력하고 그 뒤에 파일 이름과 확장자를 입력하세요. 예: cat file.txt. cat 명령을 사용하는 다른 방법은 다음과 같습니다. cat> filename 새 파일 만들기 cat filename1 filename2> filename3 두 파일(1과 2)을 연결하고 해당 출력을 새 파일에 저장합니다. (3) 파일을 대문자로 변환하거나 소문자를 사용합니다. cat 파일 이름 | tr az AZ >output.txt
cp 명령
cp 명령을 사용하여 현재 디렉터리에서 다른 디렉터리로 파일을 복사합니다. 예를 들어, cp 풍경.jpg/home /username/ Pictures 명령은 Pictures 디렉터리에 Scene.jpg(현재 디렉터리에서) 복사본을 생성합니다.
mv 명령
mv 명령의 주요 용도는 파일을 이동하는 것이지만 파일 이름을 바꾸는 데에도 사용할 수 있습니다. mv의 매개변수는 cp 명령과 유사합니다. mv, 파일 이름 및 대상 디렉터리를 입력해야 합니다. 예: mv file.txt/home /username/ 문서.
mkdir 명령 - 디렉터리/폴더 생성
mkdir 명령을 사용하여 새 디렉터리를 만듭니다. mkdir Music을 입력하면 Music이라는 디렉터리가 생성됩니다. 몇 가지 추가 mkdir 명령이 있습니다. 다른 디렉토리 내에 새 디렉토리를 생성하려면 다음 Linux 기본 명령을 사용하십시오. mkdir Music / Newfile p(상위) 옵션을 사용하여 두 기존 디렉토리 사이에 디렉토리를 만듭니다. 예를 들어 mkdir -p Music/2022/Newfile은 새로운 "2022" 파일을 생성합니다.
rmdir 명령
디렉토리를 삭제해야 하는 경우 rmdir 명령을 사용하십시오. 그러나 rmdir을 사용하면 빈 디렉터리만 삭제할 수 있습니다.
rm 명령
이 RM 명령은 디렉터리와 해당 내용을 삭제합니다. rmdir 대신 디렉토리를 삭제하려면 rm -r을 사용하세요. 참고: 이 명령을 사용할 때는 각별히 주의하고 현재 있는 디렉터리를 다시 확인하세요. 이렇게 하면 모든 내용이 삭제되며 실행 취소할 수 없습니다.
터치 명령
이 touch 명령을 사용하면 Linux 명령줄을 통해 새로운 빈 파일을 만들 수 있습니다. 예를 들어, Documents 디렉토리에 Web이라는 이름의 HTML 파일을 생성하려면 touch /home/username/Documents/Web.html을 입력하십시오.
위치 명령
이 명령을 사용하면 Windows의 검색 명령과 마찬가지로 파일을 찾을 수 있습니다. 또한 명령과 함께 -i 매개변수를 사용하면 대소문자를 구분하지 않으므로 정확한 이름을 기억하지 못하는 경우에도 파일을 검색할 수 있습니다. 두 개 이상의 단어가 포함된 파일을 검색하려면 별표(*)를 사용하세요. 예를 들어, located -i school * note 명령은 대문자인지 소문자인지에 관계없이 "school"과 "note"라는 단어가 포함된 모든 파일을 검색합니다.
명령 찾기
비슷한 찾기 명령에서 찾기를 사용하여 파일과 디렉터리도 검색할 수 있습니다. 차이점은 find 명령을 사용하여 특정 디렉토리에서 파일을 찾을 수 있다는 것입니다. 예를 들어, find /home/-name Notes.txt 명령은 홈 디렉토리와 해당 하위 디렉토리에서 Notes.txt라는 파일을 검색합니다. find 사용의 다른 변형은 다음과 같습니다: 현재 디렉토리에서 사용되는 파일을 찾으려면 find -name Notes.txt를 사용하십시오. 디렉토리를 찾으려면 /-type d -name Notes.txt13을 사용하십시오. grep 명령은 의심할 여지 없이 매일 사용하는 데 유용합니다. 도움이 되는 기본 Linux 명령은 grep입니다. 특정 파일의 모든 텍스트를 검색할 수 있습니다. 이 점을 설명하기 위해 grep blue notepad.txt는 메모장 파일에서 blue라는 단어를 검색합니다. 검색된 단어가 포함된 행 전체가 표시됩니다.
sudo 명령
이 명령은 "SuperUser Do"의 약어이며 이를 통해 관리자 또는 수퍼유저 권한이 필요한 작업을 수행할 수 있습니다. 하지만 이 명령은 잘못 사용하면 쉽게 오류가 발생할 수 있으므로 일상적으로 사용하지 않는 것이 좋습니다.
df 명령
df 명령을 사용하여 시스템의 디스크 공간 사용량에 대한 보고서를 백분율과 KB 단위로 가져옵니다. 보고서를 메가바이트 단위로 보려면 df -m을 입력합니다.
명령
파일이나 디렉토리가 얼마나 많은 공간을 차지하고 있는지 확인하려면 du(디스크 사용량) 명령이 답입니다. 그러나 디스크 사용량 요약에는 일반적인 크기 형식 대신 디스크 블록 번호가 표시됩니다. 바이트, 킬로바이트, 메가바이트 단위로 보려면 명령줄에 -h 매개변수를 추가하세요.
머리 명령
header 명령은 텍스트 파일의 첫 번째 줄을 보는 데 사용됩니다. 기본적으로 처음 10줄이 표시되지만 원하는 대로 이 숫자를 변경할 수 있습니다. 예를 들어 처음 5줄만 표시하려면 head -n 5 filename.ext를 입력합니다.
꼬리 명령
이 명령은 head 명령과 유사한 기능을 가지고 있지만 tail 명령은 첫 번째 줄 대신 텍스트 파일의 마지막 10개 줄을 표시합니다. 예를 들어 tail -n filename.ext입니다.
차이점 명령
diff 명령은 Difference의 약자로, 두 파일의 내용을 한 줄씩 비교하는 명령입니다. 파일을 구문 분석한 후 일치하지 않는 행을 출력합니다. 프로그래머는 전체 소스 코드를 다시 작성하는 대신 프로그램을 변경해야 할 때 이 명령을 자주 사용합니다. 이 명령의 가장 간단한 형식은 diff file1.ext file2.ext입니다.
tar 명령
tar 명령은 여러 파일을 압축된 아카이브로 아카이브하는 데 가장 일반적으로 사용되는 명령입니다. 일반적인 Linux 파일 형식인 zip 형식과 마찬가지로 압축은 선택 사항입니다. 이 명령에는 기존 아카이브에 새 파일 추가, 아카이브 내용 나열, 아카이브에서 내용 추출 등과 같은 기능 목록이 길고 매우 복잡합니다. 추가 기능에 대해 자세히 알아보려면 실제 사례를 확인하세요.
chmod 명령
chmod는 파일 및 디렉터리의 읽기, 쓰기 및 실행 권한을 변경하는 데 사용되는 또 다른 Linux 명령입니다. 이 명령은 매우 복잡하므로 전체 튜토리얼을 읽고 올바르게 실행할 수 있습니다.
chown 명령
Linux에서는 모든 파일이 특정 사용자의 소유입니다. CHOWN 명령을 사용하면 파일의 소유권을 지정된 사용자 이름으로 변경하거나 이전할 수 있습니다. 예를 들어, chown linuxuser2 file.ext는 linuxuser2를 file.ext의 소유자로 만듭니다.
작업 명령
jobs 명령은 모든 현재 작업과 해당 상태를 표시합니다. 작업은 기본적으로 셸에서 시작되는 프로세스입니다.
kill 명령
프로그램이 응답하지 않으면 kill 명령을 사용하여 수동으로 종료할 수 있습니다. 비정상적으로 동작하는 애플리케이션에 특정 신호를 보내고 애플리케이션이 스스로 종료되도록 지시합니다. 총 64개의 신호를 사용할 수 있지만 사람들은 일반적으로 두 가지 신호만 사용합니다. SIGTERM (15) — 프로그램 실행을 중지하고 모든 진행 상황을 저장할 시간을 갖도록 요청합니다. 이 신호는 kill 명령을 입력할 때 신호가 지정되지 않은 경우 사용됩니다. SIGKILL(9) - 프로그램을 즉시 강제로 중지합니다. 저장하지 않은 진행 상황은 손실됩니다. 신호를 아는 것 외에도 종료하려는 프로그램의 프로세스 식별 번호(PID)도 알아야 합니다. PID를 모르면 ps ux 명령을 실행하세요. 사용하려는 신호와 프로그램의 PID를 알고 나면 다음 구문을 입력하십시오. kill [signal option] PID.
핑 명령
ping 명령을 사용하여 서버 연결 상태를 확인합니다. 예를 들어 ping google.com을 입력하면 명령이 Google에 연결할 수 있는지 확인하고 응답 시간을 측정합니다.
wget 명령
Linux 명령줄은 매우 유용합니다. wget 명령을 사용하면 인터넷에서 파일을 다운로드할 수도 있습니다. 이렇게 하려면 wget을 입력하고 다운로드 링크를 입력하면 됩니다.
unname 명령
Unix 이름의 약자인 UNAME 명령은 컴퓨터 이름, 운영 체제, 커널 등과 같은 Linux 시스템에 대한 세부 정보를 인쇄합니다.
최고 사령부
Windows의 작업 관리자에 해당하는 터미널로서 top 명령은 실행 중인 프로세스 목록과 각 프로세스에서 사용하는 CPU 양을 표시합니다. 시스템 리소스 사용량을 모니터링하는 것은 매우 유용합니다. 특히 너무 많은 리소스를 소비하기 때문에 종료해야 하는 프로세스를 파악하는 것이 좋습니다.
역사 명령
한동안 Linux를 사용하면 매일 수백 개의 명령을 실행할 수 있다는 사실을 금방 알게 될 것입니다. 따라서 이전에 입력한 명령을 보려는 경우 실행 기록 명령이 특히 유용합니다.
남자 명령
특정 Linux 명령의 기능이 무엇인지 혼란스러우신가요? 걱정하지 마십시오. Linux 셸에서 man 명령을 사용하여 사용 방법을 쉽게 배울 수 있습니다. 예를 들어, man tail을 입력하면 tail 명령에 대한 수동 지침이 표시됩니다.
에코 명령
이 명령은 일부 데이터를 파일로 이동하는 데 사용됩니다. 예를 들어, "Hello, my name is John"이라는 텍스트를 name.txt라는 파일에 추가하려면 echo Hello, my name is John >> name.txt를 입력합니다.
zip, 압축 해제 명령
zip 명령을 사용하여 파일을 zip 아카이브로 압축한 다음 unzip 명령을 사용하여 zip 아카이브에서 압축된 파일을 추출합니다.
호스트 이름 명령
호스트/네트워크의 이름을 알고 싶다면 호스트 이름을 입력하면 됩니다. 끝에 -I를 추가하면 네트워크의 IP 주소가 표시됩니다.
useradd, userdel 명령
Linux는 다중 사용자 시스템이기 때문에 이는 여러 사람이 동시에 동일한 시스템과 상호 작용할 수 있음을 의미합니다. useradd는 새 사용자를 생성하는 데 사용되는 반면 passwd는 해당 사용자의 계정에 비밀번호를 추가합니다. John이라는 새 사용자를 추가하려면 사용자 John을 추가한 다음 그의 비밀번호 유형 passwd 123456789를 추가합니다. 사용자 삭제는 새 사용자 추가와 매우 유사합니다. 사용자 계정 유형을 삭제하려면 userdel UserName을 사용합니다.