อะไรคือ Unix (QNX) ที่เทียบเท่ากับบรรทัดคำสั่งของ Windows“ dir / s / b”


9

คำถามอะไรคือสิ่งที่เทียบเท่า Linux ของ DOS“ ชื่อไฟล์ dir / s / b”? เข้ามาใกล้ แต่มันก็เล่นการค้นหาไฟล์สำหรับชื่อไฟล์ที่มีชื่อทั้งหมด

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

ฉันสามารถสร้างรายการโฟลเดอร์ของไดเรกทอรีย่อยและไฟล์ทั้งหมดในนั้นdir /b /sและรับการจัดรูปแบบผลลัพธ์เป็นเส้นทางจำนวนมาก ...

c:\Temp>dir /b /s
c:\Temp\Subfolder1
C:\Temp\Subfolder1\File1.txt
C:\Temp\Subfolder1\File2.txt
...

ฉันเห็นได้ว่าdir /sจะกลายเป็นls -Rอย่างไร แต่ฉันจะได้รับการ/Bจัดรูปแบบเส้นทางที่เทียบเท่าได้อย่างไร


6
คำตอบนั้นเหมือนกับในคำถามอื่นยกเว้นคุณจะไม่ใช้-nameตัวเลือกดังนั้นจึงไม่กรองตามชื่อ
Barmar

คำตอบ:


14

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

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


18

ไม่มีการตั้งค่าสถานะlsที่จะทำสิ่งที่คุณถาม แต่คุณสามารถทำมันด้วยเครื่องมืออื่น ๆ ที่ง่ายที่สุด (อาจ) find:

find .

2
หรือเพียงแค่find การแสดงออกเริ่มต้นคือ.
4556274

3
จริง อย่างไรก็ตามฉันคิดว่าเป็นการดีที่จะรวมค่าเริ่มต้นในโพสต์ Q / A เนื่องจากทุกคนอาจไม่ชัดเจน
Bruno9779

19
@ user4556274 มันอาจสำหรับ GNU findแต่การใช้งานอื่น ๆ เป็นไปตามมาตรฐาน POSIX และต้องมีตัวถูกดำเนินการไดเรกทอรี
Kusalananda

5

ต้นไม้ - ถ้า

-i เพื่อไม่เยื้อง -f เพื่อพิมพ์พา ธ


น่าสนใจแสดงคอนโซลเอาต์พุตให้กับคำตอบของคุณ ฉันไม่พบคำสั่งนั้นจากกล่อง QNX ของฉัน-bash: tree: command not found
jxramos

ฉันใช้โทรศัพท์ของฉันดังนั้นจึงไม่สามารถทดสอบได้ แต่อยู่ในหน้า man ที่linux.die.net/man/1/tree
Stephen C

1
มันมาจากmama.indstate.edu/users/ice/treeและบรรจุtreeในจำนวน Linux ลีนุกซ์
deltab

treeเป็นเครื่องมือที่ฉันเลือกเพื่อตรวจสอบโครงสร้างไดเรกทอรี แต่ไม่ได้ติดตั้งตามค่าเริ่มต้นในระบบส่วนใหญ่
Bruno9779

5

เพื่อให้ได้เส้นทางที่แท้จริงนำหน้า (สมมติว่าเป็นสิ่งสำคัญ) ทำ

find "$(pwd)"

หากคุณใช้เชลล์เหมือน bash คุณไม่จำเป็นต้องเรียกใช้คำสั่งภายนอก find "${PWD}"ควรจะเพียงพอ ไม่แน่ใจว่าใช้งานได้กับ QNX หรือไม่
CVn

@ MichaelKjörling: ดีถ้าคุณต้องการเส้นทาง symlink มากกว่าเส้นทางจริง ...
โจชัว

จริงมันอาจขึ้นอยู่กับความหมายที่แน่นอนของแต่ละ อย่าลืมว่าอย่างน้อย GNU bash มี built-in pwdและ external / bin / pwd ด้วยเช่นกันซึ่งแตกต่างกันในวิธีจัดการกับไดเรกทอรีที่เข้าถึงได้ด้วย symlink
CVn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.