>  기사  >  운영 및 유지보수  >  당신을 Linux 명령줄 마스터로 즉시 만들어주는 8가지 셸 명령

당신을 Linux 명령줄 마스터로 즉시 만들어주는 8가지 셸 명령

王林
王林앞으로
2023-06-17 09:38:561297검색

견고한 프로그래밍 기반을 갖추는 것은 훌륭한 소프트웨어 엔지니어에게 필수적인 자질입니다. Python과 같은 해석 언어이든 C++와 같은 컴파일 언어이든 적어도 하나의 프로그래밍 언어를 마스터하는 것은 매우 중요합니다. 그러나 이는 진정으로 다재다능한 엔지니어가 되기 위한 한 가지 측면일 뿐입니다. 쉘 환경에서 길을 잃으면 이러한 기본 사항은 소용이 없습니다.

Bash 명령을 유연하게 적용하면 기존 프로그래밍 언어가 다룰 수 없는 영역에 들어갈 수 있습니다. 때로는 실제로 더 강력한 프로그래밍 언어를 사용할 필요가 없는 경우도 있습니다. 셸을 사용하면 추가 종속성 없이도 필요한 작업을 더 빠르고 쉽게 수행할 수 있습니다.

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

이 기사에서는 매우 유용한 Bash 명령을 살펴보겠습니다. 이러한 명령을 사용하면 실제로 필요한 것보다 더 많은 코드를 작성하지 않아도 됩니다. 다음에 문제가 발생하면 다음 명령을 시도해 보세요.

1. 루프 명령

linuxmi@linuxmi:~/www.linuxmi.com$ while true; do echo "hello $(date)"; sleep 1; done

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

뭔가를 루프하기 위해 거대한 프로그래밍 언어로 뛰어들 필요는 없습니다. Bash에서는 정기적으로 출력을 얻거나 기본 데이터를 반복하는 것이 쉽습니다.

이 코드 줄은 Shell에서 간단한 무한 while 루프를 작성하는 방법을 보여줍니다. 세미콜론으로 모든 내용을 연결하면 작업이 완료됩니다. 실행되는 명령을 자유롭게 변경하고 이에 따라 절전 타이머를 조정할 수 있습니다.

이 명령을 실행하면 터미널에서 매초마다 날짜가 변경되는 것을 볼 수 있습니다.

2. 출력 리디렉션

linuxmi@linuxmi:~/www.linuxmi.com$ echo "hello linux迷 www.linuxmi.com" | tee linuxmi.rs | less

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

tee 명령은 다른 언어에서 여러 줄의 코드가 필요한 기능을 수행할 수 있습니다. 이 편리한 작은 도구를 사용하면 특정 입력을 파일이나 다른 명령으로 보낼 수 있으며, 이를 다른 명령으로 전달할 수 있습니다. 이는 실제로 수도관에 "T" 밸브를 설치하는 것과 같습니다. 출력의 일부를 밖으로 보낼 수 있으며 계속해서 파이프 아래로 흐를 것입니다.

위의 예는 echo 명령에서 얻은 "hello linux fan www.linuxmi.com" 텍스트를 linuxmi.rs 파일로 보낸 후 less로 보내는 작업을 진행합니다. 이를 다시 작성하는 한 가지 방법은 출력 내용이 포함된 파일을 얻고 less 명령을 사용하여 화면에서 해당 내용을 볼 수 있다는 것입니다.

3. 파일 압축

linuxmi@linuxmi:~/www.linuxmi.com$ tar -czvf linuxmi.tar.gz linuxmi.sh

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

명령줄에서 파일과 디렉터리를 이동하는 것은 중요한 기술입니다. 작업 중이고 호스트 간에 이동해야 하거나 오프라인 저장을 위해 파일을 압축하려는 경우 tar 명령이 도움이 됩니다.

위의 명령과 옵션을 사용하면 디렉터리를 새로운 tar.gz 압축 패키지로 압축할 수 있습니다. 이제 파일을 빠르게 가져올 수 있습니다.

4. Counting

linuxmi@linuxmi:~/www.linuxmi.com$ echo -e "linuxmi\n linuxmi.com\n www.linuxmi.com\n www.93139.com" > linuxmi.txt | wc -l

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

파일에 몇 줄이 있는지 알고 싶으세요? 매우 간단합니다. wc 유틸리티를 사용하십시오. "단어 수"는 실제로 의미하는 것이지만 줄 수와 같은 다른 많은 것을 계산하는 데에도 사용될 수 있습니다.

위 스니펫은 네 줄의 텍스트를 파일로 출력한 다음 wc를 사용하여 줄 수를 계산합니다. 이 도구는 특정 행 수를 조작해야 하거나 프로세스가 파일에 새 행을 썼는지 확인해야 하는 경우에 유용합니다.

5. 숫자 생성

linuxmi@linuxmi:~/www.linuxmi.com$ seq 95 100

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

매우 간단하지만 매우 유용합니다. Bash에서 숫자를 생성하는 것은 매우 쉽습니다. seq 유틸리티를 사용하면 됩니다. 이 깔끔하고 작은 명령은 루프, 텍스트 파일 또는 숫자 목록이 필요한 모든 곳에서 사용할 수 있는 일련의 숫자를 출력합니다.

원하는 경우 구분 기호를 변경할 수도 있습니다.

seq -s " " 1 10

또는

echo {0..10}

이렇게 하면 기본 줄 바꿈 대신 공백으로 모든 숫자가 구분됩니다. echo 명령과 .. 연산자를 사용하여 동일한 유형의 결과를 얻을 수도 있습니다.

6. SSH 키 관리

linuxmi@linuxmi:~/www.linuxmi.com$ eval $(ssh-agent) && ssh-add && ssh-add -l

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

SSH 키에 대한 기본적인 이해와 관리 방법이 절대적으로 필요합니다. ssh-add 및 ssh-agent 유틸리티를 이해하면 생각보다 더 유익할 수 있습니다.

위 명령은 몇 가지 중요한 작업을 수행합니다.

  • eval命令将为你执行ssh-agent,并确保它在后台运行。
  • ssh-add命令将添加你的默认SSH密钥。如果你为默认密钥设置了密码,它将提示你输入密码。
  • 最后,ssh-add -l命令显示当前在你的代理中添加的所有密钥。

这个简单的一行命令确保你的代理工作正常,并包含了正确的密钥。当你需要连接到某个服务或获取一些代码时,下一步就可以直接开始了。

7、查找过去的命令

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

或者按下CTRL + R,然后输入top

还记得很久以前运行的那个命令吗?我也不记得了。在历史记录中搜索它吧。

如果你像我一样记忆力不太好,那么history命令非常有用。它会显示当前终端会话中所有已运行的命令列表。反向交互式搜索或grep工具的真正威力在于能够找到之前执行的命令。

如果你只是想查看命令历史记录而不是执行它,你可以使用grep搜索。要统一搜索和执行操作,你可以使用CTRL + R的反向交互式搜索历史记录组合键。一旦按下快捷键,一个交互提示符就会出现,当你开始输入命令时,控制台会显示相应的匹配命令。

8、将多个命令作为一个整体传递

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

有时Bash会变得有点奇怪。变量插值可能出错,嵌套引号可能会混乱且难以跟踪。情况将变得更加复杂,尤其是当你需要在不同的二进制文件或服务中传递命令字符串时。在这种情况下,你可以使用bash命令将一组命令作为单个实体进行评估。

这个指令将接收纯文本字符串,然后按照常规的Bash语法来进行解析。对于外部shell来说,你只是运行一个命令并传递一个参数,但实际上你是在指示Bash解析多个命令的字符串并执行它们。

위 내용은 당신을 Linux 명령줄 마스터로 즉시 만들어주는 8가지 셸 명령의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제