둘셋 개발!

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

카테고리 없음

[Linux] 리눅스 기본 명령어

23 2024. 3. 26. 20:39

본 내용은 'KT 리눅스 쉘 스크립트 프로그래밍 교육'에 기반한 내용입니다.
 
 

✏️ 쉘 종류 확인및 변경

- 리눅스 시스템에서 사용가능한 Shell 목록 확인하기

cat /etc/shells
chsh -l

두 명령어는 같은 기능이다.
 

쉘 종류

쉘을 확인해봤더니 sh, bash 두 가지의 쉘이 사용가능하다고 나왔다.
sh은 ‘본쉘’이라 부르고 최초의 유닉스 쉘이다.
bash는 본쉘의 확장버전으로 만든 Unix 쉘로 Linux, Mac의 기본 쉘로 사용된다.
 

- default shell 확인

다음은 현재 사용자의 default shell을 확인하는 명령어 이다. 즉 쉘에 접속했을 때 할당되는 shell이다.

echo $SHELL

 
기본은 sh이다.

 
다음은 특정 사용자의 default shell을 확인하는 명령어 이다.

cat /etc/passwd | grep [사용자]

 
 

- 현재 세션에서 사용중인 shell 확인

echo $0		# 현재 세션에서 사용중인 shell 종류 확인 1
echo $$		#현재 세션에서 사용중인 shell 종류 확인 2

 
 

- default shell 변경

chsh -s /bin/sh 	#sh로 변경
쉘 변경

나는 현재 root로 접속했고 /etc/passwd의 내용 중에 root가 사용 중인 쉘의 종류를 확인했다.
그리고 chsh(change shell) 명령어를 통해 sh(본쉘)로 변경했다.
사진과 같이 bash에서 sh로 변경된 걸 확인할 수 있다.
/etc/passwd에 직접 들어가서 수정도 가능하다.


✏️ Function 확인및 명령어 확인 기능 

다음은 내가 스크립트를 통해 만든 function을 확인할 수 있는 명령어 이다.

typeset -f

 
 
다음은 ‘사용할 수 있는 명령어’를 확인하는 명령어 이다.

compgen -c  # 모든 명령어를 확인 (c: command)
compgen -b  # 내장 명령어를 확인 (b: built in)
compgen -a  # 별칭 확인         (a: alias)

참고로 compgen은 bash 쉘에서만 사용 가능하다.
그리고 명령어를 찾고 싶다면 다음과 같이 하면 된다.

compgen -c | grep -i [찾고자 하는 명령어]
kill를 포함한 명령어 찾기

✏️ 사용했던 명령어 확인하기

1. 화살표 이용하기
키보드의 화살표를 사용해서 전에 사용했던 명령어들을 볼 수 있다.
내가 애용한다.🐱
 
2. history

history

해당 명령어를 입력하면 번호와 함께 전에 사용했던 명령어들이 나온다.
 
여기서 느낌표와 함께 번호를 입력하면, 입력한 번호에 해당하는 명령어가 실행된다.

 
 
3. reverse-i-search
ctrl + r 을 누르고, 전에 사용했던 명령어를 검색할 수 있다.

나는 ch까지만 검색했더니 chsh -l이 나왔다.
 


✏️ 명령어와 연산을 구분!!!

소괄호가 2개 있으면 수식이고, 소괄호가 1개 있으면 명령어 이다.


✏️ Job Control 기능

커널에서 돌아가고 있는 job(프로세스)을 제어할 수 있는 기능은 다음과 같다.
 
1. 일시 중지
ctrl + z
 
2. 실행 중지
ctrl + c
 
3. background로 실행중인 프로세스 종료
kill %번호
 

프로세스 일시중지, 실행중지

 
네트워크 상태점검하는 ping을 이용했다.
ping 8.8.8.8을 하다가 중간에 ctrl + c 를 눌러 일시정지를 했다. (화면에는 안보임)
그리고 다시 foreground로 불러오기 위해 fg를 입력해서 다시 화면에 출력하도록 하였다.
그리고 ctrl + c 를 눌러 종료하였다.
 

Kill 사용

 
sleep 명령어를 사용해서 60초 동안 대기를 하는 프로세스를 백그라운드로 실행하게 했다.
jobs로 확인해보니 해당 Running 상태인 것을 확인할 수 있다.
그 뒤 해당 프로세스의 pid (process id)인 1305을 kill (종료) 했더니, 종료되었다.
 


 
지금까지 리눅스에서 자주 사용하는 명령어들을 알아보았다.
cd, vi, mkdir, cat 등 아주아주 기본적인 명령어들만 알고 있는데, 이번 교육을 통해 다양한 명령어들을 배운다...!
 
 
 

출처

https://sasca37.tistory.com/286

[Linux] 쉘과 커널 차이,  리눅스 쉘 종류 (bash, zsh, ksh 등)

운영체제 (Operating System) 안녕하세요. 오늘은 쉘과 커널에 대해 알아보고자 합니다. 쉘과 커널에 대해 알아보기 전에 운영체제에 대해서 간단하게 짚고 넘어가려고 합니다. 운영체제 종류로는 Mac

sasca37.tistory.com