vi 로 작성한 파일의 문자열 내용을 치환하고 싶을 때 아래와 같이 사용한다. 예를 들어 '>>' 라고 입력한 부분을 '| tee -a' 라고 문서 전체에서 치환하고 싶을 때명령어 입력 상태에서 아래와 같이 작성하면:1,$s/>>/| tee -a/g - 기존 파일#!/bin/bashecho "This is line 1" >> logfile.log - 변경된 파일#!/bin/bashecho "This is line 1" | tee -a logfile.log 일괄로 치환되는 것을 볼 수 있다. 명령어에 대해 설명드리면, 다음과 같다.:1,$s/>>/| tee -a/g# 1,$ : 첫번째 라인부터 마지막 라인까지# s/>>/| tee -a : 대체하겠다 (substitute) '>..
서버간 운영시 생성되는 데이터를 NAS서버나 관련된 쪽에 쌓을때 주로 마운트해서 사용한다. 먼저 해당 서버로 핑이 가는지 확인을 한 후 원격지 공유서버를 마운트한다. mount -t nfs 198.126.0.100:/data/upload /home/upload 마운트 명령어 후 마운트 상황을 보면 아래와 같다. [root@localhost /]# df -h 198.126.0.100:/data/upload 4.6T 1.8T 2.8T 39% /home/upload 하지만 서버를 재부팅하게 되면 위의 마운트 정보는 해지된다. 이를 방지하기 위해 /etc/fstab 파일에 작성해준다. [root@localhost /]# vi /etc/fstab #[1. 마운트장치][2. 마운트포인트] [3.파일시스템유형] [4..
서로 다른 리눅스 서버간 파일을 통째로 옮겨야 해서 scp (secure copy) 를 써보기로 했다.(얘 없었으면 ftp로 내컴에 옮긴담에 목적지 서버에 밀어 넣는 짓을 하고 있었겠지...? ㅋ) scp 대상파일 목적지ip:받을 디렉토리scp test.html 127.0.0.1:/home/test 파일을 보낼때 위와 같이 작성해주면 되는데scp 는 ssh 22 포트를 통해서 보내기 때문에 서버간 ssh 가 연결 되는지 확인 해줘야 됩니다. ssh -p 22 목적지IP ssh 명령어로 서버간 접속이 잘 되면 scp 명령어를 사용하면 파일을 바로 보내버립니다. 이제 저는 폴더채 전송을 했는데 아래와 같은 메세지가 나옵니다.root@127.0.0.1's password:/usr..
보통 리눅스 서버에 초기에 셋팅을 해놓고 운영을 하다보면 웹관련 소스만 관리하지 서버에 관련된 것들은 관리하지 않게되는 불상사에 빠진다 ㅋ 리눅스 개발서버에 뭔가 셋팅을 하려고 보니 dnf 명령어가 안먹어서 설치가 안됐네 하고 yum을 호출했더니 다양하게 뭐 레파지토리 뭐 연결 실패, 레포를 찾을 수 없다는 등... 나는 많은 오류가 표출 되는 가운데 마지막 맨 아래에 이런 오류를 보게되었다. Cannot find a valid baseurl for repo: base/7/x86_64 서버 엔지니어가 아니다 보니 이건 뭐지 하고 찾아보니 네임서버 설정만으로 해결가능하다는 것을 보고 아래와 같이 설정하였다. [root@localhost /]# vi /etc/resolv.conf # Generated by ..
# 와일드카드로 검색 후 최신파일 찾기 ls -t springboot-test-*.jar | head -1 ls -tr springboot-test-*.jar | tail -1 # grep으로 검색 후 최신파일 찾기 ls -t | head -1 | grep springboot-test ls -tr | tail -1 | grep springboot-test- 나는 정확히 내가 원하는 파일을 찾기 위해 와일드카드로 검색하는 편이다. -t: 파일이나 디렉토리의 수정 시간을 기준으로 역순으로 정렬하여 출력합니다. 가장 최근에 수정된 파일이 위쪽에 표시됩니다. -r: 역순으로 출력합니다. 파일이나 디렉토리의 이름을 역순으로 정렬하여 출력합니다. -tr: 시간순으로 정렬 후 역순으로 재정렬
새로운 서비스를 등록하거나 웹서버 port 를 변경했을 경우 외부에서 접근하면 당연히 접근이 안되기 때문에 리눅스에서도 방화벽 설정을 해줘야 한다. firewalld 를 사용하여 자주 사용하는 방화벽설정을 해보려고한다. # port 로 등록/해제 firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --permanent --remove-port=8080/tcp # 서비스로 등록/해제 firewall-cmd --permanent --add-service=http firewall-cmd --permanent --remove-service=http # 방화벽 설정 재로드 firewall-cmd --reload 방화벽에 적용할 내용을 등록/해제 후 firewal..