42SEOUL

[Linux / shell] 명령어2

daykim 2021. 10. 8. 09:05

목차

쉘 변수 (지역변수)

특정한 쉘 즉 bash에서만 적용도는 변수

현재 쉘에 국한되어 사용되어지는 변수로 name = value 형식으로 사용

 

환경 변수 (전역 변수)

운영체제가 참조하는 변수

시스템이 사용하는 변수로 시스템 상에 동작하는 프로그램의 행동에 영향을 줄 수 있는 수단이 된다.

이 변수는 터미널을 닫기 전까지 사용할 수 있지만 터미널이 닫히면 사라진다.

 

id

현재 사용자의 실제 id, 그룹 id를 출력하며 내부 bash 변수인 $UID, $EUID, $GROUPS와 짝을 이룬다.

  • -G : 추가 그룹의 id만 출력
  • -n : -u, -g, -G 옵션과 함께 사용하며 해당하는 id의 이름만 출력

 

groups

groups로 사용시 현재 유저가 속한 그룹을 보여주고, 뒤에 user명을 지정해주면 그 유저에 대한 그룹을 보여준다.

groups userID
ex) groups $FT_USER

 

sed

Stream Editor의 약자

문자열 변환하는 편집기

원본 변경 없이 변경된 결과를 출력한다.

  • -i : 출력된 결과를 원본 파일에 덮어 쓰기
  • s/origin/change
  • g
    s와 같이 사용하는 치환 플래그
    g를 붙이면 전체 구문에서 해당하는 문자를 전부 치환
    없으면, 한 행에서 1회만 실행하고 다음 행으로 넘어감
  • -n 'n, mp' file : p는 print의 약자로 n부터 m까지의 라인만 출력한다는 의미
  • -n : 
  • -v : 변수 선언
  • $ : 마지막 행 의미
sed [option] 's/{original}/{change}/g' file
ex1) sed 's//,/g'-> 공백을 ,로 치환한다.
ex2) sed '1, 1d' -> 입력의 1번째 줄 제거한다.

// cat /etc/passwd | awk -F: '{print $1}' | sort -r | grep -v '#' | sed n '${FT_LINE1}, ${FT_LINE2}p' | tr '\n' ',' | sed 's/.$/./g' -> 이건 안 된다고 나온다 왤까?

 

export

환경변수를 설정할 수 있다.

export 환경변수명 = 값

 

find 

  • -exec basename {} \; : 결과값에 경로가 포함되지 않는다.
  • basename : file full path에서 파일 이름만 추출
  • -exec : 해당 옵션 뒤에 명령어 입력시 부가적인 작업 수행 가능
  • {} : 검색된 파일이 해당 위치에 입력되어 처리된다.
  • \; : 끝났다는 표현

 

wc

주어지는 파일 또는 표준 입력의 byte, 문자, 단어, 라인 수를 출력해주는 명령어

  • -c, -byte : 파일의 바이트 수를 출력한다.
  • -m, -chars : 문자들의 수를 출력한다.
  • -l, -lines : 줄(라인 또는 개행문자)의 수를 출력한다.
  • -w, -words : 단어의 수를 출력한다.

 

echo

텍스트나 문자열을 보여주는 명령어

  • -n : 후행 줄바꿈을 생략해주는 옵션

 

ifconfig

interface configuration의 약자로 리눅스의 네트워크 관리를 위한 인터페이스 구성 유틸리티

  • enp0s3 : 네트워크 인터페이스 이름
  • inet : IP 주소 (IPv4)
  • inet6 : IP 주소 (IPv6)
  • ether : MAC 주소

 

grep

입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어

  • -w : 단어 단위로 매칭
  • -v : 지정된 패턴이 없는 라인 출력

 

cut

문자열 잘라주는 명령어

  • -b : byte 기준으로 추출
  • -c : 문자 수 기준으로 추출
  • -f : 파일 필드 기준으로 추출
  • -d : 필드 구분자 지정
cut option file
ex) cut -c 8- -> 앞에서 8번째 글자부터 끝까지

 

 

특수문자 포함한 파일명 만들기

특수문자 앞에 '\' 붙여라

 

rev

파일 내용을 행단위로 거꾸로 출력해주는 명령어

 

sort

사용자가 지정한 파일의 내용을 정렬하거나 정렬된 파일의 내용을 병합할 때 사용

  • -r, --reverse : 역순 정렬
  • -u, --unique : 정렬 후 중복된 내용을 제거
  • -f, --ignore-case : 대소문자 구분 없이 정렬
  • -v : 지정된 패턴과 일치하지 않는 라인 선택

 

tr

지정한 문자를 변환하거나 삭제하는 명령어

특정한 문자를 다른 문자로 변환하거나 특정 문자를 제거하는데 사용되는 명령어

translate의 약어

  • -d : str1에서 지정한 문자 삭제
  • -s : str2에서 반복되는 문자 삭제
  • -t : str1을 str2의 길이로 자름
tr [option] str1 str2

str1을 str2로 치환해준다.

 

awk

패턴 지향 검색 및 처리 언어

awk 명령의 입력으로 지정된 파일로부터 데이터를 분류한 후, 분류된 텍스트 데이터를 바탕으로 패턴 매칭 여부를 검사하거나 데이터 조작 및 연산 등의 액션 수행 후 그 결과 출력하는 기능 수행

  • '{print $n}' : n 번째 필드 값 출력, $0 -> 전체 레코드
  • -F : 필드 구분 문자 지정
  • NR : 각 레코드(라인)들의 번호를 저장하는 빌트인 변수

 

sort

텍스트로 된 파일의 행단위 정렬을 할 때 사용하는 명령어

  • -r : 내림차순 정렬

 

bc

basic calculator

 

xargs

앞 명령어의 결과를 |(파이프)를 통해 인자로 넘겨받아 다음 명령어의 입력으로 넘겨주는 명령어

xargs -I pattern echo 'hello;pattern'
  • 앞에서 받은 인자를 위에처럼 명령어 중간에 넣어야 할 경우 pattern을 통해 위치를 알린다.

 

정규 표현식

^

행의 시작 지시자

ex) ^# : #으로 시작하는 행

 

$

행의 끝 지시자

 

.

하나의 문자와 대응

ex) ..$ : 앞에 두 글자가 오고 행의 끝

 

 

참고 URL

 

https://recipes4dev.tistory.com/171#32-%ED%95%84%EB%93%9C-%EA%B0%92-%EC%B6%9C%EB%A0%A5

https://webterror.net/?p=1791

https://github.com/Gyubin/TIL/blob/master/ETC/linux_command.md

https://bbolmin.tistory.com/32

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_MAC%EC%A3%BC%EC%86%8C_%ED%99%95%EC%9D%B8

 

 

 

'42SEOUL' 카테고리의 다른 글

[C] 전처리기, main()  (0) 2021.10.26
[C] str 함수  (0) 2021.10.12
[C] 포인터  (0) 2021.10.12
[C] extern  (0) 2021.10.09
[Linux / Shell] 명령어1  (0) 2021.10.06