>  기사  >  운영 및 유지보수  >  흥미로운 보물! 6가지 독특하고 놀라운 Linux 유틸리티

흥미로운 보물! 6가지 독특하고 놀라운 Linux 유틸리티

PHPz
PHPz앞으로
2023-06-15 12:59:46987검색

우리는 /usr/bin을 심층적으로 탐색하고 더 흥미로운 보물을 발견할 것입니다. 약간 오래된 것처럼 보일 수도 있지만 오늘날에도 여전히 매우 유용한 독특하고 흥미로운 프로그램을 살펴보겠습니다.

다시 모험의 길로 돌아가서 Linux가 우리에게 제공하는 더 멋진 것들을 계속해서 발견해 봅시다.

1. 접기

지정된 길이에 따라 입력 줄을 감싸는 데 도움이 되는 매우 실용적인 작은 도구가 있습니다. 바이트 수 또는 공백을 지정하여 길이를 정의할 수 있습니다. 접기 도구를 사용하면 길이가 다른 파일을 빠르게 처리할 수 있습니다.

예를 들어 6자 길이의 입력 줄이 있다고 가정해 보겠습니다. 각 줄을 5자로 제한하고 나머지는 래핑하려고 합니다. 접기를 사용하면 다음과 같이 이를 달성할 수 있습니다.

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ echo "12345678" | fold -w 7

해당 출력은 다음과 같습니다.

12345678

有趣的宝藏!六个独特而惊人的 Linux 实用工具

이제 일부 텍스트를 길이 제한에 빠르게 맞출 수 있습니다. 이는 긴 텍스트 스트림을 분할하거나 코드 또는 기타 구성 파일에 줄 길이 제한을 적용할 때 유용합니다.

접기 사용에 대한 자세한 내용은 Wiki 페이지를 확인하세요.

2.column

이것은 또 다른 매우 유용한 서식 지정 도구입니다. 명령줄을 통해 열 도구를 사용하여 열을 만들거나 전체 테이블을 생성하여 텍스트 출력을 용이하게 할 수도 있습니다.

awk와 같은 도구를 사용하여 동일한 기능을 얻을 수 있지만 열 도구는 이러한 특정 목적을 위해 설계되었으므로 사용이 매우 간단하고 구문을 기억하기 쉽습니다.

몇 줄의 입력을 기반으로 간단한 테이블을 작성하려면 다음 명령을 실행할 수 있습니다.

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ echo -e "one two three\n1 2 3\n93139 777777 999999" | column -t

명령의 출력은 다음과 같아야 합니다.

onetwo three12 393139777777999999

有趣的宝藏!六个独特而惊人的 Linux 实用工具

보다시피, 출력은 깔끔하게 정렬된 열로 자동 형식화됩니다. 출력에는 작은 테이블이 형성되어 입력의 각 줄 길이에 따라 자동으로 크기가 조정됩니다.

명령줄에서 약간 더 긴 구조화되지 않은 데이터 세트로 작업하고 일부 표 형식을 빠르게 생성하려는 경우 이 도구가 많은 도움이 될 것입니다.

컬럼의 man 페이지에서는 더 많은 사용법 세부 정보와 다양한 입력을 처리하는 고유한 방법을 제공합니다.

3, sg

newgrp 명령에 대해 들어보셨을 것입니다. 다른 그룹으로 명령을 실행할 필요 없이 동일한 효과를 얻을 수 있는 더 간단한 도구가 있습니다. sg 유틸리티를 사용하면 지정한 다른 그룹의 권한으로 명령을 직접 실행할 수 있습니다. 파이프를 사용하거나 기존 쉘 그룹을 변경할 필요 없이 그룹과 명령을 지정하기만 하면 됩니다.

sudo 그룹의 권한으로 ls 명령을 실행하려면 다음 명령을 입력하면 됩니다.

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sg sudo ls

有趣的宝藏!六个独特而惊人的 Linux 实用工具

이렇게 하면 ls 명령이 sudo 그룹의 권한으로 실행되도록 전환됩니다. 명령 실행이 완료되면 실행 전의 일반 그룹 권한으로 돌아갑니다.

sg 명령은 새 그룹 권한을 테스트하거나 다른 그룹의 프로그램을 실행하기 위해 컨텍스트를 빠르게 전환하는 데 매우 유용합니다.

자세한 사용법 정보는 sg 매뉴얼 페이지를 참조하세요.

4, xxd

xxd 유틸리티는 Linux에서 16진수 덤프를 수행하는 다양한 방법 중 하나입니다. 비슷한 기능을 가진 유틸리티가 많이 있지만 xxd 프로그램은 약간 다릅니다. 이 유틸리티를 사용하여 16진수 덤프 및 복원을 수행할 수 있으며, 이렇게 하면 추가적인 이점이 있습니다. 구성 가능한 플래그가 많이 있으며 바이너리에 대한 패치 작업을 수행할 수도 있습니다.

linuxmi라는 이름의 다음 파일의 16진수 덤프를 가져오고 싶다고 가정해 보겠습니다.

linuxmi

입력만 제공하면 xxd가 자동으로 파일을 stdout으로 인코딩합니다(이는 더 짧은 입력 파일에 대한 편의입니다. 기본 기능):

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ xxd linuxmi00000000: 6c69 6e75 786d 690a

有趣的宝藏!六个独特而惊人的 Linux 实用工具

추가 파일 이름 매개변수

xxd linuxmi 93139

有趣的宝藏!六个独特而惊人的 Linux 实用工具

를 전달하여 출력을 덤프 파일에 직접 보낼 수도 있습니다. 이렇게 하면 93139에 대한 파일의 이름으로 16진수 덤프가 전송됩니다.

xxd의 매뉴얼 페이지는 여기에서 찾을 수 있습니다.

5、pwdx

这个实用的小程序源于广为人知、备受喜爱的古老 PS 实用程序家族。pwdx 实用程序可以让您获取运行中进程的当前工作目录。只要您提供进程的 PID,它就能告诉您该进程的工作目录所在位置。

假设我们想找出 cron 进程在我们的机器上的工作目录。我们可以通过使用 ps 命令搜索并获取其 PID,示例如下:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ ps aux | grep cron

有趣的宝藏!六个独特而惊人的 Linux 实用工具

在这里,我们可以看到cron的PID是612。这时,我们只需将该进程的PID传递给pwdx,就能确定它的工作目录

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo pwdx 691

如下图:

有趣的宝藏!六个独特而惊人的 Linux 实用工具

To access information about cron, you need to use sudo as it is a system process.。我们成功获取了cron的当前工作目录,即 /var/spool/cron,在命令执行完成后。当您需要跟踪目录范围问题时,这将是一个非常有价值的故障排除工具。您可以使用 pwdx 快速检查确定一个进程认为其应从哪个位置运行,以达到准确的目的。

这里查看 pwdx 的 man 页面。

6、write

这个强大的小程序可能不会像您一开始想的那样执行某个特定任务。这个存在于Linux中已经有几十年了,可以追溯到1975年Unix的第6版。

The write utility actually allows you to send messages to other users on the same system.。您可以针对任何其他登录的用户发送消息。输入您的用户名,然后您可以进入一个交互式shell,用来书写任何您想要的文本。您键入的所有内容(包括换行符)都将出现在目标用户的控制台上。

这里是一个快速示例:

write <用户名>

这将使您进入一个交互式控制台,以向相应的用户发送消息。请记住,这是一种相当侵入性的与其他用户通信的方式。这将使他们的终端显示您输入的文本,而无需任何警告或提示。对他们来说,这将出现在他们的终端上,就像自动出现的信息一样。由于这是单向通信,他们也无法回复。

虽然目前有更优秀的处理用户间消息传递的方法,但这仍然是计算历史的一部分。我相信今天仍然可以有一些创造性的用途。

这里查看官方的 man 页面。

위 내용은 흥미로운 보물! 6가지 독특하고 놀라운 Linux 유틸리티의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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