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

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

1
rsync: getcwd (): ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว (2)
ฉันต้องการซิงค์Server1และServer2บันทึกLogServerของ สำหรับServer1: rsync -avz -e 'ssh -p 2188' user@server1:/usr/local/servers/logs/* /usr/local/logs/ อันนี้ใช้ได้ แต่Server2: rsync -avz -e 'ssh -p 2188' user@server2:/usr/local/servers/logs/* /usr/local/logs/ มันล้มเหลว: shell-init: error retrieving current directory: getcwd: cannot access parent directories: no such file or directory job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: no such file or …
11 linux  ssh  rsync  shell 

3
piping รหัสผ่านและความปลอดภัย
echo "secret" | mysql -u root -p ...บางครั้งที่ฉันทำ ตอนนี้ฉันกังวลเกี่ยวกับความปลอดภัยที่นี่: ใครบางคนสามารถแสดงรายการกระบวนการทั้งหมดเห็นรหัสผ่าน? ในการตรวจสอบฉันลองด้วยecho "test" | sleep 1000และคำสั่ง echo กับความลับนั้นมองไม่เห็นในผลลัพธ์ของ "ps aux" ดังนั้นฉันคิดว่ามันปลอดภัย - แต่ผู้เชี่ยวชาญด้านความปลอดภัยสามารถยืนยันได้ไหม :)
11 security  shell 

4
วิธีแก้ไขคำสั่งเสร็จสิ้นสำหรับ ssh บน zsh?
ฉันต้องการตั้งค่าความสมบูรณ์ของคำสั่งใน zsh เพื่อแสดงชื่อโฮสต์หลังจากที่ฉันพิมพ์ ssh [TAB] นำชื่อออกจากไฟล์. ssh / config ของฉัน (และควรเป็นที่รู้จักจาก known_hosts และ / etc / hosts และอื่น ๆ ที่เหมาะสม) และนำเสนอรายการเดียว มันทำอะไรบางอย่างในขณะนี้ แต่ มันไม่ได้ใช้. ssh / config เลย ต้องการชื่อผู้ใช้ก่อนแม้ว่าการใช้. ssh / config จะทำให้การพิมพ์ชื่อผู้ใช้ไม่จำเป็น มันมีหลายรายการ (อาจเป็นหนึ่งใน known_hosts และอีกรายการจาก / etc / hosts แต่ฉันยังไม่ได้ยืนยัน) ดังนั้นฉันจึงต้องการที่จะรวมชื่อผู้ใช้ที่รู้จักและชื่อโฮสต์ที่รู้จักในรายการ (ดีกว่าเดียว) หลังจากพิมพ์ ssh [TAB] (ฉันมาที่นี่ก่อน Google เพราะ …

6
ยูทิลิตี้เชลล์แบบกระจายแบบใดที่ผู้คนรู้สึกว่าดียืดหยุ่นและใช้งานง่าย [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันค้นหาและรวบรวมลิงก์สำหรับพวกเขาจำนวนมาก แต่เครื่องมือเหล่านี้จำนวนมากไม่มีกรณีการใช้งานหรือเอกสารประกอบการสาธิตเพียงพอที่จะประเมินมูลค่าที่อาจเกิดขึ้นได้โดยไม่ต้องติดตั้งและทดลองใช้งาน ฉันหวังว่าผู้คนที่นี่จะมีประสบการณ์กับพวกเขาบางคนและสามารถให้ข้อเสนอแนะเกี่ยวกับวิธีการติดตั้งและใช้งานได้ง่าย กรณีการใช้งานส่วนตัวของฉันคือกลุ่มเครื่องสองสามอย่างที่มักใช้ในคอนเสิร์ตเพื่อทำงานเกี่ยวกับงานที่แจกจ่าย เครื่องไม่ได้เป็นคลัสเตอร์จริง (เช่น beowulf) และความต้องการหลักของฉันคือช่วยในการกำหนดค่าและการจัดการเครื่อง หากยูทิลิตี้ให้ความสามารถในการแยกชิ้นงานออกเป็นชิ้น ๆ และกระจายชิ้นส่วนเหล่านั้นนั่นเป็นเรื่องที่น่าสนใจ แต่ฉันต้องใช้เคสตัวแรกก่อน นี่คือรายการของโครงการที่ฉันพบว่าฟรีและโอเพนซอร์ส: pdsh clusterssh pssh clusterit fanout omnitty taktuk จาน DSH pydsh ฉันอยากได้ยินความคิดของคุณ!
11 linux  shell  cluster 

2
เป็นวิธีที่ดีที่สุดในการตั้งค่าตัวแปรสภาพแวดล้อมใน. bashrc คืออะไร?
เมื่อตั้งค่าตัวแปร.bashrcฉันควรใช้สิ่งนี้หรือไม่? export VAR=value หรือนี่จะเพียงพอหรือไม่ VAR=value ความแตกต่างคืออะไร (ถ้ามี)

4
Linux / mysql: ปลอดภัยไหมที่จะคัดลอกไฟล์ mysql db ด้วยคำสั่ง cp จากฐานข้อมูลหนึ่งไปยังอีกชุดหนึ่ง?
คู่มือส่วนใหญ่แนะนำ mysqldump และ SQL อย่างง่ายสำหรับการคัดลอกหนึ่งตารางไปยัง anoter db linux shell cp เป็นอย่างไร? ฉันสามารถทำได้ cp /db1/mytable.frm /db2/mytable.frm
11 linux  mysql  shell  copy 

5
การเปลี่ยนเชลล์ (ใช้ chsh) ผ่านบรรทัดคำสั่งในสคริปต์
ในสคริปต์เริ่มต้นที่ตั้งค่าเครื่องฉันต้องการเรียกใช้ chsh -s /bin/zsh อย่างไรก็ตามสิ่งนี้จะถามรหัสผ่านของผู้ใช้ ฉันจะส่งรหัสผ่านเป็นพารามิเตอร์ได้อย่างไร หรือถ้าฉันมีพลัง sudo ฉันสามารถข้ามผ่านขั้นตอนนั้นได้หรือไม่? หรือมิฉะนั้นจะมีวิธีอื่นในการเปลี่ยนเชลล์เริ่มต้นเริ่มต้นหรือไม่
11 linux  shell 

1
วิธีการ“ ยกเลิกการบันทึก ANSI-fy”
เมื่อเร็ว ๆ นี้มีแนวโน้มโดยเครื่องมือบรรทัดคำสั่งเพื่อใช้สีแฟนซี ANSI ในบันทึกผลลัพธ์ของพวกเขา (ตัวอย่างเช่น NPM และโฮสต์ของเครื่องมือตาม nodejs, rvm, นักเทียบท่าและเครื่องมือ "ทันสมัย" อื่น ๆ อีกสองสาม) สิ่งนี้ทำให้การอ่านบนหน้าจอ (*) เป็นเรื่องที่ดี แต่ไม่ดีนักเมื่อคุณต้องการไพพ์เอาต์พุตไปยังล็อกไฟล์หรือผ่านการขนส่งที่ไม่รองรับ ANSI เช่นเครื่องมือการเรียกใช้จากระยะไกลและโซลูชันการตรวจสอบผ่านเว็บ เครื่องมือที่เป็นผู้ใหญ่มากขึ้นอย่างน้อยก็มีความเหมาะสมในการตรวจจับเมื่อเอาต์พุตไม่ใช่ TTY และปิดการใช้สี แต่ไม่ใช่กับ CLIs ใหม่ที่เป็นมิตรกับผู้ใช้ซึ่งทำให้ฉันพยายามกำจัดสี ANSI ด้วยการวางท่อ เอาท์พุทผ่านกระบวนการอื่น การซึมซับผลลัพธ์ที่ผ่านมาs/\x1B\[[0-9]*\w//gดูเหมือนจะทำให้งานเสร็จ แต่มีวิธีที่สะอาดกว่านี้เพียงคัดลอกการวางนิพจน์ปกติลงในสคริปต์ทั้งหมดของฉัน (*) อย่างน้อยก็จนกว่าเครื่องมือจะพยายามแสดงข้อผิดพลาดเป็นสีแดงเข้มบนเทอร์มินัลพื้นหลังสีเข้มของคุณ
10 shell  console  ansi 

7
ค้นหาไดเรกทอรีที่ไฟล์ที่มีจุดสิ้นสุดเฉพาะหายไป
ฉันต้องการที่จะแสดงไดเรกทอรีทั้งหมดที่ไม่ได้มีไฟล์ที่มีไฟล์เฉพาะที่สิ้นสุด ดังนั้นฉันพยายามใช้รหัสต่อไปนี้: find . -type d \! -exec test -e '{}/*.ENDING' \; -print ในตัวอย่างนี้ฉันต้องการที่จะแสดงไดเรกทอรีทั้งหมดที่ไม่ได้มีไฟล์ที่มีตอนจบ.ENDINGแต่มันไม่ทำงาน ความผิดพลาดของฉันอยู่ที่ไหน
10 linux  bash  shell 

2
ลิงก์สัญลักษณ์และ sudo
ฉันสร้างลิงค์สัญลักษณ์: ln -s /tmp/folder1 /tmp/folder2 จากนั้นฉันไปที่ / tmp / folder2 และเรียกใช้pwd: $ cd /tmp/folder2/ $ pwd /tmp/folder2 $ sudo pwd /tmp/folder1 # <-- This is the odd part ทำไมpwdมีsudoให้ไดเรกทอรีเดิม? ฉันกำลังเขียนสคริปต์ทุบตีและต้องการเส้นทางที่แน่นอนของไดเรกทอรีปัจจุบัน ด้วย sudo ฉันไม่สามารถรับไดเรกทอรีดั้งเดิมได้

4
เปลี่ยน mysql bind-address ภายในสคริปต์
อะไรจะเป็นวิธีที่ดีที่สุดในการเปลี่ยน mysql bind-address ใน my.cnf จาก shell script? มีวิธีการใช้เครื่องมือเช่น mysqladmin หรือฉันควรใช้ sed หรือฉันควรผนวกเข้ากับ my.cnf และหวังว่ารายการที่สองจะเขียนทับแรก (อันนี้ฟังดูไม่ดี) ฉันพยายามเขียน shell sheller แบบธรรมดาสำหรับคนจรจัดที่ทำงานหลังจากติดตั้ง mysql-server เพื่ออนุญาตการเชื่อมต่อจากภายนอก vm

4
ฉันจะตั้งค่า SFTP สำหรับเว็บไซต์โดยไม่ให้สิทธิ์การเข้าถึงเชลล์ได้อย่างไร
ฉันต้องการใช้ SFTP สำหรับเว็บไซต์ทั้งหมดในเซิร์ฟเวอร์ cPanel CentOS ของฉันเนื่องจากเราเคยแฮ็กรหัสผ่าน FTP มาก่อน (ไม่ยาก) อย่างไรก็ตามฉันไม่ต้องการให้บัญชี SFTP แต่ละไซต์มีการเข้าถึงเชลล์ (ไม่ใช่แม้แต่เชลล์ที่ติดคุก) เป็นไปได้และเป็นอย่างไร ฉันเงียบใหม่สำหรับ UNIX การจัดการเซิร์ฟเวอร์และบรรทัดคำสั่ง
10 shell  sftp 


7
เหตุใดไฟล์นี้จึงถูกซ่อนเมื่อคุณเรียกใช้ ls
แก้ไข: ฉันลืมเรื่องนี้ทั้งหมด ปรากฎว่าฉันมีฮาร์ดดิสก์ที่ไม่ดี เราต้องปรับใช้เซิร์ฟเวอร์นี้สำหรับความต้องการอื่น ๆ ดังนั้นในที่สุดฉันก็กลับมาแทนที่ดิสก์ที่ไม่ดีหนึ่งอันและเรากลับมาทำธุรกิจอีกครั้ง สองสามสัปดาห์ตอนนี้ฉันไม่สามารถหาสาเหตุที่ฉันไม่สามารถลบไฟล์นี้โดยเฉพาะ ในฐานะที่เป็น root ฉันทำได้ แต่เชลล์สคริปต์ของฉันทำงานเป็นผู้ใช้อื่น ดังนั้นฉันไปวิ่ง ls -la และมันไม่ได้มี อย่างไรก็ตามถ้าฉันเรียกมันว่าเป็นพารามิเตอร์มันจะปรากฏขึ้น! แน่นอนว่าเจ้าของคือรูตดังนั้นฉันจึงไม่สามารถลบได้ แจ้งให้ทราบล่วงหน้า 6535 หายไป ... [root@server]# ls -la 653* -rw-rw-r-- 1 svn svn 24002 Mar 26 01:00 653 -rw-rw-r-- 1 svn svn 7114 Mar 26 01:01 6530 -rw-rw-r-- 1 svn svn 8653 Mar 26 …

3
Bash: จะรู้ได้อย่างไรว่าผลลัพธ์ของคำสั่งสุดท้ายลงท้ายด้วยการขึ้นบรรทัดใหม่หรือไม่?
เวลาส่วนใหญ่ที่เอาต์พุตของคำสั่งลงท้ายด้วยอักขระบรรทัดใหม่ แต่บางครั้งมันก็ไม่ได้ดังนั้นเชลล์พรอมต์ถัดไปจะถูกพิมพ์ในบรรทัดเดียวกันพร้อมกับเอาต์พุต ตัวอย่าง: root @ hostname [~] # echo -n สวัสดี helloroot @ hostname [~] # ฉันพบว่ามันน่ารำคาญมากเสมอ ตอนนี้ฉันสามารถเพิ่ม "\ n" ที่จุดเริ่มต้นของตัวแปร PS1 ได้ แต่ส่วนใหญ่แล้วจะพิมพ์หนึ่งบรรทัดเพิ่มเติมที่ฉันไม่ต้องการ เป็นไปได้ไหมที่จะรู้ว่าผลลัพธ์ของคำสั่งสุดท้ายจบลงด้วยการขึ้นบรรทัดใหม่หรือไม่? โซลูชัน: (ขอบคุณเดนนิส) PS1='$(printf "%$((`tput cols`-1))s\r")\u@\h [\w]\$ '
10 linux  bash  shell  prompt 

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