[Server] Linux 기초

seonjeong·2023년 11월 25일
0

Server

목록 보기
6/15
post-thumbnail

리눅스는 CLI(Command Line Interface)이며 명령어는 현재 머물고 있는 디렉토리를 대상으로 내려진다

설치 없이 실습하기

  1. 리눅스 실습 사이트 접속
  2. StartupLink 클릭

❤️ 디렉토리와 파일

명령어 요약

  • pwd : 현재 디렉토리
  • ls : list segment, 현재 위치의 파일 목록 조회
  • mkdir : 디렉토리 생성
  • touch : 파일 생성
  • cd : change directory, 디렉토리 이동
  • rm : remove, 파일 삭제
  • mv : move, 파일 이동
  • cp : copy, 파일 복사

도움말 명령어

  • --help : 명령어에 대한 간단한 메뉴얼을 보여줌,   예) ls --help
  • man : 페이지로 이동하여 상세한 메뉴얼을 보여줌,   예) man ls

ls : 현재 위치의 파일 목록 조회

  • -l : 파일 상세정보
  • -a : 숨김 파일 표시
  • -t : 파일 생성시간순으로 표시(제일 최근 것부터)
  • -rt : 파일 생성시간순으로 표시(제일 오래된 것부터)
  • -F : 파일 표시 시, 마지막 유형에 나타내는 파일명을 끝에 표시
           ( / : 디렉토리, * : 실행 가능한 파일, @ : 심볼릭 링크...)

cd : 디렉토리 이동

  • cd [디렉토리 경로] : 해당 디렉토리로 이동
  • cd ~ : 홈 디렉토리로 이동
  • cd / : 최상위 디렉토리로 이동
  • cd . : 현재 디렉토리
  • cd .. : 상위 디렉토리로 이동
  • cd - : 이전 경로로 이동

touch : 파일 생성

  • touch [파일명] : [파일명]의 파일을 생성
  • touch -c [파일명] : 해당 파일의 시간을 현재 시간으로 갱신
  • touch -t 202311221610 [파일명] : 해당 파일의 시간을 날짜 정보(yyyymmddhhmm)로 갱신
  • touch -r [파일A] [파일B] : 파일B의 날짜 정보를 파일A의 날짜 정보와 동일하게 변경

rm : 파일 삭제

  • rm [파일명] : 해당 파일 삭제
  • rm -r [폴더명] : 해당 디렉토리 삭제
  • rm -f [파일명] : 해당 파일 강제 삭제

mkdir : 디렉토리 생성

  • mkdir [폴더명] : [폴더명] 디렉토리 생성
  • mkdir [폴더A] [폴더B] : 한 번에 여러 개의 디렉토리 생성
  • mkdir -p [폴더A]/[폴더B]/[폴더C] : 상위 디렉토리 생성 후 하위 디렉토리도 생성
  • mkdir -m 777 [폴더명] : 특정 퍼미션(권한)을 갖는 디렉토리 생성
    • 777의 경우, rwxrwxrwx라는 의미를 가지므로 파일 소유자, 소유 그룹, 일반 사용자에게 읽기, 쓰기, 실행의 모든 권한을 줌

파일 퍼미션

8진수2진수권한의미
0000---아무 권한 없음
1001--x실행 권한만 있음
2010-w-쓰기 권한만 있음
3011-wx쓰기,실행 권한 있음
4100r--읽기 권한만 있음
5101r-x쓰기,실행 권한 있음
6110rw-읽기,쓰기 권한 있음
7111rwx모든 권한 있음

cp : 파일 복사

  • cp [파일A] [파일B] : 파일A를 파일B라는 이름으로 복사
  • cp -f [파일A] [파일B] : 강제 복사(이미 존재할 경우 기존파일을 지우고 복사)
  • cp -r [폴더A] [폴더B] : 디렉토리 복사, 폴더 안의 모든 하위 경로와 파일들을 복사

mv : 파일 이동

  • mv [파일A] [파일B] : 파일A를 파일B로 변경
  • mv [파일A] /[폴더명] : 파일A를 해당 디렉토리로 이동
  • mv [파일A] [파일B] /[폴더명] : 여러 개의 파일을 해당 디렉토리로 이동
  • mv [폴더A] [폴더B] : 폴더A를 폴더B로 이름 변경

❤️ sudo(super user do)

일반 사용자가 시스템 관리자와 같은 root 권한을 사용할 수 있도록 해준다.

예시

  • 사용자 계정에 sudo 권한 추가
    sudo usermod -aG sudo 사용자  
  • sudo로 패키지 관리자 실행
    sudo apt-get update

❤️ 편집기 - nano 에디터

  • 사용자가 텍스트 파일을 생성하거나 수정하는 도구
  • 명령어 기반의 텍스트 기반의 에디터에서부터 GUI 기반의 텍스트 에디터까지 다양함
  • nano는 텍스트 기반의 편집기에 해당
  • vi도 있지만 초심자에게는 nano 추천

nano 에디터

nano를 입력하면 아래와 같이 nano 에디터가 실행된다

  • 화면 맨 밑에 보이는 것들이 에디터의 명령어이다
  • ^ : ctrl을 의미
  • ^O를 실행하여 파일명을 작성하고 enter를 치면 hello.html이라는 파일이 저장된다
  • ^X를 실행하여 에디터에서 나온 뒤 확인해보면 hello.html라는 파일이 생긴 것을 확인할 수 있다
  • 다시 hello.html을 편집하고 싶으면 nano hello.html이라고 입력하여 에디터로 들어간 후 편집한다

vi 에디터

Linux vi 편집기 사용법 및 명령어 참고


❤️ 패키지 매니저(Package manager)

컴퓨터의 운영 체제를 위해 일정한 방식으로 컴퓨터 프로그램의 설치, 업그레이드, 구성의 제거 과정을 자동화하는 소프트웨어 도구들의 모임

패키지 매니저란? 참고

리눅스의 패키지 매니저에는 aptyum 등이 있다

apt : Advanced Packaging Tool

apt뿐만 아니라 apt-get이라는 명령어도 있다.
apt-get의 옵션이 많기 때문에 자주 사용하는 옵션들을 추출해서 apt가 만들어졌다.

apt vs apt-get 참고

일반적인 명령 구문

aptapt-get설명
apt install <package_name>apt-get install <package_name>패키지 설치
apt remove <package_name>apt-get remove <package_name>설정파일을 제외한 패키지 파일 삭제
apt purge <package_name>apt-get purge <package_name>설정파일을 포함한 패키지 파일 모두 삭제
apt upgrade <package_name>apt-get upgrade <package_name>패키지 업그레이드(최신버전으로)
apt updateapt-get update소프트웨어 페키지 목록 업데이트

관리자로 로그인하지 않은 경우에는 sudo명령을 추가해야 한다


기타 기능

apt-get대신 apt-cache를 사용해야하는 기능이 있다.

apt-cacheapt설명
apt-cache search <package_name>apt search <package_name>패키지 검색
apt-cache show <package_name>apt show <package_name>패키지 정보 표시
apt-cache policyapt policy설치된 패키지의 우선순위 및 저장소 정보 표시

❤️ wget

웹에서 파일 다운로드를 하기 위한 명령줄 유틸리티
url을 통해 파일을 다운로드 받을 수 있다

10가지 사용법

✔️ 웹페이지 다운로드

wget http://example.org/file.tar.gz

✔️ FTP 서버에서 파일 다운로드 하기

익명 FTP를 통해 파일을 다운로드할 수 있다

wget ftp://example.org/file.tar.gz

✔️ 신뢰할 수 없는 https URL에서 파일을 다운로드

--no-check-certificate 옵션을 사용하면 인증서 유효성 검사를 무시할 수 있다

wget http://example.org/file.tar.gz --no-check-certificate

✔️ wget 명령어를 이용해 전체 웹 사이트를 미러링

-m옵션으로 미러링을 설정하면 모든 웹사이트의 파일을 다운받을 수 있다

wget -m http://example.org/

✔️ 파일안에 저장된 URL 읽어 다운로드하기

다운받을 URL을 지정한 파일에서 찾는다

wget -i filename

✔️ wget이 파일을 덮어쓰도록 하기

-o 옵션으로 결과 파일을 지정하면 기존에 존재하는 모든 파일에 덮어쓰기를 한다

wget -q http://example.org/file.tar.gz -o filename

✔️ 백그라운드에서 파일 다운로드

wget -b http://example.org/file.tar.gz

✔️ 다운로드 중단 파일 이어서 다운받기

wget -c http://example.org/file.tar.gz

✔️ 파일 다운로드 중 다운로드 속도 제한하기

wget -limit-rate=128k http://example.org/file.tar.gz

✔️ 버전 확인

wget -version

❤️ git

리눅스에서 개발된 분산버전관리 시스템

Git과 Github 시작하기 참고

git 설치

먼저 아래 사진처럼 git이 설치되어 있는지 확인한다

설치되어 있지 않다면 패키지 매니저를 통해 다운받는다

sudo apt-get install git

오픈 소스 프로젝트 다운받기

해당 주소에 해당하는 오픈 소스 프로젝트를 해당 폴더에 복제한다

git clone [오픈 소스 프로젝트 URL] [폴더명]



Reference

생활코딩-리눅스 강좌
https://cocoon1787.tistory.com/717
위키백과 - 패키지 관리자
wget 명령어 사용법

profile
🦋개발 공부 기록🦋

0개의 댓글