Windows에서 대부분의 응용 프로그램 및 응용 프로그램 데이터는 C:\Program Files
(때로는 C:\Program Files (x86)
) 라는 특수 디렉토리에 저장됩니다 . 이 경로와 동등한 Ubuntu / Linux는 무엇입니까? 하나도 있습니까?
Windows에서 대부분의 응용 프로그램 및 응용 프로그램 데이터는 C:\Program Files
(때로는 C:\Program Files (x86)
) 라는 특수 디렉토리에 저장됩니다 . 이 경로와 동등한 Ubuntu / Linux는 무엇입니까? 하나도 있습니까?
답변:
/bin
그리고 /usr/bin
스크립트가이 프로그램을 시작하는 곳이다. "프로그램 파일"과 직접 동일 할 수도 있습니다 /usr/share
( 파일 시스템 계층 표준 참조 ). 이 디렉토리에는 대부분의 프로그램에 대한 다양한 지원 파일이 있습니다.
그러나 라이브러리 파일은 시스템에서 공유 /lib
되고 (in ) 옵션은 사용자가 지정하거나 (사용자의 홈 디렉토리에) 또는 범용으로 위치 하므로 직접적으로 동등한 것은 아닐 것입니다 /etc
.
따라서 deb 파일, 저장소 또는 빌드를 통해 프로그램을 설치하면 이러한 모든 위치에 파일이 배치 될 수 있습니다.
[편집] 그리고 다른 사람들이 참고로,도있다 /sbin
하고 /usr/sbin
. 게다가 /usr/local/bin
, /opt/bin
심지어 /usr/games/
. 따라서 직접 비교하지 마십시오 c:\program files
!
/opt
? 비슷한 방식으로 많은 (보통 비공개 소스 또는 앱 기반) 프로그램을 보유하고있는 것을 보았습니다 Program Files
.
/usr/local/bin
사용자 / 회사에서 일반적으로 사용하지 않을 수있는 소프트웨어의 일반적인 위치입니다.
PATH
환경 변수가 무엇인지, .desktop
파일이 무엇인지 , 다양한 Linux 명령을 사용하여 특정 프로그램을 찾는 방법 에 대한 자세한 내용은 아래 답변을 읽으십시오 .
원래 답변 :
/bin
, /usr/bin
및/usr/share
다른 답변에서 언급했듯이 /bin
또는 /usr/bin
에서 대부분의 실행 파일을 찾을 수 있으며 지원 파일은에 설치되어 /usr/share
있습니다.
/usr/local
과 /opt
그러나 Ubuntu가 응용 프로그램을 설치하는 디렉토리가 더 있습니다. PATH
경우 입력 된 명령을 검색 할 결정 변수, 당신에게 단서를 줄 수도, 광산 (처럼 보이는 echo $PATH
터미널에서) :
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
보시다시피 일부 소프트웨어가 설치되어 /usr/local
있고 자체 디렉토리와가 bin
있습니다. 많은 프로그램이 설치되는 또 다른 곳은 /opt
입니다. 이러한 위치의 특성은 Filesystem Hierarchy Standard에 의해 설명되며 , 이는 매우 잘 읽습니다. 불행하게도, 차이 /opt
와는 /usr/local
잘 설명되지는 누군가 유닉스 stackexchange은 보다 정교한 설명을했다 :
/usr/local
일반적으로 make 명령을 사용하여 관리자가 빌드 한 파일을 설치하는 장소입니다. 아이디어는 운영 체제의 일부인 로컬 파일을 덮어 쓰거나 겹쳐 쓰는 파일과의 충돌을 피하는 것입니다. 예. 로컬 대안 인 /usr/bin/foo
반면 OS의 일부입니다./usr/local/bin/foo
/opt
번들되지 않은 패키지를 각각 자체 하위 디렉토리에 설치하는 디렉토리입니다. 이들은 독립적 인 타사 소프트웨어 배포자가 제공하는 전체 패키지로 이미 구축되어 있습니다. 예를 들어에 someapp
설치 될 경우 /opt/someapp
명령 중 하나가 실행됩니다 /opt/someapp/bin/foo
(그리고 일반적으로의 bin
디렉토리 중 하나에서 심볼릭 링크가 작성 PATH
되거나 프로그램이 데스크탑 파일에서 호출됩니다 (아래 참조))..desktop
파일들특정 프로그램이 설치된 위치를 찾으려면 여러 단계를 수행 할 수 있습니다. 먼저 .desktop
파일 을 찾아야 합니다. 데스크톱 파일은 Windows의 바로 가기 및 시스템 응용 프로그램의 바로 가기와 유사합니다 /usr/share/applications
. 현재 사용자 만 사용할 수있는 응용 프로그램의 데스크톱 파일은에 ~/.local/share/applications
있습니다. 데스크톱 파일이있는 Chrome을 예로 들어으로 /usr/share/applications/google-chrome.desktop
시작하는 행을 찾으면 Exec=
Chrome을 시작하는 방법이 결정됩니다. 그것은 말한다 :
Exec=/opt/google/chrome/google-chrome
Chrome이에 있다는 것을 알고 있습니다 /opt
.
지금에 위치하고 있으며 모질라 파이어 폭스 /usr/share/applications/firefox.desktop
. 그것은 단순히 말한다
Exec=firefox %u
처음에는 이것이 그다지 도움이되지 않는 것처럼 보이지만 변수 firefox
에있는 디렉토리 PATH
(대부분 가능성이있는 bin
)에 있어야 한다는 것을 알고 있으며 찾아 볼 수 있습니다 (아래 참조).
명령을 찾으려면 다음 중 하나 이상을 사용할 수 있습니다 type
, which
그리고 whereis
(나는 온라인으로 매뉴얼 페이지에 대한 링크를 포함 시켰습니다).
type : 명령을 설명하고 명령 이름으로 사용되는 경우 해석 방법을 나타냅니다. 명령에 가능한 유형은 다음과 같습니다.
(타입 자체는 쉘 내장입니다 type type
. : P로 시도하십시오 )
실행 type firefox
은 우리에게
firefox is /usr/bin/firefox
우리가 알고 싶었던
명령이 파일 (로 확인한 파일 type
) 인 경우 다음을 사용할 수도 있습니다.
which : 명령의 전체 경로를 보여줍니다.
실행 which firefox
은 우리에게
/usr/bin/firefox
whereis : 명령의 바이너리, 소스 및 매뉴얼 페이지 파일을 찾습니다.
실행 whereis firefox
은 우리에게
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
보너스
/usr/bin/firefox
자세히 살펴보면 다음 ls -l /usr/bin/firefox
과 같은 결과를 얻을 수 있습니다 .
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
그것은이 나타납니다 /usr/bin/firefox
스크립트로는 '전용'심볼릭 링크를 /usr/lib/firefox/firefox.sh
. 스크립트를 검사하면 스크립트가 호출하는 것을 발견 할 수 있습니다 /usr/lib/firefox/firefox
.
당신은 지금 평화롭게 쉴 수 있습니다 :)
Program Files 폴더 와 정확히 동일한 단일 디렉토리는 없습니다 . 리눅스가 물건을 배열하는 방식은 Windows와는 많이 다릅니다.
Windows에서 설치하는 모든 프로그램은 Program Files 디렉토리 내에 자체 디렉토리를 가져옵니다. 해당 디렉토리에서 다른 종류의 파일에 대해 추가 서브 디렉토리가 작성됩니다. 하위 디렉토리에는 고정 된 구조가 없습니다. 프로그램은 각 디렉토리를 호출 할 대상과 원하는 위치를 스스로 결정합니다.
그러나 Linux에서 프로그램이 설치되면 다른 종류의 파일이 다른 위치로 복사됩니다. 실행 파일은 / usr / bin으로 , 라이브러리 파일은 / usr / lib로 , 문서는 하나 이상의 / usr / man , / usr / info 및 / usr / doc 로 복사됩니다 . 구성 파일이있는 경우 일반적으로 사용자의 홈 디렉토리 또는 / etc에 있습니다.
C:\Program Files
폴더가 될 것이다 /usr/bin
우분투. /bin
더 좋아 보인다 C:\windows
.
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
우분투는 윈도우와 다른 구조를 가지고 있습니다. 우분투는 거의 모든 응용 프로그램을 하나의 디렉토리에 배치 /usr/bin
합니다. Windows는 새 폴더를 Mozilla Firefox
만들고 구성, 실행 파일, DLL, 이미지 등을 추가합니다. 우분투는 그것들을 분리하고, 실행 파일을 넣고 /usr/bin
, 시스템 전체 구성을 /etc
공유 객체를 /usr/lib
, 이미지를 /usr/share
...
리눅스 '프로그램 파일'은 전체 계층에 있습니다. 그것은에 수 /usr/bin
, /bin
, /opt/...
, 또는 다른 디렉토리에.
응용 프로그램과 관련된 파일을 찾을 것이라고 생각합니다. 그런 다음 프로그램 설치에 설치된 파일을 보는 방법에 대한 아이디어가 있습니다.
synaptic
발급 sudo apt-get install synaptic
하여 설치하십시오 .Properties
.Installed File
탭으로 이동 결과는와 동일합니다 dpkg -L package_name
.Linux는 설치된 파일을 유형에 따라 별도로 디렉토리로 이동하기 때문입니다.
/usr/bin
또는 로 이동합니다 /bin
./usr/share/icons
또는에 ~/.local/share/icons
지역을 위해./opt
./usr/share/applications
나에~/.local/share/applications
/usr/share/doc
/usr/lib
그리고 다른 많은 디렉토리들. (CMIIW, 수정 수락)
이 대답에서 유닉스를 말할 때 유닉스와 같은 운영 체제뿐만 아니라 유닉스를 의미합니다.
우분투에는 실제로 각 프로그램의 모든 데이터가 들어있는 프로그램 폴더가 없습니다. 유닉스 및 유닉스 계열 운영 체제에서 모든 것은 파일이며 터미널 명령입니다. 그들은 또한 파일입니다. 유닉스가 프로그램을 처리하는 방식은 매우 혼란스럽고 동시에 구성 될 수 있습니다.
프로그램 아이콘은 / usr / share / icons / *에 저장되며 프로그램 실행 파일은 일반적으로 / usr / bin, / bin 및 bin 디렉토리가있는 다른 위치에 저장됩니다 (bin은 바이너리의 약어입니다). 프로그램이 의존하는 라이브러리는 / lib에 있습니다.
따라서 하나의 프로그램에 대한 모든 데이터를 포함하는 디렉토리가 아니라 프로그램의 데이터가 분산됩니다. 처음에는 이것이 매우 혼란스러워 보이지만 라이브러리 및 아이콘과 같은 표준 항목을 공유 할 수 있습니다.
각 파일에 대한 권한 덕분에 파일이되는 모든 아이디어는 정직하게 훌륭합니다. 다른 운영 체제보다 Unix MUCH를 더 안전하게 만듭니다.
Linux와 Windows 프로그램이 설치되는 방식은 상당히 다릅니다.
Windows의 일반적인 패턴은 프로그램입니다. 또는 한 공급 업체의 여러 프로그램이 C : \ programs \ vendor 또는 자체의 하위 디렉토리로 이동합니다.
Linux에서 파일은 기능에 따라 특정 하위 디렉토리로 분할됩니다. 라이브러리, 아이콘, 매뉴얼 페이지, 로그 파일, 구성 등에 대한 디렉토리가 있습니다. 일부를 사용할 수도 있지만 시스템에서 모든 것을 관리합니다. 그것들은 서로 연결되어 있지 않지만 다른 프로그램의 유사한 파일과 함께 존재합니다.
따라서 일반적인 Linux 구현에서는 해당 Windows 디렉토리 구조와 동등한 것이 없습니다.