4 분 소요

📍 해당 게시글은 사물인터넷을 위한 리눅스 기본을 공부하며 정리한 글입니다.


1. Console & User

1) 가상 콘솔(Virtual Console)

  • Ctrl + Alt + F1~6으로 6개의 가상 콘솔 사용 가능
  • Alt + F7으로 복귀(or F1)

2) 디렉토리

  • . : 현재 디렉토리
  • .. : 부모 디렉토리
  • ~ : 홈 디렉토리
  • - : 최근 디렉토리

3) 터미널 제어

shell -> terminal -> Bash : 리눅스의 표준 shell [셀의 실행]

  • 단축키 : Ctrl + Alt + T [입출력]
  • 단어 삭제 : Ctrl + W
  • 강제 종료 : Ctrl + \
  • 라인 전체 삭제 : Ctrl + U
  • 터미널 출력 시작/중지 : Ctrl Q/S [커서 이동]
  • 줄 맨 앞으로 : Ctrl + A(앞)
  • 줄 맨 끝으로 : Ctrl + E(End)
  • 한 글자 front로 이동 : Ctrl + F(앞)
  • 한 글자 back으로 이동 : Ctrl + B(뒤)
  • 현제 커서 위치의 단어 삭제 : Ctrl + D [대기 표기]
  • 사용자 @ 호스트이름 : 작업중인 디렉토리 $
  • 프롬프트
    • 일반 유저 : $
    • root 유저 : #

4) User(일반 or 슈퍼)

[일반 유저]

  • 일반 사용자를 위한 계정
  • 일반 작업은 이 작업으로 수행하길 권장
  • 홈 디렉토리 /home/계정명
  • 위 디렉토리 하위에 파일을 생성해서 사용해야한다. [슈퍼 유저]
  • su를 사용해서 계정전환 가능
  • 또는 sudo 명령어를 사용해서 일반유저도 슈퍼유저 권한 실행 가능
  • 홈 디렉터리 /root
  • 권한이 높아 무슨 파일이든 다 수정, 삭제가 가능하기에 주의가 필요 [관련 명령어]
  • 비밀번호 변경 : passwd
  • 사용자 계정 추가
    • useradd : 홈 디렉터리 설정 없이 오직 계정만 추가
    • adduser : 계정, 디렉토리 등 기본으로 설정
  • 사용자 삭제
    • 계정만 삭제 : userdel, deluser
    • 계정, 홈 디렉터리 삭제 : userdel -r 계정명, deluser –remove 계정명
    • 계정, 홈 디렉터리, 계정명으로 된 모든파일 삭제 : deluser –remove-all-files
  • 로그아웃
    • 터미널에서 exit(or logout)
    • Ctrl + D으로도 가능(이는 root경로에서 나올 때도 사용됨)
  • 재부팅
    • shutdown -r now
  • 종료
    • shutdown -P now

2. 명령어

1) 경로관련

  • ls : 현 디렉토리 파일목록(list) 출력
    • a : 모든 파일(숨겨진 파일까지) 표시
    • l : 자세한 내용(long) 표시
    • F : 파일을 /로 구분하여 표시
  • cd : 경로 변경(change directory)
    • cd 경로 : 해당경로로 이동
    • cd .. : 뒤로
    • cd - : 방금 전 경로로 이동
  • mkdir/rmdir : 경로 생성/삭제
    • rmdir의 경우 경로(파일)안에 아무것도 없어야 삭제 가능하며, 비어있지 않은 경로를 삭제하려면 rm -r 경로를 사용
  • pwd : 현재 작업 디렉토리 경로 출력(print working directory)
  • clear : 화면 지우기

2) 파일관련

  • find : 파일 이름으로 파일 검색
  • grep : 파일 내용으로 파일 검색
  • tree : 디렉토리의 계층구조를 출력
  • file : 파일의 종류 확인 <=> type은 명령어 종류
  • wc : 파일의 줄, 단어, 문자 수를 출력
  • echo : 문자열 출력
  • touch/cp/rm/mv : 파일 생성/복사/이동/삭제
  • chmod : 파일의 접근권한 변경
  • cat : 파일 내용 출력
    • n : 이 옵션은 행 번호를 표시함
  • more : 파일의 내용을 페이지 단위로 출력
    • ls -al more 와 같이 명령어의 결과에도 활용가능

3) 도움말

  • 명령어 –help : 간단한 정보 출력
  • info 명령어 : 정보/도움말 출력
  • man 명령어/함수 : 메뉴얼을 출력(가장 정보 많음) [명령어 종류/위치]
  • type : 명령어의 종류 표시
  • which : 명령어의 위치 표시
  • whereis : 명령어 관련 리소스의 위치 표시

4) 기타

  • date : 현재 시스템의 날짜 출력
  • time 명령어 : 해당 명령어에 대한 프로세스들의 실행시간 출력(현재시간출력x) [와일드카드]
  • * : 모든 문자열
    • ex) a* : a로 시작하는 모든 문자열
  • + : 뒤에 모든 문자열 연결(a제외)
  • ? : 한문자를 의미
    • ex) a?
  • [] : 대괄호 안 하나의 문자만
    • ex) [abc] : 셋 중에 하나라도 있으면 표시
      [history]
      이전에 사용한 명령어 출력
  • history
    • history grep 명령어 : 검색
    • history 숫자 : 숫자만큼 출력
    • -c : 히스토리 삭제
    • -w : 현재 셀의 히스토리를 .bash_history에 저장
    • !! : 직전 명령어 다시 수행
    • !숫자 : history번호로 명령 수행

3. 파일과 디렉터리의 링크

링크는 파일에 2개 이상의 이름을 갖게하여, 보다 이름으로 접근할 수 있도록 한다.

링크에는 2가지 방법이 있다.

1) 심볼릭 링크

  • 바로가기 개념과 같이 해당 경로를 갖는 파일을 생성하는 것(실제로 링크된 것이 아님)
  • 파일과 디렉토리 모두 가능
  • 존재하지 않는 파일에도 링크 작성 가능

2) 하드 링크

  • 실제로 파일을 링크
  • 파일에만 가능
  • 존재하는 파일에만 링크 가능
    [링크 생성 방법]
  • ln (옵션) 타겟 링크이름
  • 옵셥이 없으면 -> 하드링크
  • 옵션으로 -s를 주면 -> 심볼릭 링크
    [파일 작성 방법]
  • cat > 파일명 : 새로쓰기(기존 파일 없으면 생성)
  • cat >> 파일명 : 추가하기
  • 위 입력 후 작성할 내용을 입력한다. Ctrl + D로 입력 종료
  • echo 123\n456 > 파일명 : echo를 사용해서도 작성 가능. 여기서는 줄 띄우기를 \n으로만 가능

3) 리다이렉션

이처럼 >는 덮어쓰기, » 는 추가의 기능을 가진다. <도 가능하다.

  • ex) cat b.txt
  • 이는 a.txt가 cat에 입력(<)되고 이것이 b.txt로 입력(>)된다.

4) 접근권한

ls -l 을 하면 2번째에 접근 권한이 나옴(첫번째에는 파일의 종류가 나오며 심볼릭 링크는 l임)

  • 접근 권한은 3가지로 구분한다.
  • ex) rw-rw-r–
  • rwx부분이 3번 반복된다.
  • rwx는 read/write/execute 권한을 의미하며 -는 권한이 없음을 의미
    • 첫번쨰 3자리 : 소유자(owner)
    • 두번째 3자리 : 그룹(group)
    • 세번쨰 3자리 : 기타(other)
  • 접근권한의 변경은 chmod [u|g|o|a] + [+|-|+] [r|w|x]+ 파일명

    https://github-production-user-asset-6210df.s3.amazonaws.com/88031549/252552226-86c6cc28-07c9-4853-a1b7-810efa975876.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230712%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230712T123437Z&X-Amz-Expires=300&X-Amz-Signature=f1e0eb1a7f585eff56246bc7501c63b54d6e6333487653cdcf9d0ae0122b8766&X-Amz-SignedHeaders=host&actor_id=88031549&key_id=0&repo_id=663330333

5) 출력

  • cat 파일명 (파일명2 ..) 로 한개 이상의 파일을 출력가능
  • head -n 파일명 : n수 만큼 위에서부터 라인을 출력. 옵션 없을 시 기본 10
  • tail -n 파일명 : n수 만큼 위에서부터 라인을 출력. 옵션 없을 시 기본 10
  • diff (옵션) file1 file2 : 두 파일을 비교하여 차이점 출력
    • c : 차이점 출력
    • d : 차이점 상세하게 출력

태그:

카테고리:

업데이트:

댓글남기기