개발자의 서재
[Linux]자주 쓰는 명령어 정리 본문
* 기본
- 서버 메모리 확인
free
- 현재경로확인
pwd
- 현재 사용자확인
whoami
- 배포판 버전확인
grep . /etc/*-release
- 명령어 히스토리
history
* 파일 목록, 생성, 복사, 삭제 관련
-파일목록 보기
ls
ll
- 파일명 조건걸어서 목록보기
ll *.log
ll application*
- 파일명 : 파일text row 조회
wc -l 파일명
- 디렉토리생성
mkdir 디렉토리명
파일 삭제하기
- abc.txt 파일을 삭제합니다. 삭제할 건지 다시 묻습니다. y 또는 yes를 입력하면 삭제합니다.
rm abc.txt
- 확장자가 txt인 모든 파일을 삭제합니다. 각 파일에 대해서 삭제할 건지 묻습니다.
rm *.txt
- 현재 디렉토리에 있는 모든 파일을 삭제합니다. 각 파일에 대해서 삭제할 건지 묻고, 디렉토리가 있다면 삭제할 수 없다는 메시지가 나옵니다.
rm *
- -f 옵션을 붙이면 삭제할 건지 다시 묻지 않고 바로 삭제합니다.
rm -f abc.txt
- 현재 디렉토리에 있는 모든 파일을 바로 삭제합니다. 디렉토리는 삭제하지 않습니다.
rm -f *
디렉토리 삭제하기
- dir1 디렉토리를 삭제합니다. 디렉토리를 삭제할 때는 -r 옵션을 붙입니다.
rm -r dir1
- f 옵션을 추가하면 삭제할 건지 묻지 않고 바로 삭제합니다.
rm -rf dir1
- 현재 디렉토리에 속한 모든 파일과 디렉토리를 삭제합니다. -rf 옵션은 주의해서 사용해야 합니다.
rm -rf *
-- 파일복사
cp 파일명 디렉토리명/복사할파일명
cp 파일명 복사할파일명 (같은폴더복사일때)
--파일이동
mv 파일명 이동할디렉토리명/
--파일명수정
mv 파일명 변경할파일명
* 파일내용 보기
- 파일 전체 내용보기
cat 파일명
- 파일내용 첫줄 10줄 확인
head 파일명
- 파일 마지막줄 10줄 확인
tail 파일명
- 실시간 로그 파일 보기
tail -f [로그파일명]: 파일의 마지막 10라인을 실시간으로 계속 출력
- grep활용
tail -f system.log | grep 검색어
- 터미널 크기에 맞춰 파일내용표시 (아래로 이동가능)
more 파일명
-파일내용확인및 수정모드
vi 파일명
vim 파일명 (vi개선버전)
---- -----------------------------------------------------------------------------
키 의미
---- -----------------------------------------------------------------------------
i 현재 칸에 글을 넣는다. 글자삽입모드
o 다음줄에 글을 넣는다. 글자삽입모드
x 한글자 삭제
dd 한줄을 삭제한다.
yy 현재 라인 복사
p 복사내용을 현재라인 다음에 붙여넣기
u 되돌리기
:wq 저장하고 빠져나온다.
:q 저장x 빠져나옴
:q! 저장x 강제빠져나옴
ESC 설정중에 명령어 모드(위의 i, o, dd 등을 사용할 수 있는 상태)로 빠져 나온다.
/검색어 해당단어로 검색한다. N 클릭시 next
g 최상단으로 이동
shift + g 최하단으로 이동
---- -----------------------------------------------------------------------------
* 계정, 권한관련
r : read(읽기), w : write(쓰기), x : execute(실행)을 나타낸다.
sh파일에 실행권한 추가
chmod +x ./deploy.sh
쓰기권한 제거
chmod -w sample.txt
권한마다 부여된 고유 숫자가 있다.
r = 4
w = 2
x = 1
7:rwx(모든권한)
5:r-x(읽기,실행)
4:r--(읽기)
- 예시)모든사용자 모든권한 부여
chmod 777 파일명
- 예시)파일주인:모든권한, 나머지는(읽기,실행)부여
chmod 755 파일명
- 다른계정으로 전환
su - 계정명
- 이전계정으로 돌아가기?
exit
* 프로세스
- 프로세스 확인
ps -ef
- 실행중인 java application 확인 (tomcat 구동)
ps -ef | grep java
- 프로세스 종료
kill 프로세스번호
- 프로세스 강제종료
kill -9 프로세스번호
* 네트워크
- 현재서버의 공인ip (NAT ip) 확인
>curl -4 icanhazip.com
- 외부서버 ip:port 접속가능여부 확인
curl -v telnet://ip:port
Connected to .... 나오면 정상접속 확인
- 외부서버 도메인으로 접속여부 확인
curl -v naver.com
Connected to .... 나오면 정상접속 확인
* 패키지 설치관련
Linux 는 크게 레드햇, 데비안, 우분투 3가지로 분류되며, 계열에 따른 패키지 관리 명령어가 다르다.
레드햇 계열(레드햇 엔터프라이즈, 페도라, CentOS)은
yum 을 사용하고
데비안, 우분투 계열은
apt-get 을 사용한다.
- 패키지 설치
sudo yum install 설치프로그램 이름
- 설치된 패키지 확인
yum list installed | grep 검색어
- 패키지 삭제
sudo yum remove 설치프로그램 이름
* GIT
- 깃 소스 받기, 소스 받을 폴더로 이동
git clone 주소..
- 깃 pull 받기(git clone받은 소스위치에서)
git pull
* Gradle
git 소스 pull 받은 후 프로젝스 소스 최상단 gradlew 있는 폴더에서 가능.
- 클린 : build 폴더등 빌드내역 삭제
./gradlew clean
- 빌드 : 소스 빌드시작. build 폴더생성등
./gradlew build
- 그레이들 데몬 상태
./gradlew --status
-그레이들 데몬 스탑
./gradlew --stop
* Crontab
-크론탭 확인
crontab -l
- 크론탭 수정
crontab -e
크론탭 등록 참고
10 17 * * * /sdfgw/opendocs/bin/openDocRun.sh >> /sdfgw/opendocs/bin/batch.log
==> 매일 17시 10분에 openDocRun.sh 쉘스크립트 실행, 로그는 batch.log 에 기록.
'Linux' 카테고리의 다른 글
[Linux] 리눅스 파일과 폴더의 권한 (Permission) (0) | 2022.03.05 |
---|