목차
쉘 변수 (지역변수)
특정한 쉘 즉 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 |