미스터 역마살

[Linux] 리눅스 명령어 (기초) 본문

IT/기타

[Linux] 리눅스 명령어 (기초)

Mr. YeokMaSsal 2022. 7. 28. 18:15
728x90
반응형

리눅스 명령어

리눅스를 전혀 해본적이 없던 내가 2달간 Mysql DBA를 하면서 급하게 배운 리눅스 명령어에 대해 적어본다.

추가로 배워야 할 게 많지만 가장 기초가 될만한 명령어 리스트이다.

 

버전확인

grep . /etc/*-release

 

find

#파일명이 os-rele로 시작하는 파일 찾기 (루트 디렉토리에서 부터 찾는거)
find / -name os-rele* 

# tmp 파일을 찾아서 다 지우기
find . -name "*.tmp" -exec rm -f {} \;

# 현재 경로에서부터 시작해서 file 찾기
find . -type file -name "*.txt"

# 현재 경로에서부터 시작해서 directory 찾기
find . -directory file -name "*abc"

 

파일 만들기

#abc를 test 파일로 만들어서  출력
echo abc > test

#파일을 만들면서 편집하기
vi test.txt

#빈파일 하나 만들기
touch test.txt

 

tail, head

# 끝에 10줄 보기
tail bitcoinAutoTrade.py

# 위에 10줄 보기
head bitcoinAutoTrade.py

# 마지막줄 실시간으로 보기
tail -f filename.txt

# 마지막줄 원하는 라인수(20) 만큼 보고싶을때
tail -n 20 filename.txt

 

ACL

Access Control List로 파일과 디렉토리를 사용할 수 있는 권한을 관리하는 것이다.

  • d가 나오면 directory 이다. - 가 나오면 파일이다.
  • ACL과 Permission은 같다고 생각하면 된다.

 

chmod

change mode로 파일과 디렉토리의 권한설정이다.

chmod [OPTION]...MODE[.MODE]...FILE

chmod u+R user01
#user01의 소유자에게 읽기 권한을 줘라

chmod g-R group01
#group01 그룹에게 읽기 권한을 제거해라

chmod 764 user01
#7은 RWX
#5는 RX
#6은 RW
#3은 WX

권한은 상속 관계이므로 상위 디렉토리의 권한을 제거하면 하위도 적용 된다.

 

chown

chgrp plan ourpassword
# ourpassword 소유권을 plan 그룹으로 변경

chown egoing:admin ourpassword
#chown으로 소유자와 그룹을 같이 권한 주기 가능

 

ls

#가장 최신이 위에 올라오게 하기 asc
ls -lta

#가장 최신이 아래에 올라오게 하기 desc
ls -ltar

 

grep

# test.txt 파일에서 a 찾기
grep "a" test.txt

# 해당 텍스트가 몇번째 줄에 있는지 확인
grep -n "world" *.txt

# 대소문자 상관없이 검색하고싶다.
grep -ni "world" *.txt

# 폴더내의 모든 경로에 한해서 찾고싶다
grep -nir "world" .

 

history

#지금까지 내린 명령 보기
history

#history 중 ls 명령어 찾기
histroy | grep ls

 

cp

#파일복사
cp 기존파일 복사파일

 

less

#내용을 스크롤 할 수 있도록 보는 명령어
less services

#단축키
/문자열 : 찾고자 하는 문자열

# 파일의 마지막 부분 보기
# 라인수를 계산한다는 메세지가 나오면 CTRL + C를 눌러서 라인계산을 멈추기
# b를 누르면 이전페이지로 이동해서 보여주고 다시 페이지로 돌아가려면 f 키를 누르면 된다.
less +G file_name.txt

# 파일을 끊어 볼때
# 스페이스바는 페이지 단위로 넘어가고 엔터는 라인단위로 넘어감
less file_name.txt

 

vi

#vi 환경에서는 hjkl로 방향키 조정

#문자열 검색
/문자열

#한행 지우기 
dd
2dd : 두행 지우기

#이전작업 되돌리기
u

#한행 복사 및 붙여넣기

yy (복사할 행 가서)
p  해당행 밑에 복사됨

#위에 글자를 입력하고싶다
대문자 O

#아래에 글자를 입력하고싶다
소문자 o

 

locate

# access.log 위치 찾기
locate access.log

 

vi 내 글자 찾기

vi 파일명
/찾을 글자 -> n하면 next로 넘어감

 

chkconfig

## chkconfig 는 리눅스서버가 부팅될 때 실행될 프로그램을 설정하는 역활을 하는 유틸리티


# Linux 리스트 확인
chkconfig --list [프로그램명]

# Linux 시작시 실행되도록 설정
chkconfig [프로그램명] on

# Linux 시작시 실행되지 않도록 설정
chkconfig [프로그램명] off

# Linux 런 레벨별로 시작시 실행되도록 설정
chkconfig --level [레벨] [프로그램명] on

# Linux 런 레벨별로 시작시 실행되지 않도록 설정
chkconfig --level [레벨] [프로그램명] off

 

pwd

## 현재 위치 
pwd

 

mv

# 파일 or 디렉토리 이동시키기
mv 이동할파일 이동시킬경로

 

cd

# 경로이동
cd 경로

# 방금 경로 다시 이동
cd -

 

cat

# 파일 내용 보기
cat file_name.txt

# 파일 여러개 합쳐서 보기
cat file_name.txt file2_name.txt

# 행번호 붙이기
cat file_name.txt -n

# 행번호 붙일때 개행은 번호 안붙이기
cat file_name.txt -b  
nl file_name.txt

 

echo

# 출력하기
echo "hellow world"

# 파일 만들면서 내용 넣기
echo "hello world" > new_file.txt

# 기존 파일에 내용 추가
echo "goodbye world" >> new_file.txt

 

rm

# 파일 삭제
rm file.txt

# 경로 삭제
rm -r directory

 

메모리 확인

cat /proc/meminfo | grep MemTotal

grep MemTotal /proc/meminfo

 

cpu 개수

# CPU 코어 개수
# 가상 CPU 코어 수는 48. 따라서 물리적으로는 24 코어
grep -c processor /proc/cpuinfo


# CPU 수
grep ^processor /proc/cpuinfo | wc -l

# CPU당 물리 코어수
grep 'cpu cores' /proc/cpuinfo | tail -1

 

디스크 사용량 확인

# df : 디스크의 남은 용량을 확인
# 킬로바이트 단위로 현재 남은 용량을 확인
df -k 

# 메가바이트 단위로 남은 용량을 확인
df -m 

# 보기 좋게 보여줌
df -h 

# 현재 디렉토리가 포함된 파티션의 남은 용량을 확인
df .  

#du : 현재 디렉토리에서 서브디렉토리까지의 사용량을 확인 

# 현재 디렉토리의 사용량을 파일단위 출력
du -a 

# 총 사용량을 확인
du -s 

# 보기 좋게 바꿔줌 
du -h 

# 한단계 서브디렉토리 기준으로 보여준다.
du -sh *

 

압축 및 해제

#================================================
#  압축 하기
#================================================

# tar 압축 (abc라는 폴더를 aaa.tar로 압축)
tar -cvf aaa.tar abc

# tar.gz 압축 (abc라는 폴더를 aaa.tar.gz로 압축)
tar -zcvf aaa.tar.gz abc

# zip 압축 (현재폴더 전체를 aaa.zip으로 압축)
zip aaa.zip ./*


#================================================
#  압축 해제
#================================================

# tar 압축 해제 
tar -xvf aaa.tar
tar -xvf aaa.tar -C ./test_dir # test_dir에 압축해제

# tar.gz 압축 하제
tar -zvxf aaa.tar.gz
tar -zxvf aaa.tar.gz -C ./test_dir # test_dir에 압축해제

# zip 압축 해제
unzip aaa.zip

# 특정 폴더에 압축해제
unzip aaa.zip -d ./target

 

gzip을 통해 압축 및 압축 풀기

#============================================================
#  압축 하기
#============================================================
-rw-r--r--. 1 test01 test01 10M 2015-08-11 18:31 test01.txt
-rw-r--r--. 1 test01 test01 10M 2015-08-11 18:40 test02.txt
-rw-r--r--. 1 test01 test01 10M 2015-08-11 18:40 test03.txt

# test로 시작하는 파일 gzip 하기
# gzip은 압축을 수행한 후 압축 대상이었던 파일은 삭제한다.
gzip test*
ls -lh

-rw-r--r--. 1 test01 test01 10K 2015-08-11 18:31 test01.txt.gz
-rw-r--r--. 1 test01 test01 10K 2015-08-11 18:40 test02.txt.gz
-rw-r--r--. 1 test01 test01 10K 2015-08-11 18:40 test03.txt.gz

# 압축된 파일은 -l 옵션으로 확인 가능
gzip -l test*


#============================================================
#  압축 풀기
#============================================================
[test01@centos6 temp]$ gunzip test*
[test01@centos6 temp]$ ls -lh 
-rw-r--r--. 1 test01 test01 10M 2015-08-11 18:31 test01.txt
-rw-r--r--. 1 test01 test01 10M 2015-08-11 18:40 test02.txt
-rw-r--r--. 1 test01 test01 10M 2015-08-11 18:40 test03.txt

 

du -h

# 파일의 사이즈를 보기 좋게 하기 위한 명령어
du -h 파일명

 

 

 

 

 

 

 

 

728x90
Comments