Linux: 51개의 글
-exec 명령 : 주어진 명령을 수행한다. 가장 흔히 쓰이는 행동들 중 하나이다, 명령에 매개변수들을 지정하는 방법은 이 표 다음에서 설명한다. 이 행동 끝에 \;를 붙어야 한다. -ok 명령 : -exec와 같되 각 파일마다 명령을 수행하기 전에 사용자에게 확인을 받는다. 이 행동 역시 끝에 \;를 붙여야 한다. -print : 파일 이름을 출력한다. 1. root 디렉토리로 부터 *.jpg 를 찾아 현재 디렉토리에 복사하기 ☞ find . -type f -name *.jpg -exec cp {} . \; 2. 현재 디렉토리로 부터 10M 이상의 화일을 찾아서 출력하기. ☞ find . -type f -size +10000 -exec ls -alh {} \; 3. 현재 디렉토리로 부터 하루 이상 경과..
cat test.log | grep "test" | cut -d ":" -f2 | sort | uniq -c 결과 = test.log파일의 test 문자열을 잡아 ':' 으로 자른 두번째 문자열을 정렬하여 중복제거 (sort 하지 않으면 중복제거가 안됨) ex) test.log a : 1 : test b : 1 : test c : 2 : test d : 3 : test e : 2 : test f : 4 : asdf cat test.log | grep "test" | cut -d ":" -f2 | sort | uniq -c result) 1 2 3 https://shutcoding.tistory.com/35?category=808306
find 명령어 find [OPTION...] [PATH] [EXPRESSION...] OPTION -P : 심볼릭 링크를 따라가지 않고, 심볼릭 링크 자체 정보 사용. -L : 심볼릭 링크에 연결된 파일 정보 사용. -H : 심볼릭 링크를 따라가지 않으나, Command Line Argument를 처리할 땐 예외. -D : 디버그 메시지 출력. EXPRESSION -name : 지정된 문자열 패턴에 해당하는 파일 검색. -empty : 빈 디렉토리 또는 크기가 0인 파일 검색. -delete : 검색된 파일 또는 디렉토리 삭제. -exec : 검색된 파일에 대해 지정된 명령 실행. -path : 지정된 문자열 패턴에 해당하는 경로에서 검색. -print : 검색 결과를 출력. 검색 항목은 newline..
보안상의 이유로 SSH에서는 되도록 root 계정으로 접속하는 것을 활성화 시키기 보다는 "su" 명령어를 이용해서 일시적으로 최고 관리자 권한을 얻는 것을 추천. 전제조건 1. apt-get install openssh-server 2. sudo passwd root 로 root비밀번호 설정 전제조건이 끝나면 sudo vi /etc/ssh/sshd_config 접속 PermitRootLogin을 yes로 변경후 :wq sudo reboot후 putty or xshell 등 root로 접속확인 끝. 출처 : https://shutcoding.tistory.com/10?category=808306
들어가며: 우리가 ssh를 접속해서 무언가를 작업을 할때 세션이 타임아웃되서 실행중이던 작업이 종료될때가 있다. 그럼 정말 너무 화가 치밀어 오르며, 다시 접속을 한 뒤에 그전에 작업을 다시 실행한다. 그래서 ssh connection이 끊어져도 작업을 할 수 있는 방법을 찾아보니 nohup을 이용해서 하는 방법이 있다. nohup을 이용하면 결과적으로는 세션이 타임아웃이 되어도, 내가 실행한 작업은 백그라운드에서 계속 실행한다. nohup을 사용하는 방법은 아래와 같다. nohub 사용하기: $ nohup command 1>/dev/null 2>&1 & 위에서 사용하는 명령어에 대해서 이해를 하기 위해서는 아래 내용을 읽어보시기 바랍니다. I/O Redirection: bash와 다른 shell에서는 ..
들어가며: 클라우데라에서 호스트를 추가한 뒤에, 배포하는데서 문제가 발생했다. 에러 내용은 아래와 같다. Error: rpmdb open failed 의 메시지가 뜨면서 설치가 되지 않았다. 문제를 살펴보니 yum을 실행할때 rpm의 db가 손상될 가능성이 있다고 해서 아래와 같이 해결하였다. 해결방법: 결과적으로 해결하는 방법은 기존 DB를 모두 지우고, 새로 생성을 하면 해결이 된다. $ sudo rm -f /var/lib/rpm/_db* $ sudo rpm -vv --rebuilddb 출처 : ourcstory.tistory.com/195?category=630687
들어가며: 대량의 파일을 삭제하거나 이동할때, 아래와 같이 에러가 난다. 그 이유는 mv, rm, cp 등 많은 파일에 대해서 파일 개수 제한을 두고 있다. 그렇다면 어떻게 해야지 파일을 옮길 수 있을까. bash에서는 강력한 pipeline(|)이 있기 때문에 잘 활용하면, 간단한 코드도 한줄에 끝낼 수 있으니, 리눅스에서 개발하는 개발자들은 얼마나 커맨드를 아느냐에 따라 시간, 속도를 효율적으로 사용이 가능하다. $ mv * ../ 에러내용: /usr/bin/mv: Argument list too long 아래와 같이 사용하면 대량의 파일을 옮기거나 삭제가 가능하다. $ find . -type f | xargs -i mv "{}" ../ 출처 : ourcstory.tistory.com/194?cate..
들어가며 새로운 HDD, SSD 등 스토리지가 추가가 되면, 포맷을 하고 마운트를 하게 된다. 아래 내용은 추가된 스토리지 /dev/xvdb를 포맷하고, /mnt/data1에 마운트 하는 방법에 대해서 설명한다. 데이터를 다루는 작업을 한다면 필수. 포맷하기 $ sudo /sbin/mkfs.ext3 /dev/xvdb 마운트하기 $ sudo mkdir /mnt/data1 $ sudo mount /dev/xvdb /mnt/data1 출처 : ourcstory.tistory.com/172?category=630687
들어가며 linux에서 ssh키를 이용해 서버에 접속하는 경우가 많습니다. 특히 분산처리할때는 ssh키를 등록해 놓고 처리를 해야지 패스워드 없이 작업을 원활하게 진행이 가능합니다. 그렇다면 ssh키를 등록한다는 말이 무엇을까요? ssh-key는 내가 너의 비밀번호를 이미 알고 있으니, 다음부터는 너한테 비밀번호 물어보지 않고 접속할께 알겠지? 라는 의미라고 생각하시면 됩니다. 등록하는 방법은 서버와 클라이언트로 나누어서 생각하면, 서버는 내가 ssh를 통해 접속하고자 하는 컴퓨터를 의미하고, 클라이언트는 서버에 접속하기 위한 컴퓨터라고 생각하시면 됩니다. 클라이언트에서 ssh키를 생성하고, 생성된 키를 서버에다가 등록해주면 끝입니다. 그럼 생성하고 등록하는 방법에 대해서 알아보도록 하겠습니다. ssh ..
들어가며 서버에서 작업을 하다보면 나의 로컬에 있는 데이터를 서버로 전송하거나, 서버에 있는 데이터를 내 로컬로 전송을 해야 하는 경우가 있습니다. 그럴때는 Ubuntu에서 제공하는 기본 커맨드인 scp를 사용하시면 됩니다. scp는 Security CoPy의 약자로 보안이 보장된 복사라고 할 수 있습니다. 보안이 보장 되었다는 말은 무엇이냐, 우리가 ssh를 통해 서버에 접속을 하면 22번 포트가 open이 되어 있어야 합니다. scp는 ssh와 동일한 포트를 사용하여 SSL기반의 세션 보안 프로토콜을 사용하기 때문에 기존에 사용하던 FTP와 다르게 보안측면에서 뛰어납니다. $ scp @: source_path : 내가 복사하고자 하는 파일이 경로를 입력합니다. username : 사용자 계정 아이디를..