본문으로 바로가기

* 필요한 것 만 작성

 

일반적인 명령어

 

사용자 변경

su - [유저명] 

예) su - 새로운사용자

 

ls (list segments) - 목록조회

ls -l : 파일들의 상세정보를 나타냅니다.

ls -a : 숨어있는 파일들도 표시합니다.

ls -t : 파일들을 생성된 시간별로(최신것 부터) 표시합니다.

 

ex) ls -lrt : 파일들의 상세정보를 나타내며, 오래된 것부터 표시

ex) ls | more : 파일 이 많을 경우 한페이지에 조금 씩 보여줌

 

ll : 상세 보기기

ll -d */   :  디렉토리만 보기

 

cd (change directory) - 디렉토리 변경

cd ~ : 어느 곳에든지 홈디렉토리로 바로 이동합니다.

 

 

touch - 파일 생성

ex) touch 파일명(+확장자)

 

 

rm (remove) - 삭제

rm [fname] : fname 을 삭제합니다.

rm -r [dir] : dir 을 삭제합니다. (디렉토리는 -r 옵션 없이는 삭제할 수 없습니다.)

rm -rf [dir] : 확인 없이 삭제 (파일+디렉토리)

rm -rf [이름일부*] : 이름일부로 시작하는 디렉토리 확인 없이 삭제

 

rm *.txt : 확장자가 txt인 모든 파일을 삭제

rm -f abc.txt  :  확인 없이 삭제 (파일)

rm -f *   확인 없이 모든 파일 삭제 (파일)

rm -rf *   확인 없이 모든 파일, 디렉토리 삭제  (파일+디렉토리)

rm * : 현재 디렉토리에 있는 모든 파일을 삭제

 

 

 

mkdir - 디렉토리 생성

ex) mkdir dir1 dir2 : 여러개 한번에 생성 가능

ex) mkdir -p dir1/dir2 dir1/dir3 : 상위 디렉토리 포함해서 여러개 만든다.

 

 

rmdir dir1 - 디렉토리 삭제

rmdir dir1 dir2 : 여러개 한번에 삭제 가능

rmdir -p dir1/dir2 : 상위 디렉토리 포함해서 삭제. 

 

특정 이름을 포함하는 파일 삭제 (현재 디렉토리에서-)

find . -name "*포함되는 이름*" -delete

 

cp (copy) - 복사

cp file cfile : file 을 cfile 이라는 이름으로 복사합니다.

cp -f file cfile : 복사할 때 복사대상이 있으면 지우고 강제로 복사합니다.

cp -R dir cdir : 디렉토리 복사할 때 사용하며, 폴더안의 모든 하위경로와 파일들을 모두 복사합니다.

cp -Rf /home/data/* /data  디렉토리 내용 덮어쓰기

 

\cp -rf  /home/data/* /data     cp 명령어 앞에행 역슬래시를 넣어주면 묻지않고 실행 (alias 설정은 무시)

 

 

 

mv (move) - 이동

mv fname mfname : fname 의 파일을 mfname 의 이름으로 이동/변경 합니다.

mv -b fname mfname : mfname 의 파일이 존재하면 mfname 을 백업한 뒤에 이동합니다.

mv -f fname mfname : mfname 의 파일이 존재하면 백업 없이 덮어씁니다.

 

 

cat (catenate)  - 내용을 출력할 때 사용

cat fname : fname 의 내용을 출력합니다.

cat fname1 fname2 : fname1 과 fname2 의 내용을 이어서 출력합니다.

cat fname1 fname2 | more : fname1, fname2 를 출력하는데 페이지별로 출력합니다.

cat fname1 fname2 | head : fname1, fname2 를 출력하는데 처음부터 10번째까지만 출력합니다.

cat fname1 fname2 | tail : fname1, fname2 를 출력하는데 끝에서부터 10번째까지만 출력합니다.

 

 

alias - 명령어를 단축 하기 (별칭 만들기)

alias new = 'command' : command 를 실행하는 새 명령어 new 를 만듭니다.

ex) alias ls='ls -l' : ls 를 실행하면 -l 옵션을 갖는 ls를 실행합니다.

alias : 현재 alias 목록을 출력합니다.

 

해제

unalias new : new 라는 alias 를 해제 합니다.  

unalias -a  : 모든 alias 해제

 

설정값을 유지하기 위해 ~/.bash_profile 또는 ~/.bashrc 등에 작성

 

 

 

 

 

 

ps - 프로세스 확인 명령어

 -e와 -f 옵션을 많이 사용 -e(모든 프로세스 표시) -f(프로세스의 전체 경로)

ex) ps -ef : 모든 프로세스 조회

ex) ps -ef | grep ssh : ssh관련 프로세스만 조회

 

특정 포트의 프로세스 조회

netstat -ntlp | grep 3306

 

 

kill - 프로세스 종료

ex) kill [PID]

ex) kill -9 [PID] : 강제 종료

ex) kill -15 [PID] : 작업 종료

 

 

디렉토리 용량 조회

현재 디렉토리 조회  -h 옵션은 용량에 따라 보기 편하게 표시 해준다.  (human-readable)

# du -h --max-depth=0  (--max-depth 에 따라 하위 디렉토리까지 조회 )

 

특정 디렉토리를 조회할때 

# du -h --max-depth=0  디렉토리경로

 

현재 디렉토리에서 크기 순서 10개 조회

# du -hx --max-depth=0  * | sort -rh | head -n 10

 

 

디스크의 남은 용량을 확인

# df -h

 

 

현재 경로의 파일 용량 조회

 ls -lh

 

 

 

 

 

디렉토리 권한변경 ( r = 4 , w = 2 , x = 1 )

예) rwxr-xr-x 이면 rwx  r-x  r-x 세자리씩 끊고, 4+2+1  | 4+0+1 | 4+0+1  숫자변환 뒤 합산하면 "755"

  • 읽기 ( r ) : 파일의 읽기권한
  • 쓰기 ( w ) : 파일의 쓰기권한
  • 실행 ( x ) : 파일의 실행권한

형식 : [소유자][그룹][공개]

 

chmod  777 [파일명]

chmod -R 777 [디렉토리명]

 

 

소유자 변경

chown [소유권자]:[그룹식별자] [소유권을 변경하고 싶은 파일]

chown -R [소유권자]:[그룹식별자] [소유권을 변경하고 싶은 디렉토리]

 

 

 

ifconfig - 현재 접속한 서버의 ip확인

 

pwd - 현재 디렉토리 위치

 

clear - 창 정리

 

히스토리 조회

history | grep 0.5 일 결재완료
20 2019-05-15 오전반차휴가계 TD 김정수 0.5 일<명령어>

 

 

tar.gz 확장자의 압축된 설치

  1. 압축 풀기 : gzip -d filename.tar.gz
  2. tar 파일 설치 : tar xvf filename.tar

 

폴더 압축하기

$ tar -cvf [파일명.tar] [폴더명]
 
# abc라는 폴더를 aaa.tar로 압축 예시
$ tar -cvf aaa.tar abc

 

 

 

 

tar 폴더 압축해제

$ tar -xvf [파일명.tar]
 
# aaa.tar라는 tar파일 압축해제 예시
$ tar -xvf aaa.tar

tar.gz 폴더 압축해제

$ tar -zxvf [파일명.tar.gz]
 
#  aaa.tar.gz라는 tar.gz파일 압축 해제
$ tar -zxvf aaa.tar.gz

zip 폴더 압축해제

$ unzip [파일명.zip]
 
# aaa.zip 압축 해제 예시
$ unzip aaa.zip 
 
# 특정 폴더에 압축해제 예시
$ unzip aaa.zip -d ./target

 

 

 

 

리눅스에서 source 명령어란 무엇일까?

 

- source 명령어는 스크립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용하는 명령어이다.

 

예륻들어 /etc/bashrc 파일을 수정 후 저장하여도 수정한 내용이 바로 적용되지 않는다. 

왜냐하면 /etc/bashrc 파일은 유저가 로그인할 때 읽어들이는 파일이여서, 로그아웃 후 로그인하거나 

리눅스를 재시작해야 적용이 된다.

 

이럴경우 간단하게 # source /etc/bashrc 명령어로 수정된 내용을 바로 적용할 수 있다.

 

 

 

다중명령어

; (세미콜론) 

하나의 명령어 라인에서 여러 개의 명령을 실행(하나의 명령어 다음에 추가)

첫 번째 명령이 실패하여도 두 번째 명령은 반드시 실행이 됨.

$ printf "first command\n"; printf "second command\n"
first command
second command

# linux; date
-bash: linux: command not found
2016. 09. 04. (수) 11:21:39 KST

 

| (파이프)

앞에서 나온 명령 결과를 두 번째 명령에서 사용

$ ps -ef | grep python
root     30426     1  0 15:51 ?        00:00:00 sudo python3 manage.py runserver 0.0.0.0:80
root     30427 30426  0 15:51 ?        00:00:00 python3 manage.py runserver 0.0.0.0:80
root     30429 30427  0 15:51 ?        00:00:14 /usr/bin/python3 manage.py runserver 0.0.0.0:80
test 31255 30994  0 16:29 pts/1    00:00:00 grep --color=auto python

&& (더블엠퍼센트)

첫 번째 명령이 에러 없이 정상적으로 종료했을 경우에만 두 번째 명령을 수행

$ date 'test' && printf "second command\n"
date: invalid date `test'

$ date && printf "second command\n"
2013. 09. 04. (수) 11:35:22 KST
second command

 

|| (더블버티컬바)

첫 번째 명령의 결과에서 에러가 발생하더라도 각각의 모든 명령을 수행

$ date 'test' || printf "second command\n"
date: invalid date `test'
second command

 

 

 

 

web 관련

 

Apache 버전 확인

httpd -v

 

Apache 상태 확인 (CentOS 7이후 버전은 systemctl~ 구문으로, CentOS 6이전 버전은 service~구문으로)

systemctl status httpd

또는 service httpd status

 

Apache 시작  (시작하려면 root권한이 있어야 함)

systemctl start httpd

또는 service httpd start

또는 apachectl start

 

 

Apache 중지

systemctl stop httpd

또는 service httpd stop

또는  apachectl stop

 

Apache 재시작

systemctl restart httpd

또는 service httpd restart

또는 apachectl restart

 

 

 

 

------------

 

명령 중간에 나갈때

ctrl + c

 

프로세스 중간에 나갈때는 별도로 프로세스를 중지 해야 함