220810 TIL 리눅스 파일

sundays·2022년 8월 10일
0

1. 파일 읽기

  • cat [ 옵션 ] <텍스트 파일> : 텍스트 파일 전체 내용 출력
  • more <텍스트 파일> : 텍스트 파일 내용을 페이지 단위로 출력
  • less <텍스트 파일> : 텍스트 파일 내용을 페이지 단위로 출력하고 이전/이후로 이동이 가능
  • head [ 옵션 ] <텍스트 파일> : 파일 첫 부분에 일정 개수 내용 출력
  • tail <텍스트 파일> : 파일 마지막 부분 일정 개수 내용 출력

2. 텍스트 파일 생성

  • touch <텍스트 파일>
  • ln : 링크 파일 생성
    • ln <원본 파일명> <링크 파일명> : 하드 링크 파일
      원본 내용과 inode 번호가 같은 파일
    • ln -s <원본 파일명> <링크 파일명> : 소프트 링크 파일
      원본 파일의 링크 정보만 저장, inode 번호가 다름

3. 텍스트 편집기

  • 행 단위 편집기 : ed, ex, sed
  • 화면 단위 편집기
    • vi/vim
    • nano
    • emacs
    • TeX

3.1. VI 편집기

  • 명령 모드와 편집모드로 구분하고 화면 단위 편집 기능 제공
  • 내용 입력
    • i : 현재 커서 위치에 입력
    • a : 현재 커서 위치 다음에 입력
    • o : 현재 줄 다음 줄에 입력
    • I : 현재 줄 맨 앞에 입력
    • A : 현재 줄 맨 끝에 입력
    • O : 현재 줄 이전 줄에 입력
  • 내용 수정
    • r : 현재 커서 위치 내용 수정, 한글자 수정
    • R : 수정 상태 진입
  • 내용 삭제
    • x : 한 글자 삭제
      • <숫자> x : 숫자 만큼 글자 삭제
    • dd - 줄 단위 삭제
      • dd키 : 숫자 만큼 줄 삭제
  • 내용 복사
    • yy : 줄 단위 복사
      • <숫자> yy키 : 숫자만큼의 줄 복사
    • v키 : 범위 지정
    • y키 : 범위 지정 내용 복사
    • d키 : 범위 지정 내용 삭제
    • p키 : 붙여 넣기
  • 내용 이동
    dd키를 이용하여 삭제 후 원하는 위치로 커서 이동 후 p키
  • 검색 및 바꾸기
    • /<검색 문자열> : 현재 커서 위치 이 후로 검색
    • n : 현재 위치에서 파일 끝 방향으로 다음 검색 결과 이동
    • N : 현재 위치에서 파일 처음 방향으로 이전 검색 결과 이동
    • :s/<문자열1>/<문자열2> : 현재 커서 위치에서 첫번째 찾은 문자열1을 문자열2로 변경
    • :%s/<문자열1>/<문자열2> : 파일 전체에서 문자열1을 문자열2로 변경
  • 기타 편집 키
    u키 - Undo
    ctrl + r키 - redo

3.2. VI 명령 모드 단축키

:! : VI 실행 상태에서 외부 명령 실행 결과 확인
:!sh : 표준 shell 실행
:!bash : bash shell 실행

3.3. VI 환경 설정

  • vi 실행 환경과 관련된 여러 내용을 환경 변수에 등록하여 vi 실행시 마다 환경 변수 내용을 기반으로 작동

  • vi 실행 환경을 사용자가 원하는 형태로 구성하기 위해 별도의 환경 설정 파일을 만들어 사용자 홈 디렉토리에 저장해 두면 vi 실행시 해당 환경 변수 기반으로 동작

  • 주요 환경 변수
    set number - line 번호 표시
    set tabstop=4 - tab 간격은 4칸
    set ai - auto indent( 들여쓰기 )
    set si - smart indent
    set hlsearch - 검색 시 하이라이트
    set nocompatible - 방향키 이동 가능
    set ruler - 상태 표시줄에 커서 위치 표시
    set title - 제목 표시
    set mouse=a - 커서 이동을 마우스로 가능하도록 설정
    set bs=indent,eol,start - backspace 사용 가능
    set showmatch - 매치되는 괄호 표시

profile
develop life

0개의 댓글