리눅스 명령어
in Etc on Etc
- tail
- 파일 복사 or 는 해당 이름으로 생성
- a > b 이동 or 덮어쓰기
- grep
- 권한
- 소유자 및 소유권한 변경
- 파일 tar로 압축
- 압축 해제
- 프로세스 찾기
- 프로세스 kill
- 유저생성
- 수도권한 주기
- 수도권한 유저 표기한 유저로 명령어 실행 하기
- 방화벽
- grep
tail
// a.log파일의 변화를 모니터링한다.
tail -f a.log
// a.log파일을 뒤에서부터 100줄 보여준다.
tail -n 100 a.log
// a.log파일에서 검색어를 포함한 라인만 모니터링한다.
tail -f a.log | grep -wi 검색어
파일 복사 or 는 해당 이름으로 생성
cp /etc/log.log /home/test/
a > b 이동 or 덮어쓰기
mv a b
grep
// ./log_* 중에 검색어가 들어간 파일 확인
grep -Hni 검색어 ./log_*
// 검색어 들어간 파일 확인
grep -r "검색어"
// 특정 파일에서 'error' 문자열 찾기
grep 'error' 파일명
// 여러개의 파일에서 'error' 문자열 찾기
grep 'error' 파일명1 파일명2
// 현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기
grep 'error' *
// 특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기
grep 'error' *.log
권한
chmod 777 log.log
소유자 및 소유권한 변경
chown root.root test.war
파일 tar로 압축
tar -cvf test.tar test
압축 해제
unzip -o test.war
프로세스 찾기
// 검색어 들어간 프로세스 확인
ps -ef | grep 검색어
// 포트번호 프로세스 확인
ps -ef | grep 포트번호
프로세스 kill
// 프로세스 ID로 프로세스 kill
kill 30150
// 프로세스 8080, 8081 port 프로세스 kill
pkill -TERM -f "(8080|0801)"
유저생성
// ID 생성
adduser 아이디
// 비밀번호 등록
passwd 아이디
수도권한 주기
cd /usr/sbin
./visudo
파일 수정
// 특정 사용자에게 sudo 사용 권한 부여
username ALL=(ALL) ALL
{유저아이디} ALL=(ALL) ALL
// 그룹에 포함된 모든 사용자에게 sudo 사용 권한 부여
%groupname ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
// 패스워드 생략 설정
username ALL=(ALL) NOPASSWD: ALL
%groupname ALL=(ALL) NOPASSWD: ALL
수도권한 유저 표기한 유저로 명령어 실행 하기
sudo -u 유저 명령어
방화벽
# 조회
firewall-cmd --list-all
# 추가
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 삭제
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 변경 적용을 위한 리로드
sudo firewall-cmd --reload
grep
자주 사용하는 옵션
- c : 일치하는 행의 수를 출력한다.
- i : 대소문자를 구별하지 않는다.
- v : 일치하지 않는 행만 출력한다.
- n : 포함된 행의 번호를 함께 출력한다.
- l : 패턴이 포함된 파일의 이름을 출력한다.
- w : 단어와 일치하는 행만 출력한다.
- x : 라인과 일치하는 행만 출력한다.
- r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
- m 숫자 : 최대로 표시될 수 있는 결과를 제한한다.
- E : 찾을 패턴을 정규 표현식으로 찾는다.
- F : 찾을 패턴을 문자열로 찾는다.
grep [옵션][패턴][파일명]
# 문자열로 찾기
# 특정 파일에서 'error' 문자열 찾기
grep 'error' 파일명
# 여러개의 파일에서 'error' 문자열 찾기
grep 'error' 파일명1 파일명2
# 현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기
grep 'error' *
# 특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기
grep 'error' *.log
# 특정 파일에서 문자열이 포함된 행을 찾는다.
grep '^[ab]' 파일명
# 특정 파일에서 a로 시작하는 모든 단어를 찾는다.
grep 'a*' 파일명
# 특정 파일에서 a로 시작하고 z로 끝나는 5자리 단어를 찾는다.
grep 'a...z' 파일명
# 특정 파일에서 a,b,c로 시작하는 단어를 모두 찾는다.
grep [a-c] 파일명
# 특정 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.
grep [aA]pple 파일명
# 특정 파일에서 a나 b로 시작되는 모든 행을 찾는다.
grep '^[ab]' 파일명
# 특정 파일에서 apple로 시작되고 0나 9의 숫자로 끝나로 시작되는 모든 행을 찾는다.
grep 'apple'[0-9] 파일명
# 실시간 로그 보기 (tail + grep)
tail -f mylog.log | grep 192.168.15.86
# 특정 파일에서 여러개 문자열 찾기
cat mylog.txt | grep 'Apple' | grep 'Banana'
# 최대 검색 결과 제한하기
grep -m 100 'Apple' mylog.txt
# grep 한 결과 값 txt 파일로 저장하기
grep -n 'Apple' mylog.txt > result.txt