ของ Windows cmd.exe
ไม่สนับสนุนls
, mount
ฯลฯ เว้นแต่คุณจะติดตั้งตัวเองเหล่านี้และเพิ่มพวกเขาไป%PATH%
(ผ่าน Cygwin, MinGW, ระบบย่อยสำหรับการประยุกต์ใช้งานยูนิกซ์ (SUA)หรือสิ่งอื่น) Powershellทำ และนั่นเป็นเพราะ Powershell มีสิ่งเหล่านี้เป็นนามแฝงของคำสั่ง Powershell มาตรฐานเพื่อให้ผู้ใช้ Unix สะดวกสบายยิ่งขึ้น ดูรายชื่อของนามแฝงเข้ากันได้ใน Powershell Windows มีrmdir
, mkdir
และอื่น ๆแต่แน่นอนว่าสิ่งเหล่านี้ไม่รองรับไวยากรณ์ตัวเลือกเดียวกันกับที่คุณพบใน Ubuntu
ใน Ubuntu สิ่งเหล่านี้ไม่มีส่วนเกี่ยวข้องกับ Bash พวกมันคือคำสั่งภายนอกทั้งหมด มีมาตรฐานสำหรับสาธารณูปโภคดังกล่าว POSIXเป็นสิ่งที่น่าสังเกตมากที่สุด (ดูรายการของโปรแกรมอรรถประโยชน์ที่ได้รับคำสั่งจากPOSIX ) และLinux Standard Base (LSB)เป็นอีกสิ่งหนึ่งที่สำคัญสำหรับระบบ Linux (ซึ่งส่วนใหญ่ใช้ POSIX แต่มีบางอย่างเพิ่มเติม ) คนที่อยู่ใน Ubuntu ส่วนใหญ่จะให้บริการโดยGNUและยูทิลิตี้ GNU มักจะมีคุณสมบัติมากกว่าฐานที่ POSIX ต้องการ
POSIX ยังกำหนดภาษาของเชลล์ที่คุณกล่าวถึง (ซึ่งแตกต่างอย่างมากจากหนึ่งในcmd.exe
) มันมาจากไวยากรณ์ของเชลล์เป้าหมาย Bash (ตอนนี้คุณรู้แล้วว่าBourneหมายถึงอะไรอีก ) จาก GNU ยังเพิ่มคุณสมบัติด้านบน แต่สามารถทำงานในลักษณะที่สอดคล้องกับ POSIX เมื่อต้องการ ภาษา POSIX คือสิ่งที่คุณคาดหวังsh
ไว้ bash
, ksh
, ash
, dash
, zsh
การใช้งานทุกที่ภาษากับการปรับปรุง csh
อยู่ในโลก (ฝันร้าย) ของตัวเองและtcsh
ช่วยเพิ่มcsh
ช่วยเพิ่ม
เพื่อทำความเข้าใจเพิ่มเติมให้ดูที่ประวัติของ Unix และUnix likeระบบ Unix ติดตั้ง Windows ล่วงหน้าเป็นเวลากว่าทศวรรษและโปรแกรมอรรถประโยชน์เหล่านี้ปรากฏตัวครั้งแรกใน Unix
Windows เป็นหนึ่งครั้งที่สอดคล้องกับ POSIX เนื่องจากรัฐบาลสหรัฐฯกำหนดให้ใช้สำหรับระบบปฏิบัติการที่ใช้โดยหน่วยงานของรัฐ (นั่นคือเมื่อพวกเขาเพิ่มบริการสำหรับ Unix (SFU)ซึ่ง SUA ดังกล่าวมาในวรรคแรก) แต่ความต้องการนั้นก็ถูกยกเลิกและต่อมา SUA ก็ถูกทิ้ง
ที่เกี่ยวข้อง:
(สังเกตส่วนที่พบบ่อยของโพสต์เหล่านี้ - ทั้งหมดอยู่ในUnix & Linuxและประวัติที่ติดแท็ก- คุณอาจพบว่าการสืบค้นผ่านแท็กนั้นมีข้อมูลอย่างมาก)