디렉토리를 생성하지 않고 드라이브를 마운트하는 방법은 무엇입니까?

디렉토리를 생성하지 않고 드라이브를 마운트하는 방법은 무엇입니까?

플래시 드라이브를 Ubuntu에 연결하면 /media/<username>플래시 드라이브 이름을 마운트 지점 이름으로 사용하여 디렉터리가 생성됩니다. 디렉터리를 마운트 해제하면 완전히 사라집니다.

명령줄에서 이 작업을 수행 할 때는 mount <x>항상 기존 디렉터리인 마운트 지점이 필요합니다. 폴더가 생성되지 않으면 어떻게 해야 하나요? 방법이 있을 겁니다.

답변1

Unix 계열 시스템에서는 마운트 지점을 사용하려면 항상 디렉터리가 필요합니다. 자동으로 디렉터리를 생성하는 automount및 등의 일부 소프트웨어가 있지만 udev실제로 설치하려면 디렉터리가 있어야 합니다.

답변2

설치하다장치란 특정 디렉터리(마운트 포인트) 트리의 루트에 첨부됩니다 /.

따라서 탑재 지점으로 사용할 기존 디렉터리가 항상 필요합니다. 그렇지 않으면 설치된 장치에 액세스할 수 없습니다.

마운트 지점으로 사용되는 디렉토리는 비어 있을 필요는 없습니다. 그러나 설치 후에는 이전 내용에 액세스할 수 없습니다. 따라서 혼동을 피하기 위해 장치는 일반적으로 빈 디렉터리에 설치됩니다.

@Kusalananda의 답변은 자동으로 마운트 지점을 생성하고 사용자에게 투명한 기능을 제공하지만 그 뒤에는 디렉토리가 항상 존재해야 합니다.

답변3

관리되는 자동 설치 프로그램을 이해하는 데 혼란이 있다고 생각합니다 /media.

마운트 기능에는 파일 시스템을 마운트할 수 있는 디렉터리가 필요합니다. 자동 마운트는 마운트되는 파일 시스템(있는 경우)과 연관된 레이블을 사용하여 이 디렉토리를 생성한 다음 파일 시스템 자체를 마운트합니다. 나중에 파일 시스템을 마운트 해제한 후 디렉터리를 삭제합니다.

시각적 효과는 디렉토리 없이 파일 시스템을 마운트하는 것이며, 일반적인 경우에 이를 달성하려는 것입니다. 불행하게도 다른 사람들이 이미 지적했듯이 이는 자동화된 설치 프로그램을 사용하는 트릭을 통하지 않고는 불가능합니다.

mkdir /mnt/dsk
mount /dev/sdb1 /mnt/dsk
# ....
umount /mnt/dsk
rmdir /mnt/dsk

답변4

mymount () {
    local args=( "$@" )
    local dir="${args[-1]}"

    test -d "$dir" || mkdir -p "$dir" || exit 1
    command mount "$@"
}

대부분의 Unices와 대부분의 파일 시스템에서 이 mount유틸리티는필요마운트 지점은 기존 디렉터리입니다.

위의 쉘 기능을 사용하면 bash디렉토리가 아직 존재하지 않는 경우 디렉토리가 생성됩니다. 이 함수를 호출할 때 마운트 지점은 명령줄의 마지막 인수로 간주됩니다. 이를 통해 장치를 따로 설치하지 않고도 어디서나 장치를 설치할 수 있습니다.수동마운트 지점을 생성합니다.

/media/username이는 시스템에 마운트 지점을 생성하는 것과 비슷할 수 있습니다 .

마찬가지로 myumount마운트 해제된 장치를 정의하고 해당 마운트 지점을 삭제할 수 있습니다.

이것은 적어도 내가 알고 있는 구현으로는 디렉토리를 생성 mount(또는 삭제할 수 없음) 할 수 없다는 사실을 분명히 해결하지 못하지만 함수 내에서 디렉토리 생성을 숨길 수는 있습니다.umountmount


유닉스 철학: 한 가지 일을 하고 그것을 잘 하라.

mount무언가를 설치하려면 디렉토리가 필요합니다. 이 디렉토리를 만드는 것은 입니다 mkdir.

관련 정보