ความแตกต่างระหว่างwhichและwhereisคืออะไร
whichและwhereisให้ผลผลิตที่แตกต่างกัน (บน macOS Sierra) apple.stackexchange.com/questions/259047/…
                typeดีกว่า นอกจากนี้ยังรู้เกี่ยวกับนามแฝงที่กำหนดไว้ฟังก์ชั่น ฯลฯ
                ความแตกต่างระหว่างwhichและwhereisคืออะไร
whichและwhereisให้ผลผลิตที่แตกต่างกัน (บน macOS Sierra) apple.stackexchange.com/questions/259047/…
                typeดีกว่า นอกจากนี้ยังรู้เกี่ยวกับนามแฝงที่กำหนดไว้ฟังก์ชั่น ฯลฯ
                คำตอบ:
เรียนรู้เกี่ยวกับwhereisและwhichใช้งานwhatisอย่างไร
$  whatis which
which                (1)  - shows the full path of (shell) commands
$  whatis whereis
whereis              (1)  - locate the binary, source, and manual page files for a command
โดยทั่วไปwhereisค้นหาไฟล์ "อาจมีประโยชน์" ในขณะที่whichค้นหาไฟล์ที่เรียกทำงานได้เท่านั้น
whereisผมไม่ค่อยใช้ ในทางกลับกันwhichมีประโยชน์มากโดยเฉพาะในสคริปต์ whichคำตอบสำหรับคำถามต่อไปนี้: คำสั่งนี้มาจากไหน?
$  which ls
/bin/ls
$  whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2
              whereis which
                    whichแสดงเส้นทางที่แท้จริง คุณแน่ใจหรือไม่ว่าเส้นทางที่ชี้ไปwhichไม่ใช่แค่ symlink ไปยังเส้นทางที่ชี้ไปwhereis? อาจเป็นชื่อแทนเชลล์ type your_cmd_hereในทุบตีลองใช้
                    whereis ค้นหาตำแหน่งมาตรฐาน * nix สำหรับคำสั่งที่ระบุ
whichค้นหา PATH เฉพาะผู้ใช้ของคุณ (ซึ่งอาจรวมถึงสถานที่บางแห่งที่มีการค้นหาและอาจไม่รวมถึงสถานที่อื่น ๆ ซึ่งอาจรวมถึงบางสถานที่ที่whereisไม่ได้ค้นหาถ้าคุณเพิ่มใน PATH ของคุณ)
อ้างถึงหน้าคนของพวกเขา:
โดยที่ :
whereis หาตำแหน่งส่วนต้นทาง / ไบนารีและคู่มือสำหรับไฟล์ที่ระบุ
ตัวอย่างเช่น
$ whereis php
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
เช่นไฟล์ปฏิบัติการ "php" และอื่น ๆ (เช่น man pages)
และที่ :
ซึ่งส่งคืนชื่อพา ธ ของไฟล์ที่จะถูกดำเนินการในสภาพแวดล้อมปัจจุบัน
ตัวอย่างเช่น
$ which php
/usr/bin/php
นั่นคือมีเพียงปฏิบัติการ "php"
ซึ่งค้นหาไฟล์เรียกทำงานในไดเร็กทอรีที่ระบุโดยตัวแปรสภาวะแวดล้อม PATH และหากค้นพบชื่อพา ธ แบบเต็มของไฟล์เรียกทำงานนี้จะถูกพิมพ์
$ ซึ่ง ls
/ bin / ls
$ ซึ่ง ifconfig
$ # ไม่มีเอาต์พุตเนื่องจาก ifconfig มีอยู่ใน PATH ของรูทเท่านั้น
whereisค้นหา executables แฟ้มแหล่งที่มาและหน้าคู่มือการใช้ฐานข้อมูลที่สร้างขึ้นโดยระบบอัตโนมัติ
$ whereis น้อย
กว่า: / bin / less / usr / bin / less / usr / bin / X11 / less /usr/share/man/man1man1/less.1.gz
แต่ดูเหมือนว่าwhereisและหาไม่ได้ใช้ฐานข้อมูลเดียวกัน เมื่อติดตั้งซอฟต์แวร์และจากนั้นก็ใช้whereisและหาทันทีเพื่อค้นหาซอฟต์แวร์นี้ ผลที่ได้คือwhereisสามารถหาไฟล์ที่เกี่ยวข้องกับซอฟแวร์ในขณะนี้หาได้ไม่ พวกเขาใช้ฐานข้อมูลที่แตกต่างกันจริงๆหรือ ฐานข้อมูลทำงานอย่างไร - ดี, วิธีการปฏิเสธที่จะเป็นคนอวดรู้? :)