본문 바로가기

Computer/Linux

symbolic link 깨져 있는지 확인하기 symbolic link가 깨져 있는 경우에는 다음과 같이 확인하면 됨 BROKEN_LINK=$(find /path/to -type l -xtype l | wc -l) if [ $BROKEN_LINK -gt 0 ]; then echo -e "CHECK BROKEN_LINK:\t$/path/to" error fi ref : https://www.commandlinefu.com/commands/view/8260/find-broken-symlinks 더보기
쉘 스크립트에서 숫자 연산하기 쉘 스크립트를 사용하다보면, 변수에 숫자의 연산 결과를 저장하거나, 혹은 숫자로 취급해야 할 경우가 있다. 그럴때는 이렇게 하면 된다. ((VAR=${num} + 10 * 1)) 혹은 VAR=`expr ${num} + 10 * 1` 예제)$ cat sample.sh #!/bin/bash num="01"((VAR=${num} + 10 * 1)) echo $VAR $ sh sample.sh10 expr을 이용하여 연산시, 괄호가 필요한 경우에는 이렇게 하면 된다. VAR=`expr \( ${num} \- 1 \) + 10 * 1` 이 때, 괄호를 포함하여 모든 기호들은 공백 단위로 분리되어 있어야 하며, 괄호와 연산자는 \을 포함하여 작성해야 한다. 사용할 때 편한 것을 골라서 사용하면 된다. 끝. 더보기
bash 변수를 awk에서 사용하기 awk 참 좋은데~ bash 변수도 사용하면 참 좋으려만...그래서 찾아봤더니 사용방법이 있었다. -v var=val 또는 -assign=var=val 을 이용하면 간단히 해결된다!예를 들어, 어떤 스크립트에서...$CUR_DATE=`date +%Y%m%d --date '1 days ago'`awk -v cur_date=$CUR_DATE '{print cur_date}' 이렇게하면 awk를 이용해서 bash 변수를 마음껏 사용할 수 있다.이상 끝. 더보기
리눅스에서 zip 압축 해제 포스팅하기엔 조금 부끄러운 부분이 없지 않지만...오랜만에 쓸 때는 찾아봐서 하기에... 이 부분을 정리해본다... $ unzip 파일명이렇게 하면 된다. 끝 더보기
사용중인 프로세스 메모리 사용량을 알고 싶다면? 리눅스에서 프로세스의 메모리 사용량이 궁금할 때가 있다.top 명령어로 해당 프로세스가 몇 %의 메모리를 사용하고 있는지 확인할 수 있지만,정확히 몇 바이트의 메모리를 사용중인지 잘 파악되지 않는다. 인터넷을 검색하던 중 좋은 명령어를 알게 되어서 정리한다.$ cat /proc/PID/status | grep VmSize이렇게 하면, 전체 할당된 메모리의 크기를 알 수 있다. 참고 : http://faq.hostway.co.kr/Linux_ETC/4258 더보기
암호없이 ssh 로그인 설정하기 간단하게 다음의 과정을 통해서 암호없이 로그인 설정을 할 수 있다. 1. $ ssh-keygen -t rsa2. $ ssh-copy-id username@hostname 1의 과정은 public key를 생성하는 과정이고2의 과정은 public key를 복사하는 과정이다. * 주의사항- 1의 과정에서는 암호를 넣으라는 메시지에 암호를 넣지 않고 키를 생성해야 한다.- 2의 과정에서는 암호없이 접속할 서버(hostname)에서 hosts.allow에 현재 서버가 등록되어 있어야 한다. 더보기
console에서 stdout, stderr 저장하기 console을 사용하다보면, stdout 또는 stderr에 대한 출력을 저장해야 할 경우가 있다.stdout, stderr 출력을 함께 저장할 때도 있고, 각각 저장해야 할 경우도 있다.자주 사용하지만, 잘 잊어버리는 부분이라 정리한다. 1. 각각 저장할 때$ test.sh > stdout_log 2> stderr_log 2. 함께 저장할 때(이때 로그가 출력되는 순서가 유지되면서 저장된다.)$ test.sh > stdout_stderr_log 2>&1 또, 다른 사용법이 있지만 정리해야할 필요가 있을 때 정리할 예정이다.이상 끝. 더보기
쉘 스크립트 쉘 스트립트를 사용하는 변수에 대해 정리해봅니다. $? : 마지막 프로그램의 종료 상태 $# : 명령행 인자 개수 $0 : 실행중인 프로그램 경로 $1 ~ $9, ${10} … : 명령행 인자 shift : 명령행 인자를 하나씩 감소시킴, $1←$2, … ($# 도 1 감소됨) "$@", $* : 모든 명령행 인자 $$ : 실행중인 스크립트의 pid 더보기
Bash 에서 색을 입혀 출력하기 콘솔에 출력되는 내용을 보다보면, 이쁘게 색을 입힌다거나 깜빡이게 하는 것을 볼 수 있다. 아주 아주 간단하게 이 부분을 따라할 수 있는데, 다음과 같이 하면 된다.echo -e "\e[32mGreen\e[39m" 간단히 설명하면,echo -e : -e enable interpretation of backslash escapes\e[32m : Green code\e[39m : Default foreground color이렇다. 터미널마다 지원되는 색의 범위가 다양하니, 그 부분을 고려해서 사용하면 된다. 마지막으로 내가 참고했던 사이트의 링크이다. http://misc.flogisoft.com/bash/tip_colors_and_formatting 더보기
valgrind를 이용한 memory leak(메모리 릭) 확인 프로그램을 작성 후 메모리 릭을 확인할 때, valgrind를 사용할 수 있는데,valgrind를 사용할 때, 아래와 같은 옵션으로 탐색을 한다면좀 더 편하게 메모리 릭을 확인할 수 있다.(주관적인 생각이다.)자세한 설명은 생략한다. 왜냐하면, 개인적인 메모에 가깝기 때문이다.valgrind --verbose --show-reachable=yes --track-origins=yes --leak-check=full 더보기