Linux 기본 명령어

92·2023년 3월 2일
0

LINUX

목록 보기
1/3
post-thumbnail

리눅스를 개인적으로 쓸 일이 많아, 필요한 명령어들을 정리해놓았습니다.

Concept

  • PS 명령어

    1. System V 계열은 대시(-)
    2. BSD 계열은 대시없음
    3. GNU에서는 대시 두개(--)
  • 데미안 & 레드헷

    1. 데미안 : Ubuntu(apt)
    2. 레드햇 : Sentos(rpm → yum 패키지)
    wget 패키지 → 웹페이지로부터 파일을 다운받는 명령어

  • 파일시스템 구성

    • bin : 실행파일
  • dev : 장치파일
  • etc : 시스템 환경설정
  • mnt : 외장형 장치
  • . 현재 디렉토리
  • .. 숨겨진 파일
  • 파일 입출력

    ' > ' → 생성
    '>>' → 추가
    ' < ' → 입력
    '<<' → 키워드

    ex) 파일 생성 후 내용 입력 + 특정단어에서 종료
    → cat << end > b.txt
  • 와일드 문자

    • : all, 모든 문자 대체
      ? : only, 한 문자 대체

1. ls

LiSt의 약자로 해당 디렉터리에 있는 파일의 목록을 나열하는 명령입니다.
ls [옵션][파일 or 디렉토리]


# ls                                   → 현재 디렉터리의 파일 목록을 표시

# ls /etc/sysconfig /etc/sysconfig     → 디렉터리의 목록을 표시

# ls -a                                → 현재 디렉터리의 목록(숨김 파일 포함)을 표시

# ls -l                                → 현재 디렉터리의 목록을 자세히 표시

# ls *.cfg                             → 확장자가 cfg인 목록을 표시

# ls -[l]d 							   → 현재 디렉토리 정보

# ls -lt 							   → 시간정보(최신 파일 순으로 나열)

# ls -lu 							   → 접근시간
    
# ls -i 							   → 파일정보를 보관하고 있는 번지

# ls -r 							   → 역순 출력
    
# ls -R 							   → 현재 디렉토리 하위의 내용 전체 출력
    
# ls -S 							   → 크기순 출력
    
# ls -1							  	   → 1열로 보여줌
    
# ls -c  						       → 데이터 항목을 열 우선 출력
    
# ls -h 							   → KB, GB 용량 표시

# ls -l /etc/sysconfig/a*              → /etc/sysconfig 디렉터리 중 

                                        앞 글자가 'a'인 것의 목록을 자세히 표시

2. cd

Change Directory의 약자로 디렉터리를 이동하는 명령입니다.

cd      → 현재 사용자의 홈 디렉터리로 이동

3. pwd

Print Working Directory의 약자로 현재 디렉터리의 전체 경로를 화면에 표시합니다.

pwd    → 현재 작업 중인 디렉터리의 경로를 출력

4. rm

ReMove의 약자로 파일이나 디렉터리를 삭제합니다.

# rm abc.txt       → 해당 파일을 삭제(내부적으로 'rm -i'로 연결됨)

# rm -i abc.txt    → 삭제 시 정말 삭제할 지 확인하는 메시지를 표시

# rm -f abc.txt    → 삭제 시 확인하지 않고 바로 삭제(f는 Force의 약자)

# rm -r abc        → 해당 디렉터리를 삭제(r은 Recursive의 약자)

# rm -rf abc       → r 옵션과 f 옵션을 합친 것으로 abc 디렉터리와 그 아래에 있는

                      하위 디렉터리를 강제로 전부 삭제

5. cp

CoPy의 약자로 파일이나 디렉터리를 복사합니다.

# cp abc.txt cba.txt     → abc.txt를 cba.txt라는 이름으로 바꿔서 복사

# cp -r abc cda         → 디렉터리 복사

6. touch

크기가 0인 새 파일을 생성하거나 생성된 파일이 존재한다면 파일의 최종 수정 시간을 변경합니다.

# touch abc.txt    → 파일이 없는 경우 abc.txt라는 빈 파일을 생성하고,

                      abc.tx 파일이 있는 경우 최종 수정 시간을 현재 시각으로 변경

7.cat

conCATenate의 약자로 파일 내용을 화면에 출력합니다. 여러 파일을 나열하면 파일을 연결해서 출력합니다.

# cat a.txt    → a.txt 파일의 내용을 화면에 출력

8. head, tail

텍스트 형식으로 작성된 파일의 앞 10행 또는 마지막 10행만 화면에 출력합니다.

# head abc.txt      → 해당 파일의 앞 10행을 화면에 출력

# head -3 abc.txt   → 앞 3행만 화면에 출력

# tail -5 abc.txt   → 마지막 5행만 화면에 출력

9. SED

ex) 확장자가 .txt인 파일만 찾아내고, txt 파일 안에 있는 ‘hi’ 라는 문자열을 ‘hello’로 바꾸기

find ./ -name "*.txt" -exec sed -i 's/hi/hello/g' {} \;

ex) file.txt 이라는 파일의 모든 ‘hi’ 라는 문자열을 ‘hello’로 바꾸는 역할

sed -i 's/hi/hello/g' file.txt
  • vi 편집기내에서 문자 변경시,
:%s/bye/hello/g   → g옵션으로 모든 문자열 변경
:%s/$/!           → 각 줄의 맨뒤에 느낌표(!)를 추가

10. Kill

특정 프로세스 kill 명령어

ps -ef | grep jupyter | awk '{print $2}' | xargs kill -9
  1. ps -ef | grep jupyter까지만 입력하면, ‘jupyter’ 이라는 이름을 가진 프로세스가 전부 출력
  2. awk '{print $2}' 는 앞 명령어의 결과 컬럼에서 두 번째 필드만 출력하는 명령
  3. ps -ef 명령의 두 번째 필드는 pid + ‘jupyter’ 이라는 이름을 가진 프로세스의 pid가 출력
  4. xargs kill -9 는, 앞에서 출력된 값을 인자로 kill -9 명령을 실행하라는 의미

앞에서 전달받은 인자가 pid이므로, kill명령으로 이를 모두 죽임

profile
{ "ME" : "DataEngineer, DataAnalyst" }

0개의 댓글