อะไรคือสิ่งที่เทียบเท่ากับการเปลี่ยนไดรฟ์ใน terminal บน Linux?


38

ใน Dos ผมสลับไปมาระหว่างไดรฟ์ที่แตกต่างกันโดยการพิมพ์c:, d:, e:และอื่น ๆ แต่มันก็ใช้ไม่ได้ใน Linux

ใครช่วยกรุณาบอกวิธีการสลับระหว่างไดรฟ์ที่แตกต่างกันได้อย่างไร


ใช่ .. ใช้ linux เป็นครั้งแรก hav ที่จะเรียนรู้มาก
saiy2k

เพียงชี้แจงให้เข้าใจเพราะนี่เป็นความเข้าใจผิดที่มักก่อให้เกิดปัญหาในการทำความเข้าใจ: DOSBoxเป็นโปรแกรมจำลอง, cmd.exeเป็นตัวแปลบรรทัดคำสั่งสำหรับระบบปฏิบัติการ Windows รุ่นที่ไม่ใช่ DOS และCOMMAND.COMเป็นระบบเชลล์สำหรับ DOS ในขณะที่ผู้ใช้โต้ตอบกับโปรแกรมเหล่านี้และลักษณะที่ปรากฏอาจจะไม่เหมือนกัน
LiveWireBT

คำตอบ:


23

Linux ไม่มีวิธีการทำงานกับ "ไดรฟ์" ตามลำดับยกเว้นกับระบบสาธารณูปโภคที่เข้าถึงพาร์ติชัน พวกเขามักจะต้องระบุไดรฟ์ที่มีพาร์ทิชัน แต่ถ้าไดรฟ์ของคุณมีพาร์ติชั่นเพียงตัวเดียวมันก็ไม่สำคัญ

อย่างไรก็ตามในการเข้าถึงไดรฟ์คุณจำเป็นต้องระบุพาร์ติชันด้วยวิธีใดวิธีหนึ่งตามปกติโดยคำจำกัดความเช่น / dev / sda1 (พาร์ติชันที่ 1 บนไดรฟ์ที่ 1) หรือ / dev / sda2 (พาร์ติชันที่สองบนไดรฟ์แรก) ใช้ Disk Utility หรือ gparted คุณสามารถดูพาร์ติชันทั้งหมดแบบกราฟิก หากคุณใช้เทอร์มินัลเท่านั้นฉันพบว่าคำสั่ง "blkid" นั้นมีประโยชน์ในการแสดงรายการไดรฟ์ที่มี UUID ฉันใช้แบบฟอร์ม:

sudo blkid -c /dev/null

เมื่อใช้เทอร์มินัลคุณจะต้องติดตั้งพาร์ติชันเพื่อใช้งานจริง นี่เป็นเรื่องง่ายที่จะทำ ในกรณีส่วนใหญ่คุณต้องการใช้ไดเรกทอรีว่างเปล่าเป็น "จุดเชื่อมต่อ"; หากไดเรกทอรีไม่ว่างเปล่าเนื้อหาจะถูกปิดบังและไม่สามารถใช้งานได้ในระหว่างการเมานต์ สิ่งนี้อาจมีประโยชน์ในบางสถานการณ์เช่นการทดสอบหรือเปลี่ยนการกำหนดค่าชั่วคราวด้วยเหตุผลอื่นเนื่องจากจะช่วยลดความจำเป็นในการเปลี่ยนชื่อหรือลบเนื้อหาปัจจุบัน

หากคุณมีไดเรกทอรีชื่อ / mnt / drive2 (โดยทั่วไปจะใช้ / mnt แต่อาจอยู่ในโฮมไดเร็กตอรี่ของคุณหากคุณต้องการ), และไดรฟ์ของคุณคือ / dev / sdb, ด้วยพาร์ติชั่นเดียว, คำสั่งที่ง่ายที่สุดคือ:

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

โดยที่ "type" เป็นชนิดที่แสดงในคำสั่ง blkid เช่น ntfs, ext4 เป็นต้น

แก้ไข: เพื่อทดลองอย่ากลัวที่จะลองใช้คำสั่ง mount มันเป็นเพียงชั่วคราวจนกว่าคุณจะรีบูต (หรือยกเลิกการต่อเชื่อมโดยใช้คำสั่ง "umount") /etc/fstabที่จะทำให้มันถาวรคุณจำเป็นต้องใส่มันลงไปใน หากคุณต้องการที่จะทำเช่นนั้นคุณสามารถทดสอบโดยการสร้างรายการแล้วใช้คำสั่ง "ติด -a" /etc/fstabเพื่อติดตั้งทุกอย่างใน หากมีข้อผิดพลาดมันจะบอกคุณและคุณสามารถแก้ไขและทำซ้ำได้จนกว่าจะได้ผล


1
พาร์ติชั่นแรกของไดรฟ์แรกคือ sda1, ไม่มี sda0
enzotib

อ๊ะขอโทษคุณพูดถูก ฉันคุ้นเคยกับการใช้ UUIDs ที่ฉันลืมไปแล้ว และเนื่องจากฉันมีพาร์ติชันมากมายฉันจึงต้องค้นหาพวกมันเสมอเพื่อดูว่าจะใช้พาร์ทิชันใดดังนั้นฉันจึงไม่คิดถึงมัน ฉันจะแก้ไขคำตอบของฉัน แต่จดบันทึกไว้เพื่อที่ความคิดเห็นของคุณจะไม่ถูกมองข้าม
Marty ผัด

12

ฮาร์ดดิสก์ (ไดรฟ์ตามที่คุณเรียกใช้) มีพาร์ติชันและแต่ละพาร์ติชันมีระบบไฟล์

ใน Linux และ Unix มีระบบแฟ้มที่เรียกว่าหลักราก/ระบบแฟ้มและแสดงด้วย ระบบไฟล์อื่น ๆ (จริงหรือเสมือน) ถูกเมาท์บนระบบไฟล์รูทบนจุดเมานต์นั่นคือไดเร็กตอรี่ว่างที่ใช้เป็นจุดเริ่มต้นสำหรับระบบไฟล์ที่เฉพาะเจาะจงในลักษณะที่สามารถเข้าถึงไฟล์ทั้งหมดในฐานะลูกหลานของไดเรกทอรีราก

หากคุณพิมพ์คำสั่งmountโดยไม่มีตัวเลือกคุณจะเห็นสิ่งต่อไปนี้:

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)

ที่ซึ่งคุณสามารถเห็นได้ว่ามีการติดตั้งพาร์ติชัน/dev/sda5( พาร์ติชันที่5 ของฮาร์ดดิสก์/dev/sda) /เพื่อให้เป็นพาร์ติชันรูท
นอกจากนี้คุณเห็น/dev/sda7พาร์ติชัน / ระบบไฟล์อื่นติดตั้งอยู่/media/dataเพื่อให้cd /media/dataสอดคล้องกับd:คำศัพท์ใน windows อย่างมีประสิทธิภาพ

มีระบบไฟล์ที่เมาท์อื่น ๆ มากมายในเอาต์พุตนี้ตามที่คุณเห็นและเป็นระบบไฟล์เสมือนทั้งหมดเช่นระบบไฟล์ที่ไม่สอดคล้องกับพาร์ติชั่นดิสก์ และคุณสามารถเห็นระบบไฟล์ที่ติดตั้งกับ NFS ซึ่งเป็นระบบไฟล์เสมือนที่เชื่อมโยงกับระบบไฟล์จริงที่มีอยู่ในเครื่องอื่นผ่านเครือข่าย

คุณสามารถเห็นความเรียบง่ายของการมีโครงสร้างเดียวเพื่อเข้าถึงไฟล์ทั้งหมดของคุณและในบางกรณีก็เป็นไฟล์ระยะไกล

คำถามที่เกี่ยวข้อง:


1
การใช้lsblkอาจจะง่ายต่อการอ่านและแสดงรายการอุปกรณ์เก็บข้อมูลบล็อกเท่านั้น (ไม่มี sysfs, proc, cgroup, ฯลฯ )
LiveWireBT

cd ~เพื่อกลับไปที่home directory
Aakash Shah

1
@AakashShah: cd ~เป็นรุ่นสั้น ๆcdที่ทำสิ่งเดียวกัน
enzotib

12

Ubuntu เก็บดิสก์เพิ่มเติมทั้งหมดไว้ใน/mediaไดเรกทอรีใช้งาน

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

cd /media/$USER/<your drive name>เช่นเดียวกับคำตอบด้านล่างไดเรกทอรี
Bobort

7

มันเป็นเรื่องง่าย

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

ในอนาคตหากคุณลืมมันไปที่ไดรฟ์พร้อมตัวจัดการไฟล์ของคุณเลือกโฟลเดอร์แบบสุ่มจากนั้นคลิกขวาบนพื้นที่ว่าง -> คุณสมบัติจากนั้นดู "ตำแหน่ง"


5

นอกจากนี้คุณยังสามารถเรียกดูโฟลเดอร์ในไดรฟ์ที่คุณต้องการและคลิกขวาที่เปิดใน terminal


0

สามารถใช้อูบุนตูจากไดเรกทอรีบ้านของคุณ (กำจัด <และ> แทนที่"yourusername"กับชื่อผู้ใช้จริงที่คุณเข้าสู่ระบบ Linux กับ , "ชื่อไดรฟ์"ที่มีชื่อของฮาร์ดดิสก์ของคุณ)

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

ดิสก์ที่เมาท์ทั้งหมดอยู่ใน / media / yourusername / directory หากคุณไม่ทราบชื่อไดรฟ์คุณสามารถดูในตัวจัดการไฟล์ของคุณหรือผ่านเทอร์มินัล (อีกครั้งจากไดเรกทอรีบ้านของคุณ)

ls /media/<yourname>/

คุณสามารถใช้sd #และmntอธิบาย; อย่างไรก็ตามฉันคิดว่าคุณกำลังมองหาคำตอบง่าย ๆ


คำสั่งที่คุณระบุให้ใช้พา ธ สัมบูรณ์และไม่จำเป็นต้องเรียกใช้จากในโฮมไดเรกทอรีของผู้ใช้
jkt123

0

จริงๆแล้วสำหรับฉันมันเป็นแบบนี้:

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

ด้วยNew Volumeการเป็นชื่อของไดรฟ์ภายนอก และผู้ใช้เป็นชื่อผู้ใช้ของฉัน

ไม่ทราบสาเหตุที่ทับหลังฉันคิดว่าเพราะพื้นที่?


2
ใช่มันเป็นเพราะพื้นที่
muru

1
ใช่ฉันจะหลีกเลี่ยงการใช้ Spaces ในชื่อโฟลเดอร์หรือชื่อดิสก์หรือแม้แต่ชื่อไฟล์ เพียงใช้ CamelCase
Bobort
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.