Score:3

find /bin -iname 'sh*' ไม่ส่งคืนผลลัพธ์ใด ๆ

ธง gg

คำถามคือเกี่ยวกับไวยากรณ์ของ หา สั่งการ

ฉัน@222:~$ ค้นหา /bin -iname 'sh*'

ไม่ส่งคืนผลลัพธ์ใด ๆ ในขณะที่:

me@222:/bin$ find -iname 'sh*'

ทำงานได้ดี

ข้อมูลการตั้งค่า: ใช้สีโป๊วจาก windows ไปยังระยะไกลใน ubuntu 20 LTS

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

terdon avatar
cn flag
สำหรับบิต "ยัง" ของคุณ ฉันคิดว่าทางออกที่ดีที่สุดของคุณคือการเรียกใช้ `set -x` ซึ่งอย่างน้อยจะแสดงให้คุณเห็นถึงคำสั่งที่แน่นอนที่กำลังเรียกใช้ หลังจากที่เชลล์ขยายสิ่งต่างๆ เสร็จแล้ว มันคงไม่ได้ช่วยอะไรมากในกรณีนี้ เนื่องจากคุณได้ให้เส้นทางที่แน่นอนแล้ว (`'*sh'` จะถูกอ่านโดย `find` จึงไม่ถูกขยายโดยเชลล์)
eliu avatar
gg flag
@terdon ขออภัย ต้องการข้อมูลเพิ่มเติมที่นี่ เรากำลังพูดถึงพฤติกรรม "การขยายสัญลักษณ์แทน" ของ `*` หรือไม่ ฉันสะดุดกับระเบิดนั่นแล้ว ดังนั้นฉันจึงสบายดี อย่างไรก็ตาม `set -x` นี้ ฉันไม่เห็น man page สำหรับมัน มันคืออะไร?
terdon avatar
cn flag
ดู `ชุดความช่วยเหลือ` เป็นสิ่งที่ทุบตีที่ทำให้ bash พิมพ์คำสั่งขยายที่จะเรียกใช้ ตัวอย่างเช่น หากคุณเรียกใช้ `find /m* -name foo` จะแสดง `find /media /mnt -name foo`
Score:11
ธง hr

ในระบบ Ubuntu ล่าสุด /ถังขยะ เป็นลิงก์สัญลักษณ์ไปยัง /usr/bin อันเป็นผลมาจาก เราผสาน, และ หา คำสั่งไม่ติดตาม symlink ตามค่าเริ่มต้น จาก ผู้ชายหา:

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

   -L ติดตามลิงก์สัญลักษณ์ [...]

   -H อย่าติดตามลิงก์สัญลักษณ์ ยกเว้นในขณะที่ประมวลผลcomâ
          อาร์กิวเมนต์แมนไลน์ เมื่อพบการตรวจสอบหรือพิมพ์ข้อมูล
          เกี่ยวกับไฟล์ ข้อมูลที่ใช้จะต้องนำมาจากเอกสารประกอบ
          erties ของลิงก์สัญลักษณ์เอง ข้อยกเว้นประการเดียวในเรื่องนี้
          ลักษณะการทำงานคือเมื่อไฟล์ที่ระบุในบรรทัดคำสั่งเป็น symâ
          ลิงก์โบลิกและลิงก์สามารถแก้ไขได้ สำหรับสถานการณ์นั้น
          ข้อมูลที่ใช้นำมาจากลิงก์ที่ชี้ไป
          (นั่นคือลิงก์ตามมา) ข้อมูลเกี่ยวกับลิงค์
          ตัวมันเองจะใช้เป็นทางเลือกหากไฟล์ชี้ไปที่ symâ
          ไม่สามารถตรวจสอบลิงก์โบลิคได้ ถ้า -H มีผลบังคับใช้และหนึ่งในนั้น
          เส้นทางที่ระบุในบรรทัดคำสั่งเป็นลิงก์สัญลักษณ์ไปยัง
          ไดเร็กทอรี เนื้อหาของไดเร็กทอรีนั้นจะถูกตรวจสอบ
          (แต่แน่นอนว่า -maxความลึก 0 จะป้องกันสิ่งนี้)

คุณอาจต้องการ

ค้นหา -H /bin -iname 'sh*'

หรือ

ค้นหา /usr/bin -iname 'sh*'

เพื่อติดตาม /ถังขยะ symlink แต่คงพฤติกรรมเริ่มต้นไว้ด้านล่าง

eliu avatar
gg flag
ศักดิ์สิทธิ์ จับได้ดีมาก ขอบคุณ. Kinda อธิบายเหตุผลว่าทำไมจึงใส่ข้อมูล escoteric ไว้ในส่วนหน้าของหน้าคน
user10489 avatar
in flag
หรือ `find /bin/` เพื่อบังคับให้แก้ไข symlink ไปยังไดเร็กทอรีเป้าหมาย ซึ่งเกือบจะเหมือนกับ `-H`
eliu avatar
gg flag
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap03.html#tag_21_03_00_75

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา