본문 바로가기

IT/linux72

linux find 를 이용해 파일 찾아 지우기 파일 찾아 지우기 리눅스를 사용하면서 많이 사용하는 find 를 통해 특정 파일 대상으로 -exec 를 통해 명령을 수행할 수 있다. 다른 글에 포스팅 했지만 리눅스 파일 내 텍스트 찾아 바꾸기도 find 의 조합을 이용한 것이다. https://muabow.tistory.com/180 리눅스 파일 내 텍스트 찾아 바꾸기 설명과 예제 리눅스 파일 내 텍스트 찾아 바꾸기 리눅스로 작업을 하다보면 높은 확률로 파일 내의 텍스트를 변경할 경우가 생긴다. 그것도 무척 단조롭고 많은 파일을 대상으로.. 예를 들자면 소스 코드 muabow.tistory.com 그렇다면 특정 파일들만 추출해서 삭제하는 것도 가능하지 않을까? 물론 가능하다. 예제와 함께 보자. # /opt 경로 아래에 "_test"로 끝나는 php .. 2021. 12. 31.
ubuntu apt-get remove 안될 때 조치 방법 ubuntu 패키지 및 apt-get remove 안될 때 가끔 deb 패키지 또는 apt 를 통해 설치한 패키지가 의존성 또는 설치 시 문제로 인해 삭제가 안되는 경우가 있다. 화면을 캡쳐하고 싶은데 지금은 오류난 패키지가 없어서.. 커널 버전 또는 운영체제 버전을 업그레이드 하거나 비슷한 패키지를 중첩해서 설치하면 더러 발생한다. 그런 상황에서는 apt-get remove 를 아무리 해도 삭제되지 않는다. 그렇다고 삭제 오류 또는 교착 상태에 빠진 채로 둘 수 없지 않은가. 패키지 설치/삭제 오류가 발생 했을 땐 다음과 같이 하자. dpkg 라고 하는 debian package 관리 명령어와 --force-remove-reinstreq 옵션을 이용하면 해결할 수 있다. sudo dpkg --force.. 2021. 12. 31.
linux svn status 중 ! 파일 전체 삭제 설명 및 예제 svn status 중 ! 파일 전체 삭제 svn commit 전 svn status를 통해 파일들의 상태를 확인하는데 상태가 !(느낌표)인 경우가 있다. 이는 repository 에는 파일이 존재하지만 local 에는 파일이 존재하지 않는다는 표시인데, 필요가 없어서 지운 파일인 경우에는 repository에서도 delete를 해줘야 한다. linux shell에서 svn 은 cli(command line interface) 특성상 delete를 하나하나 지정해줘야 하는 불편함이 있다. 몇 개 안되면 복사 붙여 넣기로 대충 처리할 텐데 수많은 파일이 삭제되고(!), 수많은 파일이 추가되고(A), 파일이 변경되고(M), repository에 없는 신규 파일이 생겼다던지(?) 그런 경우에는 delete 지.. 2021. 12. 30.
svn external link 제외 옵션 설명과 예제 svn external link 제외 옵션 svn을 이용하여 작업 시 checkout과 export 같은 repository로부터 데이터를 받아 와야 하는 경우가 있다. 하지만 repository 구성 중 external link 가 구성이 되어 있으면 원하지 않는 데이터까지 모조리 당겨 받는다. 본인의 업무 환경은 rootfs, target, build, package 같은 시스템 구성요소들을 external link 로 구성하는데 특정 시스템 소프트웨어를 수정하려고 별생각 없이 checkout 을 받다보면 하루 온종일 걸리는 경우가 많다. 물론 디스크 용량을 잡아 먹는것도 덤이다. 위와 같은 이유로 external link를 제외하고 svn target repository 만 받는 방법은, --ign.. 2021. 12. 30.
정규 표현식 목록 / Regular expression sheet 정규 표현식 목록 구문 의미/예제 . 임의의 한 문자를 나타냄 알파벳, 숫자, (-,*)등의 특수문자를 나타냄 [] 비교할 문자의 집합을 나타냄. ex) [abc]는 a,b,c 중에 한 문자를 나타낸다. * 앞에 지정된 문자는 집합이 0번 이상 반복됨을 의미 + 앞에 지정된 문자나 집합이 1번 이상 반복됨을 의미 ? 앞에 지정된 문자는 집합이 없거나, 있을 수 있음 {} 앞에 지정된 문자나 집합의 출현 범위를 지정함 .{1} : 임의의 문자가 한번 나와야 함 .{1,10} : 임의의 문자가 최소 1번 최대 10번 나와야 함 .{,10} : 임의의 문자가 최대 10번 나와야 함 .{1,} : 임의의 문자가 최소 한 번은 나와야 함 *?, +?, {}? 해당 정규식이 가장 최소로 일치하는 구간을 찾는다. 1.. 2021. 12. 29.
linux awk 사용법과 예제 설명 awk(오크; Aho Weinberger Kernighan) - awk의 기본 기능은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것 1. 사용법 Usage: awk [POSIX or GNU style options] -f progfile [--] file ... awk [POSIX or GNU style options] [--] 'program' file ... Examples: awk '{ sum += $1 }; END { print sum }' file awk -F: '{ print $1 }' /etc/passwd 2. 설명 - awk는 패턴 처리 명령어로 직접 사용자로부터 입력을 받거나 지정한 파일을 가공하여 표준 출력한다. - 표준 출력을 리다이렉션 할 수 있다. - 검.. 2021. 12. 29.
PCM device 확인 / fuser 활용하여 device busy 해결 PCM device 확인 ALSA 를 이용하여 오디오 프로그램 개발 시 간혹 device busy 라는 오류가 발생한다. 이것은 mixer가 없는 장치에서 동일한 오디오 디바이스를 사용하려면 나는 충돌 오류이다. 이를 해결하기 위해서 fuser 명령어를 이용하여 상태를 체크해볼 수 있다. PCM device 확인 # ls /dev/snd/ by-path controlC0 pcmC0D0c pcmC0D0p timer 이 장치는 pcmC0D0c 라는 audio capture 장치와 pcmC0D0p 라는 audio playback 장치가 있다. 1. PCM playback device 사용 확인 fuser -fv /dev/snd/pcmC0D0p PCM playback device 상태, pid 3128, aud.. 2021. 12. 29.
alsa.conf alsa-utils reload 예제 alsa.conf alsa-utils reload dmixer의 파라미터 관련하여 /usr/share/alsa/alsa.conf 를 수정해야 할 일이 있었다. conf 파일을 수정한 후 재반영 방법을 생각도 않고 장치를 껐다 켰다 반복을 했다 -_-; 이제 세션 다 끊어가며 재부팅 시간 기다리지말고 alsa-utils 를 이용해 재반영을 하자. /etc/init.d/alsa-utils restart 2021. 12. 29.