본문 바로가기
반응형

IT/Linux75

sed 명령어 리눅스에서 파일 편집기 하면 Vim 이 생각나고, 해당 내용은 아래 참고 포스팅을 참고 바란다. 물론 vim 이 아니라 nano 부터 시작해서 다양한 편집기 들이 있다. 이번에 소개할 내용은 편집기 내용은 아니지만 편집기 등으로 만들어진 텍스트 파일에서 파일 내부의 내용을 변경하는 명령어인 sed를 소개하려고 한다. 파일을 직접 읽으면서도 수정 및 replace는 가능하지만 쉘에서 직접 동적으로 빠르게 변환할때 도움이 된다. 사용법은 간단하다. sed -i s/이전문자열/변경문자열/g /디렉토리위치/파일명 vi text.txt 로 파일을 만들었다. aaaabbbbccccdddd aaaabbbbccccdddd 이러고 저장 후 종료 하고 sed -i s/aaaa/bbbb/g text.txt 를 하게 되면 아.. 2023. 8. 6.
Netcat 에 대해(nc) Netcat(ornc)은 TCP 또는 UDP 프로토콜을 사용하여 네트워크 연결을 통해 데이터를 읽고 쓰는 명령줄 유틸리티이다. 리눅스, MacOS, 윈도우즈 및 BSD에서 사용할 수 있고 MacOS 및 Ubuntu, Debian 또는 CentOS와 같은 널리 사용되는 Linux 배포에 미리 설치되어 있다. 이와 같이 고양이 모양을 한 이 netcat의 사용법은 아래와 같다. $ nc [OPTIONS] [HOST] [PORT] 그리고 해당하는 옵션들은 아래 정보이다. 옵션 설명 -u udp 연결 -p 소스 포트 지정 -l LISTEN 모드로 포트 띄움 -z 단순 포트 스캔만 진행 -v 더 많은 정보 확인 만약 설치가 안되어있는 리눅스라면 yum install nc 를 통해 설치하면 되고 이에 대한 내용은 .. 2023. 7. 12.
[쉘스크립트] if 문법 정리 #!/bin/bash num=10 if [ "${num}" -eq 2 ]; then echo "number is 2" elif [ "${num}" -eq 3 ]; then echo "number is 3" else echo "number is not 2 or 3" fi 쉘 스크립트에 대한 개념은 아래 참고 포스팅 참고 바란다. 먼저 상단에 배쉬쉘을 등록해주고 변수를 지정해준다 그리고 그 지정한 변수를 아래 If 문 에서 처럼 사용을 하려면 $ 표시와 중괄호로 묶어서 함께 사용할수 있다. 그리고 [ ] 대괄호 안에는 앞뒤 공백을 빼야한다 ( [ "${num ... 이런식으로 [ 다음에 공백이 없어야함) 공백이 있으면 아래와 같은 에러가 난다. .script.sh : line 5: [: missing `]'.. 2023. 6. 3.
리눅스 백그라운드 프로세스 확인 (jobs) 리눅스에서 프로세스를 돌릴경우 백그라운드와 포어그라운드로 돌려볼수가 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 백그라운드로 프로세스를 돌릴경우에 확인을 할수 있어야하는데, 그럴때 사용하는 명령어는 바로 jobs 명령어이다. 일단 그냥 jobs를 사용하면 실행중인 백그라운드 목록이 나온다. 그리고 명령어 옵션은 -l 과 -p를 알고 있으면 된다. -l은 좀더 자세한 내역을 확인할수 있다. -p는 프로세스 아이디를 출력한다. 백그라운드 세션의 상태값들이 몇가지 있는데 , Running - 작업이 종료하지 않고 계속 진행 중 Done - 작업이 완료되어 0을 반환하고 종료 함 Stopped - 작업이 일시 중단 Done(code) - 작업이 정상적 완료 코드를 반환 Stopped(SIGTSTP) .. 2023. 5. 30.
[라즈베리파이] 온도 체크하기 라즈베리파이를 구입하면서 방열 팬과 판을 추가로 구입하였다. 정상적으로 작동을 확인후 실제로 온도를 알아보고 싶어서 찾아보니 쉘스크립트를 통해서 구현을 할수가 있었다. 아래 코드를 참고하여 구현이 가능하다. #! /bin/sh temp = $(cat /sys/class/thermal/thermal_zone0/temp) temp_value = $(($temp/1000)) 이렇게 쉘 스크립트를 작성하면 sys 내에 있는 폴더에서 현재 라즈베리파이의 온도를 측정해서 알려준다. 쉘스크립트에 대한 내용은 아래 참고 포스팅을 참고 바란다. nodejs와 쉘스크립트, c언어 기반으로 특정 온도 이상일 경우에만 팬이 돌도록 할수도 있다. 하지만 +,- 극과 그라운드 선이 모두 있어야 제어가 되는데 지금 소유한 팬은 -.. 2023. 5. 28.
[라즈베리파이] wiringPi 설치 라즈비안에서 GPIO 프로그래밍을 할 때 가장 편리한 방법은 wiringPi라는 라이브러리를 이용하는 방법이다. 라이브러리 제작자는 라즈베리 초창기부터 wiringPi를 개발하여 공개하였고, 다른 GPIO 라이브러리에 비해 속도도 비교적 빠르기 때문에 wiringPi를 사용하시는 것이 추천되고있다. 설치 방법은 아래와 같다. 1. sudo apt update / upgrade 로 라즈비안 업데이트 및 업그레이드를 진행한다. 2. git 에서 설치를 받아야한다. git core 설치를 진행한다. sudo apt install git-core 3. git에서 해당 프로젝트를 받아온다. git clone https://github.com/WiringPi/WiringPi 4. 다운 받아진 폴더 WiringPi .. 2023. 5. 27.
[라즈베리파이] nodejs 설치 (현재날짜 기준 최신버전 20.x) 라즈비안에 nodejs 설치방법을 공유한다. 먼저 sudo apt update 로 저장소 업데이트를 한다. 다음은 sudo apt dist-upgrade 로 패키지 버전들을 업데이트 한다. 이어서 설치를 하기 위해 curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - 를 입력한다. (현재 날짜 기준 최신버전) 다음은 설치를 진행한다. sudo apt-get install -y nodejs 설치가 완료되면 node -v 를 통해서 정상 설치를 확인한다. 2023. 5. 26.
[라즈베리파이] ssh 설정하기 라즈비안에 고정 ip까지 설정했지만 외부에서 접근을 위해서는 ssh 기능이 필요하다. ssh기능은 아래 참고 포스팅 참고 바란다. 리눅스에서 아래 명령어로 ssh 를 설치한다. - sudo apt update - sudo apt install openssh-server update로 저장소를 설정을 잡고 install로 openssh server를 설치해주는 작업이다. 그러고 나서 sudo systemctl status ssh 이라는 명령어로 현재 ssh 프로세스의 상태를 볼수 있고, 비슷하게 sudo systemctl start ssh sudo systemctl stop ssh sudo systemctl restart ssh 명령어로 프로세스를 제어할수 있다. 그리고 라즈비안에서 시스템 실행시 자동으로.. 2023. 5. 21.
[라즈베리파이] 고정ip 설정하기 이전 포스팅에서 따라서 os를 설정하였다면 외부에서 접근을 하기 위해 고정 Ip를 설정해줘야한다. 방법은 다음과 같다. sudo vi /etc/dhcpcd.conf 명령어로 /etc/dhcpcd.conf 파일을 열어준다. 주석으로 막혀있는것을 풀어서 설정해도 되지만 주석은 그대로 두고 맨아래 다음 글을 추가해주길 권장한다. interface wlan0 static ip_address=" " static routers=" " ##(wlan0: 무선, eth0: 유선) 다음 네트워크 restart를 진행한다. sudo /etc/init.d/networking restart 경우에 따라 재부팅이 필요할수도 있다. sudo reboot 2023. 5. 20.
반응형