การขยายคำตอบจาก Anderson M. Gomesนั้น Bash ช่วยให้คุณสามารถอ้างถึงไดเรคทอรีก่อนหน้าในไดเรกทอรีสแต็กของคุณโดยการพิมพ์~N(หรือ~+N) ซึ่งNเป็นตำแหน่งบนสแต็ก dir ตัวอย่างเช่น:
# go some places
$ cd /path/to/source/directory
$ pushd /path/to/destination/directory
$ pushd $HOME
$ pushd /tmp
# show the current dir stack
$ dirs -v
0 /tmp
1 ~
2 /path/to/destination/directory
3 /path/to/source/directory
ตอนนี้คุณสามารถคัดลอกไฟล์ระหว่างสองไดเรกทอรีที่ผ่านมาไม่ได้เป็นไดเรกทอรีปัจจุบันด้วย:
cp -v ~3/file1.txt ~2
ในการแก้ปัญหาโปสเตอร์ต้นฉบับคุณต้องทำ:
$ cd /path/to/source/directory
$ pushd /path/to/destination/directory
# show the current dir stack
$ dirs -v
0 /path/to/destination/directory
1 /path/to/source/directory
# copy
cp -v ~1/file[123].txt .
ด้วยชุดไฟล์ขนาดใหญ่คุณสามารถแสดงรายการชื่อไฟล์ในไฟล์ Manifest จากนั้นทำการคัดลอกจากซอร์สต้นทาง:
$ cd /path/to/destination/directory
$ pushd /path/to/source/directory
# copy
cp -v $(cat files_to_copy.list) ~1
ดูเพิ่มเติมที่: ส่วนนี้ของหน้า Bash man
ในทำนองเดียวกันใน Tcsh คุณสามารถใช้=2สัญกรณ์ (แทน~2) เพื่ออ้างถึง dir ที่สองบนสแต็ก dir ของคุณ
ดูเพิ่มเติมที่: ส่วนนี้ของหน้าคน Tcsh
cdคำสั่งเพื่อให้คุณสามารถcd -ที่จะกลับไปยังไดเรกทอรีก่อนหน้านี้ลูกศรขึ้นจะจำcdคำสั่งและแก้ไขบรรทัดที่จะแทนcpcd(ctrl-a (จุดเริ่มต้นของบรรทัด), alt-d (kill-word)cp -a,, ctrl-e (จุดสิ้นสุดของบรรทัด))