리눅스에서 명령 명령을 사용하는 방법

리눅스에서 명령 명령을 사용하는 방법을 궁금해?

리눅스는 사용자의 필요에 따라 시스템을 조정할 수 있으므로 충분한 유연성을 제공합니다. 즉,터미널을 통해 시스템을 쉽게 작동 할 수 있습니다. 또한 다양한 매개 변수를 제어하고 시스템의 다른 프로그램에서 공유 및 사용하는 파일을 확인할 수 있습니다.

하나의 명령은,특히,검사에서 주어진 프로그램에 의해 사용되는 라이브러리를 인식 할 수 있습니다. 이 명령은 롤랜드 맥그래스와 울리히 드레퍼가 개발 한 자민당 명령입니다.

목록 동적 종속성을 사용하면 다양한 실행 파일에서 공유되는 라이브러리 종속성을 쉽게 식별할 수 있습니다.

그래서 더 이상 고민하지 않고 시작합시다!

라이브러리 유형.

라이브러리는 소스 코드를 유지 관리하지 않고도 파일 및 프로그램의 작업을 지시하는 함수,객체,변수,클래스,유형 사양,조건 및 서브 루틴의 잘 정의 된 집합입니다.

라이브러리에는 세 가지 유형이 있습니다:

  1. 동적 라이브러리:이 라이브러리는 더 작은 규모로 컴파일되는 프로그램에서 사용하는 라이브러리입니다. 이름에서 알 수 있듯이 실행 시 동적으로 로드되므로 단일 복사본이 동적으로 여러 프로그램을 실행하는 데 사용됩니다.

이렇게 하면 메모리 소비가 줄어들어 프로그램 크기가 최소화되고 성능이 향상됩니다. 일반적으로”.so“확장이 있습니다.

  1. 정적 라이브러리:이 라이브러리는 전체 프로그램에서 사용됩니다. 소스 코드를 다시 컴파일하지 않고 프로그램을 연결하므로 시간을 절약 할 수 있습니다. 이러한 라이브러리는 해당 기능이 필요한 프로그램 파일에 별도로 포함됩니다. 그들은 일반적으로”.a“확장 뒤에 있습니다.
  2. 공유 라이브러리:분할 시 프로그램에서 자동으로 사용되는 개별적으로 설치된 라이브러리입니다. 프로그램이 특정 작업을 수행 할 때 기존 라이브러리의 특정 부분을 무시할 수 있습니다. 또한 런타임에 코드 또는 프로그램과 함께 사용할 수 있습니다.

우리가 매일 사용하는 대부분의 실행 파일은 공유 라이브러리를 포함합니다. 동적 라이브러리 종속성을 나열합니다. 이러한 라이브러리는 프로그램 전체에서 재사용 및 공유되어 프로그램 개발을 용이하게하고 컴퓨터 메모리에 대한 크기 및 부하를 줄입니다.

리눅스에서,이 파일들은”.so“확장자의 형태이며,그것들은/usr/lib*또는 단순히/lib*에 비축되어 있다.

리눅스 시스템의 다양한 배포판은 프로그램에 대한 라이브러리의 다른 세트를 패키지 수 있습니다,그것은 운영 체제의 다른 버전에서 다르게 작동 만들기. 시스템에서 프로그램의 공유 라이브러리를 사용할 수 없는 경우 다음과 같은 오류가 발생합니다:

Sudo: error while loading shared libraries: libpthread.so.0:Cannot open shared object file: no such file or directory.

그런 다음 특정 프로그램에 대한 공유 라이브러리를 확인할 수 있습니다.

명령 설치.

그렇지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다:

$ sudo apt-get install libc-bin

$ ldd명령의 구문은 다음과 같습니다:

$ ldd <options> <executable>

또는 더 일반적으로:

$ ldd -v /path/to/program/executable

자민당은 기본,아직 강력한 명령입니다. 다른 플래그를 사용하여 도움말 및 기타 변형을 제공합니다. 그들은 아래에 간략하게 설명되어 있습니다.

ion:현재 사용중인 디딜 방아 버전을 표시합니다.

-v --verbose: 정보를 복잡하게 표시합니다.

-u --unused: 사용되지 않는 종속성을 표시합니다.

-d --data-relocs: 누락된 개체를 재배치하고 식별합니다.

-r --function-relocs: 데이터 개체 및 함수를 재배치하고 누락된 함수 또는 개체를 식별합니다.

-help: 명령 사용에 관한 도움을 제공합니다.

이제 설치를 완료 했으므로 리눅스에서 명령어를 사용하는 방법을 배울 준비가 되었습니다. 우리는 공유 라이브러리를 식별하는 데 도움이되는 방법과 함께 이것을 시연 할 것입니다.

우리는 배쉬,리눅스의 표준 쉘에 대한 공유 라이브러리로 볼 것이다. 이 명령을 실행하고 사용자와 운영 체제 사이의 인터페이스를 제공 할 책임이 있습니다.

:

  1. 키보드에서 명령 터미널을 열어 시작하십시오.
  2. 다음으로which또는whereis명령을 사용하여 경로를 찾은 다음 다음을 입력합니다:
$ which bash$ whereis bash$ ldd /usr/bin/bash
리눅스 명령

보시다시피 공유 라이브러리 종속성이 표시됩니다. 보다 상세하고 복잡한 개요를 보려면-v플래그를$ ldd명령과 함께 다음과 같이 사용하십시오:

$ ldd -v /usr/bin/bash
리눅스 명령

마찬가지로-u플래그를 사용하여 사용되지 않는 종속성을 표시 할 수 있습니다.

$ ldd -u /usr/bin/bash
-플래그

위에 표시된 경우 사용되지 않는 종속성이 없습니다. 항상 어떤 라이브러리가 유휴 상태이고 메모리를 소비하는지 감시하는 것이 좋습니다. 이렇게 하지 않으면 사용되지 않는 파일로 커널을 로드할 수 있으므로 성능이 저하될 수 있습니다. 우분투 공간을 확보하는 방법에 대한 우리의 기사를 체크 아웃하는 것이 도움이 될 것입니다.

데이터 및 함수 재배치의 경우$ldd명령과 함께-d-r플래그를 각각 사용합니다.

$ ldd -d /usr/bin/bash$ ldd -r /usr/bin/bash
리눅스 명령

이러한 플래그는 누락 된 개체 및 기능을 식별하는 데 도움이됩니다.

마지막으로--help플래그를 사용하여 플래그 및 해당 작업에 대한 빠른 상담을 할 수 있습니다.

--도움말 플래그

명령의 제한 사항.

“공유 라이브러리나 파일이 오래되었거나 개발된 프로그램에서는 작동하지 않습니다.

마지막으로 신뢰할 수 없는 소스에서는 갑작스러운 오류 및 예외가 발생할 수 있으므로 명령어를 사용하지 않는 것이 좋습니다.

objdumpgrep유틸리티로 구성된 대체 명령을 제안합니다.

 ~/$objdump -p /path/program/grep NEEDED

LDD 의 훼손하는 지침을 사용하는 경우,올바른 방법으로,상당한 차이 만들 수 있습니다 당신의 상호 작용과 함께 OS. 그것은 특정 목적을 가진 강력한 연결 명령이며,그것은 확실히 제공합니다. 명령과 그 사용에 대한 자세한 내용은,당신은 자유형 명령의 맨 페이지로 향할 수 있습니다.

Leave a Reply