리눅스 관련한 명령어를 정리해보고 있습니다.
이 블로그에서는 셸을 확인하고 기능할 수 있는 명령어를 정리해보겠습니다.
[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에 대해 산술 연산을 수행하여 결과를 저장합니다. 이 경우 a는 8이 됩니다.
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 명령을 실행합니다.
'Linux' 카테고리의 다른 글
[Linux] 셸의 개념과 셸의 유형 및 명령어 모음 (1) | 2024.11.21 |
---|---|
Linux 크론탭을 이용하여 Java 연동 방법 (0) | 2024.11.13 |
[Linux] 톰캣(WAS) / 아파치(Apache) 서버 확인 및 시작 방법 (0) | 2023.06.16 |
댓글