반응형

📝사소한 팁

 

Tap

어느정도 치다가 Tap 누르면 자동 입력(로그가 있어야지 자동생성 됨)

   

방향키 위, 아래

최근에 입력한 명령어 불러오기 가능

 

ctrl + Insert

윈도우 내용 복사

 

Shift + Insert

윈도우 내용 붙여넣기

 

ctrl + alt + f2 ~ f6 

가상 콘솔(가상 데스크톱)

 

📝리눅스 명령어

 

useradd 아이디

리눅스 계정 생성

 

passwd 아이디

생성한 계정의 패스워드 부여

 

pwd (print working directory)

현재 위치한 디렉토리 경로 출력

 

cd (change directory) 

경로 이동 (cd 경로명)

../ = .. 상위 디렉토리
/home home 디렉토리

 

ls (list)

현재 위치한 디렉토리 내의 목록을 확인 (ls -l 현 디렉토리 상세 목록 확인)

 

cat (concatenate)

파일 내용물 보기 (cat 파일명)

 

mkdir (make directory)

디렉토리 생성 (mkdir 디렉토리명)

 

touch

최신 수정일로 변경 만약 특정옵션이 사용되지 않는다면 파일의 크기가 0인 빈 파일을 생성한다.

(touch 파일명)

 

 rm (remove)

 파일 삭제 (remove 파일명)

 파일과 디렉토리 전부 삭제 (rm -rf 디렉토리명)

 

 rmdir (remove)

 디렉토리 삭제

 

 head

 처음 10줄만 파일 내용보기 (head 파일명)

 (head -n 표시할줄수 파일명 파일에서 처음 몇 줄을 볼지 정할 수 있다.)

 예) haed -n 20 1.txt

 

 tail

 끝 10줄만 파일 내용 보기 (tail 파일명)

 tail -n 표시할줄수 파일명 파일에서 마지막으로 부터 몇 줄을 볼지 정할 수 있다.)

 예) tail -n 20 1.txt

 

 find

 문자로 파일, 폴더 찾기 (find 경로 -name 파일명 전체에서 파일명을 찾아준다.)

 현재 경로로 부터 어디에 위치했는지 보여줌

 예) find / -name '*error_log*'

 예) find / -name "*.txt"

 예) find / -name '*error_log*' 2> /dev/null (허가 거부시 무시하고 출력)

 

 yum 

 프로그램, 모듈(라이브러리) 설치 (CentOS)

 예 ) yum ~~~ 이런식

 

 apt

 프로그램, 모듈(라이브러리) 설치(Ubuntu)

 예) apt ~~~ 이런식

 

 ps

 현재 실행중인 프로세스 목록을 보여준다.
 ps만 단독으로 쓰는 경우는 없고 -ef라는 속성을 하나의 명령어처럼 잘 쓰인다.

 ps -ef : 모든 프로세스 출력 , UID, PID, PPID 등을 보여준다

 

     PID : 프로세스 식별번호
     PPID : 부모 프로세스 ID
     TIME : 총 CPU 사용 시간
     UID : 프로세스 소유자의 이름

 

mv

파일명변경 또는 파일 옮기기 

예) mv 1.txt 2.txt (mv 기존파일명 변경파일명) 

예) mv /etc/1.txtx /etc/temp/2.txt(mv 파일경로/기존파일명 옮기길원하는경로/변경파일명)

 

rename

rename은 하나 혹은 하나 이상의 파일명을 일괄 변경할때 사용하는 명령어
예) rename test TEST *.txt (rename 변경전문자열 변경후문자열 변경대상파일명)

예) rename directory DIRECTORY directoy_text_? (?는 한 문자를 의미 디렉토리명도 바꿀 수 있다.)

 

cp (copy)

파일 혹은 디렉토리를 복사 (cp 복사할파일 복사된파일명)

디렉토리의경우 (cp -r 복사할디렉토리 복사될위치디렉토리)

      

예) cp a.txt b.txt c.txt test_dir/ (세개 파일을 한번에 복사)    

cp *.txt test_dir/ (모든.txt 파일을 test_dir에 복사)

cp a.txt test_dir/b.txt (a.txt를 test_dir에 b.txt라는 이름으로 복사)

 

top

시스템의 상태를 전반적으로 가장 빠르게 파악 가능

 

chmod

파일 및 폴더 권한 바꾸기

chomod 777 : 모든 대상 모든 권한 허용

맨 앞 7은 user(사용자) 그 다음은 group 그 다음은 other(두 군데 속하지 못한 나머지)을 의미한다.

 

chmod -R 777 folder : folder와 folder 디렉토리 안에 모든 파일들의 권한을 777로 준다. 

     

 r = 4 , w = 2 , x = 1
7 모든 권한(rwx)
6 읽고 쓰기(rw)
5 읽고 실행(rx)
4 읽기 (r)
3 쓰고 실행(wx)
2 쓰기(w)
1 실행(x)

 

chown

ls -l 하면 상세 설명이 나옵니다. 

rw-r--r--. 1 root root 1419 Oct  6 23:42 countries.rc

root라는 사용자고 root라는 그룹에 들어가있다는 의미입니다. 

chown으로 변경할 수 있습니다.

 

chown user1:user1 countries.rc 이 명령어를 치면

rw-r--r--. 1 user1 user1 1419 Oct  6 23:42 countries.rc 으로 변경됩니다.

 

chown -R user1:user1 folder : folder라는 이름의 폴더와 안의 모든 것들의 소유자와 소유그룹을 일괄 변환 

 

echo

내용을 출력합니다. (echo 문자열)

 

ifconfig

리눅스 환경 아이피 확인 명령어

예 ) 설치파일을 리눅스로 작업해야하기 때문에 윈도우에 있는 설치파일을 리눅스환경에 옮기기

쉽게 파일질라를 이용해 옮기기 위해 연결할 리눅스 아이피가 필요하기 때문에 사용 된다

 

bg

bg 작업내용(ls, find ...) &

 

jobs

백그라운드 작업의 상태를 표시하는 명령어

 

kill

kill %작업번호(1, 2...) 백그라운드 작업을 종료

 

fg

fg %작업번호(1, 2....) 백그라운드 작업을 포그라운드로 전환

 

top

    pid : 프로세스 id
    user : 실행한 user
    virt : 가상 메모리
    res : 실제 사용 메모리
    Ctrl + h → 스레드 파악
    Ctrl + m → 메모리 내림차순 정렬
    e → 표시 단위 변경 

    1 → CPU (하이퍼스레드, 물리, 논리 CPU 모니터링)

   

free -h

    total : 전체 메모리
    used : 사용중인 메모리
    free : 남은 메모리 공간
    buff/cache : 리눅스 명령어 history 등에 사용 (이미 했던 작업을 빠르게 접근하기 위해)
    used에 일부가 포함되어 있습니다. 
    available : 사용 가능한 메모리

    (buff/cache에서 빼내와서 이용할 수 있는 메모리 크기입니다. 이 값은 free에 일부 포함되어있습니다.)

 

du

du -sh (경로) 현 경로의 총 용량

du -h (경로) 현 경로의 각각의 용량 + 총 용량

 

df -h

서버 디스크 용량을 확인 (파티션 등등...)

 

scp [파일명] [원격지_id]@[원격지_ip]:[받는 위치]

서버에서 다른 서버로 파일 옮기기 예) scp file.txt root@192.168.0.20:/home/search

 

ifdown

해당 네트워크 끄기 (ifdown 인터페이스명)

예) ifup enp0s3) 

 

ifup 

해당 네트워크 키기  (ifdown 인터페이스명)
예) ifdown enp0s3

 

su

    유저 바꾸기 (su 유저명) [현재 계정 로그아웃 하지 않고 다른 계정으로 전환]
    예) su root

    su - 유저명 (환경변수까지 적용)

    예) su - root

 

sudo

현재 계정에서 root 권한을 이용하여 명령어를 실행할 떄 사용 (sudo su - user)

 

whoami

현재 사용자 확인

 

exit

이전 계정으로 돌아온다.

 

groups

해당 계정 그룹 확인

 

ping 8.8.8.8

8.8.8.8 : 구글 DNS 서버 IP주소

구글 DNS 서버에 신호를 보내 되돌아오는지 확인해 네트워크가 연결 됐는지 간접적으로 확인

 

cut -f1 -d: /etc/passwd 

등록된 유저 확인

 

nmcli dev status

인터넷들의 연결상태를 볼 수 있습니다.

 

scppass (패스워드 없이 scp 사용)

sshpass -p ${password} scp /backup/backup.`date +%Y%m%d`.tar.gz ${호스트네임}@192.168.0.49:/home/backup/

 

chcpu -e ${CPU번호}

해당 CPU번호를 기동합니다. [하이퍼스레드]

 

chcpu -d ${CPU번호}

해당 CPU번호를 중지합니다. [하이퍼스레드]

ex) chcpu -d 0,3,5

 

📝vi명령어

 

vi

파일 편집 수행 (vi 파일명)

vim

파일 편집 수행 (vim 파일명) 편집기를 이쁘게 볼 수 있음

 

 

:set number 

line 보기

 

:set nonu

라인 지우기

 

:$

문서 끝으로 이동

 

줄번호 + Shift + G

해당 줄로 이동

 

:/ , :?

특정 문자 찾아 이동 (:/ 찾을문자열)

특정 문자 찾아 이동 (:? 찾을문자열)

- 다음 문자찾기 

    n : 방향대로

    N : 역방향대로

 

dd

한줄 지우기

현재 커서(여기부터 1행)로부터 N행 삭제 (N) dd)

 

:w

저장하기

새 파일명으로 저장 (:w 파일명) [작업 파일이 꺼지진 않는다.]

 

:f 파일명

파일 이름을 파일명으로 변경

예) :f abc.txt

 

:e!

마지막 저장 이후 모든 편집 취소

 

:wq

저장하고 종료

 

:q!

저장 없이 종료

 

+

다음 행으로 이동

 

-

이전 행으로 이동

 

w

단어 단위로 커서 이동 (오른쪽)

 

b

단어 단위로 커서 이동 (왼쪽)

 

a

현재 커서 바로 다음 위치 삽입

 

i

현재 커서 위치에 삽입

 

dw

커서 위치한 곳의 글자 1개 삭제

 

u

명령 취소

 

ctrl+ r 

명령 취소 되돌리기

 

yy

한줄 복사

 

숫자 -

현재 위치로부터 숫자 만큼 윗줄 이동

 

숫자 +

현재 위치로부터 숫자 만큼 아랫줄 이동

 

:숫자

숫자에 적힌 행으로 이동

 

:%s/매칭문자열/치환문자열

매칭문자열을 치환문자열로 바꾼다.

 

:s/매칭문자열/치환문자열/g

현재 행 매칭문자열을 치환문자열로 전부 변경

 

:s/매칭문자열/치환문자열

현재 행 매칭문자열을 치환문자열로 한번만 변경(가장 앞의 것) 

 

📝스케쥴러 

 

at

1회성 예약 작업을 등록

at now+1 minutes    → 현재 시각으로부터 1분 뒤에 실행시켜주세요
at 23:50 2022-11-23  → 2022년 11월 23일 23시 50분에 실행시켜주세요

at > ${작업문구}
at > ....
ctrl + d로 작업 종료

 

at -d ${작업번호}

작업 삭제

 

at -l

작업확인

 

crontab

반복적인 작업 등록

 

crontab -e 

작업적기 (vi 형태로 열리게 된다.) 

 

crontab -l 

작업확인

crontab 정의

분 / 시 / 일 / 월 / 요일
 *     *      *     *      *
(분) 0 - 59
(시) 0 - 23
(일) 1 - 31
(월) 1 - 12
(요일) 0 - 7 (0, 7 : 일요일, 1 : 월요일, 2 : 화요일 ...)

 

 

 

📝JDK (Java)

 

WAR 파일 생성

jar cvf ${war파일명} ${war로 만들 폴더}
예) jar cvf shppoing.war /home/shopping/*

 

WAR 파일 Deploy

jar xvf ${Deploy할 war파일명}

예) jar xvf shopping.war

 

📝그 외 리눅스 명령어

 

리눅스 포트개방 

iptables -I INPUT 1 -p tcp --dport 11045(개방할 포트번호) -j ACCEPT (CentOS7 부터)

 

CPU 모델명 확인

grep -m 1 'model name' /proc/cpuinfo
model name : Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz

 

모든 CPU 정보 확인

cat /proc/cpuinfo 

 

모든 CPU 개수 확인

grep -c processor /proc/cpuinfo

 

물리 CPU 수 확인

grep "cpu cores" /proc/cpuinfo | tail -1

 

하이퍼스레드 적용 확인

cat /proc/cpuinfo | egrep 'siblings|cpu cores' | head -2
siblings : 8
cpu cores : 4
→ siblings가 cpu cores의 2배로 하이퍼스레딩이 적용된 걸 알 수 있다.

 

리다이렉션 (리눅스 기본 명령어들 사용 불가능)

cat tmp > tmp2 # tmp 내용을 tmp2에 overwrite 해서 넣어라
cat tmp >> tmp2  # tmp 내용을 tmp2에 append 해서 넣어라
wc -l < tmp2 # tmp2를 wc -l 방식으로 출력한다

 

| (파이프라인) 

ps -ef | grep tomcat # ps -ef의 명령어로 나온 결과를 grep(글자찾기) tomcat으로 출력해라
연결자로 입력의 결과를 | 다음으로 넘겨서 처리하겠다는 의미입니다. (리눅스 명령어 사용가능)

 

일정기간 지난 파일 삭제 (ll로 나온 기준으로 제거하기 때문에 파일 경로에 파일 패턴 입력 해줘야한다. 안 그러면 다 사라짐)

find [디렉토리 or 파일 경로] -ctime +0 -exec rm -f {} \;

 

ps -ef 와 jobs의 차이

ps -ef : 모든 프로세스를 확인

jobs : 백그라운드 프로세스를 확인
A라는 사람이 root 계정으로 접근한 것과 B라는 사람이 root 계정으로 접근한 것은 다르다 

그래서 A라는 사람이 접속한 root 계정의 jobs가 B 사람과 다르다.

 

 

반응형