Linux 명령어

6X10·2024년 3월 10일

Operating System

목록 보기
3/4

! 명령어와 argument는 한 칸 이상의 blank로 구분됨
! cmd + l : terminal 화면 clear
! 프로세스: 동작 중인 프로그램

Linux Directory 구조 & 역할

-Linux file system hierarchy standard (Tree 구조의 규칙)

  • Basic Directories

    Ex. /libXX/*.so. etc/passwd(로그인 가능한 유저들의 정보가 ASCII text 형태로 있음)

  • 관련 명령어

    • 디렉토리 이동: cd <디렉토리 이름>
      Ex. cd / : 최상위 디렉토리(root)로 이동
      (폴더-파란색, 실행 가능한 파일: 초록색(or 흰색), 실행 불가능한 파일: 하늘색)
            cd : home dir로 이동 (root의 sub-dir)
    • 파일 목록 보기: ls <옵션> <파일 이름>
      Ex. ls -l : sub directory의 실제 파일 위치를 바로가기 아이콘(->)을 사용하는 등을 통해서 알려줌
    • 현재 작업 디렉토리 보기: pwd

Basic 명령어

> 명령어 도움말 보기

  • man <옵션> keyword(명령어 or 파일이름)
    (Ubuntu 20.04 cd /usr/share/man에 매뉴얼 모아져있음)
    + option
        -k : 매뉴얼 목록을 검색
        -s [section number] : 입력한 섹션에서 매뉴얼 검색해서 출력 (생략 가능)
         (1) User Commands
         (2) System Calls
         (3) Subroutines
         (4) Devices
         (5) File Formats
    Ex. man (-s) 5 passwd : 5번째 section의 manual에서 passwd 검색해줘
    ! space :next page
    ! enter : next line
    ! b: backward
    ! q: backward

> 파일 목록 보기

  • ls <옵션> <파일|디렉토리>
    + option
        -a : (all) dot(.)로 시작하는 숨겨진 파일까지 모두(ex. config, log나 cache 정보 들어있는)
        -l : (long) file/dir의 자세한 정보(permission, owner, size, last modified, file name, type 등)
        -R : (recursive) 하위 디렉토리까지 모두 출력
        -d : dir's content가 아닌 dir 자체를 출력
    Ex. ls (자동적으로 ls --color=auto 적용돼서 파란색: 바로가기 symboling link, 초록색: binary 프로그램(실행 ㄱㄴ), 빨간색: special한 permission이 있음)
    Ex. ls -l /tmp (파란색: dir)
    Ex. ls -ld /tmp (파일 내용 출력 없이 디렉토리 자체의 목록)
    Ex. ls -l /etc/passwd /etc/hosts /etc/hostname

> Directory 생성/삭제/이동

  • mkdir <옵션> <dir_name>
    + option
       -m : 퍼미션 설정
       -p : 존재하지 않는 parent directories까지 같이 생성
    Ex. mkdir ~/tmp-dir
    Ex. mkdir -p ~/dir/subdir/subsubdir (subdir 없는 상태에서)
    Ex. mkdir -m 777 share

  • rmdir <옵션> <dir_name>
    + option
        -p : 비어있는 parent directories를 함께 삭제
    Ex. rmdir share
    Ex. rmdir -p ~/dir/subdir/subsubdir
    ! Empty dir만 지울 수 있음!!!

  • cd <dir_name>
    + argument
        ~ : Home dir로 이동
        .. : 하나 상위 dir로 이동

> File 복사, 이동, 삭제

  • cp <옵션> <원본파일> <목적지파일>
    + option
        -i : (interactive) 복사할 때 overwrite할 것인지 질문 (y 가 아닌 모든 문자는 명령어 취소시킴)
        -f : 복사할 때 overwrite할 것인지 질문 없이 무조건 덮어쓰기 (default)
        -r : dir 전체 복사(하위 dir 까지)
    Ex. cp /etc/passwd . (현재 디렉토리에 같은 이름으로 복사해라)
    Ex. cp /etc/passwd /etc/hosts conf.d/ (passwd, hosts file을 conf.d dir에 복사해라! file에는 복사 안됨)
    Ex. cp -r conf.d conf.d.backup

  • mv <옵션> <원본파일이름> <새이름(Rename) Or 디렉토리(이동)>
    + option
        -i : (interactive) 이름을 바꿀 때 overwrite할 것인지 질문
        -f : 이름을 바꿀 때 overwrite할 것인지 질문 없이 무조건 덮어쓰기 (default)
    Ex. mv hosts hosts.file
    Ex. mv passwd /tmp/ (ls /tmp에서 passwd 확인 ㄱㄴ)
    Ex. mv conf.d.backup admin.d (dir 이름 바꾸기는 -r 없이 ㄱㄴ)
    Ex. mv home/* . (home dir의 모든 파일을 현재 dir로)

  • rm <옵션> <파일이름 Or Dir이름>
    + option
       -i : (interactive) 파일 삭제할 때 삭제 여부를 한 번 더 질문
       -f : 파일 삭제할 때 질문없이 무조건 삭제 (Linux는 휴지통 없으니까..이런 짓 x)
       -r : 하위내용을 포함한 디렉토리를 삭제
    Ex. rm -ri admin.d/ (admin.d라는 dir 물어보고 지워라)

> 기타

  • tree (구조 보여줌)
  • cat <file_name> : file 내용 보여줘라

<참고>
http://daddynkidsmakers.blogspot.com/2018/03/
https://www.youtube.com/@ttabae-learn
https://seosh817.tistory.com/157#mv%20%5B파일명%5D%5B디렉토리%5D일%20경우-1

0개의 댓글