웹사이트 검색

Linux에서 쉘 명령의 다양한 분류 및 사용법 이해


Linux 시스템에 대한 절대적인 제어권을 얻으려면 명령줄 인터페이스(CLI)만큼 좋은 것은 없습니다. Linux 고급 사용자가 되려면 다양한 유형의 셸 명령과 이를 터미널에서 사용하는 적절한 방법을 이해해야 합니다.

Linux에는 여러 종류의 명령이 있으며, Linux를 처음 사용하는 사람이라면 다양한 명령의 의미를 알면 효율적이고 정확한 사용이 가능합니다. 따라서 이 기사에서는 Linux에서 쉘 명령의 다양한 분류를 살펴보겠습니다.

권장 읽기: Linux의 5가지 흥미로운 명령줄 팁과 요령 – 1부

주목해야 할 중요한 점 중 하나는 명령줄 인터페이스가 셸과 다르며 셸에 액세스할 수 있는 수단만 제공한다는 것입니다. 프로그래밍이 가능한 쉘은 명령을 사용하여 커널과 통신하는 것을 가능하게 합니다.

Linux 명령의 다양한 분류는 다음 분류에 속합니다.

1. 프로그램 실행 파일(파일 시스템 명령)

명령을 실행하면 Linux는 ` PATH 환경 변수에 저장된 디렉터리를 왼쪽에서 오른쪽으로 검색하여 해당 특정 명령의 실행 파일을 찾습니다.

다음과 같이 ` PATH에서 디렉터리를 볼 수 있습니다.

echo $PATH

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

위의 순서에서는 /home/aaronkilik/bin 디렉터리가 먼저 검색되고 그 다음에는 /usr/local/sbin 등이 검색됩니다. 검색 순서는 중요합니다. 프로세스.

/usr/bin 디렉토리의 파일 시스템 명령 예:

ll /bin/
샘플 출력
total 16284
drwxr-xr-x  2 root root    4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root    4096 Jul 31 16:29 ../
-rwxr-xr-x  1 root root    6456 Apr 14 18:53 archdetect*
-rwxr-xr-x  1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x  1 root root  520992 Jan 20  2016 btrfs*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-calc-size*
lrwxrwxrwx  1 root root       5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x  1 root root  278376 Jan 20  2016 btrfs-convert*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-debug-tree*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-find-root*
-rwxr-xr-x  1 root root  270136 Jan 20  2016 btrfs-image*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-map-logical*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-select-super*
-rwxr-xr-x  1 root root  253816 Jan 20  2016 btrfs-show-super*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfstune*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-zero-log*
-rwxr-xr-x  1 root root   31288 May 20  2015 bunzip2*
-rwxr-xr-x  1 root root 1964536 Aug 19  2015 busybox*
-rwxr-xr-x  1 root root   31288 May 20  2015 bzcat*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x  1 root root    2140 May 20  2015 bzdiff*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x  1 root root    4877 May 20  2015 bzexe*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x  1 root root    3642 May 20  2015 bzgrep*

2. 리눅스 별칭

이는 사용자 정의 명령으로, alias 셸 내장 명령을 사용하여 생성되며 일부 옵션 및 인수와 함께 다른 셸 명령을 포함합니다. 아이디어는 기본적으로 긴 명령에 대해 새롭고 짧은 이름을 사용하는 것입니다.

추천 자료: Linux 명령에서 (!) 기호 또는 연산자를 사용하는 10가지 놀랍고 신비한 사용법

별칭을 생성하는 구문은 다음과 같습니다.

alias newcommand='command -options'

시스템의 모든 별칭을 나열하려면 아래 명령을 실행하세요.

alias -p

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

Linux에서 새 별칭을 만들려면 아래 몇 가지 예를 살펴보세요.

alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'

그러나 위에서 만든 별칭은 일시적으로만 작동하며 시스템을 다시 시작하면 다음 부팅 후에는 작동하지 않습니다. 아래와 같이 .bashrc 파일에 영구 별칭을 설정할 수 있습니다.

추가 후 아래 명령어를 실행하여 활성화하세요.

source ~/.bashrc

3. Linux 쉘 예약어

쉘 프로그래밍에서는 if, then, fi, for, while과 같은 단어를 사용합니다. >, case, esac, else, until 및 기타 많은 항목이 셸 예약어입니다. 설명에서 알 수 있듯이 쉘에는 특별한 의미가 있습니다.

다음과 같이 type 명령을 사용하여 모든 Linux 셸 키워드를 나열할 수 있습니다.

type if then fi for while case esac else until
if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword

추천 자료: 실용적인 예가 포함된 10가지 유용한 Linux 체이닝 연산자

4. 리눅스 쉘 기능

쉘 기능은 현재 쉘 내에서 집합적으로 실행되는 명령 그룹입니다. 함수는 쉘 스크립트에서 특정 작업을 수행하는 데 도움이 됩니다. 스크립트에서 쉘 함수를 작성하는 일반적인 형식은 다음과 같습니다.

function_name() {
command1
command2
…….
}

대안적으로,

function function_name {
command1
command2
…….
}

shell_functions.sh라는 스크립트에서 쉘 함수를 작성하는 방법을 살펴보겠습니다.

#!/bin/bash 

#write a shell function to update and upgrade installed packages 
upgrade_system(){
        sudo apt update;
        sudo apt dist-upgrade;
}

#execute function
upgrade_system

명령줄에서 sudo apt updatesudo apt dist-upgrade라는 두 명령을 실행하는 대신 두 명령을 단일 명령으로 실행하는 간단한 셸 함수를 작성했습니다. 스크립트 내의 upgrade_system 명령.

권장 읽기: Linux 초보자가 쉘 프로그래밍을 배울 수 있는 5가지 쉘 스크립트

파일을 저장한 후 스크립트를 실행 가능하게 만듭니다. 마지막으로 아래와 같이 실행합니다.

chmod +x shell_functions.sh
./shell_functions.sh

5. Linux 셸 내장 명령

이는 셸에 내장된 Linux 명령이므로 파일 시스템 내에서는 찾을 수 없습니다. 여기에는 pwd, cd, bg, 별칭, 기록, 이 포함됩니다. 유형, 소스, 읽기, 종료 및 기타 여러 가지.

다음과 같이 type 명령을 사용하여 Linux 내장 명령을 나열하거나 확인할 수 있습니다.

type pwd
pwd is a shell builtin
$ type cd
cd is a shell builtin
$ type bg
bg is a shell builtin
$ type alias
alias is a shell builtin
$ type history
history is a shell builtin

일부 Linux 내장 명령 사용법에 대해 알아보세요.

  1. 15 Linux의 'pwd' 명령 예
  2. 15 Linux의 'cd' 명령 예
  3. Linux 'history' 명령의 강력한 기능 알아보기

결론

Linux 사용자로서 실행 중인 명령 유형을 아는 것이 항상 중요합니다. 나는 몇 가지 관련 그림을 포함하여 위의 정확하고 이해하기 쉬운 설명을 통해 아마도 다양한 범주의 Linux 명령을 잘 이해했다고 믿습니다.

우리에게 제공하고 싶은 질문이나 보충 아이디어가 있으면 아래 의견란을 통해 적극적으로 답변하실 수도 있습니다.