Unix & Linux

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

3
แยกเวิร์กสเปซบนจอภาพแต่ละจอ
ฉันเพิ่งเปลี่ยนไปใช้พีซีเครื่องใหม่ที่ทำงานหนึ่งที่มีสอง (เหมือนกัน Dell 23 ") จอฉันใช้ Linux Mint 15 64 บิต / อบเชยมีวิธีการตั้งค่าในลักษณะที่แทนที่จะเป็นทั้ง จอภาพที่แชร์พื้นที่ทำงานขนาดใหญ่เดียวกันพวกมันแยกกันเล็กกว่าหรือไม่เช่นซ้ายจอบนพื้นที่ทำงาน 1 มอนิเตอร์ขวาบนพื้นที่ทำงาน 2 และฉันสามารถสลับจอภาพทั้งสองเป็นพื้นที่ทำงาน 3 ได้ไหมถ้าจำเป็น มีวิธีการทำสำเนาพาเนลด้านล่างลงบนจอภาพที่สองหรือไม่? ขณะนี้จะปรากฏที่ด้านซ้ายเท่านั้น

7
วิธีการทำให้ Bash ทำงานหลังจากสั่งงาน
ฉันต้องการเรียกใช้บางสิ่งเช่นนี้: bash -c "some_program with its arguments" แต่เพื่อให้มีการทุบตีแบบโต้ตอบให้ทำงานหลังจากsome_programสิ้นสุด ฉันแน่ใจว่า-cไม่ใช่วิธีที่ดีเหมือนman bashseys: เชลล์เชิงโต้ตอบเริ่มต้นหนึ่งโดยไม่มีอาร์กิวเมนต์ที่ไม่ใช่ตัวเลือกและไม่มีตัวเลือก -c ดังนั้นจะทำอย่างไร เป้าหมายหลักอธิบายไว้ที่นี่ บันทึก ฉันจำเป็นต้องยกเลิกsome_programเป็นครั้งคราว ฉันไม่ต้องการให้มันเป็นพื้นหลัง ฉันอยากอยู่ต่อbashไปเพื่อทำอย่างอื่น ฉันต้องการที่จะสามารถเรียกใช้โปรแกรมอีกครั้ง
29 bash 

6
ไพพ์ไปยังหลายไฟล์ในเชลล์
ฉันมีแอปพลิเคชั่นซึ่งจะสร้างข้อมูลจำนวนมากซึ่งฉันไม่ต้องการจัดเก็บลงดิสก์ แอปพลิเคชั่นส่วนใหญ่ส่งออกข้อมูลที่ฉันไม่ต้องการใช้ แต่เป็นชุดข้อมูลที่มีประโยชน์ที่ต้องแยกเป็นไฟล์แยกต่างหาก ตัวอย่างเช่นกำหนดเอาต์พุตต่อไปนี้: JUNK JUNK JUNK JUNK A 1 JUNK B 5 C 1 JUNK ฉันสามารถเรียกใช้แอปพลิเคชันได้สามครั้งดังนี้: ./app | grep A > A.out ./app | grep B > B.out ./app | grep C > C.out นี่จะทำให้ฉันได้สิ่งที่ฉันต้องการ แต่ใช้เวลานานเกินไป ฉันไม่ต้องการดัมพ์เอาต์พุตทั้งหมดไปยังไฟล์เดียวและวิเคราะห์คำนั้น มีวิธีใดบ้างที่จะรวมการดำเนินการทั้งสามที่แสดงไว้ด้านบนในลักษณะที่ฉันจะต้องเรียกใช้แอปพลิเคชันเพียงครั้งเดียวและยังคงได้รับไฟล์เอาต์พุตสามไฟล์
29 bash  shell  grep  pipe 

8
ทดสอบว่ามีไฟล์ที่ตรงกับรูปแบบเพื่อเรียกใช้สคริปต์หรือไม่
ฉันพยายามเขียนifคำสั่งเพื่อทดสอบว่ามีไฟล์ใดที่ตรงกับรูปแบบที่กำหนดหรือไม่ หากมีไฟล์ข้อความในไดเรกทอรีควรเรียกใช้สคริปต์ที่กำหนด รหัสของฉันในปัจจุบัน: if [ -f /*.txt ]; then ./script fi โปรดให้แนวคิดบางอย่าง; ฉันต้องการเรียกใช้สคริปต์หากมีอยู่.txtในไดเรกทอรีเท่านั้น

1
ทุบตีคำสั่งกรณีน้ำตกทั้งหมด?
ฉันพยายามทำสิ่งนี้: case $level in 3) echo "Level Three" 2) echo "Level Two" 1) echo "Level one" ;; esac โดยที่ถ้าระดับ $ = 3 มันจะส่งออก Level Three Level Two Level One ในขณะที่ถ้า $ level = 1 มันจะออกเท่านั้น Level One แต่เมื่อผมลองแล้วฉันจะได้รับข้อผิดพลาดเพราะผมไม่ได้รวมsyntax error near unexpected token ')';; ทุกภาษาที่ฉันรู้จักอนุญาตให้ทำสิ่งนี้มีวิธีที่จะทำได้ในการทุบตีหรือไม่? คำหลักบางประเภทที่หมายถึง "ตอนนี้ไปและทำกรณีถัดไปราวกับว่ามันตรงกับ"?

7
เหตุใดการใช้เธรดมากกว่าทำให้ช้ากว่าการใช้เธรดที่น้อยกว่า
พยายามที่จะเรียกใช้โปรแกรม X ใช้8 เธรดและมันถูกกว่าในn นาที พยายามที่จะเรียกใช้โปรแกรมเดียวกันโดยใช้50 หัวข้อและมันถูกกว่าในn * 10 นาที เหตุใดสิ่งนี้จึงเกิดขึ้นและฉันจะได้รับจำนวนเธรดที่ดีที่สุดที่ฉันสามารถใช้ได้อย่างไร

6
Gedit จะไม่บันทึกไฟล์ในการแบ่งปัน VirtualBox: ไฟล์ข้อความไม่ว่าง
ฉันมีไฟล์ข้อความที่ฉันสามารถเปลี่ยนได้โดยใช้แอปพลิเคชันอื่น (ตัวอย่างopenoffice) แต่เมื่อฉันพยายามเปลี่ยนและบันทึกโดยใช้geditฉันได้รับข้อผิดพลาดจากgedit: Could not save the file /media/sf_Ubuntu/BuildNotes.txt. Unexpected error: Error renaming temporary file: Text file busy สิทธิ์ของ BuildNotes.txt เป็นดังนี้: -rwxrwx--- 1 root vboxsf 839 2012-10-26 12:08 BuildNotes.txt และ ID ผู้ใช้คือ: m@m-Linux:/media/sf_Ubuntu$ id uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf) ปัญหาคืออะไรและฉันจะแก้ไขได้อย่างไร

2
เหตุใดแพคเกจซอฟต์แวร์จึงทำงานได้ดีแม้ในขณะที่กำลังอัปเกรดอยู่
สมมติว่าฉันกำลังใช้งานซอฟต์แวร์และจากนั้นฉันเรียกใช้ตัวจัดการแพคเกจเพื่ออัปเกรดซอฟต์แวร์ฉันสังเกตเห็นว่า Linux ไม่ลดขั้นตอนการทำงานสำหรับการอัปเกรดแพ็คเกจ - มันยังทำงานได้ดี Linux ทำสิ่งนี้ได้อย่างไร
29 linux  files  inode 

1
ทำไม cron จึงไม่สามารถเรียกใช้เนื้อหา sudo ในสคริปต์ของฉันได้อย่างเงียบ ๆ
ฉันมีเรียกใช้สคริปต์จาก crontab sudoผู้ใช้ที่ไม่ได้รับสิทธิพิเศษที่จะเรียกใช้คำสั่งบางอย่าง ยกเว้นว่ามันจะไม่ สคริปต์ทำงานได้ดี แต่คำสั่ง sudo'ed ล้มเหลวอย่างเงียบ ๆ สคริปต์ทำงานอย่างสมบูรณ์แบบจากเชลล์ในฐานะผู้ใช้ที่เป็นปัญหา Sudo ไม่ต้องการรหัสผ่าน ผู้ใช้ในคำถามได้เข้าถึงที่ได้รับใน(root) NOPASSWD: ALL/etc/sudoers Cron กำลังทำงานและเรียกใช้งานสคริปต์ การเพิ่มdate > /tmp/logผลผลิตอย่างง่ายในเวลาที่เหมาะสม ไม่ใช่ปัญหาสิทธิ์ สคริปต์จะถูกเรียกใช้งานอีกครั้งไม่ใช่คำสั่ง sudo'ed มันไม่ใช่ปัญหาของเส้นทาง การรันenvจากภายในสคริปต์ที่กำลังรันแสดง$PATHตัวแปรที่ถูกต้องซึ่งรวมถึงพา ธ ไปยัง sudo การเรียกใช้โดยใช้เส้นทางแบบเต็มไม่ได้ช่วยอะไร คำสั่งที่กำลังดำเนินการจะได้รับชื่อพา ธ เต็ม การพยายามดักจับเอาต์พุตของคำสั่ง sudo รวมถึง STDERR จะไม่แสดงสิ่งใดที่มีประโยชน์ การเพิ่มsudo echo test 2>&1 > /tmp/logสคริปต์สร้างบันทึกเปล่า sudo binary เองนั้นทำงานได้ดีและรับรู้ว่ามันมีสิทธิ์แม้เมื่อเรียกใช้จาก cron ภายในสคริปต์ การเพิ่มsudo -l …
29 sudo  cron 

1
Linux ทำอะไรที่แตกต่างกันซึ่งทำให้ฉันสามารถลบ / แทนที่ไฟล์ที่ Windows จะบ่นว่าไฟล์นั้นถูกใช้งานอยู่ในปัจจุบัน?
ตัวอย่างที่ฉันมีคือ Minecraft เมื่อรัน Bukkit บน Linux ฉันสามารถลบหรืออัปเดตไฟล์. jar ในโฟลเดอร์ / plugins และเพียงแค่เรียกใช้คำสั่ง 'reload' ใน Windows ฉันต้องใช้กระบวนการเซิร์ฟเวอร์ทั้งหมดเพราะจะบ่นว่าขณะนี้ไฟล์. jar กำลังใช้งานอยู่เมื่อฉันพยายามลบหรือแทนที่ มันยอดเยี่ยมสำหรับฉัน แต่ทำไมมันเกิดขึ้น Linux ทำอะไรที่นี่แตกต่างกันอย่างไร

4
ไฟล์ที่กระจัดกระจายเดิมและจากนั้นจะสามารถทำให้กระจัดกระจายอีกครั้ง?
ฉันรู้ว่าการคัดลอกหรือถ่ายโอนสิ่งที่เดิมเป็นไฟล์หร็อมแหร็มโดยไม่ต้องใช้ยูทิลิตี้ที่เข้าใจไฟล์กระจัดกระจายจะทำให้ 'หลุม' ถูกเติมเต็ม มีวิธีการหรือยูทิลิตี้เพื่อเปลี่ยนสิ่งที่ครั้งหนึ่งเคยเป็นไฟล์กระจัดกระจาย ตัวอย่างเช่น: สร้างไฟล์ sparse: % dd if=/dev/zero of=TEST bs=1 count=0 seek=1G # do some op that pads out the holes % scp TEST localhost:~/TEST2 % ls -lhs TEST* 0 -rw-rw-r--. 1 tony tony 1.0G Oct 16 13:35 TEST 1.1G -rw-rw-r--. 1 tony tony 1.0G Oct 16 13:37 …

5
เหตุใดเกือบทุกโปรแกรมจึงบ่นเกี่ยวกับสถานที่ของฉัน
ฉันใช้ Arch Linux และฉันได้ปฏิบัติตามคำแนะนำในวิกิเกี่ยวกับการตั้งค่าภาษาของฉัน เกือบโปรแกรมที่ทำงานทุกบ่นเกี่ยวกับสถานที่เกิดเหตุ - localeแม้ ดูเหมือนว่านี้: % locale locale: Cannot set LC_ALL to default locale: No such file or directory LANG= LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en-US LC_TIME=en-US LC_COLLATE="POSIX" LC_MONETARY=en-US LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT=en-US LC_IDENTIFICATION="POSIX" LC_ALL= หรือ: % perl perl: warning: Setting locale failed. perl: warning: Please check that your …

13
เปิด NumLock ไว้เสมอ
ฉันมีแป้นพิมพ์มาตรฐานพร้อมปุ่มตัวเลขทางด้านขวา (ฉันเดาว่ามันเรียกว่าแป้นพิมพ์ 104 คีย์) ฉันต้องการใช้ปุ่มตัวเลขเป็นปุ่มตัวเลขเท่านั้น นั่นหมายความว่าฉันไม่ต้องการNumLockเปิดและปิดปุ่มตัวเลข อย่างไรก็ตามบางครั้งมันก็เกิดขึ้น (ฉันไม่รู้ว่าบางทีฉันกดปุ่มโดยไม่ตั้งใจNumLock) ว่า numlock ถูกปิดและฉันต้องกดอีกครั้ง มันน่ารำคาญอย่างยิ่ง เป็นไปได้หรือไม่ที่จะปิดใช้งานการปิด numlock? ในคำอื่น ๆ : ฉันต้องการปุ่มตัวเลขของฉันเสมอทำหน้าที่เป็นปุ่มตัวเลขและปิดการใช้งานสวิทช์ NumLock ฉันใช้ Debian และ LXDE (Openbox)
29 keyboard  numlock 

6
ฉันจะสร้างนามแฝงสำหรับคำสั่ง git [action] (ซึ่งมีช่องว่าง) ได้อย่างไร
นามแฝงของฉันส่วนใหญ่เป็นของแบบฟอร์มนี้: alias p='pwd' ฉันต้องการนามแฝงgit commitเพื่อที่จะทำgit commit -v แต่การพยายามสร้างนามแฝงที่มีช่องว่างทำให้เกิดข้อผิดพลาด: $ alias 'git commit'='git commit -v' -bash: alias: `git commit': invalid alias name
29 bash  shell  terminal  alias  git 

4
มีวิธีล็อคบรรทัดคำสั่งหรือไม่
ตัวอย่างเช่นในเซสชั่น X ฉันสามารถใช้Ctrl- Alt- Lเพื่อล็อคหน้าจอดังนั้นมันจะขอรหัสผ่านเพื่อปลดล็อคและป้องกันไม่ให้ใครบางคนยุ่งกับคอมพิวเตอร์ของฉัน แต่ถ้าฉันมีเซสชันเทอร์มินัลแบบเปิดบนหนึ่งใน tty's (ซึ่งฉันสามารถเข้าถึงด้วยCtrl- Alt- F1ตัวอย่างเช่น) - จากนั้นจะไม่ถูกล็อคและบางคนยังสามารถใช้มันเพื่อทำอันตรายบางอย่าง มีวิธี 'ล็อค' บรรทัดคำสั่งนั้น (มีกระบวนการพื้นหลังบางอย่างทำงานอยู่ในนั้นอาจ)?

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