คำถามติดแท็ก shell

เชลล์เป็นคำศัพท์สำหรับล่ามบรรทัดคำสั่งที่ใช้บ่อยที่สุดกับระบบปฏิบัติการแบบ Unix แต่ยังใช้ในการโต้ตอบกับระบบปฏิบัติการที่ใช้ GUI ในรูปแบบที่ละเอียดยิ่งขึ้น ไม่เพียง แต่จะช่วยให้ผู้ใช้เรียกใช้โปรแกรมจากส่วนต่อประสานข้อความ แต่ยังมีคุณสมบัติการเขียนโปรแกรมขั้นพื้นฐานเช่นตัวแปรการทดแทนการเปลี่ยนเส้นทางเอาต์พุตและสัญลักษณ์แทน

12
วิธีส่งนามแฝงผ่าน sudo
ฉันมีนามแฝงที่ส่งผ่านพารามิเตอร์บางอย่างไปยังเครื่องมือที่ฉันใช้บ่อย บางครั้งฉันวิ่งเป็นตัวเองบางครั้งภายใต้ sudo น่าเสียดายที่ sudo ไม่รู้จักนามแฝง ใครบ้างมีคำใบ้เกี่ยวกับวิธีการส่งนามแฝงผ่าน? ในกรณีนี้ฉันมีตัวเลือกมากมายสำหรับ perl เมื่อฉันกำลังดีบั๊ก: alias pd='perl -Ilib -I/home/myuser/lib -d' บางครั้งฉันต้องแก้จุดบกพร่องเครื่องมือของฉันเป็นรูทดังนั้นแทนที่จะรัน: pd ./mytool --some params ฉันต้องใช้มันภายใต้ sudo ฉันได้ลองหลายวิธี: sudo eval $(alias pd)\; pd ./mytool --some params sudo $(alias pd)\; pd ./mytool --some params sudo bash -c "$(alias pd)\; pd ./mytool --some params" sudo bash -c …
32 shell  sudo  alias 

3
ทำ cat / dev / urandom - Broken terminal
ด้วยความอยากรู้เมื่อชุดตัวละครของคุณแตกออกจากการทำอะไรคล้าย ๆcat /dev/urandomจะมีวิธีในการแก้ไขปัญหาดังกล่าวหรือไม่?
31 linux  bash  shell  tty  dev 

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

8
Linux: การใช้ find เพื่อค้นหาไฟล์ที่เก่ากว่า <วันที่>
findมีการสนับสนุนที่ดีสำหรับการค้นหาไฟล์ที่แก้ไขน้อยกว่า X วันที่แล้ว แต่ฉันfindจะใช้เพื่อค้นหาไฟล์ทั้งหมดที่แก้ไขหลังจากวันที่กำหนดได้อย่างไร ฉันไม่พบสิ่งใดในfindman page ที่จะทำสิ่งนี้เพียงเพื่อเปรียบเทียบกับเวลาไฟล์อื่นหรือเพื่อตรวจสอบความแตกต่างระหว่างเวลาที่สร้างและตอนนี้ การทำไฟล์ด้วยเวลาที่ต้องการและเปรียบเทียบกับวิธีเดียวที่จะทำเช่นนี้?
31 linux  shell  find 

5
การเลือกเชลล์ที่ SSH ใช้?
ฉันจะตั้งค่าเชลล์ที่ใช้เมื่อผู้ใช้ SSHs ไปยังเซิร์ฟเวอร์ได้อย่างไร ตัวอย่างเช่นฉันไม่สามารถยืน BASH และจำเป็นต้องใช้ ZSH ฉันจะทำอย่างไรเพื่อให้ ZSH ถูกโหลดพร้อมกับโปรไฟล์ของฉัน ( .zsh_profile) เมื่อฉันไปที่เครื่อง ฉันไม่ต้องการที่จะผ่านพารามิเตอร์จำนวนมากด้วย ssh เช่นกันฉันไม่สามารถตั้งค่าเปลือกเริ่มต้นได้หรือไม่
31 shell 

5
เหตุใดจึงใช้เวลานับสิบวินาทีในการรับ shell prompt
มันเป็นเหตุการณ์ปกติที่หลังจาก SSHing ไปยังเซิร์ฟเวอร์ (หรือเปิดเทอร์มินัลบน Mac ของฉัน) แบนเนอร์ล็อกอินจะพิมพ์ทันที แต่จะใช้เวลาประมาณ 10 วินาทีถึงหนึ่งนาทีเพื่อให้เชลล์แจ้งให้ปรากฏ หลังจากนั้นประสิทธิภาพจะดีและเวลาแฝงของเครือข่ายไม่ผิดปกติ สิ่งนี้ดูเหมือนจะไม่ยากกับการคำนวณหน่วยความจำมากหรืองานหนัก IO มันทำอะไรกับซีพียูหลายพันล้านรอบทั้งหมด
30 ssh  performance  shell 

3
ค้นหาคำสั่งการเรียงลำดับเริ่มต้น
ลำดับการเรียงเริ่มต้นสำหรับรายการที่ส่งคืนโดยคำสั่ง linux find คืออะไร ตัวอย่างเช่นถ้าฉันออก find . -type f -name '*mp3' และผลลัพธ์ประกอบด้วยหลายไฟล์ในหลายโฟลเดอร์ย่อยลำดับเริ่มต้นในไดเรกทอรีใดที่อยู่ในรายการ ในเวลาเดียวกันลำดับการเรียงลำดับที่แสดงรายการไฟล์ภายในไดเรกทอรีแต่ละรายการคืออะไร บางครั้งมันกลับมา: ./B/01.mp3 ./A/01.mp3 ./A/04.mp3 ./A/02.mp3 ดูว่าเนื้อหาของสารบบ B อยู่ในรายการเป็นลำดับแรกอย่างไรจากนั้นในไดเรกทอรี A ในเวลาเดียวกันภายในไดเรกทอรี A ไฟล์จะถูกแสดงตามลำดับที่ตลก
30 linux  shell  find 

4
แกล้งทำวันที่สำหรับเปลือกเซสชั่นที่เฉพาะเจาะจง
แน่นอนฉันพยายามที่จะบรรลุสิ่งที่แปลกที่นี่ แต่ฉันต้องการปลอมวันที่ในท้องถิ่นสำหรับเซสชั่นเปลือกบน GNU / Linux ฉันต้องทดสอบแบบกล่องดำว่าโปรแกรมทำงานในวันที่ต่างกันอย่างไรและการแก้ไขวันที่ทั่วทั้งระบบอาจมีผลข้างเคียงที่ไม่พึงประสงค์ (งาน cron, บันทึกไฟล์ที่ยุ่งเหยิง ฯลฯ ) ความคิดใด ๆ
30 linux  unix  shell  unix-shell  time 

6
บังคับให้ SSH ใช้เปลือกเฉพาะ
มีวิธีใดที่จะบังคับให้ SSH ใช้เชลล์เฉพาะบนรีโมตปลายทางไม่ว่าเชลล์ดีฟอลต์ของผู้ใช้จะเป็นอะไร? ฉันได้ลองใช้โซลูชันคล้ายกับ: ssh host.domain.com /bin/bash -c 'complicated, multi-line command' แต่น่าเสียดายที่เชลล์เริ่มต้นบนรีโมตรับผิดชอบการแยกส่วน "คำสั่งที่ซับซ้อนหลายบรรทัด" และฉันมีปัญหาในการหลีกเลี่ยงมันเพียงพอที่จะทำงานได้ทั้งผู้ใช้ Bash และ C

2
เรียกใช้คำสั่งในฐานะผู้ใช้ Linux“ ระบบ” (shell = / bin / false)
ฉันสร้างผู้ใช้ "ระบบ" ใน Ubuntu 11.04 ( adduser --system) เพื่อใช้งาน cron บางอย่าง แต่บางครั้งฉันต้องการทดสอบสิ่งต่าง ๆ โดยใช้คำสั่งด้วยตนเองในฐานะผู้ใช้นั้น วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร? suไม่ทำงานเนื่องจากผู้ใช้มี/bin/falseเป็นเชลล์ (ซึ่งใช้ได้สำหรับ cron) ฉันเปลี่ยนเชลล์เป็นด้วยตนเอง/bin/bashเพื่อทำการทดสอบแล้วเปลี่ยนกลับอีกครั้ง แต่ฉันสงสัยว่ามีวิธีที่ง่ายกว่านี้ไหม
29 linux  ubuntu  shell  cron  su 

2
วิธีการตีความผลลัพธ์จากคำสั่ง 'บน' Linux?
หลังจากการสนทนาได้ทำที่นี่เกี่ยวกับการPHP-FPMใช้หน่วยความจำฉันพบปัญหาในการอ่านหน่วยความจำในtopคำสั่ง นี่คือภาพหน้าจอของฉันเพียงแค่หลังจากที่เริ่มต้นtop PHP-FPMทุกอย่างเป็นปกติ: ประมาณ 20 PHP-FPMกระบวนการใช้หน่วยความจำ 5.5MB (รวม 0.3% จากทั้งหมด) นี่คือเซิร์ฟเวอร์เก่าที่ถูกต้องก่อนรีสตาร์ทPHP-FPM(หนึ่งวันหลังจากการรีสตาร์ทครั้งก่อน) ที่นี่เรายังมีประมาณ 25 PHP-FPMด้วยการใช้หน่วยความจำสองเท่า (10MB ระบุ 0.5% จากทั้งหมด) ดังนั้นหน่วยความจำทั้งหมดที่ใช้ควรเป็น 600-700 MB ทำไมจึงมีการใช้หน่วยความจำ 1.6GB
27 linux  memory  shell  top 

4
/ bin / dash คืออะไร
ฉันคิดว่า/bin/shเป็นการเชื่อมโยงไปยังเชลล์ที่ฉันเลือก ผมเคยใช้เสมอbashดังนั้นฉันคิดว่าจะชี้ไป/bin/sh แต่กลับกลายเป็นว่าที่จะชี้ไปที่/bin/bash/bin/dash มันสนุกขึ้น ฉันเริ่มdashและทำecho $SHELLและมันพิมพ์/bin/bash(ดังนั้นโดยพื้นฐานแล้วมันเหมือนกันหรือไม่) อย่างไรก็ตาม man page ของdashแตกต่างอย่างสิ้นเชิงจาก man page ของbash(ดังนั้นจึงไม่เหมือนกันหรือไม่)
27 linux  bash  shell 


10
มุมมองสดของคำสั่งเชลล์ Linux ที่ดำเนินการโดยผู้ใช้รายอื่น?
เป็นไปได้หรือไม่ที่ผู้ใช้รูทใน Linux มีมุมมองแบบเรียลไทม์ (หรือใกล้เคียงกับเรียลไทม์) ของคำสั่งเชลล์ที่รันโดยผู้ใช้รายอื่นที่ล็อกอินผ่านเทอร์มินัลหรือ SSH เห็นได้ชัดว่ามีการจัดเก็บใน. bash_history แต่จะถูกบันทึกไว้เมื่อผู้ใช้ออกจากระบบและสามารถปิดใช้งานได้เช่นกัน แก้ไข: สิ่งที่ดีเลิศที่สามารถเปิดและปิดได้อย่างง่ายดาย
27 linux  security  shell 

12
ไม่สามารถเรียกใช้ AWS CLI จาก CRON (ข้อมูลรับรอง)
กำลังพยายามเรียกใช้สคริปต์สำรอง AWS CLI ง่าย ๆ มันวนลูปผ่านบรรทัดในไฟล์รวมสำรองพา ธ เหล่านั้นสูงถึง S3 และดัมพ์เอาต์พุตไปยังล็อกไฟล์ เมื่อฉันรันคำสั่งนี้โดยตรงคำสั่งจะรันโดยไม่มีข้อผิดพลาด เมื่อฉันเรียกใช้ผ่าน CRON ฉันได้รับข้อผิดพลาด "ไม่สามารถค้นหาข้อมูลประจำตัว" ในบันทึกผลลัพธ์ของฉัน เชลล์สคริปต์: AWS_CONFIG_FILE="~/.aws/config" while read p; do /usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive &gt;&gt; /PATH/TO/LOG 2&gt;&amp;1 done &lt;/PATH/TO/INCLUDE/include.txt ฉันเพิ่งเพิ่มบรรทัดลงในไฟล์กำหนดค่าหลังจากที่ฉันเริ่มเห็นข้อผิดพลาดโดยคิดว่าอาจแก้ไขได้ เชลล์สคริปต์ทำงานเป็นรูท ฉันเห็นไฟล์กำหนดค่า AWS ที่ตำแหน่งที่ระบุ และมันก็ดูดีสำหรับฉัน (อย่างที่ฉันบอกว่ามันทำงานได้ดีนอก CRON)

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