리눅스 명령어 정리(feat. rhel)

문지원(JiwonMoon)·2022년 12월 9일
0

최근 사용된 명령어들 (2022-12-28)

kill -9 [PID] : 서버를 끄거나 불필요한 서버를 강제 종료 시키기 위할 때 사용
ps -ef | grep [name] : name 에 입력된 프로세스를 확인할 수 있는 방법
control + c or :q! : 강제 종료
control + z : 정지 ( 스택에 쌓일 우려가 있다 )
tail -f : log 를 확인할 때 출력되는 데이터를 따라 확인할 수 있도록 만든 코드
netstat : 현재 서버에 구동되고 있는 포트 정보를 확인( 포트가 살아있는지 확인 )
fg %1 : 백그라운드에서 실행 중인 파일을 화면으로 볼 수 있도록 바꾸는 것
bg %1 : 백그라운드에서 실행할 수 있도록 유도 ( 서버 구동 후 오래걸릴 걸 대비해서 사용)
pwd : 현재 사용자가 있는 디렉터리의 경로를 보여준다.
mount : 기존 파일 시스템으로 덮어쓰기
cp : 복사하도록 지시
tar : 파일을 아카이브하고 추출하는데 사용하는 명령어

1. ls - 현재 위치의 파일 목록 조회

ls -l : 파일의 상세정보
ls -a : 숨김 파일 표시
ls -t : 파일들을 생성시간순(제일 최신 것부터)으로 표시
ls -rt : 파일들을 생성시간순(제일 오래된 것부터)으로 표시
ls -f : 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시
('/' : 디렉터리, '*' : 실행파일, '@' : 링크 등등,,,)

2. cd - 디렉터리 이동

cd (디렉터리 경로) : 이동하려는 디렉터리로 이동
cd ~ : 홈 디렉터리로 이동
cd / : 최상위 디렉터리로 이동
cd . : 현재 디렉터리
cd .. : 상위 디렉터리로 이동
cd - : 이전 경로로 이동

3. touch - 0바이트 파일 생성, 파일의 날짜와 시간을 수정

touch filename : filename의 파일을 생성
touch -c filename : filename의 시간을 현재시간으로 갱신
touch -t 202110291608 filename : filename의 시간을 날짜 정보(YYYYMMDDhhmm)로 갱신
(20211029160 => 2021.10.29.16:08)
touch -r oldfile newfile : newfile의 날짜 정보를 oldfile의 날짜 정보와 동일하게 변경

4. mkdir - 디렉터리 생성

mkdir dirname : dirname이라는 디렉터리 생성
mkdir dir1 dir2: 한 번에 여러 개의 디렉터리 생성
mkdir -p dirname/sub_dirname : dirname이라는 디렉터리 생성, sub_dirname이라는 하위 디렉터리도 생성
mkdir -m 700 dirname : 특정 퍼미션(권한)을 갖는 디렉터리 생성

5. cp - 파일 복사

cp file1 file2 : file1을 file2라는 이름으로 복사
cp -f file1 file2 : 강제 복사(file2라는 파일이 이미 있을 경우 강제로 기존 file2를 지우고 복사 진행)
cp -r dir1 dir2 : 디렉터리 복사. 폴더 안의 모든 하위 경로와 파일들을 복사

6. mv - 파일 이동

mv file1 file2 : file1 파일을 file2 파일로 변경
mv file1 /dir : file1 파일을 dir 디렉터리로 이동
mv file1 file2 /dir : 여러 개의 파일을 dir 디렉터리로 이동
mv /dir1 /dir2 : dir1 디렉터리를 dir2 디렉터리로 이름 변경

7. rm - 파일 삭제

rm file1 : file1을 삭제
rm -f file1 : file1을 강제 삭제
rm -r dir : dir 디렉터리 삭제 (디렉터리는 -r 옵션 없이 삭제 불가)

8. cat - 파일의 내용을 화면에 출력, 리다이렉션 기호('>')를 사용하여 새로운 파일 생성

cat file1 : file1의 내용을 출력
cat file1 file2 : file1과 file2의 내용을 출력
cat file1 file2 | more : file1과 file2의 내용을 페이지별로 출력
cat file1 file2 | head : file1과 file2의 내용을 처음부터 10번째 줄까지만 출력
cat file1 file2 | tail : file1과 file2의 내용을 끝에서부터 10번째 줄까지만 출력

###3 9. curl : 프로토콜 전송
프로토콜을 이용해 URL로 데이터를 전송하여 서버에 데이터를 보내거나 가져올때 사용하기 위한 도구 및 라이브러리

설치

우분투

  • sudo apt update
  • sudo apt install curl

Cent OS

  • sudo yum install curl

사용법

  • curl [option ... ] + [url]

주요 [option]
1. -u : 서버 사용자 및 비밀번호
2. -x : 요청 시 사용할 메소드의 종류
3. -d : HTTP POST 요청 데이터 입력

# url 형식 데이터

curl -d "key1=value1&key2=value2" \ # -d 옵션으로 body 데이터를 기재

-H "Content-Type: application/x-www-form-urlencoded" \ # -H 옵션으로 전송할 헤더 지정 (디폴트 : application/x-www-form-urlencoded)

-X POST http://localhost:8000/data # -X 옵션으로 POST 메소드 지정하고 요청할 url명시

# JSON 형식 데이터
 
$ curl -d '{"key1":"value1", "key2":"value2"}' \
-H "Content-Type: application/json" \
-X POST http://localhost:8000/data
# 파라미터값을 파일로 지정해서 보내기
 
curl -d "@data.txt" -X POST http://localhost:3000/data
 
curl -d "@data.json" -X POST http://localhost:3000/data

네트워크 관리

wget
터미널에서 바로 웹에서 파일을 다운로드하는데 활용하는 명령어
iptables
시스템 관리자가 특정 호스트 시스템에서 들어오고 나가는 인터넷 트래픽을 제어할 수 있는 터미널 유틸리티를 호출
traceroute
네트워크 패킷이 한 시스템에서 다른 시스템으로 이동하는 경로를 결정하기 위해 사용하는 명령어

명령어 검색 및 정규 표현식

find
해당 명령어를 통해 파일 권한, 소유권, 수정 날짜, 크기 등과 같은 특정 기준에 따라 파일을 검색할 수 있다.
which
특정 매개 변수를 취하여 $PATH 시스템 환경 변수에서 이진 파일을 매우 효과적으로 검색한다.
locate
특정 파일의 위치를 찾는데 사용
grep
대량의 텍스트 파일에서 패턴을 검색할 때 사용
sed
지정된 부분을 교체하여 파일 또는 스트림의 각 줄을 조작하는데 가장 많이 사용

I/O 및 소유권

clear
터미널 화면을 지우는 데 사용
echo
터미널 콘솔에 특정 텍스트를 출력
sort
사전 순 또는 역순으로 파일을 정렬해야 할 때 사용
sudo
권한이 없는 사용자는 낮은 수준의 권한이 필요한 파일에만 액세스하고 수정할 수 있다. 해당 명령어를 사용하면 일반 사용자 계정에서 root에 액세스할 수 있다.
chmod
시스템 파일 또는 객체의 액세스 권한을 변경하거나 수정하는데 사용
chown
액세스 권한을 변경하는 것이 아닌, 파일 또는 디렉터리의 소유권을 변경하는 명령어

References (참고 자료)

0개의 댓글