본문 바로가기

리눅스15

vi 에서 특정 문자열 이후 모든 문자열 삭제 (문자열 치환) 리눅스 vi 으로 특정 문자열을 수정하는 것이 편리할 때도 있습니다. 아래와 같은 경우 문자열이 아무리 길어도 명령어 한 줄이면 한 번에 수정이 되서 오히려 메모장보다 편리한 경우가 많습니다. 가끔 사용할 때마다 까먹어서 내가 보려고 정리하게 되네요. - 특정 패턴의 문자열 이후 모든 문자열 삭제 (문자열 치환) :%s/문자열.*// - 파일 편집 중 특정 패턴의 문자열을 한 꺼번에 수정 (치환) 하는 방법 :%s/문자열/변경 문자열/ - 문자열 맨 앞에 특정 문자열 추가 :%s/^/문자열/g - 문자열 맨 뒤에 특정 문자열 추가 :%s/$/문자열/g 2023. 11. 27.
[linux/리눅스] 패킷 캡쳐를 위한 tcpdump 사용 예제 (옵션 사용법) 리눅스에서 Network 환경을 체크할 때 가장 유용하게 쓰는 명령어입니다. 가장 많이 쓰면서도 자주 쓰는 옵션이 아니면 자주 까먹는 tcpdump 사용 example 을 모아보겠습니다. 1. 기본적으로 사용되는 옵션 -i [인터페이스명] 해당 인터페이스를 캡처 한다. -n 모든 주소들을 변환하지 않음 (port, addres) -c [number] 캡처할 패킷 수 tcpdump -i eth1 -n -c 10 2. 시간을 정확히 보고싶을 때 -t 시간표시 하지 않음 -tt 시간을 형식없이 초로 표시 -tttt 년/월/일/시간/분/초 형식으로 표시 tcpdump -i eth4 -n -tttt -c 10 3. 캡처한 내용을 파일로 저장 -w [파일명] 캡처한 정보를 파일명으로 저장한다. /home/jungf.. 2022. 9. 28.
[linux] ssh 연결 오류, System is booting up. See pam_nologin(8) 리눅스 장비를 재부팅한 후에 sshd 연결 시도 시 하기와 같은 오류가 발생합니다. System is booting up. See pam_nologin(8) 리눅스 장비 상태 - ping 도 정상. - sshd 데몬도 정상. 해결 방안 해당 문제는 특정 리눅스 배포판의 버그로 리부팅 시에 임시로 만들어진 /run/nologin 파일이 제대로 삭제되지 않을 경우 나오는 문제. /run/nologin 파일 삭제 후 정상적으로 ssh 연결 확인 됨. ls -l /run/nologin mv /run/nologin /tmp # 파일을 다른 곳으로 옮겨놓거나 삭제하면 정상 동작 함. rm -rf /run/nologin 정상 동작 확인 reference bugzilla.opensuse.org/show_bug.cgi?.. 2021. 2. 1.
[shellscript] error: garbage option 오류 shellscript 에 중복 방지 기능을 추가하던 중 "error: garbage option" 이런 오류가 발생했습니다. 이상하게도 해당 오류가 발생하고 난 후에는 제가 작성한 파일이 모두 없어져서 한참을 헤맸습니다. 오류 내용은 아래와 같습니다.error: garbage option Usage: ps [options] Try 'ps --help ' or 'ps --help ' for additional help text. For more details see ps(1). 해당 오류는 basename 을 사용하여 수행 중에 lock 파일을 생성하고 수행이 끝나면 해당 lock 파일을 삭제하여 실행파일 중복 방지를 하는 로직이였는데 문제원인은 lock 파일 이름과 실제 수행되는 실행 파일의 이름이 같아.. 2021. 1. 13.
[ubuntu v14.04.1] MariaDB 설치 방법 mariaDB 홈페이지에 방문하면 Linux 종류와 version 에 따른 설치법이 자세하게 나옵니다.downloads.mariadb.org/mariadb/repositories/MariaDB - Setting up MariaDB Repositories - MariaDBTo generate the entries select an item from each of the boxes below. Once an item is selected in each box, your customized repository configuration will appear below. 1. Choose a Distro SLES openSUSE Arch Linux Mageia Fedora CentOS RedHat Mint Ubu.. 2020. 12. 23.
[리눅스/Linux] 컴파일을 위한 Makefile 간단 예제 - 여러개의 파일 지난 포스팅에서 아주 간단한 Makefile 예제를 소개했습니다. 간단 예제의 Makefile 을 조금씩만 손 보면 원하는 형태의 프로그램을 간편하게 컴파일할 수 있습니다. 한 번만 만들어놓으면 코드 수정 후 make 명령만 실행하면 알아서 컴파일 하고 실행 파일까지 만들어주니 리눅스 환경에서는 거의 필수로 생각해도 됩니다. Makefile 관련 포스팅 [리눅스] 컴파일을 위한 Makefile - 간단 예제 simple example 여러 개의 파일을 컴파일하는 Makefile 예제 이번에는 여러 개의 파일을 컴파일하는 Makefile 을 소개하도록 하겠습니다. 우선 컴파일을 수행할 프로그램 코드를 만들어줍니다. 지난 시간에 만들었던 test.c 를 그대로 이용하고 약간 확장해서 korea.c, worl.. 2020. 12. 3.
[프로그래밍] ASCII table, 아스키 코드표 컴퓨터의 언어 - ASCII 코드 ASCII는 정보 교환을 위한 미국 표준 코드를 나타냅니다. 컴퓨터는 숫자만 이해할 수 있으므로 ASCII 코드는 'a' 또는 '@'와 같은 문자 또는 특수문자 등을 컴퓨터가 알아볼 수 있는 숫자로 표현한 것입니다. ASCII는 오래 전에 개발되었으며 현재 사용되지 않는 문자는 초기에 만들어진 용도로 거의 사용되지 않습니다. 아래는 ASCII 문자 테이블이며 0~32번까지 처음 32개의 문자는 현재는 사용되지 않습니다. ASCII는 실제로 텔레타이프와 함께 사용하도록 설계되었으므로 설명이 다소 모호합니다. Notepad.exe 에서 ASCII 텍스트를 생성하거나 MS Word에서 파일을 '텍스트 전용'으로 저장하는 것이 바로 ASCII 형식으로 저장하는 것입니다. 0x0.. 2020. 12. 3.
[리눅스] linux 에서 listen하고 있는 port 확인하는 4가지 방법 리눅스에서 데몬 혹은 어플리케이션이 listen 하고 있는 port 를 확인하는 방법에 대해 알아보겠습니다. (참고) port 의 상태는 open, filtered, closed, unfiltered 가 있습니다. 1. Netstat Netstat 는 Linux 네트워킹 시스템에 대한 정보를 확인하는데 사용되는 도구입니다. 아래와 같이 open되어있는 모든 port를 확인하는데 사용할 수 있습니다. -l 옵션 : netstat에 모든 수신 소켓을 표시한다. -t 옵션 : 모든 TCP 연결을 표시한다. -u 옵션 : 모든 UDP 연결을 표시한다. -p 옵션 : 포트에서 수신하는 어플리케이션/데몬의 이름을 표시한다. -n 옵션 : 서비스 이름 대신 port 번호를 표시한다. sudo netstat -ltup.. 2020. 11. 30.
[리눅스] sftp 자동화 스크립트 - sshpass sftp 명령어는 리눅스 환경에서 파일 전송용으로 자주 사용되고 있습니다. 파일 전송이 자주 있는 경우에는 script 를 사용해서 자동하여 사용하는 방법이 실수도 줄일 수 있고 아주 간편하게 사용할 수 있는 장점이 있습니다. sshpass 를 이용하여 sftp 파일전송 script 를 만들어보도록 하겠습니다. sftp 자동화 스크립트 간단 예제 아래 script 는 10.200.3.3 서버에 jungfo 라는 ID 로 접속하여 test_files.txt 를 다운받는 간단한 예제입니다. 실행 결과 - test_file.txt 를 전송받음. sftp 자동화 스크립트 예제1 - 파일명 인자로 전달하기 간단 예제에 파일명을 파라미터로 입력받는 부분을 추가했습니다. 이제 script 뒤에 원하는 파일명을 입력하.. 2020. 11. 30.
[리눅스] sshpass download 및 install sftp 나 ssh 기반의 명령어를 사용할 때 password 를 항상 입력해야하는 것이 번거로울 수 있습니다. sshpass 는 파라미터나 파일을 통해 입력받은 암호를 이용하여 쉽게 ssh 를 연결할 수 있고, 응용한다면 batch 파일이나 script 를 통해 다음 명령어도 수행할 수 있습니다. ssh 기반 명령어의 자동화에 아주 유용합니다. 이번 포스팅은 sshpass 명령이 없는 경우 source 코드를 다운받아서 설치하는 과정을 간단하게 설명드리겠습니다. sshpass download 사이트 sourceforge.net/projects/sshpass/ Non-interactive ssh password auth Download Non-interactive ssh password auth for .. 2020. 11. 30.
[리눅스] hostname, 호스트명 변경 방법 리눅스 머신은 각각의 구분을 쉽게하기 위하여 호스트명을 사용합니다. 보통은 리눅스 설치 시에 설정하게 되는데 설치 후 hostname 을 변경하는 법을 알아보겠습니다. * 현재 hostname 확인 - hostname hostname 명령을 이용하여 현재 hostname 이 "jungfo-X10SRA-F" 로 설정된 것을 확인. * 원하는 hostname 으로 변경 - hostname [호스트명] hostname jungfo 명령을 이용하여 호스트명을 "jungfo" 로 변경. * /etc/hostname 파일 변경 - vi /etc/hostname 바뀐 호스트명은 reboot 후에는 다시 원복될 수 있으므로 /etc/hostname 파일을 수정. 이렇게 수정해 주면 reboot 후에도 설정한 hostn.. 2020. 11. 27.
[리눅스] hostname 오류 "unable to resolve host" 해결 방법 unable to resolve host 리눅스에서 관리자 권한을 필요로 할 때 sudo 명령을 사용합니다. sudo 명령을 이용해서 root 로 권한으로 명령어를 수행할 때 가끔 "unable to resolve host jungfo" 이란 오류가 발생하는 경우가 있습니다. 보통은 hostname 을 변경한 경우에 많이 발생하는데 해결 방법은 의외로 간단합니다. 현재 설정된 호스트명을 확인 - cat /etc/hosts 역시 호스트명 리스트에 제가 사용하는 hostname 이 없네요. 간단하게 저의 hostname 만 추가해주면 됩니다. 호스트명 추가 - vi /etc/hosts /etc/hosts 파일을 열어서 "127.0.0.1 localhost" 부분을 복사해서 한 줄 추가하고 "localhost.. 2020. 11. 27.