ฉันจะค้นหาพา ธ ไปยังไฟล์สั่งการใน OSX ได้อย่างไร


46

มีคำสั่งที่ฉันสามารถใช้เพื่อค้นหาพา ธ ไปยัง executable ได้อย่างง่ายดายหรือไม่? ฉันกำลังมองหาตัวระบุบนเครื่องของฉัน - เช่น pwd?

pwd identify
=> /usr/local/bin/identify

คำตอบ:


60

which จะค้นหาเส้นทางของคุณเพื่อหาข้อโต้แย้งที่คุณให้ไว้ซึ่งจะพบได้ใน BSD หรือ SysV UNIX

moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false

1
whichคำสั่งแม้ว่าการทำงานจะเป็นเรื่องปกติไม่ได้เป็นเครื่องมือที่เหมาะสมกับการใช้งานที่จะทำประเภทของงานนี้ ดูคำถาม & คำตอบ U & L นี้: unix.stackexchange.com/questions/85249/…
slm

6
บน OSX whichจะไม่ให้ผลลัพธ์ใด ๆ สำหรับสคริปต์ที่กำหนดเอง (ที่อยู่ใน$PATH) typeทำ.
wisbucky

17

หากคุณใช้ bash builtin typeมันจะแสดงตำแหน่ง (ในพา ธ ) ทั้งหมดสำหรับคำสั่ง:

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

หากคำสั่งเป็นฟังก์ชั่นคำสั่งนั้นจะแสดงคำจำกัดความของฟังก์ชัน:

$ type -a somefunc
somefunc is a function
somefunc ()
{
    echo "hello, world"
}

ตัวอย่างเหล่านี้มาจากระบบ Ubuntu แต่ผลลัพธ์จะคล้ายกันสำหรับ OS X


4
บน OSX whichจะไม่แสดงพา ธ สำหรับสคริปต์ที่กำหนดเอง (ที่อยู่ใน$PATH) typeทำ.
wisbucky

3

ลอง 'ค้นหาตัวระบุ'


5
สิ่งนี้จะทำงานเมื่อ "ซึ่ง" จะไม่เกิดขึ้นเนื่องจากไฟล์ปฏิบัติการไม่ได้อยู่ใน PATH ปัจจุบันของคุณ แต่ก็มีแนวโน้มที่จะพ่นหลายสิ่งที่คุณไม่ต้องการ ตัวกรองเส้นทางแรก: "ค้นหาคำสั่ง | grep bin" ใช้ "อันไหน" ก่อน
dmckee

0

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

สิ่งนี้ไม่ได้ใช้กับสิ่งต่าง ๆ ส่วนใหญ่ที่ทำงานใน OSX แต่เนื่องจากมันไม่ได้ทำงานเหมือนกับ linux / unix ไบนารีทั่วไป นี่คือวิธีการบางอย่างในการค้นหาสิ่งที่ไม่ได้อยู่ในคำสั่งพา ธ ของคุณ

หา:

sudo find / -name <FILE>

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

เทอร์มิ:

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

Spotlight:

สวยด้วยตนเองอธิบาย คุณกำลังบริจาควงจรประมวลผลเพื่อให้สามารถเก็บดัชนีของ fi ของคุณ

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