ฉันจะสำรวจหนึ่งไดเรกทอรีจากเทอร์มินัลได้อย่างไร


16

Super noob คำถาม: ฉันสามารถนำทางลงในไดเรกทอรีโดยใช้cdจาก terminal ฉันจะนำทางกลับได้อย่างไรถ้าฉันไปไกลเกินไป



unix.stackexchange.com/a/81232/18237ยอดเยี่ยมสำหรับการทำงานในหลายสาขาไดเรกทอรีและทำเครื่องหมายจุด "เริ่มต้น" ที่จะกลับมา
Mateo

ฉันรู้ว่าไม่มีใครที่คุณอยากจะยอมรับว่าคุณเป็นคนโง่ แต่คำถามนี้แค่ส่งจำนวนการดู 1,000 ครั้ง ดังนั้นฮ่าฮ่าฉันรู้ว่าคนอื่น ๆ เช่นฉันจะออกมี : P
Vince Scalia

คำตอบ:


30

cd .. จะนำคุณกลับไดเรกทอรีเดียวอย่างแน่นอน

คุณสามารถรวมกลุ่มสิ่งต่างๆเพื่อสร้างไดเรกทอรีหลายรายการเช่นค่า 3

cd ../../..

แทนที่จะพิมพ์cd ..หลาย ๆ ครั้งสิ่งที่คุณสามารถทำได้คือการวางฟังก์ชั่นซอลเบลโลว์ไว้.bashrcที่ด้านบนบันทึก.bashrcและเรียกใช้source .bashrcหรือเพียงแค่ปิดและเปิดเทอร์มินัลใหม่ ตอนนี้คุณมีฟังก์ชั่นที่cd..สามารถบอกได้ว่ากี่ครั้ง

function goUp {
  num=$1
  while [ $num -ne 0  ];do
    cd ..
    num=$((num-1))
  done
}

การสาธิต:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

อีกวิธีหนึ่งคือ:

goup(){ 
    cd $(n=$1 awk 'BEGIN{
        for(i=1;i<=ENVIRON["n"];i++) 
            printf "../"}';) 
}

โปรดทราบว่าวิธีการดังกล่าวจะนำคุณกลับไปที่ symlink นี่คือสิ่งที่ฉันหมายถึง:

$ namei "$PWD" 
f: /home/user/VirtualBox VMs/CentOS
 d /
 d home
 d user
 l VirtualBox VMs -> /mnt/ubuntu/vboxvms
   d /
   d mnt
   d ubuntu
   d vboxvms
 d CentOS

$ goup 2
$ pwd
/home/user

ดูสิ่งนี้ด้วย


เพิ่มข้อมูลเพิ่มเติมตรวจสอบ
Sergiy Kolodyazhnyy

for i in $(seq "$1"); do cd ..; doneนั่นอาจจะเป็นเพียงแค่
deltab

@deltab จริงสามารถทำได้เช่นกัน . . . แต่ฉันชอบใช้ขณะที่ + ตัวนับเพื่อจำลอง a สำหรับลูป ฉันได้ถามคำถามที่เกี่ยวข้องมาก่อนในเว็บไซต์ของ U&L แล้ว
Sergiy Kolodyazhnyy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.