Unix & Linux

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

2
ทำไมคำสั่ง xargs นี้ไม่ทำงาน
ฉันต้องการลบส่วนขยาย. sh ทั้งหมดเพื่อทำสิ่งนี้: ls *.sh | xargs -I {} mv {} `basename {} .sh` อย่างไรก็ตามมันไม่ทำงานมันจะทำงานเหมือนbasenameส่งคืนชื่อไฟล์ที่ไม่เปลี่ยนแปลง ทำไมมันเป็นเช่นนั้น ตัวอย่างเช่นงานนี้: ls *.sh | xargs -I {} echo `basename {}.jpg .jpg`; แก้ไข : วิธีแก้ไข: อัญประกาศเดี่ยวป้องกัน`basename ...`การประเมินผลโดยเชลล์ก่อนที่คำสั่งจะรัน ls *.sh | xargs -I {} sh -c 'mv {} `basename {} .sh`'

2
ฉันจะแน่ใจได้อย่างไรว่าไดเรกทอรีหรือไฟล์ถูกลบจริง
ฉันรู้ว่าไฟล์ส่วนใหญ่เมื่อถูกลบจะไม่ถูกลบออกจากดิสก์จริงและสามารถกู้คืนได้ในภายหลัง ฉันจะมั่นใจได้อย่างไรว่าไดเรกทอรีที่ฉันลบจะถูกลบออกจากดิสก์จริงหรือ มีสาธารณูปโภคสำหรับสิ่งนั้นหรือไม่? ฉันใช้ Debian Linux

1
ทำไม Debian ถึงขอให้ฉันใส่แผ่นซีดี (การติดตั้ง?) เมื่อฉันติดตั้งแพ็คเกจ?
ฉันสังเกตเห็นบางครั้งเมื่อฉันทำapt-getDebian ขอให้ฉันใส่ [ซีดีการติดตั้งที่ฉันใช้] (6.0.6 amd64 dvd1) บางครั้งมันก็ไม่ถึงแม้ว่าอาจเป็นเพราะฉันได้ติดตั้งไว้ก่อนหน้านี้แล้ว ฉันไม่สามารถสังเกตเห็นรูปแบบที่แน่นอน ทำไมนี้ สิ่งนี้เกิดขึ้นกับรสชาติอื่นด้วยหรือไม่ และฉันได้ค้นหาสิ่งต่าง ๆ เช่น "virtualbox apt-get installation cd" โดยไม่มีโชค (ไม่สามารถค้นหาข้อความค้นหาที่ดี)
14 debian  apt 

2
ไปป์ไลน์เพื่อ xargs
ฉันมีสคริปต์ที่ในบางสถานการณ์อาจไม่มีอะไรใน stdout ในตอนท้ายของสคริปต์ฉันผ่านบรรทัดที่ฉันมีไปยังคำสั่งอื่นโดยใช้ xargs ปัญหาของฉันคือเมื่อไม่มีอะไรใน stdout ฉันได้รับข้อความแสดงข้อผิดพลาด "การใช้งาน: โปรแกรม arg1 arg2" ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร
14 bash  xargs 

2
“ ไม่พบหน้าจอ” ในขณะที่เริ่ม Xorg ด้วย startx หลังจากติดตั้งไดรเวอร์ Nvidia ใน Virtualbox
ฉันติดตั้ง Arch i686 บน VirtualBox VM (ฉันมี nvidia GT610) ฉันรันคำสั่งต่อไปนี้เป็น root: pacman -S nvidia หลังจากติดตั้งและรีบูตฉันวิ่ง pacman -S xorg-server xorg-xinit xorg-server-utils xorg-twm xorg-xclock xterm แล้วก็ startx No screens foundผมได้รับข้อผิดพลาดร้ายแรงพูด มีความช่วยเหลือเกี่ยวกับสิ่งที่ฉันควรทำอย่างไร?
14 xorg  virtualbox 

1
~ / .xinitrc ไม่ได้ถูกเรียกใช้
ฉันไม่สามารถเรียกใช้สคริปต์~/.xinitrc( ~/.xsession) ของฉันเมื่อเข้าสู่ระบบคอมพิวเตอร์ของฉัน ฉันใช้ Xubuntu 12.10 กับ vanilla lightgm ในฐานะผู้จัดการการเข้าสู่ระบบ ไฟล์ทั้งสองนี้มีสิทธิ์ที่ถูกต้อง (ปฏิบัติการ) ฉันมีในของฉัน~/.xinitrcต่อไปนี้: #!/usr/bin/env bash # read ~/.Xmodmap if it exists if [[ -f "${HOME}/.Xmodmap" ]]; then xmodmap "${HOME}/.Xmodmap" fi # read ~/.Xresources if it exists if [[ -f "${HOME}/.Xresources" ]]; then xrdb -load "${HOME}/.Xresources" fi # use gnome-keyring-daemon to …
14 ubuntu  x11  lightdm 

4
กลุ่มแตกต่างจากคนในพื้นที่เมื่อเข้าสู่ระบบจากระยะไกล
เราจัดเก็บผู้ใช้ของเราใน LDAP พร้อมกับกลุ่มที่มีความหมายในระบบที่แตกต่างกัน (บทบาทขององค์กรรวมถึงwheel) นอกจากนี้ยังมีกลุ่มท้องถิ่นไปยังเวิร์กสเตชันเช่นaudioหรือvideoที่ไม่พึงประสงค์ที่จะใส่ลงใน LDAP ตอนนี้ถ้าฉันเข้าสู่ระบบในท้องถิ่นฉันจะได้รับกลุ่มท้องถิ่นเหล่านั้น แต่ถ้าฉันเข้าสู่ระบบผ่าน SSH ในเครื่องเดียวกันฉันขาดพวกเขา แน่นอนว่าพวกเขาจะกลับมาถ้าฉันใช้suตรงหลังจากนั้น ฉันอาจผิดทาง แต่สงสัยว่า PAM รายการที่เกี่ยวข้องจาก nsswitch.conf passwd: compat ldap shadow: compat ldap group: compat ldap สำหรับ pam ให้ตรวจสอบความถูกต้องเสมอ แต่บรรทัดอื่น ๆ จะเหมือนกัน /etc/pam.d/sshd auth include system-remote-login /etc/pam.d/system-remote-login(เหมือนsystem-local-loginฉันอาจเพิ่ม) auth include system-login /etc/pam.d/system-login auth required pam_tally2.so onerr=succeed auth required pam_shells.so auth required pam_nologin.so …

5
Openswan เชื่อมต่อกับเครือข่ายย่อยทางขวาหลายอันไม่ทำงาน
ฉันพยายามใช้ Openswan (เวอร์ชัน 2.6.37) เพื่อเชื่อมต่อ IPsec VPN จากเครือข่ายท้องถิ่นของฉันไปยังไซต์ระยะไกล ทุกอย่างทำงานได้ดีเมื่อฉันต้องการเชื่อมต่อกับซับเน็ตเดียวบนไซต์ระยะไกล อย่างไรก็ตามไซต์ระยะไกลยังมีซับเน็ตพิเศษที่ฉันต้องการเข้าถึง นี่คือการกำหนดค่าของฉัน: conn myConn type=tunnel left=192.168.139.14 leftsubnet=192.168.139.0/24 leftxauthclient=yes right=X.X.X.X rightsubnet=172.16.1.0/24 keyexchange=ike auth=esp authby=secret phase2alg=3des-sha1 pfs=yes เมื่อฉันแทนที่rightsubnetด้วยrightsubnetsเช่น: rightsubnets={172.16.1.0/24 192.168.3.0/24} ... จากนั้นสร้างการเชื่อมต่อสำเร็จ แต่จะมีเฉพาะซับเน็ตสุดท้ายในรายการเท่านั้น ความพยายามในการ ping อะไรบน172.16.1.0ซับเน็ตล้มเหลว ถ้าฉันสลับลำดับของซับเน็ตรอบฉันสามารถปิงได้172.16.1.Xแต่ไม่สามารถปิงอะไรบนซับเน็ตอื่น เหมือนกับว่า Openswan ใช้เครือข่ายย่อยสุดท้ายในรายการเพื่อสร้างการเชื่อมต่อเท่านั้น ฉันทำอะไรผิดที่นี่เหรอ? ข้อมูลเพิ่มเติมเล็กน้อยที่ฉันไม่ได้พูดถึง (แม้ว่าฉันไม่แน่ใจว่าเกี่ยวข้อง): ไคลเอ็นต์ Openswan ของฉันอยู่หลังเราเตอร์ที่ใช้ NAT และฉันมีnat_traversal=yesอยู่ในipsec.confไฟล์ของฉัน
14 networking  vpn  ipsec 

1
Linux ส่งการเปลี่ยนเส้นทาง ICMP เสมอ
ฉันมี Debian Squeeze หลายตัว (6.0.6 ทันสมัย) ที่ใช้เป็นเราเตอร์ เมื่อลิงก์หยุดทำงานพวกเขาจะส่งการเปลี่ยนเส้นทาง ICMP ไปยังโฮสต์ในเครื่อง นี่คือพฤติกรรมเริ่มต้นของ Debian และอีกหลายคน ดังนั้นเมื่อลิงก์กลับมามีชีวิตโฮสต์จะไม่สามารถเข้าถึงได้จนกว่าจะรีบูต ฉันไม่ต้องการให้มีการเปลี่ยนเส้นทาง ICMP จากเราเตอร์เหล่านั้น ฉันทดสอบecho 0 > /proc/sys/net/ipv4/conf/all/send_redirectsและsysctl -w net.ipv4.conf.all.send_redirects=0ใส่net.ipv4.conf.all.send_redirects=0ลงใน/etc/sysctl.d/local.conf โซลูชันเหล่านั้นทุกอันใส่ค่าที่ถูกต้อง/proc/sys/net/ipv4/conf/all/send_redirects แต่ ... เคอร์เนลส่งการเปลี่ยนเส้นทาง ICMP ไปเรื่อย ๆ แม้หลังจากรีบูต: $ tcpdump -n -i eth0 00:56:17.186995 IP 192.168.0.254 > 192.168.0.100: ICMP redirect 10.10.13.102 to host 192.168.0.1, length 68 และตารางเส้นทางของโฮสต์ท้องถิ่น …
14 linux  networking  ip 

2
วิธีตรวจสอบ Passive และ Active FTP
ฉันจะตรวจสอบว่า FTP (Passive หรือ Active) ทำงานอยู่ได้อย่างไร โดยค่าเริ่มต้น FTP แฝงทำงานใน linux แต่ฉันจะตรวจสอบได้อย่างไร
14 ftp 

2
อะไรที่ทำให้ / dev / disk / by-label บรรจุอยู่?
ฉันสังเกตว่าลีนุกซ์รุ่นลีนุกซ์มีไดเร็กตอรี่ / dev / disk / by-label, แต่มันไม่ได้เป็นเช่นนั้นเสมอไป (ตัวอย่างเช่น, อิมเมจการทดสอบCirrOS Linux ไม่มีหนึ่งอัน) สิ่งที่ต้องการในระบบ Linux สำหรับการเติมไดเรกทอรี / dev / disk / by-label ให้ถูกต้อง?

11
ฉันจะค้นหา RHEL รุ่นใดได้บ้าง
ฉันทำงานในสภาพแวดล้อมที่เราค่อยๆเปลี่ยนเครื่องจาก Red Hat Enterprise Linux 5 เป็น RHEL 6 ฉันต้องการสคริปต์บางส่วนของฉันเพื่อทำสิ่งที่แตกต่างอย่างละเอียดบนเครื่อง RHEL6 กับสิ่งที่กำลังทำอยู่บนเครื่อง RHEL5 วิธีแก้ปัญหาในทางปฏิบัติคือการตรวจสอบที่รันไทม์และเรียกใช้คำสั่งบางอย่างบน RHEL5, อื่น ๆ บน RHEL6 และบางคำสั่งทั้งสอง ตัวอย่างการใช้งานจริงของสิ่งนี้คือเรากำลังใช้โมดูลสภาพแวดล้อมและฉัน.bashrcมีmodule load gitบรรทัด แต่ในเครื่อง RHEL6 ข้อผิดพลาดของคำสั่งนี้: RHEL6 system, git should be installed - not loading module มองหา modulefile ฉันพบรหัสต่อไปนี้: set redhatrelease [eval exec "cat /etc/redhat-release"] if { [regexp -nocase {release …
14 bash  rhel 

1
ยูทิลิตีบรรทัดคำสั่งเพื่อดึงรหัสผ่านที่ไม่มีเสียงสะท้อนกลับ
คำสั่ง Bash builtin read ดูเหมือนจะไม่สนับสนุนตอนนี้ฉันต้องให้ผู้ใช้ป้อนรหัสผ่านในขณะที่ไม่ควรแสดงเสียงก้องฉันสามารถใช้เครื่องมืออะไรได้บ้าง
14 bash  input 

5
crontab -e จากนั้น 0 * * * * = ทุก ๆ ชั่วโมง ... เก็บไว้ที่ไหน
หลังจาก sudo crontab -e (มันเขียนว่า "/tmp/crontab.XXXX70pN9h" 1L, 19C 1,1 ทั้งหมด จากนั้นฉันบันทึกไฟล์ และเพื่อตรวจสอบ .. ? (อย่างไรฉันไม่รู้) And to check I ps -e | grep cron 29818 ? 00:00:00 cron ดังนั้น .. แต่ฉันตัดสินใจที่จะตรวจสอบอีกครั้ง แต่ sudo cat /etc/cron.hourly cat: /etc/cron.hourly: Is a directory xi@localhost ~ $ sudo ls /etc/cron.hourly ไม่มีอะไร! เช่นในไดเรกทอรี ที่ฉันเข้าใจ 0 …
14 linux  cron 

8
การตั้งค่าที่แนะนำสำหรับสภาพแวดล้อมการเขียนโปรแกรมแบบข้อความที่มีน้ำหนักเบาเป็นพิเศษใน linux
ฉันกำลังมองหาคำแนะนำสำหรับการตั้งค่าสำหรับความต้องการเฉพาะของฉัน ฉันไม่ได้ทำลินุกซ์มามากตั้งแต่เรียนจบและอยากกลับมาเป็นงานอดิเรก ฉันมีฮาร์ดแวร์ที่ไม่แรงเกินไป (RAM 512 MB, single core) ฉันต้องการทำทุกอย่างผ่านเชลล์และโปรแกรมแก้ไขข้อความเช่นเสียงเรียกเข้า เป้าหมายของฉันคือไม่เคยแตะเมาส์ ฉันต้องการความสามารถในการเปิดเชลล์หลาย ๆ ตัวพร้อมกันหนึ่งตัวกำลังเรียกใช้เว็บเซิร์ฟเวอร์หนึ่งที่เรียกใช้เป็นกลุ่มเรียกใช้แอปพลิเคชันของฉันสร้างไปป์ไลน์และอีกหนึ่งคำสั่งสำหรับ ad-hoc เชลล์คำสั่งเช่น wget grepping และ untarring เป็นต้น สามารถเปิดเชลล์ใหม่และสลับระหว่างเชลล์ได้อย่างรวดเร็วด้วยคีย์บอร์ด แต่ถึงแม้ว่าฉันต้องการเชลล์หลายตัว แต่ฉันไม่ต้องการสภาพแวดล้อมเดสก์ทอปแบบกราฟิก ฉันไม่ต้องการถูกล่อลวงให้ใช้เมาส์ ส่วนหนึ่งของจุดประสงค์ของฉันคือการบังคับตัวเองให้เรียนรู้วิธีใช้บรรทัดคำสั่งในการทำงานต่างๆ ฉันยังต้องการที่จะใช้ประโยชน์จากจอภาพขนาดใหญ่ของฉันโดยใช้เสียงเรียกเข้าพร้อมกับคอลัมน์สองร้อยคอลัมน์ที่ลดลง เป็นไปได้ไหม

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