[과제] Linux 기본 커맨드 사용법

hwwwa·2023년 1월 5일
1

bash 기본 커맨드

  • shell
    - 운영체제 커널과 사용자 사이를 이어주는 역할하는 프로그램
    - 사용자의 명령을 해석하고, 커널에 명령을 요청해주는 역할
    - 리눅스 명령어는 결국 shell이 제공하는 명령어
    - 리눅스 기본 shell이 bash

파일 및 디렉토리 관련

  • Linux System directory
    - / : 루트 디렉토리
    - /usr : 시스템 디렉토리 (커맨드, 라이브러리, 헤더 파일)
    - /usr/lib : 시스템 라이브러리
    - /usr/bin : 유저 커맨드
    - /usr/sbin : 시스템 관리 커맨드
    - /usr/include : C/C++ 헤더 파일
    - /var : 시스템 로그, 잡다한 정보들
    - /etc : 시스템 설정
    - /home : 유저 홈 디렉토리
    - /tmp : 임시 파일 디렉토리
    - 시스템 재부팅 시 tmp 아래의 내용은 모두 지워짐
  • pwd : 현재 작업중인 디렉토리 위치 확인
  • ls : 현재 디렉토리의 파일 목록 확인
    • -F : 파일과 디렉토리를 구분하여 출력
    • -a : .으로 시작하는 파일을 포함하여 출력
    • -l : 한 줄씩 파일의 상세정보를 포함하여 출력
    • -al : .으로 시작하는 파일을 포함하여 한 줄씩 상세정보를 포함하여 출력
    • ls -al | more : 파일 목록을 한 페이지씩 출력
  • ll : ls -l과 동일
  • mkdir <디렉토리명> : 디렉토리 생성
    • -p : 지정한 디렉토리의 부모 디렉토리가 없을 때 부모 디렉토리 또한 생성
      • ex) mkdir -p dir1/dir2/dir3
  • cd <디렉토리명> : 해당 디렉토리로 이동
  • touch <파일명> : 빈 파일 생성
  • cat <파일명> : 파일 전체 내용 출력
  • rm <파일명> : 파일 삭제
  • rmdir <디렉토리명> : 빈 디렉토리 삭제
  • rm -r <디렉토리명> : 디렉토리와 하위 내용들을 recursive하게 모두 삭제
  • cp dir1/test.txt dir2/test2.txt : 파일 복사
  • cp -R mydir ../mydir2 : 디렉토리 전체 복사. copy recursive
  • mv dir1/test.txt dir2/test.txt : 파일 이동
  • mv test.txt tmp.txt : 파일 이름변경
  • more <파일명> : 파일 내용 중 한 페이지만 출력 (스페이스 누르면 다음페이지)
  • head <파일명> : 파일의 처음 10줄을 출력
  • tail <파일명> : 파일의 마지막 10줄을 출력
  • file <파일명> : 파일의 유형을 출력
  • grep <찾을 문자> <파일명> : 문자가 파일의 어디에 위치하는지 출력
  • find . -name '*.c' -print : 파일 찾기
  • locate *.c : 파일 찾기 (파일 목록 DB를 참조)
    * updatedb 로 DB 업데이트 필요
  • wc <파일명> : 단어 수 출력
  • diff <파일명1> <파일명2> > : 두 파일의 차이를 알려줌
  • od <파일명> : binary 파일을 octal(8진수)로 덤프하여 출력

메뉴얼 및 도움말 확인

  • --help : 명령어에 대한 간단한 도움말 보기
    • ex) ls --help, man --help
  • man : 커맨드 혹은 함수의 상세한 메뉴얼 보기
    • ex) man 3 fopen, man ls
    • 1 - shell commands, 2 - system calls, 3 - library functions
    • 메뉴얼 창에서 /sort 입력 시 sort에 대해 검색 가능
    • n 입력 시 다음 sort 결과의 위치로 이동
    • q 입력 시 메뉴얼 창을 빠져나감

프로세스 관련

  • sudo : super user do의 약자. root 권한으로 명령어 실행
  • ps: process state. 현재 접속한 shell에서 실행시킨 프로세스들의 정보
  • ps -ef | grep <userID> : 특정 사용자가 생성한 프로세스 조회
  • kill -9 <Process ID> : 특정 프로세스 종료
  • su - userID : 유저 변경
  • date : 현재 날짜
  • who : 현재 로그인 정보

그 외

  • clear : 화면 지우기
  • script : 이후 작업 내용을 파일로 저장. exit 입력 시 저장 종료
  • apt 또는 yum : 패키지 매니저
  • wget <파일을 다운받을 주소> : 웹에서 파일 다운로드하기
    • wget -O <파일이름지정> <파일을 다운받을 주소>
  • tar cvf h1.tar file1 file2, tar cvf h1.tar dirname : 파일 압축
  • tar xvf h1.tar : 압축 해제
  • gzip h1.tar : 압축
  • gzip -d h1.tar.gz : 압축해제

참고

  • 여러 개의 명령어를 ;으로 연결하여 자동으로 순차처리 가능하도록 할 수 있음. 끝난 결과만 보여줌

    • ex) mkdir dir1;cd dir1;
  • pipeline

    • <명령어1> | <명령어2>을 사용하여 명령어1의 결과를 명령어2의 입력으로 넘길 수 있음
    • ex) ls --help | grep sort | grep file
  • Redirection

    • >, >>을 사용하여 standard output을 파일로 redirection 가능
      • > : 덮어쓰기
      • >> : 기존 내용 뒤에 내용 추가하기 (append)
      • ex) ls -l > result.log
    • <을 사용하여 파일의 내용을 standard input으로 redirection 가능
      • ex) cat < hello.txt

0개의 댓글