CS/OS

[Linux] 자주 사용하는 명령어 정리1

창문닦이 2019. 9. 28. 23:09

echo : 주어진 문자열을, 문자열 사이에 포함된 공백과 줄 마지막에 개행문자를 포함하여 표준출력으로 출력
export : 통해서 쉘 변수를 환경변수로 저장
unset : 쉘 환경에서 변수를 제거하는 리눅스 명령어
java -jar 파일명.jar : 리눅스에서 jar 파일을 실행하는 명령어


nohup ./test.sh & 기존에 사용하던 ./test.sh 명령어에 nohup과 &를 앞뒤로 붙여준다.
중간에 프로세스가 꺼지거나, 쉘이 종료되거나, 원격ssh가 꺼져도 프로그램은 계속 실행되기 때문에
원격접속으로 시간이 오래걸리는 프로그램을 실행하기에 적합한 명령어. 백그라운드에서 프로세스 실행 
nohup.out
실행된 내역은 nohup.out에 저장된다.  실행된 내역을 다른 이름으로 저장하고자 한다면 redirection을 사용한다.
nonup ./run.sh > output.txt &

tail -f : 텍스트로된 파일의 뒷부분을 지정된 만큼 보여주는 명령어. Binary 파일에는 사용을 거의 하지 않는다.
 - tail -n 500 servicelog.log | grep worker-0001
rm -rf ./dir1/ ./dir2/ ./dir3/ ./dir4/ 파일, 디렉토리 삭제확인을 거치지 않고 삭제. 여러폴더 동시에 가능
rm temp/test.txt 파일 삭제
mv ./temp/test.txt ../test.txt 파일 이동 


tail -n 500 service.log | grep thread-0001 서비스 로그 파일 최신 500 라인 중 해당되는 내용만 출력 (멀디스레드일때 특정 에러발생 스레드의 내역을 연속적으로 조회하기 위함 

서버간 파일 전송하기
scp : secure copy (remote file copy program)의 줄임말로 ssh를 이용해 네트워크로 연결된 호스트간에 파일을 주고 받는 명령어입니다. 로컬 -> 리모트 (보내기), 리모트 -> 로컬 (가져오기)와 리모트 -> 리모트 (다른 호스트끼리 전송) 로 복사가 모두 가능합니다.
ssh를 이용하기 때문에 password를 입력하거나 ssh 키파일과 같은 identity file을 이용해 파일 송수신이 가능합니다.
scp 전송 명령어 : scp {복사파일명} {서버사용자id}@{서버주소}:{서버복사경로위치} 
scp ./data_new.tar username@192.168.1.1:/home/temp/dir/ 

tar 압축 : tar [옵션] [압축파일명] [압축하고자하는파일 or 디렉토리]
tar -cvf data_new.tar /home/temp/dataDir 
tar 압축 해제 : tar -xvf data_new.tar
tar.gz : tar는 압축하는 툴이 아니고 단지 여러개의 파일을 하나의 파일로 묶어주는 역할.
만약 압축하고 싶으면 옵션에 z를 넣고 파일이름에 확장자를 tar.gz로 작업.
tar.gz 압축 : tar -zcvf test.tar.gz test
tar -zcvf test.tar.gz /home/temp/mvDir/
tar.gz 압축 해제 : tar -zxvf test.tar.gz tar
명령어에 -C 옵션을 주어 원하는 폴더위치에 압축을 해제할 수 있음  "change to directory"
tar xvzf /경로/압축파일.tar.gz -C /원하는위치

리스트 조회시 용량 보기 편하게 변환(-h 옵션) ls -alh

cp (자주 사용하는옵션 -r -p -f)
-r 보통 디렉토리를 복사할 때 안에 내용이 있으면 복사되지 않는다. 이 경우 하위 디렉토리를 포함한 모든 디렉토리를 복사 
-p 파일이나 디렉토리를 복사하면 복사하는 사용자의 기본 소유권, 퍼미션이 새로 지정되는데 원본의 모든 속성을 그대로 가지고 복사.
-f 복사할 때 덮어쓰기 제한 등이 걸려있을 때 강제로 복사한다.


ln(link)
한 파일을 다른 파일 이름으로도 사용하고자 할 때 사용하는 명령어,
- 링크된 파일 중 한 파일을 수정하면 다른 파일들도 수정됨,
- 하드링크와 심볼릭링크가 있음,
하드 링크,
- 하나의 파일에 여러 개의 이름을 부여함,
- 파일을 없애려면 링크로 생성된 링크 파일을 모두 지워야 함,
사용법, $ ln [원본 파일명] [대상파일명]
심볼릭 링크,
- 윈도우 운영체제의 바로 가기 아이콘이라고 보면됨,
- 링크로 생성된 파일에 내용이 존재하지 않고 각각의 i-node를 가진 또 다른 파일이 어디를 가리키고 있는지 알려주는 역할,
- 원본파일명이 바뀌면 사용하지 못함,


참조한 블로그 및 사이트
ln 관련 출처
<https://m.blog.naver.com/PostView.nhn?blogId=firstrokn&logNo=40164573302&proxyReferer=https%3A%2F%2Fwww.google.com%2F>
링크파일 관련 출처
https://websecurity.tistory.com/8
echo 관련 출처
<https://shaeod.tistory.com/757>
unset 관련 출처
<https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B3%80%EC%88%98_%ED%95%B4%EC%A0%9C_unset>
jar 실행 출처
<https://ra2kstar.tistory.com/125>
cp 관련 출처
<http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/cp>
tar 관련 참조
https://nota.tistory.com/53 
출처: <
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%A7%80%EC%A0%95%ED%95%9C_%ED%8F%B4%EB%8D%94%EC%97%90_%EC%95%95%EC%B6%95%ED%92%80%EA%B8%B0_tar_-C
>
scp 관련 출처
<https://twpower.github.io/138-send-file-using-scp-command>
nohup 관련 출처
https://guideyou.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%EC%97%90%EC%84%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EA%B0%80%EB%8F%99-%EC%8B%9C%ED%82%A4%EB%8A%94-%EB%B0%A9%EB%B2%95-2%EA%B0%80%EC%A7%80
Jar 파일 생성 및 실행에 관한 포스팅 
https://heum-story.tistory.com/71