Linux 명령어 모음

    유닉스

    • true unix

      • 현재 유닉스는 상표이다.
      • mac os 도 비싼 과정을 거쳐 유닉스로 인정받게 되었다.
    • unix like(유닉스 계열)

      • 표준을 대부분 만족하지만, 공식적으로 유닉스로 인정받지 않은 것
      • 리눅스

    Operating Systems: Timeline and Family Tree

    • 1971년 유닉스 메뉴얼

    리눅스

    • 1980년대 자유 소프트웨어 운동

      • 리눅스 등 등장
    • 리눅스 커널

      • 리누스 토발즈가 자신의 이름을 딴 리눅스라는 커널을 개발하였다. 커널은 하드웨어와 소프트웨어 간 상호작용을 가능하게 해주는 OS의 일부분을 의미한다.
      • 커널은 운영체제가 아니다.

        • 메모리 관리, 태스크 스케줄링, 하드웨어 관리를 담당하는 프로그램이다.
      • 리눅스라는 용어는 커널 그 자체를 가리키기도 하지만, 리눅스 생태계에 속하는 모든 소프트웨어를 가리키는 말이다.
    • 리눅스 배포판(linux distributions)

      • 리눅스 기반 운영 체제는 리눅스 배포판을 가리킨다.
      • 리눅스 배포판은 리눅스 커널에 GNU 도구들과 기타 다른 결과물들이 합쳐진 결과물이다.
      • 1000개가 넘는 배포판이 있다. 우분투나 페도라, 데비안 등이 있다.
    • 터미널, 쉘, Bash 살펴보기

      • 쉘은 운영체제의 인터페이스이다.
      • 터미널은 쉘을 실행하는 애플리케이션이다.
      • 쉘은 여러가지 종류가 있다. Bash, Zsh, Fish 라는 것도 있고, 윈도우는 PowerShell 이 있다.
    • 대부분의 리눅스 기반 시스템에서 기본 쉘 프로그램은 Bash이다.

      • Bash는 ‘Bourne-Again SHell’의 약자이다.
      • Bash는 모든 유닉스와 유닉스 계열 OS에서 동작한다.

    커맨드 구조

    ```html
    command -options arguments
    ```
    • ncal 2023

      • 2023년의 모든 달력 표시
    • ncal 12 2023

      • 2023년 12월 달력 표시, 두 개의 인자를 전달하며 공백으로 구분함
    • sort color.txt

      • 파일 내 정렬
    • 옵션을 줄 때는 항상 - 를 붙인다. 소문자와 대문자를 구분한다.
    • 여러 옵션 묶어쓰기

      • ncal -3 -h -jncal -3hj처럼 옵션을 합쳐서 한번에 쓸 수도 있다. 둘은 같은 효과이다.
    • 옵션 이름 길게 풀어 쓰기

      • -- 를 쓰면 길게 풀어 쓴다는 의미이다. 모든 옵션이 긴 이름을 지원하는 것은 아니다.
      • date --universal = date -u

    명령어 메뉴얼 및 검색

    • man

      • manual 의 약자, 메뉴얼을 보고 싶은 명령어를 man 커맨드에 인자로 넘긴다. ex) man cal
      • q 를 누르면 나갈 수 있다.
      • b 를 누르면 이전 페이지로 이동할 수 있다.
      • f 를 누르면 다음 페이지로 이동할 수 있다.
      • 시놉시스를 통해 사용방법 확인할 수 있다. 브라켓([]) 으로 감싸져 있는 것은 옵셔널이다.
      • [-d number] 이런 옵션이면 -d 옵션이 number 인자와 함께 오는 것을 기대하는 것이다.
      • / 를 입력하면 검색을 할 수 있다.
    • 명령어 검색 : man -k 검색어

      • 이름은 같지만, 서로 다른 섹션에 다르게 기록되어 있는 정보들을 확인해야 할 때도 있다.
    • 명령어의 종류 확인

      type {command}
    • 명령어의 위치 확인

      which {command}
    • 쉘에 직접적으로 내장되어 있는 명령어라면 man 대신 help 명령어 사용

      help {command}

    네비게이션

    • open /

      • 최상위 루트 디렉터리를 연다.
      • / 는 루트 디렉터리를 의미한다.
    • open ~

      • 현재 로그인한 사용자의 홈 디렉터리를 연다.
      • ~ 는 홈 디렉터리를 의미한다.
    • pwd

      • print working directory의 약자
      • 이 터미널이 열려 있는 현재 위치의 경로
    • ls

      • list 약자, 현재 디렉터리 컨텐츠 목록 표시
    • ls -l

      • 권한 등 자세한 정보 표시
    • ls -a

      • . 으로 시작하는 숨겨진 파일과 폴더까지 다 표시해준다.
    • ls -la

      • 숨겨진 파일까지 자세한 정보 표시
    • cd 하위디렉터리명

      • change directory의 약자
      • cd .. : 부모 디렉터리로 이동
    • 상대경로와 절대경로

      • 상대경로는 현재 디렉터리를 기준으로 한 경로이다.
      • 절대경로는 현재 위치에 상관없이 컴퓨터에 있는 모든 위치를 참조하고 실행할 수 있다.

        • / 로 시작하는 경로이다.
    • touch 파일명

      • 해당 디렉터리에 없던 파일명을 인자로 전달하면 새 파일을 생성한다
      • 기존 파일을 인자로 전달하면 기존 파일의 타임스탬프(접근 및 수정시간)를 업데이트한다. 마치 아주 손 끝으로 약하게 건들듯이(touch)
    • file 파일명

      • 특정 파일의 파일 타입을 확인할 수 있다.
    • 이름 지을 때 주의

      • 쉘에서 특정 역할을 담당하는 문자는 사용해서는 안된다.
      • / \ ? % * : | " < > . , ; 공백

        파일 이름

      • touch “my website”
      • touch my/ website (역슬래시는 뒤에 오는 문자가 특별한 의미를 지니지 않고 평범한 문자로 취급하도록 한다)
    • mkdir 폴더명

      • make directory 의 약자
    • mkdir -p 자식폴더명/손자폴더명

      • 손자폴더를 만들면서, 그 부모인 자식폴더가 없으면 자식폴더까지 만든다.

    Nano

    • nano는 명령창을 나가지 않고 명령 창에서 직접 파일을 열고 수정할 수 있는 프로그램이다
    • 비슷한 텍스트 에디터로 Vim이나 Emacs가 있다.
    • Nano’s ANOther editor 의 약자이다.
    • nano 파일명

      • nano 텍스트에디터 실행
      • ^ 은 컨트롤을 의미한다.
      • 나가려면 컨트롤 X
      • 검색하려면 컨트롤 W
      • 메뉴얼 보려면 컨트롤 G
    • rm 파일명

      • 파일 제거
    • rm -r 폴더명

      • 폴더 제거
    • mv <source> <destination>

      • 파일이나 폴더 이동
    • mv 현재파일명 수정할파일명

      • 파일 이름 수정’
    • cp 파일명 복사할위치

      • 파일 복사
    • cp -r 디렉터리명 복사할위치

      • 디렉터리 복사

    유용한 단축키

    • 전체 라인 지우기

      • ctrl + L
    • 최상 라인으로 이동

      • ctrl + A
    • 최하 라인으로 이동

      • ctrl + E
    • 한 글자 씩 이동

      • 앞으로: ctrl + F
      • 뒤로: ctrl + B
    • 한 단어 씩 이동

      • 앞으로: alt + F, 맥은 option + F
      • 뒤로: alt+ B, 맥은 option + B
    • 뒤바꾸기

      • 글자: ctrl + T
      • 단어: option + T
    • 삭제

      • 이전 모두: ctrl + u
      • 이후 모두: ctrl + K
      • 이전 단어: option + w
      • 이후 단어: option + d
    • 제일 앞으로

      • ctrl + A
    • 삭제한 단어 부활

      • ctrl + Y
    • 명령어 히스토리 보기

      • history
      • history | less
    • 히스토리에 있는 명령어 실행하기

      • !히스토리숫자
    • 히스토리 검색

      • ctrl + r: 검색어를 입력하고, ctrl + r 을 반복하여 누르면 다른 검색결과 확인 가능
    • 해당 히스토리는 ~./bash_history 에 저장되어 있음
    • 히스토리 지우기

      • history -c
    • cat 파일명

      • concatanate 의 약자, 파일을 읽어서 출력
    • cat 파일1 파일2

      • 파일들을 결합해서 출력
    • less 파일명

      • 다른 방식의 파일 보기
    • tac 파일명

      • cat 스펠링의 역순
      • 수직으로 라인들을 거꾸로 출력
    • rev 파일명

      • 수평적으로 거꾸로 출력
    • head 파일명

      • 첫 10줄 출력
      • head -n 출력할라인수 파일명
    • tail 파일명

      • 끝 10줄 출력
    • tail -f 파일명

      • 끝 라인 뒤에 변경되는 내용 팔로우
    • sort 파일명

      • 정렬
    • sort 파일명 -nk 몇번째필드

      • 해당 필드 기준으로 숫자 정렬

    Written by@Marco

    GitHub