Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Decision Tree
- Spark jdbc parallel read
- Python
- eda
- Oracle 논리적 저장 구조
- 네트워크
- 의사결정나무
- Spark 튜닝
- airflow 정리
- enq: FB - contention
- git 기본명령어
- 통계분석
- Linux
- 랜덤포레스트
- BFS
- 오라클 데이터 처리방식
- git stash
- Oracle ASSM
- 데이터 분석
- Collaborative filtering
- CF
- 배깅
- 데이터분석
- 리눅스 환경변수
- 알고리즘
- git init
- Spark Data Read
- 추천시스템
- SQL
- 앙상블
Archives
- Today
- Total
[Alex] 데이터 장인의 블로그
[Linux] 데이터 엔지니어링을 위한 sed, xargs, nohup, scp 기본 명령어 정리 본문
sed : 찾아바꾸기
sed 's/찾을 텍스트/바꿀 텍스트/g' 파일명으로 사용함
- -i 옵션은 --in-place를 의미함
- s는 문자열 치환을 의미
- g는 모든 라인에 적용한다는 의미. 작성하지 않으면
- sed 's/root/ROOT/g' /etc/group | grep ROOT
- sed 's/root/ROOT/g' /etc/group | grep root
- sed -n '3,7p' /etc/group -> 3에서 7번 row까지 호출
watch : 메모리 상황 보기 (+free, nvidia-smi)
watch -n [초 단위] [명령어]
- watch -n 1 nvidia-smi
- watch -n 1 free -m
alias : 별칭 설정
alias : 별칭
- alas ll = 'ls -al'
xargs : 출력된 결과를 인자값으로 활용하여 다른 커맨드에서 활용할 수 있게 만들어주는 명령어
주로 find, ls, cat 뒤에 파이프로 사용됨. 앞 명령어의 결과를 다음 명령어의 입력으로 넘기는 파이프와 함께 사용해, 앞 명령어의 출력값을 다음 명령어의 인자로 넘긴다
1. find를 이용해 mtime이 30일 이상된 파일을 .bak으로 바꾸기
find . -mtime +30 | xargs mv -i {} {}.bak
2. *.mp3 지우기
(Tip) 그러나 찾고 삭제는 find -delete가 좋음. 아래 예제처럼 하면 파일 하나당 서브 프로세스가 생성됨
find . -name '*.mp3' | xargs rm
3. 엄청 많은 파일을 지워야 하는 경우 (rm) -> 오류메시지 발생 : (/bin/rm Argument list too long)
$ find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
4. find 명령으로 찾은 리스트를 ls -l 로 모두 출력하는 결과
$ find /etc -name "*.conf" | xargs ls –l
nohup
- 리눅스에서 쉘 스크립트 파일이나 파이썬 파일 등을 데몬 형태로 실행시킴
- 터미널 세션이 끊겨도 실행을 멈추지 않고 동작함
- &을 사용 => 프로세스 실행할 때 백그라운드 동작하도록 만듬
- nohup으로 실행할 파일은 권한이 755 이상이어야 함
사용 방법
- nohup shell.sh &
- 종료하는 두가지 방법
ps -ef로 pid 번호 찾은 후 kill -9 pid번호
- ps ef | grep shell.sh
- 로그 확인
- nohup을 만들면 nohup.out 파일이 생성됨
scp
- Secure Copy(remote file copy program)의 줄임말
- ssh을 이용해 네트워크로 연결된 호스트간에 파일을 주고 받는 명령어
- -r : 재귀적으로 폴더 복사
- -P : ssh 포트 지정
- -i : ssh identify file을 지정해 파일 이동
- local -> remote
$ scp local_path user@ip:remote_directory
- remote -> local
scp user@ip:remote_directory local_path
- remote -> remote
scp user1@ip1:source_remote_directory user2@ip2:target_remote_directory
/dev/null
출력 스트림을 버릴 경우 사용됨
- echo "hello" # hello echo hello > /dev/null # 아무것도 출력되지 않음
- /dev/null
- 주로 2>&1과 함께 사용
- 2(표준 에러)를 1(표준 출력)으로 바꿔서 redirect!
- & : 백그라운드에서 실행
- rm test > /dev/null 2>&1
기타
pbcopy : 명령어의 결과를 클립보드로 복사
- echo "hihi" | pbcopy
python 파일경로를 복사하고 싶은 경우
- echo `which python` | pbcopy
현재 경로 복사하고 싶은 경우
- echo `pwd` | pbcopy
반응형
'Linux&OS' 카테고리의 다른 글
[OS] 캐시메모리와 버퍼메모리 정리(+ 레지스터) (0) | 2021.12.16 |
---|---|
[Linux] Bash 쉘스크립트 사용법 정리 (0) | 2021.12.12 |
[Linux] 데이터 엔지니어링을 위한 awk 명령어 정리 (0) | 2021.12.11 |
[Server] WAS 서버와 웹서버의 차이 (0) | 2021.12.02 |
[Jupyter] 여러개 가상환경 커널 사용시, pip 경로 지정 (0) | 2021.11.07 |
Comments