ฉันมีความโชคร้ายที่มาจากพื้นหลังของ MS-DOS - แต่อย่างน้อยก็ทำให้ฉันซาบซึ้งว่า Linux มีประสิทธิภาพมากขึ้นเพียงใด ฉันกำลังพยายามทำให้ Linux-Fu ของฉันใกล้เคียงกัน แต่มีสองสิ่งที่สามารถทำได้กับ DOS ซึ่งฉันไม่แน่ใจว่าจะทำอย่างไรให้สำเร็จได้อย่างง่ายดายด้วย Linux:
การเปลี่ยนชื่อไฟล์หลาย ๆ ไฟล์ - การใช้สัญลักษณ์สองตัว
c:\> dir
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
c:\>rename *.txt *.bak
c:\> dir
Directory of c:\
file1.bak
file2.bak
file3.bak
file4.bak
ฉันรู้ว่าฉันสามารถใช้find -exec
ที่นี่ แต่มันเป็นไปได้ที่จะใช้ไวยากรณ์ที่สั้นกว่า - บางทีอาจจะmv
มีการตั้งค่าสถานะพิเศษหรือไวยากรณ์บางอย่าง? ฉันเดาว่ากุญแจตัวนี้คือwildcard ตัวที่สอง *
เนื่องจาก linux ไม่ควรมีปัญหากับอันแรก (เช่นฉันรู้วิธีเลือกไฟล์ที่ฉันต้องการเปลี่ยนชื่อโดยใช้ wildcard)
การเปลี่ยนชื่อไฟล์เดียว - ใช้สัญลักษณ์ตัวแทนเดียว
c:\> dir
Directory of c:\
file1.txt
c:\>rename file1.txt *.bak
c:\> dir
Directory of c:\
file1.bak
สิ่งนี้จะเป็นประโยชน์อย่างยิ่งเมื่อเปลี่ยนชื่อไฟล์ที่ยาวและไม่สะดวก ฉันคิดว่าบางทีฉันสามารถใช้mv file1.txt $1.bak
ท้ายfile1.txt.bak
ซึ่งก็จะยอมรับได้ แต่ฉันไม่แน่ใจว่าคุณสามารถอ้างอิง$1
พารามิเตอร์ inline ด้วยคำสั่งเชลล์ อีกครั้งในกรณีพิเศษนี้เป็นเพียงความสะดวกของวิธี ms-dos bastardizes *
wildcard ที่จะใช้เป็นประเภทจับภาพ / แทนที่ตรงกับส่วนหนึ่งของชื่อไฟล์
การกรองรายชื่อไดเรกทอรีด้วย Wildcard
c:\> dir
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
text.txt
\temp (directory)
c:\> dir file*
Directory of c:\
file1.txt
file2.txt
file3.txt
file4.txt
c:\> t*
Directory of c:\
text.txt
\temp (directory)
ฉันไม่แน่ใจว่าไวยากรณ์ที่ถูกต้องสำหรับการทำเช่นนั้นls
คืออะไรหรือถ้าเป็นไปได้ ถ้าผมทำอะไรเหมือนls t*
มันจะ recurse t
ลงในไดเรกทอรีที่เริ่มต้นด้วย วิธีแก้ปัญหาของฉันมีการใช้find . --max-depth 1 -iname "t*"
หรือสิ่งที่ต้องการls -al | grep t
- ไม่สั้นและง่ายเท่าที่dir t*
ควร
ในที่สุดฉันก็รู้ว่าฉันสามารถตั้งชื่อแทนเพื่อทำให้คำสั่งยาวเหล่านี้สั้นลง แต่ฉันอยากจะเรียนรู้ลินุกซ์แบบนอกกรอบสำหรับทำสิ่งเหล่านี้เพราะบางครั้งคุณเชื่อมต่อกับระบบรีโมตหรือทำงาน บนเครื่องใหม่
ดังนั้นฉันmv
และls
ไฟล์แบบเดียวกับที่ฉันเคยใช้dir
และrename
ไฟล์ได้อย่างไร