리눅스

firewalld , bash에서 >와 >>의 차이 , tr (translate) , sort

정지홍 2024. 7. 30. 23:04

방화벽 

# 우선 처음 사용시 설치 해야 함
yum install firewalld

systemctl unmask firewalld
systemctl enable firewalld
systemctl start firewalld
systemctl stop firewalld

firewall-cmd --state
# 방화벽 실행 여부 확인
# running은 실행중 , 아닌 경우는  not running 

firewall-cmd --reload
# 방화벽을 리로드
# 방화벽은 설정하고 다시 리로드해야 적용됨.

firewall-cmd --get-zones
# zone목록을 출력
# zone은 방화벽이라고 생각하면 됨
# 위에 사진을 보면 각각의 영역을 지님
# public은 인터넷과 직접 연결된 네트워크 인터페이스를 위한 존
# internal은 내부 네트워크 간의 통신을 관리하는 존
# trusted는 외부에서 신뢰할 수 있는 네트워크 환경을 위한 존


firewall-cmd --set-default-zone=[zone]
# default zone 설정

firewall-cmd --get-default-zone
# default zone print

firewall-cmd --list-all
# firewalld목록 보기

firewall-cmd --permanent--new-zone=name
# name의 존을 영구적으로 만듬
# ex) firewall-cmd --permanent--new-zone=jeong
# 그리고 reload 해줘야 함

 

 


bash에서 >와 >>의 차이

는 명령어 뒤에 나오는 파일에 쓸 때 사용. 즉, write or overwrite

는 명령어 뒤에 나오는 파일에 추가할 때 사용. 즉, append

(base) jeongjihong@jjh:~$ echo hi > hi.txt
(base) jeongjihong@jjh:~$ cat hi.txt
hi
# write됨 

(base) jeongjihong@jjh:~$ echo hiiiiiii > hi.txt
(base) jeongjihong@jjh:~$ cat hi.txt
hiiiiiii
# overwrite됨을 알수있음 

(base) jeongjihong@jjh:~$ echo hello >> hi.txt
(base) jeongjihong@jjh:~$ cat hi.txt
hiiiiiii
hello
# append됨을 알수있음

 

 

 


tr (translate)

(base) jeongjihong@jjh:~$ echo 'linuxize' | tr 'lmno' 'wxyz'
wiyuxize
# 주어진 글자를 치환시킴
# 기본적으로 1번째 세트가 2번째 세트보다 길면 2번째 세트의 마지막 문자를 재사용

(base) jeongjihong@jjh:~$ echo 'linuxize' | tr 'l-n' 'w-z'
wiyuxize
# 범위로도 지정 가능

(base) jeongjihong@jjh:~$ echo 'linuxizeo' | tr 'l-n' 'x-a'
tr: 'x-a' 범위 지정 순서가 사전 순서의 역방향입니다

=========================c 옵션====================================
(base) jeongjihong@jjh:~$ echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
# 첫번째 세트에 존재하는 문자를 제외하고 2번째 세트의 문자로 치환
# echo에는 마지막에 \n이 포함되나 이것도 마지막 문자로 치환되니 줄바꿈이 안됨

=========================d 옵션====================================
(base) jeongjihong@jjh:~$ echo 'Linuxize' | tr -d 'liz'
Lnuxe
# 해당되는 문자 삭제. 대소구분 함.

=========================s 옵션====================================
(base) jeongjihong@jjh:~$ echo "GNU     \    Linux" | tr -s ' ' '='
GNU=\=Linux
# 1번째 세트에 해당되는 문자가 반복되면 2번째 세트에 해당되는 문자로 바꿈.


=========================t 옵션====================================
(base) jeongjihong@jjh:~$ echo "Linux? Ubuntu? I don't know which to learn..." | tr "ub" "s"
Linsx? Ussnts? I don't know which to learn...
(base) jeongjihong@jjh:~$ echo "Linux? Ubuntu? I don't know which to learn..." | tr -t "ub" "s"
Linsx? Ubsnts? I don't know which to learn...
# 1번째 세트의 길이를 2번째 세트의 길이에 맞게 자르고 치환을 실행
# -> 위의 예제러 ub와 s가 존재. 첫번째 세트를 2번째 세트에 맞게 u로 바꿈. 그리고 치환.

sort

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

(base) jeongjihong@jjh:~$ cat tes.txt
123
abc dfe fawerf aewgw qwertasdf
ASDFG QWERTYH ZSXCV
# 실습할 파일

============================================
(base) jeongjihong@jjh:~$ sort tes.txt
123
ASDFG QWERTYH ZSXCV
abc dfe fawerf aewgw qwertasdf
# 라인의 첫번째 글자 기준으로 소팅

=================f 옵션===========================
(base) jeongjihong@jjh:~$ sort -f tes.txt
123
abc dfe fawerf aewgw qwertasdf
ASDFG QWERTYH ZSXCV
# 대소문자 무시

=================b 옵션===========================
(base) jeongjihong@jjh:~$ sort -b tes.txt
123
ASDFG QWERTYH ZSXCV
abc dfe fawerf aewgw qwertasdf
# 처음 공백 무시

=================r 옵션===========================
(base) jeongjihong@jjh:~$ sort -r tes.txt
abc dfe fawerf aewgw qwertasdf
ASDFG QWERTYH ZSXCV
123
# reverse

=================o 옵션===========================
(base) jeongjihong@jjh:~$ sort -o sorted.txt tes.txt
(base) jeongjihong@jjh:~$ cat sorted.txt
123
ASDFG QWERTYH ZSXCV
abc dfe fawerf aewgw qwertasdf
# sorting한 결과를 다른 이름으로 저장

=================c 옵션===========================
(base) jeongjihong@jjh:~$ sort -c tes.txt
sort: tes.txt:3: 순서가 맞지 않음: ASDFG QWERTYH ZSXCV
(base) jeongjihong@jjh:~$ sort -c sorted.txt
# 파일이 소팅 되었는지 검사. 정렬되어 있으면 아무것도 출력x


-u
# unique이며 중복되는 라인은 출력 안함
=================k 옵션===========================
(base) jeongjihong@jjh:~$ sort sort_k.txt
1 ABC
1 abc
2 b
3 a
3 bc
4 abcd
(base) jeongjihong@jjh:~$ sort -k1 sort_k.txt
1 ABC
1 abc
2 b
3 a
3 bc
4 abcd
(base) jeongjihong@jjh:~$ sort -k2 sort_k.txt
1 ABC
3 a
1 abc
4 abcd
2 b
3 bc

# -k뒤에 뒤따르는 숫자가 있다....
# 1이면 각 라인의 1번째 문자기준. 2이면 각 라인의 2번째 문자기준.