Maqolalar katalogi
💻 dos2unix: buyruq topilmadimi? Ushbu xatoni bitta buyruq bilan darhol tuzating, Windows-dan Linux- ga yangi qator belgilarini o'zgartirish muammolarini hal qiling - tezda boshlang! 🚀
Siz hech qachon bunday holatga duch kelganmisiz?
Linux terminalida baxtli ishlamoqda dos2unix check_htaccess.sh, va tizim yuzingizga qattiq tarsaki tushirdi:
-bash: dos2unix: command not found
Sizning mentalitetingiz birdan qulab tushdi? !
Bu dunyoning oxiri emas, siz yozgan skript zaharli emas, lekin tizimingizda u umuman o'rnatilmagan. dos2unix Ushbu vosita.
Keyin, choy ichamiz va nima uchun bu xato sodir bo'lganligi va uni birdaniga qanday tuzatish haqida gaplashamiz.
dos2unix nima? Nega bu sizga kerak?
dos2unix Ushbu buyruqning asosiy vazifasiWindows satr oxirlarini (CRLF) Unix satr oxiriga (LF) o'zgartiring.
Siz so'rashingiz mumkin: "Nega yangi qator belgisini o'zgartirish kerak? Bu shunchaki yangi qator emasmi?"
noto'g'ri! Windows va Unix-ning matnli fayllar bilan ishlash usullari chap va o'ng qo'lli odamlarga o'xshaydi, ularning usullari har xil, lekin ikkalasi ham yozishi mumkin.
Windows foydalanadi CRLF(karetaning qaytishi + chiziq tasmasi), Unix faqat foydalanadi LF(Qator uzilishi).
Agar siz matnli faylni Windows-dan Linux-ga o'tkazsangiz, Linux unga nafrat bilan qaraydi va "Do'stim, sizning formatingiz noto'g'ri!"
Ayni paytda dos2unix Bu sizga Windows formatidagi fayllarni Unix-ga mos formatlarga aylantirishga va turli g'alati xatolardan qochishingizga yordam beradi.
Nima uchun "buyruq topilmadi" paydo bo'ladi?
Bu juda oddiy, tizimda bu buyruq umuman o'rnatilmagan!
Ko'pgina Linux distributivlarida (ayniqsa minimal o'rnatilgan tizimlarda),dos2unix Odatiy bo'lib o'rnatilmagan, shuning uchun uni ishlatmoqchi bo'lsangiz, avval uni o'rnatishingiz kerak.
Tasavvur qiling-a, siz eshik qulfini ta'mirlamoqchisiz, lekin asboblar qutisida tornavida yo'qligini topasiz. Xafa bo'lmaysizmi?
dos2unix qanday o'rnatiladi?
Yechim oddiy! Agar administrator huquqlariga ega bo'lsangiz, uni osongina o'rnatishingiz mumkin.

1. Debian/Ubuntu seriyasi
Agar siz Debian, Ubuntu yoki boshqa Debian-ga asoslangan tizimlardan foydalansangiz, shunchaki ishga tushiring:
apt-get update && apt-get install dos2unix -y
2. CentOs/RHEL seriyali
Agar siz CentOS yoki RHEL dan foydalansangiz, foydalanishingiz mumkin yum O'rnatish uchun:
yum install dos2unix -y
Yoki tizimingiz foydalansa dnf(CentOS 8+ uchun amal qiladi):
dnf install dos2unix -y
3. ArchLinux
Arch foydalanuvchilari odatda ko'proq "geeky" va narsalarni o'zlari qilishda yaxshi, lekin agar siz o'rnatmagan bo'lsangiz dos2unix, shunchaki foydalaning pacman O'rnatish:
pacman -S dos2unix
4. makOS
Agar siz macOS foydalanuvchisi bo'lsangiz, uni Homebrew bilan o'rnatishingiz mumkin:
brew install dos2unix
O'rnatish muvaffaqiyatli bo'lganligini qanday tekshirish mumkin?
O'rnatishdan so'ng, ushbu buyruqni ishga tushirishga harakat qiling:
dos2unix --version
Agar u versiya raqamini itoatkorlik bilan chiqarsa, tabriklaymiz, o'rnatish muvaffaqiyatli bo'ldi!
Menga haqiqatan ham dos2unix kerakmi?
Siz yugurishni payqagandirsiz file check_htaccess.sh Shundan so'ng, tizim quyidagi ma'lumotlarni berdi:
check_htaccess.sh: Bourne-Again shell script, Unicode text, UTF-8 text executable, with very long lines (327)
Bu sizning skriptingiz allaqachon UTF-8 kodlangan Unix skripti ekanligini anglatadi va nazariy jihatdan yangi qator belgilari bilan bog'liq muammolar bo'lmasligi kerak.
Xo'sh, nima uchun uni o'rnatish bilan bezovta qilasiz? dos2unix Nima?
Chunki hamma fayllar ham omadli emas!
Agar siz Windows-dan o'tkazgan faylni o'z ichiga olgan bo'lsa CRLF, bu ba'zi Linux dasturlarida xatolarni yoki hatto tahlil qilishiga olib kelishi mumkin bash Sizning skriptingizda biror narsa noto'g'ri deb o'ylayman.
Shunday qilib, ega dos2unix, xuddi sizda qo'shimcha Shveytsariya armiyasi pichog'i bo'lgani kabi, istalgan vaqtda Windows formatidagi fayllarni tuzatishingiz va xatolik ehtimolini kamaytirishingiz mumkin!
Agar men dos2unixni o'rnatmoqchi bo'lmasam, boshqa yo'l bormi?
Albatta! Linux dunyosida "uyda davolanish" taqchil emas!
1-usul: sed dan foydalanish
sed Bu, shuningdek, o'ldirishi mumkin bo'lgan sehrli vositadir CRLF Qator uzilishlari:
sed -i 's/\r$//' check_htaccess.sh
2-usul: tr dan foydalaning
tr Bu, shuningdek, olib tashlash mumkin bo'lgan tajribali Unix vositasidir CR:
tr -d '\r' < check_htaccess.sh > newfile.sh
mv newfile.sh check_htaccess.sh
3-usul: vim-dan foydalanish
Agar o'rganib qolgan bo'lsangiz vim, Siz .. qila olasiz; siz ... mumkin vim Buni qanday qilish kerak:
:set fileformat=unix
:wq
Xulosa: dos2unix - bu panatseya emas, lekin bu qulay!
Ko'rganingizda dos2unix: command not found Xato qilganingizda, vahima qo'ymang!Sizda shunchaki "formatni o'zgartirish vositasi" yo'q.
dos2unixAsosan uchun ishlatiladiWindows-dan Unix-ga chiziqni uzish muammosi tuzatildi- Ushbu vositaOdatiy bo'lib o'rnatilmagan, shuning uchun uni o'zingiz o'rnatishingiz kerak
- O'rnatish usuli juda oddiy, turli tizimlarda turli xil buyruqlar mavjud (
apt-get,yum,dnf,pacman,brew) - Agar siz o'rnatishni xohlamasangiz, foydalanishingiz mumkin
sed,trYokivimQo'lda ta'mirlash uchun
Keyingi safar bu muammoga duch kelsangiz, uni qanday hal qilishni bilib olasiz!
Esingizda bo'lsin, gap ko'p vositalarga ega bo'lishda emas, balki ulardan qanday foydalanishni bilishda! Endi siz ushbu "konversiya vositasini" o'zlashtirganingizdan so'ng, uni sinab ko'ring! 🚀
Umid qilamanki, Chen Weiliangning blogida ( https://www.chenweiliang.com/ ) ulashilgan "✅ dos2unix: buyruq topilmadi xatosi? Bu 1 qatorli buyruq uni bir necha soniya ichida hal qiladi!" maqolasi siz uchun foydali bo'ladi.
Ushbu maqola havolasini ulashing: https://www.chenweiliang.com/cwl-32651.html
