วิธีใช้สคริปต์ Linux เพื่อจัดระเบียบเดสก์ท็อปของคุณใน Windows 10



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

เมื่อคุณอ่านพาดหัวข่าวของงานชิ้นนี้เป็นครั้งแรกคุณอาจได้รับการอภัยเพราะคิดว่ามีบางอย่างไม่ถูกต้องทางเทคนิค ท้ายที่สุดแล้ว Linux ไม่ได้เป็นส่วนหนึ่งของระบบปฏิบัติการ Windows ใช่หรือไม่? เป็นระบบปฏิบัติการสองระบบที่แตกต่างกันอย่างสิ้นเชิง ก่อนหน้านี้วิธีเดียวในการใช้สคริปต์ Linux กับ Windows ในอดีตคือการติดตั้งสิ่งต่างๆเช่น Cygwin . หรือใช้ระบบลินุกซ์บูตคู่หรือติดตั้งสิ่งที่ต้องการ แซมบ้า .



สิ่งที่เปลี่ยนไปใน Windows 10! มีลินุกซ์หลายรุ่นที่มีอยู่ใน Microsoft Windows Store ก่อนหน้านี้ Appuals บทความเกี่ยวกับ Kali Linux อธิบายวิธีการหนึ่งดังกล่าวในการรับการแจกจ่าย Linux เฉพาะในสภาพแวดล้อม Windows 10 ของคุณ



ข้อดีอย่างหนึ่งของการใช้สคริปต์ Linux บนเครื่อง Windows ของคุณคือคุณสามารถใช้ภาษาสคริปต์ Linux ที่มีประสิทธิภาพเพื่อทำงานโดยอัตโนมัติโดยเฉพาะอย่างยิ่งหากคุณคุ้นเคยกับการเขียนสคริปต์ Linux มากกว่าพูด, Powershell หรือไฟล์แบตช์ Dos บทความนี้อธิบายวิธีการเขียนสคริปต์ 'bash' ของ Linux เพื่อล้างข้อมูลเดสก์ท็อป Windows ทั่วไป หากคุณยังใหม่กับ Linux คุณจะได้เรียนรู้พื้นฐานจากบทความนี้และสร้างยูทิลิตี้ที่มีประโยชน์ในกระบวนการนี้



เราจะใช้ Ubuntu Linux Terminal พื้นฐาน (มีอยู่ใน Windows Store บนเครื่อง Windows 10) ซึ่งช่วยให้คุณใช้ bash, k ssh, git, apt และคำสั่ง Linux อื่น ๆ อีกมากมาย สิ่งนี้จะต้องได้รับการติดตั้งหากคุณยังไม่ได้ดำเนินการ มีการอธิบายวิธีการ ที่นี่ .

บรรทัดคำสั่ง Linux

เมื่อคุณติดตั้ง Ubuntu และเรียกใช้แล้วคุณจะได้หน้าต่างบรรทัดคำสั่งคล้ายกับรายการต่อไปนี้ สิ่งนี้จะทำให้คุณทุบตีลินุกซ์บรรทัดคำสั่ง:



ตอนนี้เราจะเขียนบทของเรา คุณสามารถแก้ไขไฟล์ด้วยโปรแกรมแก้ไขใด ๆ รวมถึงตัวแก้ไข Windows เช่น notepad หรือโปรแกรมแก้ไข Linux เช่น vi หากคุณมั่นใจในการใช้งาน

เมื่อคุณเปิดเทอร์มินัล Ubuntu ตำแหน่งของคุณจะเป็นโฮมไดเร็กทอรีของคุณในพื้นที่ทำงานของ Ubuntu สิ่งนี้สามารถตรวจสอบได้โดยป้อนคำสั่งที่พรอมต์คำสั่ง:

ก้อง $ HOME

และจะส่งออกโฮมไดเร็กทอรีของคุณดังที่แสดงในภาพหน้าจอต่อไปนี้ รูปแบบ Linux ใช้เครื่องหมายทับที่แสดงถึงไดเรกทอรีเช่น“ /”

เพื่อความสะดวกเราจะวางสคริปต์ในโฮมไดเร็กทอรี

ขั้นตอนต่อไปคือการค้นหาตำแหน่งของเดสก์ท็อปของคุณซึ่งเรียกว่าเส้นทาง Linux เราจำเป็นต้องใช้สิ่งนี้เพื่อดำเนินการกับไฟล์ในไดเร็กทอรีที่ถูกต้อง

ในเทอร์มินัลประเภท“ cd /” สิ่งนี้จะนำคุณไปยังพื้นที่รากของสภาพแวดล้อม Ubuntu ของคุณ

จากนั้นพิมพ์“ ls”

นี่แสดงรายการไดเร็กทอรีทั้งหมดใน Linux คุณจะเห็นสิ่งนี้ในเทอร์มินัล Linux:

เราจำเป็นต้องค้นหาเดสก์ท็อปผู้ใช้ของคุณ สมมติว่าอยู่ในไดรฟ์ C ให้เปลี่ยนเป็นไดเร็กทอรี“ mnt” นี่คือที่ที่จะระบุไดรฟ์ windows ดังนี้:

จากนั้นคุณต้องทราบว่าเดสก์ท็อปของคุณอยู่ในไดเรกทอรีใด โดยปกติคุณจะพบสิ่งนี้ใน windows โดย 'คลิกขวา' บนไอคอนเดสก์ท็อปเช่นนี้จากรายการ 'การเข้าถึงด่วน' ใน File Explorer ตำแหน่งไดเร็กทอรีเดสก์ท็อปของคุณจะแสดง:

จากนี้คุณสามารถเปลี่ยนเป็นไดเร็กทอรีของคุณโดยใช้ Linux ในเทอร์มินัล:

ดังนั้นในตัวอย่างนี้คุณพิมพ์เทอร์มินัลโดยจำไว้ว่าแบ็กสแลชใน Windows เทียบเท่ากับเครื่องหมายทับใน Linux ในกรณีของฉันเส้นทางที่ต้องการในคำสั่ง“ change directory” คือ:

cd / mnt / c / Users / gofor / OneDrive / Desktop

จากนั้นคุณสามารถแสดงรายการไฟล์ทั้งหมดบนเดสก์ท็อปของคุณโดยใช้“ ls”:

หากเป็นอะไรที่เหมือนกับเดสก์ท็อปของฉันคุณจะได้รับรายการไฟล์ยาว ๆ ดังนี้:

คุณสามารถดูว่าเดสก์ท็อปของฉันดูยุ่งแค่ไหนใน Windows ที่นี่:

มีไอคอนเพิ่มขึ้นบนหน้าจออีก 2 จอของฉันดังนั้นเราต้องแยกประเภทและจัดระเบียบไฟล์เหล่านี้! สคริปต์ที่ให้มาจะใช้ไฟล์แต่ละประเภทและวางไว้ในโฟลเดอร์ที่มีชื่อที่เกี่ยวข้องบนเดสก์ท็อป

ตัวอย่างเช่นไฟล์ทางลัดไฟล์เหล่านี้จะเป็นไฟล์ * .lnk ดังนั้นเราจะย้ายไฟล์เหล่านี้ไปไว้ในโฟลเดอร์ที่เรียกว่า 'SHORTCUTS'
ในทำนองเดียวกันไฟล์รูปภาพเช่น. jpg, .png, .bmp, .svg จะถูกย้ายไปไว้ในโฟลเดอร์ที่เรียกว่า 'IMAGES'
เอกสารและเอกสาร Office เช่นไฟล์ word เช่น. docx, .pdf, .xls จะอยู่ในโฟลเดอร์ชื่อ“ OFFICEDOCS”

ดังนั้นเมื่อเรียกใช้สคริปต์เอกสารทั้งหมดจะพร้อมใช้งานในลักษณะที่เป็นระเบียบในไดเร็กทอรีที่เกี่ยวข้องซึ่งสร้างขึ้นสำหรับประเภทไฟล์นั้น สิ่งนี้จะทำให้เดสก์ท็อปไม่เป็นระเบียบและทำให้ไฟล์เดสก์ท็อปของคุณเป็นระเบียบ คุณสามารถสร้างโฟลเดอร์ได้หลายประเภทและกำหนดเกณฑ์ไฟล์ตามที่คุณต้องการ ไฟล์ไม่จำเป็นต้องจัดเรียงตามประเภทไฟล์เพียงอย่างเดียวคุณสามารถสร้างโฟลเดอร์หมวดหมู่ได้ตามต้องการเช่น“ HRFILES” และ“ PROJECTFILES” ในตัวอย่างนี้เราจะจัดระเบียบไฟล์ตามประเภทไฟล์

การสร้างประเภทและรายการไฟล์

ในการใช้แอพพลิเคชั่นนี้เราจะต้องมี 2 ไฟล์:

A) รายการหมวดหมู่และประเภทไฟล์ที่จะเข้าสู่หมวดหมู่เหล่านั้นซึ่งจัดอยู่ในไฟล์ CSV ที่คั่นด้วยจุลภาค ชื่อหมวดหมู่แต่ละชื่อจะเป็นชื่อของไดเร็กทอรีที่ไฟล์จะถูกวางไว้บนเดสก์ท็อป คุณสามารถสร้างไฟล์ CSV ด้วยโปรแกรมแก้ไขที่ต้องการ ในตัวอย่างนี้เราจะใช้ notepad
B) สคริปต์ลินุกซ์ซึ่งจะอ่านไฟล์หมวดหมู่และประมวลผลฟังก์ชันที่เป็นระเบียบเรียบร้อยที่จำเป็น

ในการสร้างไฟล์ในไดเร็กทอรีปัจจุบันในประเภทเทอร์มินัล:

notepad cleanup.csv

เนื่องจากไฟล์จะไม่มีอยู่ในขั้นตอนนี้ไฟล์จะขอให้คุณสร้างไฟล์ใหม่ดังนั้นเพียงกด 'ใช่'

ตอนนี้เราจะป้อนรายละเอียดต่อไปนี้ในรูปแบบ“ หมวดหมู่ประเภทไฟล์ 1 ประเภทไฟล์ 2 ประเภทไฟล์ 3 … ฯลฯ ” 1 บรรทัดสำหรับแต่ละหมวดหมู่ดังนี้:

ทางลัด lnk 
รูปภาพ, JPG, PNG, svg
เอกสาร, txt, docx, doc, pdf

ฟิลด์แรกจะเป็นชื่อของไดเร็กทอรีบนเดสก์ท็อปซึ่งจะวางประเภทไฟล์ที่เหลือไว้ ช่องที่เหลือคือประเภทไฟล์ที่คุณต้องการย้ายไปยังโฟลเดอร์

ดังนั้นสำหรับโฟลเดอร์ SHORTCUTS ไฟล์ * .lnk ทั้งหมดจะถูกย้ายไปที่โฟลเดอร์นั้น สำหรับโฟลเดอร์ IMAGES ไฟล์ทั้งหมดที่มี * .jpg, *. png และ * .svg จะถูกย้ายไปที่โฟลเดอร์ IMAGES สุดท้ายเราย้ายไฟล์ * .txt, *. docx, *. doc และ * .pdf ทั้งหมดไปยังโฟลเดอร์ DOCUMENTS ด้วยวิธีนี้เรากำลังจัดไฟล์ลงในไดเร็กทอรีที่ถูกต้อง

เมื่อเราสร้างไฟล์ CSV แล้วเราก็พร้อมที่จะเขียนสคริปต์ เราจะเรียกสคริปต์ว่า cleanup.sh อย่างไรก็ตามสคริปต์นี้จะมีการตรวจสอบความถูกต้องน้อยที่สุดดังนั้นคุณต้องตรวจสอบให้แน่ใจว่าไฟล์ CSV อยู่ในรูปแบบที่ถูกต้องไม่เช่นนั้นจะไม่ทำงาน! สิ่งที่เราจะทำในสคริปต์นี้คือการตรวจสอบว่ามีไฟล์และโฟลเดอร์หรือไม่โดยเป็นการตรวจสอบขั้นต่ำ

คุณสามารถแก้ไขสคริปต์ในเทอร์มินัลได้หากคุณรู้จักโปรแกรมแก้ไขประเภท Unix เช่น vi หรือคุณสามารถใช้ notepad:

notepad cleanup.sh

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

ดังนั้น. 2 บรรทัดแรกในสคริปต์คือ:

DESKTOP = / mnt / c / Users // เดสก์ท็อป 
CSV = cleanup.csv

สามารถดูสคริปต์ฉบับเต็มได้ด้านล่าง โปรดอ่านความคิดเห็นหากคุณต้องการเข้าใจคำสั่งและหากคุณไม่แน่ใจในคำสั่งให้ลองใช้ 'man' ในบรรทัดคำสั่งของ Linux เพื่อรับข้อมูลเชิงลึกเกี่ยวกับวิธีการทำงานของคำสั่ง

ทำให้สคริปต์การล้างข้อมูลสามารถเรียกใช้งานได้และเรียกใช้

ในการเรียกใช้สคริปต์จากบรรทัดคำสั่งที่บ้านคุณจะต้องทำให้สามารถเรียกใช้งานได้ด้วยคำสั่งต่อไปนี้:

chmod + x cleanup.sh

ในการรันสคริปต์คุณจะต้องพิมพ์สิ่งต่อไปนี้ตามที่อยู่ในไดเร็กทอรีปัจจุบัน

./cleanup.sh

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

ก่อน: หลังจาก:

และไดเร็กทอรี SHORTCUTS โดยมีการย้ายทางลัดทั้งหมดจากเดสก์ท็อป

Tidy Linux Script สำหรับ Windows

โปรดสังเกตความคิดเห็นที่นำหน้าด้วย“ #” ในสคริปต์เนื่องจากอธิบายวิธีการทำงานของสคริปต์ # ตั้งค่าตัวแปรสำหรับตำแหน่งของเดสก์ท็อปภายในหรือไดเร็กทอรีใด ๆ ที่คุณต้องการล้างและชื่อของไฟล์ CSV

DESKTOP = / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = cleanup.csv

# ทดสอบเพื่อดูว่ามีไฟล์ csv ล้างข้อมูลหรือไม่โดยใช้คำสั่ง linux 'test' และแฟล็ก '-f' สำหรับการมีอยู่ของไฟล์
# หากไม่มีไฟล์ให้แสดงข้อความแสดงข้อผิดพลาดจากนั้นออกจากสคริปต์

ถ้า [! -f $ {CSV}] แล้ว 
echo ไม่มีไฟล์ cleanup.csv
ออก -1
เป็น

# ตอนนี้แปลง CSV หากได้รับการบันทึกในรูปแบบ dos เป็นรูปแบบ Unix โดยการลบอักขระส่งคืนแคร่
# บันทึกผลลัพธ์เป็นไฟล์ชั่วคราวจากนั้นเปลี่ยนชื่อไฟล์ชั่วคราวกลับเป็นชื่อเดิม

tr -d ' r' temp.csv 
mv temp.csv $ CSV

# ตอนนี้ไปที่ไฟล์ CSV ทีละบรรทัดและเก็บชื่อของอาร์กิวเมนต์แรกซึ่งก็คือไฟล์
# category / ชื่อไดเร็กทอรีซึ่งอาร์กิวเมนต์ที่เหลือทั้งหมดคือประเภทไฟล์ที่จะเป็น
# วางไว้ในไดเรกทอรีเหล่านี้

ขณะอ่าน csvline 
ทำ
นับ = 1
สำหรับ filetype ใน `` echo '$ csvline' | tr, ' n'`
ทำ
ถ้า [$ count -eq 1] แล้ว
# เนื่องจากนี่เป็นอาร์กิวเมนต์แรกให้ตรวจสอบเพื่อดูว่ามีโฟลเดอร์อยู่แล้วหรือไม่และหากไม่มีให้สร้างขึ้น
ถ้า [! -d $ {DESKTOP} / $ filetype] แล้ว
# ไม่มีไดเร็กทอรีดังนั้นเราจะสร้างมันขึ้นมา
mkdir $ {DESKTOP} / $ filetype
เป็น
CATEGORY = $ {filetype}
อื่น
# แสดงข้อความที่เป็นมิตรซึ่งระบุว่าสคริปต์กำลังทำอะไรอยู่
echo 'ย้าย *. $ {filetype} เป็น $ {CATEGORY}'
# อย่าแสดงข้อความแสดงข้อผิดพลาดใด ๆ (เช่น> 2 / dev / null) เมื่อย้ายไฟล์ในกรณีที่ไม่มีไฟล์อยู่
# ดังนั้นคำสั่ง 'mv' จึงเป็น 'silent'
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
เป็น
count = `expr $ count + 1`
เสร็จแล้ว
เสร็จแล้ว< cleanup.csv
อ่าน 7 นาที