Tương đương để chuyển đổi ổ đĩa trong thiết bị đầu cuối trên Linux là gì?


38

Trong hệ điều hành DOS, tôi chuyển qua lại giữa các ổ đĩa khác nhau bằng cách gõ c:, d:, e:và vân vân. Nhưng nó không hoạt động theo cách đó trong Linux.

Bất cứ ai có thể xin vui lòng cho tôi biết làm thế nào để chuyển đổi giữa các ổ đĩa khác nhau?


vâng .. sử dụng linux lần đầu tiên. hav để học hỏi nhiều
saiy2k

Chỉ cần làm rõ vì đây là một quan niệm sai lầm thường gây rắc rối hơn trong việc tìm hiểu: DOSBox là một giả lập, cmd.exe một thông dịch dòng lệnh cho các phiên bản Windows không-DOS dựa và COMMAND.COM một vỏ hệ thống cho hệ điều hành DOS. Mặc dù tương tác của người dùng với các chương trình này và ngoại hình có thể giống nhau, nhưng chúng không giống nhau.
LiveWireBT

Câu trả lời:


23

Linux thực sự không có cách nào để làm việc với "ổ đĩa", ngoại trừ với các tiện ích hệ thống truy cập phân vùng; họ thường cần chỉ định ổ đĩa chứa phân vùng. Nhưng nếu mỗi ổ đĩa của bạn chỉ có một phân vùng thì điều đó không thực sự quan trọng.

Dù sao, để truy cập vào một ổ đĩa, bạn thực sự cần chỉ định phân vùng theo một cách nào đó, thường là theo định nghĩa như / dev / sda1 (phân vùng thứ nhất trên ổ đĩa thứ nhất) hoặc / dev / sda2 (phân vùng thứ 2 trên ổ đĩa thứ nhất). Sử dụng Disk Utility hoặc gparted, bạn có thể thấy tất cả các phân vùng bằng đồ họa. Nếu bạn chỉ sử dụng thiết bị đầu cuối, tôi đã thấy rằng lệnh "blkid" có ích để liệt kê các ổ đĩa với UUID của chúng. Tôi sử dụng mẫu:

sudo blkid -c /dev/null

Sử dụng thiết bị đầu cuối, bạn cần phải gắn kết một phân vùng để thực sự sử dụng nó. Điều này thực sự khá dễ dàng để làm. Trong hầu hết các trường hợp, bạn sẽ muốn sử dụng một thư mục trống làm "điểm gắn kết"; nếu thư mục không trống, nội dung của nó sẽ bị che và không có sẵn trong quá trình gắn kết. Điều này có thể hữu ích trong một số trường hợp nhất định, chẳng hạn như thử nghiệm hoặc tạm thời thay đổi cấu hình vì một số lý do khác, vì nó sẽ làm giảm nhu cầu đổi tên hoặc xóa nội dung hiện tại.

Nếu bạn có một thư mục có tên / mnt / drive2 (/ mnt thường được sử dụng, nhưng nó có thể nằm trong thư mục chính của bạn nếu bạn muốn) và ổ đĩa của bạn là / dev / sdb, với một phân vùng duy nhất, thì lệnh đơn giản nhất là:

sudo mount -t type /dev/sdb1 /mnt/drive2

trong đó "type" là loại được hiển thị trong lệnh blkid, chẳng hạn như ntfs, ext4, v.v.

EDIT: để thử nghiệm, đừng ngại thử lệnh mount. Nó chỉ là tạm thời cho đến khi bạn khởi động lại (hoặc ngắt kết nối bằng lệnh "umount"). Để làm cho nó vĩnh viễn, bạn cần phải nhập nó vào /etc/fstab. Nếu bạn muốn làm điều đó, bạn có thể thử nghiệm bằng cách tạo một mục nhập, sau đó sử dụng lệnh "mount -a" để gắn kết mọi thứ vào /etc/fstab. Nếu có lỗi, nó sẽ cho bạn biết, và bạn có thể sửa và lặp lại cho đến khi nó hoạt động.


1
Phân vùng đầu tiên của ổ đĩa đầu tiên là sda1, không có sda0
enzotib

Rất tiếc, xin lỗi, bạn đã đúng. Tôi đã quá quen với việc sử dụng UUID đến nỗi tôi quên mất điều đó. Và vì tôi có rất nhiều phân vùng, tôi luôn phải tìm kiếm chúng để xem nên sử dụng phân vùng nào, vì vậy tôi không nghĩ về nó. Tôi sẽ chỉnh sửa câu trả lời của mình, nhưng hãy ghi chú lại để bình luận của bạn không bị sai lệch.
Marty Fried

12

Đĩa cứng (ổ đĩa, như bạn gọi chúng) chứa các phân vùng và mỗi phân vùng chứa một hệ thống tệp.

Trong Linux và Unix có một hệ thống tệp chính gọi là hệ thống tệp gốc và được chỉ định bằng /. Các hệ thống tệp khác (thực hoặc ảo) được gắn trên hệ thống tệp gốc trên một điểm gắn kết , tức là một thư mục trống được sử dụng làm điểm bắt đầu cho hệ thống tệp cụ thể, theo cách mà tất cả các tệp có thể được truy cập như là hậu duệ của thư mục gốc.

Nếu bạn gõ lệnh mountmà không có tùy chọn, bạn sẽ thấy một cái gì đó như sau:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=764668k,nr_inodes=191167,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=153392k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
/dev/sda7 on /media/data type ext4 (rw,noatime,user_xattr,acl,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
XXX.XXX.163.168:/media/data/ on /media/data/mnt type nfs4 (rw,nosuid,noexec,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=XXX.XXX.163.76,minorversion=0,local_lock=none,addr=XXX.XXX.163.168)
gvfs-fuse-daemon on /home/enzotib/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

nơi bạn có thể thấy rằng phân vùng /dev/sda5( phân vùng thứ 5 của đĩa cứng /dev/sda) được gắn vào /, để nó là phân vùng gốc.
Hơn nữa, bạn thấy /dev/sda7, một phân vùng / hệ thống tập tin khác, được gắn vào /media/data, để cd /media/datatương ứng với d:thuật ngữ windows một cách hiệu quả .

Có nhiều hệ thống tập tin được gắn khác trong đầu ra này, như bạn có thể thấy, và tất cả đều là hệ thống tập tin ảo, tức là hệ thống tập tin không tương ứng với phân vùng đĩa. Và bạn có thể thấy một hệ thống tệp được gắn NFS, một hệ thống tệp ảo được liên kết với một hệ thống tệp thực có sẵn trên một máy khác thông qua mạng (dòng đầu ra mà bạn thấy một địa chỉ IP bị tôi cố tình che khuất).

Bạn có thể thấy sự đơn giản của việc có một cấu trúc duy nhất để truy cập tất cả các tệp của mình và trong một số trường hợp cũng có các tệp từ xa.

Câu hỏi liên quan:


1
Việc sử dụng lsblkcó thể dễ đọc hơn một chút và chỉ liệt kê các thiết bị lưu trữ khối (không có sysfs, Proc, cgroup, v.v.).
LiveWireBT

cd ~để quay lạihome directory
Aakash Shah

1
@AakashShah: cd ~là một phiên bản ngắn cd, làm điều tương tự.
enzotib

12

Ubuntu giữ tất cả các đĩa bổ sung được gắn trong /mediathư mục, vì vậy hãy sử dụng

cd /media/$USER/<your-drive-name>

Giống như câu trả lời dưới đây, thư mục là cd /media/$USER/<your drive name>.
Bobort

7

dễ thôi

cd /media/$USER/{the name of the drive}

trong tương lai, nếu bạn quên nó, chỉ cần vào ổ đĩa với trình quản lý tệp của bạn chọn một thư mục ngẫu nhiên sau đó nhấp chuột phải vào một vùng trống -> thuộc tính sau đó xem "vị trí"


5

Bạn cũng có thể chỉ cần duyệt đến thư mục trên ổ đĩa bạn muốn và nhấp chuột phải, mở trong thiết bị đầu cuối.


0

Ubuntu có thể sử dụng, từ thư mục home của bạn (loại trừ <và> và thay thế "yourusername" với bạn Tên truy nhập thực tế mà bạn đã đăng nhập vào Linux với , "tên ổ đĩa" với tên của đĩa cứng của bạn).

cd /media/<yourusername>/<drive name>

Tất cả các đĩa được gắn đều nằm trong thư mục đó / media / yourusername / . Nếu bạn không biết tên ổ đĩa, bạn luôn có thể tìm trong trình quản lý tệp của mình - thông qua thiết bị đầu cuối (một lần nữa từ thư mục chính của bạn)

ls /media/<yourname>/

Bạn có thể sử dụng sd #mnt được mô tả; tuy nhiên, tôi nghĩ rằng bạn đang tìm kiếm một câu trả lời dễ dàng.


Các lệnh bạn đã cung cấp sử dụng đường dẫn tuyệt đối và không bắt buộc phải chạy từ trong thư mục chính của người dùng.
jkt123

0

Trên thực tế, đối với tôi nó như thế này:

cd /media/<user>/New\ Volume/

Với New Volumetên của ổ đĩa ngoài. và người dùng là tên người dùng của tôi.

Không biết tại sao dấu gạch chéo ngược, tôi giả sử vì không gian?


2
Vâng, đó là vì không gian.
muru

1
Có, tôi sẽ tránh sử dụng Spaces trong tên thư mục hoặc tên đĩa hoặc thậm chí tên tệp. Chỉ cần sử dụng CamelCase.
Bobort
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.