본문 바로가기
Linux

[Linux] 셸 확인 및 기능 명령어 & 예시

by GoodDayDeveloper 2024. 12. 20.
반응형

 

 

리눅스 관련한 명령어를 정리해보고 있습니다.

 

이 블로그에서는 셸을 확인하고 기능할 수 있는 명령어를 정리해보겠습니다.

 

 

 

[Linux] 셸 확인 및 기능 명령어 & 예시

시스템이 지원하는 셸 목록 확인

 

 

 

 

cat /etc/shells : /etc/shells 파일에 시스템이 지원하는 셸 목록을 확인할 수 있습니다.

 

 

 

cat(concatenate)은 파일의 내용을 출력하거나, 여러 파일을 연결하여 출력하는데 사용됩니다.

 

 

 

 

특정 사용자 셸 확인

 

 

cat /etc/passwd | grep root : 

 

cat /etc/passwd | grep root 명령어는 /etc/passwd 파일에서 root라는 문자열을 포함하는 모든 줄을 출력합니다

 

 

 

 

 

히스토리 기능

 

 

history : 지정한 개수만큼 사용자가 명령했던 명령어를 볼 수 있습니다.

 

 

 

history 6(특정 숫자) : 가장 최근 6개의 히스토리만 조회가 가능합니다.

(6은 예시며 특정 숫자로 조회가 가능합니다)

 

 

 

 

alias 기능 

 

 

 

입력하기 불편하거나 자주 사용하는 명령어는 alias로 별칭을 만들면 사용하기가 쉽습니다.

예를 들어 /usr/local/tomcat9/logs/ 폴더에 catalina.out 파일을 쉽게 열고 싶다면

tomcatlogs란 별칭을 달어서 아래 명령어를 입력하면 됩니다.

alias 명령어 명칭='명령어'
(alias tomcatlogs='cat /usr/local/tomcat9/logs/catalina.out')

 

 

 

 

 

해제는 unalias 명령어를 입력하시면 됩니다.

 

 

하지만 위와 같이 설정하면 다시 로그인했을때 사라지고 맙니다. 

일시적인 등록인거죠. 그러기때문에 영구적으로 등록하는 방법도 알아야합니다.

 

 

 

bash를 사용하신다면 bashrc가 존재합니다.

 

여기에 등록을 해주면 되기 때문에 아래와 같이 들어가 등록을 해주면 됩니다.

 

 

 

 

 

vim ~/.bashrc  로 파일을 열어서

 

 

 

alias 명령어 명칭='명령어'  로 alias 설정

 

 

 

 

source ~/.bashrc  로 파일 적용

 

 

 

파이프 기능

 

 

' | ' 를 통하여 사용할 수 있는 파이프 기능은

여러 프로그램의 기능을 하나의 명령줄로 효과적으로 구성할 수 있도록 프로그램의 출력 결과를 또 다른 프로그램의 입력으로 전달할 수 있는 통신 기술입니다.

 

 

ps -ef | grep java

 

 

위는 현재 시스템에서 실행 중인 프로세스 중에서 java라는 단어를 포함한 프로세스를 찾는 명령어입니다.

이것을 하나하나 살펴보면,

 

 

ps : 현재 실행 중인 프로세스 목록을 표시하는 명령어입니다.
-e : 모든 프로세스를 표시합니다.
-f : 풀 포맷(full format)으로 프로세스 정보를 표시합니다. 이는 프로세스의 전체 정보를 포함합니다.
: 파이프(pipe) 기호로, 앞의 명령어 출력 결과를 뒤의 명령어 입력으로 전달합니다.
grep java : java라는 단어가 포함된 행을 필터링하여 표시합니다.

 

 

그럼 파이프 기능을 통해서 아래와 같이 보기 쉽도록 나타나게 됩니다.

 

 

 

반응형

 

 

그룹 명령어 

 

 

; : 나열한 순서대로 명령어를 실행하고자 할 때 사용합니다.

 

 

 

 

|| : 앞의 명령어의 실행이 성공하면 결과를 출력하고 실패하면 그 다음 명령어를 실행합니다.

 

 

 

 

 

&& : 앞의 명령어가 성공한 경우에만 다음 명령어를 실행합니다.

 

 

 

 

 

리다이렉션 기능

 

 

> : 출력 덮어쓰기

 

명령어의 출력을 지정한 파일로 보내며, 파일이 이미 존재하는 경우 내용을 덮어씁니다.

 

echo "Hello, World!" > output.txt

 

output.txt 파일에 Hello, World!라는 문자열을 작성합니다. 기존 파일 내용은 덮어씁니다.

 

 

>> : 출력 추가

 

명령어의 출력을 지정한 파일에 추가합니다. 파일이 존재하지 않으면 새로 만듭니다.

 

echo "Hello again!" >> output.txt

 

output.txt 파일의 끝에 Hello again!이라는 문자열을 추가합니다.

 

 

< : 파일을 입력으로 사용

 

명령어의 입력을 파일에서 가져옵니다.

 

sort < unsorted.txt

 

unsorted.txt 파일의 내용을 정렬하여 출력합니다.

 

 

<< : 여러 줄 입력

 

명령어에 여러 줄의 입력을 제공할 때 사용합니다.

 

cat << EOF > multiline.txt

Line 1

Line 2

Line 3

EOF

 

여러 줄의 내용을 multiline.txt 파일에 작성합니다.

 

 

 

내부 명령어 모음

 

 

echo

예시: echo "Hello, World!"

설명: 문자열 "Hello, World!"를 표준 출력에 출력합니다.

 

 

printf

예시: printf "%s %d\n" "Number:" 42

설명: 형식화된 출력을 수행합니다. 이 예시는 "Number: 42"를 출력합니다.

 

 

read

예시: read name

설명: 표준 입력에서 사용자로부터 값을 읽어 변수 name에 저장합니다.

 

 

cd

예시: cd /home/user

설명: 현재 작업 디렉터리를 /home/user로 변경합니다.

 

 

pwd

예시: pwd

설명: 현재 작업 중인 디렉터리의 경로를 출력합니다.

 

 

pushd, popd, dirs

예시 (pushd): pushd /home/user

예시 (popd): popd

예시 (dirs): dirs

설명:

pushd는 디렉터리를 스택에 추가하고, 해당 디렉터리로 이동합니다.

popd는 스택에서 디렉터리를 제거하고, 그 디렉터리로 이동합니다.

dirs는 디렉터리 스택의 목록을 출력합니다.

 

 

let

예시: let "a = 5 + 3"

설명: 변수 a에 대해 산술 연산을 수행하여 결과를 저장합니다. 이 경우 a8이 됩니다.

 

 

eval

예시: eval echo \$HOME

설명: 인자를 명령어로 변환하여 실행합니다. 이 예시는 echo $HOME을 실행합니다.

 

 

set

예시: set -x

설명: 스크립트에서 디버깅 모드를 활성화합니다.

 

 

unset

예시: unset name

설명: 변수 name을 제거합니다.

 

 

export

예시: export PATH=$PATH:/new/path

설명: 환경 변수 PATH에 새로운 경로 /new/path를 추가합니다.

 

 

source

예시: source ~/.bashrc

설명: 지정한 파일(~/.bashrc)을 실행하여 현재 셸 세션에 설정을 적용합니다.

 

 

exit

예시: exit 0

설명: 스크립트를 종료하고 종료 상태를 0으로 설정합니다.

 

 

exec

예시: exec ls -l

설명: 새로운 프로세스를 생성하지 않고, 현재 셸을 대체하여 ls -l 명령을 실행합니다.

 

 

 

 

반응형

댓글