본문 바로가기
Language/Linux

리눅스 명령어

by 박살낼겨 2021. 10. 12.

현업에서 많이 사용하면서(뇌피셜)

 

혼자 궁금해서 맨날 찾아봐서 짜증나고(뇌피셜)

 

물어봤는데 대답 못 해서 땀 개흘렸었던 명령어...

 

 

디렉토리 이동하기
cd(change directory)

명령어 설명
cd / root로 디렉토리 이동
cd ../ 상위 디렉토리로 이동
cd /NAS/report 절대경로이동(report 디렉토리로 곧바로 이동)
cd ../test 상대경로이동(현재폴더 기준 상위의 디렉토리로 이동하고 상위 디렉토리 폴더 중 test 디렉토리로 이동)
** 상위 디렉토리에서 test라는 폴더 없으면 당연히 이동X

 

디렉토리에 있는 파일, 폴더 등 확인하기
ls(list), ll [옵션] [대상 파일]

명령어 설명
ls 현재 디렉토리에 존재하는 파일보기
ll  ls 명령어에 -l 옵션을 적용해 존재하는 파일보기
ls 명령어 종류 설명
-a 디렉토리의 모든 파일이나 숨겨진 것 보기
** . , .. 까지 나오게 된다
-l 파일들의 자세한 내용보기
** 권한, 들어있는 파일의 수, 소유자, 그룹, 파일크기, 수정일자/일시 파일명
-R(대문자) 해달 파일들의 하위 파일들 모조리 출력(스압주의)
여기서 궁금증! 명령어 합치는거 가능? 당연 가능!
ls -al 존재하는 파일들을 모조리 숨김없이 자세하게 싹다 보기
ls -al /NAS/test test디렉토리의 파일들을 모조리 숨김없이 자세하게 보기

 

디렉토리 혹은 파일의 삭제
rm(remove) [옵션] [파일명]

명령어 설명
rm test.war test.war파일을 삭제
** 삭제 전 반드시 현재 디렉토리 및 백업여부 확인하고 삭제
rm -i test.war 삭제여부 물어보고 삭제
** 불안하니까 확인차하는 안전장치
더 있으나...삭제는 위험하니 그냥 몰라버리자

 

디렉토리 혹은 파일 복사/붙여넣기
cp(copy) [옵션] [대상 파일] [붙여넣는 경로]

명령어 설명
cp ./test.war /test1/test2 현재 디렉토리의 test.war파일을 test2폴더로 복사 붙여넣기
cp -a 원본 파일의 속성, 링크 정보들을 그대로 유지해서 복사
cp -r 원본 파일이면 복사, 디렉토리면 전체가 복사
cp -f 복사한 대상이 있으면 강제로 지우고 붙여넣기
cp -i 복사한 대상이 있으면 확인 후 붙여넣기
cp -arf ./test.war /test1/test2 현재 디렉토리의 test.war파일을 test2폴더로 복사 붙여넣을건데 test.war의 속성의 정보들을 그대로 유지해서 복사하고 test2 디렉토리에 붙여넣고 만약 test.war 있으면 이거 지우고 복사한거 붙여넣기

 

디렉토리 혹은 파일 다른 디렉토리로 이동시키기
mv(move) [옵션] [이동 대상1] [이동 경로]

명령어 설명
mv ./test.war /test1/test2 현재 디렉토리의 test.war파일을 test2폴더로 이동

 

현재 디렉토리의 전체경로를 출력
pwd(print working directory)

명령어 설명
pwd 현재 디렉토리의 경로를 출력

 

파일의 마지막(맨 뒤) 10행을 화면에 출력
tail [옵션] [라인/바이트 수] [파일명]

명령어 설명
tail -f 마지막 10행 출력하는데 새 라인이 추가될 경우 업데이트해서 계속 출력(실시간 출력)
** 주로 로그를 찍어볼 때 사용(유용)
tail -f 파일명 로그가 찍히는 파일의 마지막 10개 행을 출력(실시간 로그)
tail -n 20 파일명 마지막 20행 출력
컨트롤 + c 프로세스 종료
컨트롤 + z 프로세스 정지

fg % 2
프로세스 정지를 하면 stopped가 나오고 [ ] 대괄호 안의 숫자를 fg % 숫자 하면 프로세스 재개
** 띄어쓰기를 해야함.

 

현재 실행중인 프로세스 목록과 상태를 출력
ps(process status)

명령어 설명
ps -a 모든 프로세스 출력
ps -e 커널 프로세스 제외 모든 프로세스를 출력
ps -f 풀 포맷으로 출력(유닉스 스타일로 출력, UID, PID, PPID 등)
ps -ef |grep 프로세스명
ps -ef |grep dev-~~-was1
~~was1라는 특정한 프로세스의 현재 돌아가고 있는 프로세스 보기
ps -ef의 완벽정리는 이분 링크

https://jhnyang.tistory.com/268

 

특정 파일 내용에서 특정 문자열 찾고자 할 때
grep [옵션] [패턴] [파일명]

명령어 설명
grep '키워드' 파일명 지정한 파일 내 해당 '키워드' 문자열이 발생된 라인 출력
예) grep 'ERROR' imsout.log
grep -i '키워드' 파일명 대소문자 구별하지 않고 문자열 검색
예) grep -i 'error' imsout.log
grep -n '키워드' 파일명 검색한 문자열이 포함되어 있는 라인번호를 출력
예) grep -n 'error' imsout.log

응용) 해당 파일내 문자열 포함한 라인번호와 대소문자 구별없이 검색해 해당된 라인 출력
예)grep -n -i 'error' imsout.log

 

 

 

grep 옵션
-E        : PATTERN을 확장 정규 표현식(Extended RegEx)으로 해석.
-F        : PATTERN을 정규 표현식(RegEx)이 아닌 일반 문자열로 해석.
-G        : PATTERN을 기본 정규 표현식(Basic RegEx)으로 해석.
-P        : PATTERN을 Perl 정규 표현식(Perl RegEx)으로 해석.
-e        : 매칭을 위한 PATTERN 전달.
-f        : 파일에 기록된 내용을 PATTERN으로 사용.
-i        : 대/소문자 무시.
-v        : 매칭되는 PATTERN이 존재하지 않는 라인 선택.
-w        : 단어(word) 단위로 매칭.
-x        : 라인(line) 단위로 매칭.
-z        : 라인을 newline(\n)이 아닌 NULL(\0)로 구분.
-m        : 최대 검색 결과 갯수 제한.
-b        : 패턴이 매치된 각 라인(-o 사용 시 문자열)의 바이트 옵셋 출력.
-n        : 검색 결과 출력 라인 앞에 라인 번호 출력.
-H        : 검색 결과 출력 라인 앞에 파일 이름 표시.
-h        : 검색 결과 출력 시, 파일 이름 무시.
-o        : 매치되는 문자열만 표시.
-q        : 검색 결과 출력하지 않음.
-a        : 바이너리 파일을 텍스트 파일처럼 처리.
-I        : 바이너리 파일은 검사하지 않음.
-d        : 디렉토리 처리 방식 지정. (read, recurse, skip)
-D        : 장치 파일 처리 방식 지정. (read, skip)
-r        : 하위 디렉토리 탐색.
-R        : 심볼릭 링크를 따라가며 모든 하위 디렉토리 탐색.
-L        : PATTERN이 존재하지 않는 파일 이름만 표시.
-l        : 패턴이 존재하는 파일 이름만 표시.
-c        : 파일 당 패턴이 일치하는 라인의 갯수 출력

 

출처:https://recipes4dev.tistory.com/157

'Language > Linux' 카테고리의 다른 글

SFTP 명령어 정리  (0) 2022.11.28