byidev.com
Dev-Ops/Unix Shell (10)
2023-03-12 16:04:10

  • ifconfig [interface][option][address][up/down]
    • 네트워크 인터페이스를 설정, 확인하는 명령어
    • IP주소, 서브넷 마스크, MAC 주소, 네트워크 상태 등을 확인, 설정
  • grep [option][pattern][filename]
    • 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력.
    • tail이나 ls 등 다양한 명령어와 조합하여 응용되는 경우가 많아
  • cut
    • 특정 파일의 열을 출력, 제거, 원하는 열만 출력.
    • 텍스트 문서의 특정 필드 제거, 편집 통해 원하는 내용으로 출력이 가능
    • awk의 명령어 사용 ⇒ 디테일하게 텍스트 파일의 출력 편집
    -d ⇒ 지정된 바이트를 출력
  • -f2 ⇒ 두번째 열 가져오기

Solution ⇒

ifconfig | grep “ether “ | cut -d ‘ ‘ -f2
2023-03-12 16:02:40

  • find .
  • 현재 및 하위 디렉토리 탐색
  • wc-l ⇒ 줄의 수를 출력
  • 주어지는 파일 또는 표준 입력의 바이트, 문자, 단어 그리고 줄(라인) 수를 출력해주는 명령어
  • tr -d “ “-d ⇒ “” 로 지정한 문자를 삭제
  • 표준 입력에서 문자를 변환, 삭제

Solution ⇒

find . | wc -l | tr -d “ “
2023-03-12 16:01:11

⇒ $ id [option]… [userName]

-g --group 사용자의 그룹 id만 출력
-G --groups 추가 그룹의 id만 출력
-u --user 사용자의 UID를 출력
-n --name -u, -g, -G 옵션과 함께 사용하며 해당하는 id의 이름만 출력
-r --real -u, -g, -G 옵션과 함께 사용하며 해당하는 실제 id를 출력
  --help id 명령어 사용법 출력
  --version id 명령어의 버전 정보 출력
  • root 의 uid, gid 는 0 이다.
  • echo $UID ⇒ 현재 로그인한 유저의 UID 를 확인
  • echo $GID ⇒ 현재 로그인한 유저의 GID 를 확인

⇒ $ tr [option]… SET1 [SET2]

  • 표준 입력에서 문자를 변환, 삭제 및 압축하고 결과를 표준 출력하는데 사용
  • 반복되는 문자 제거, 대문자 소문자로 변환, 기본 문자 바꾸기, 제거 작업을 수행
  • 일반적으로 다른 명령과 함께 사용 ( etc~ | tr ~ )

⇒ $ export [$~]

  • 인자 없이 export 커맨드를 사용하면 전체 환경 변수 목록 확인

⇒ $ echo [$~]

  • 특정 환경 변수를 확인할 때 사용
2023-03-12 15:56:52

file

  • file 커맨드는 파일의 종류 확인 및 파일 속성 값을 확인할 때 사용.
  • ascii, text, date와 같은 파일 속성의 출력에 magic 에 저장한 정보를 참고하여 파일 속성 출력.
  • file [option]… [filename]

option

  • -b : 파일의 유형만 출력
  • -f : 파일 목록에서 지정한 파일들에만 명령을 실행
  • -i : MIME 타입 문자로 출력 (ex: ascii text ⇒ text/plain, charset=us=ascii 형태 출력)
  • -L : 심볼릭 링크된 파일을 추적하여 원본 파일 정보를 출력
  • -m : 임의로 매직파일을 지정l
  • -z : 압축된 파일의 내용을 출력
  • -v : 버전 정보 또는 사용법 출력

file 명령이 파일 종류를 판별 하는 순서

  1. 디바이스, 디렉터리, 심볼릭 링크 등의 파일 체크
  2. 압축 파일 체크
  3. tar 파일 체크
  4. maigc 데이터베이스 파일에 따른 체크
  5. ASCII, Unicode 등의 텍스트 파일 종류 체크

magic

  • 파일 유형을 정의하는 형식.
  • /etc/maigc 파일은 지정된 파일의 유형을 판별하기 위해 file 명령에 의해 사용.
  • 매직 파일의 필드는 (바이트 오프셋, 값 유형, 선택적 관계형 연산자 (=과 일치, int~), 인쇄할 스트링
  • 숫자 값은 10진수, 8진수, 16진수 일 수 있다.
  • 마지막 문자열은 하나의 프린트 형식을 가질 수 있다.
2023-03-12 15:53:00

find

  • "find" 는 파일 및 디렉토리를 검색하는 커맨드
  • 다양한 옵션을 내제하고 있어 복잡한 구조에서 원하는 파일을 정확히 찾을 수 있다.

find . -type f \( -name "##" -o -name "~" \) -print -delete “

  • find . -name [FILE] 커맨드는 현재 디렉토리 및 하위 디렉토리의 string 옵션 문구를 찾는다.
  • ” 의 위치를 조정해 키워드 탐색의 시작 끝 등 위치 설정을 해 줄 수 있다.
  • () 우선 선택자를 통해 커맨드의 우선 순위를 선택 해 줄 수 있으나 \ 가 없을 경우 커맨드 이상의 우선 순위를 가지기 때문에 꼭 달아준다.
  • -print 커맨드는 검색 결과를 출력하며, 검색 항목은 \n 으로 구분한다. (-print0 사용 할 경우 \n 없음)
  • -delete 는 삭제에 이용되는 커맨드이다.
2023-03-12 15:42:31

diff

  • diff [file1] [file2]
  • 두가지 파일을 비교해 두 파일 사이에 어떤 줄 이 다른지 자동으로 표시해준다.
  • “>” 출력 파일을 리다이렉션한다.

patch

  • “patch” 커맨드는 패치 파일을 이용해 프로젝트나 파일에 패치를 적용하는 명령어
  • patch 파일은 diff 나 git diff 를 이용해 만들 수 있다.
  • diff 커맨드가 “ A + X = B “ 라고 할 때, patch 커맨드는 ” B - A = X “
  •  

  • “patch {a} < {diff file} -o {b}”
  • -o & —output 옵션은 outfile 을 제자리에 패치하는 대신 출력으로 outfile을 보내준다.