Unix & Linux

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

3
การทำให้กระบวนการอ่านไฟล์อื่นสำหรับชื่อไฟล์เดียวกัน
ฉันมีแอปพลิเคชั่นที่อ่านไฟล์ โทร Let 's มันProcessNameและแฟ้ม~ / .configuration เมื่อprocessnameรันมันจะอ่าน~ / .configurationเสมอและไม่สามารถกำหนดค่าต่างกันได้ นอกจากนี้ยังมีแอปพลิเคชันอื่น ๆ ที่ใช้ "~ / .configuration" ก่อนและหลัง แต่ไม่ใช่ในขณะที่ชื่อกระบวนการกำลังทำงาน การตัดชื่อกระบวนการในสคริปต์ที่แทนที่เนื้อหาของ~ / .configurationเป็นตัวเลือก แต่เมื่อเร็ว ๆ นี้ฉันมีไฟดับ (ในขณะที่เนื้อหาถูกสับเปลี่ยนออก) ซึ่งฉันได้สูญเสียเนื้อหาก่อนหน้าของไฟล์ดังกล่าวดังนั้นจึงไม่เป็นที่ต้องการ มีวิธี (อาจใช้บางสิ่งที่เกี่ยวข้องกับการห่างไกลLD_DEBUG=files processname?) เพื่อหลอกให้กระบวนการอ่านเนื้อหาต่าง ๆ เมื่อพยายามอ่านไฟล์ใดไฟล์หนึ่ง? การค้นหาและแทนที่ชื่อไฟล์ในไฟล์เรียกทำงานนั้นเป็นบิตที่รุกรานเกินไป แต่ก็ควรใช้งานได้เช่นกัน ฉันรู้ว่าเป็นไปได้ที่จะเขียนโมดูลเคอร์เนลที่รับopen()สาย ( https://news.ycombinator.com/item?id=2972958 ) แต่มีวิธีที่ง่ายขึ้นหรือสะอาดขึ้นหรือไม่ แก้ไข: เมื่อค้นหา~ / .configurationในProcessNameปฏิบัติการที่ผมค้นพบว่ามันพยายามที่จะอ่านชื่อไฟล์อื่นขวาก่อนอ่าน~ / .configuration แก้ไขปัญหา.

1
จะทำการแมปชุดค่าผสมกับคีย์ได้อย่างไร
เป็นไปได้ไหมที่จะทำการแมปชุดค่าผสมกับคีย์ในระบบที่อิงกับเซิร์ฟเวอร์ X ดังนั้นถ้าฉันกดEnd+ จะสร้างArrow_upรหัสสำหรับรหัสHomeหรือไม่ Google ดูเหมือนจะเงียบในเรื่องนี้ มันจะดีถ้ามีวิธีแก้ปัญหาเนื่องจากมันจะเปิดโอกาสมากมายสำหรับการทำแผนที่แป้นพิมพ์ที่สะดวกกว่า

2
วิธีเพิ่มผู้ใช้ unix / linux ในสคริปต์ทุบตี
นี่คือสคริปต์ทุบตีทดสอบของฉัน ฉันไม่สามารถทำงานได้ ฉันเห็นข้อผิดพลาดสองข้อ: Use of uninitialized value $answer in chop at /usr/sbin/adduser line 589. Use of uninitialized value $answer in pattern match (m//) at /usr/sbin/adduser line 590. นี่คือสคริปต์ของฉัน: #!/bin/bash sudo adduser myuser << ENDX password password First Last Y ENDX exit 0 นี่คือผลลัพธ์: me@mycomputer$ ./adduser.sh Adding user `myuser' ... Adding …
9 bash  useradd 

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

3
ป้อนรหัสผ่านโปรแกรมอย่างปลอดภัย
หลังจากเข้าใจปัญหาการใช้รหัสผ่านในบรรทัดคำสั่งฉันต้องหาวิธีป้อนโปรแกรมด้วยรหัสผ่านโดยไม่เป็นปัญหา (โดยไม่ต้องบันทึกรหัสผ่านไว้ที่อื่น) ฉันมีสคริปต์ทุบตีที่ติดตั้งเซิร์ฟเวอร์ LAMP ทั้งหมดโดยอัตโนมัติจากแหล่งที่มา: Apache, FastCGI, PHP และ MySQL การติดตั้งเหล่านี้ต้องการรหัสผ่านโดยเฉพาะ MySQL ฉันจะทำให้สคริปต์เป็นแบบอัตโนมัติได้อย่างสมบูรณ์โดยไม่เปิดเผยรหัสผ่านได้อย่างไร แก้ไข (9 มิถุนายน, 3:55 UTC): ฉันเรียกใช้ mysql ด้วยรหัสผ่านบนบรรทัดคำสั่งผ่านรูท: root@dor-desktop:/home/dor# PASS=`cat /home/dor/tmpf/pass` root@dor-desktop:/home/dor# mysql -u root -p"$PASS" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 (PASS = "p4ssw0rd" ในกรณีของเรา) …

2
คำสั่ง ddrescue นี้ทำอะไรหรือไม่?
ในหลักสูตรของการพยายามที่จะกู้คืนข้อมูลจากฮาร์ดไดรฟ์ความล้มเหลวที่ddrescueผมใช้คำสั่ง คำสั่งทำงานเป็นเวลา 9 วันและฉันคิดถึงเสียงของกิจกรรมดิสก์ที่อาจทำอะไรบางอย่าง เอาต์พุตบรรทัดคำสั่งดูคงที่มากขึ้นหรือน้อยลงตลอดเวลา: $ sudo ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile Press Ctrl-C to interrupt Initial status (read from logfile) rescued: 0 B, errsize: 0 B, errors: 0 Current status rescued: 0 B, errsize: 500 GB, current rate: 0 B/s ipos: 2539 MB, errors: 1, average rate: 0 B/s …

1
บันทึก HTML จากคลิปบอร์ดเป็นข้อความมาร์คดาวน์
ฉันต้องการที่จะเน้นส่วนของหน้าเว็บและคัดลอกไปยังคลิปบอร์ดแล้วบันทึกลงในดิสก์ภายในเครื่องของฉันเป็น markdown ฉันต้องการวิธีที่มีประสิทธิภาพในการทำเช่นนั้น วิธีการที่ยุ่งยากในปัจจุบันของฉันคือ: ไฮไลต์ส่วนและคัดลอกไปที่คลิปบอร์ด เปิด Libre Office Writer วางลงใน Writer บันทึก Writer doc เป็น HTML เปิดเทอร์มินัล cd ไปยังไดเรกทอรีที่ฉันบันทึก HTML pandoc -s -r html /home/me/a/b/mydoc.html -o /home/me/a/b/mydoc.md เห็นได้ชัดว่าฉันต้องการวิธีที่ดีกว่า! ข้อเสนอแนะใด ๆ

2
อบเชยสูญเสียชุดรูปแบบสุ่ม
บางครั้งบางคราว (แบบสุ่ม), Nemo บน Linux Mint 14 Cinnamon ของฉันเริ่มเป็นแบบนี้ โดยปกติแล้วจะมีลักษณะเช่นนี้: รีสตาร์ทอบเชย ( Alt+ F2, r, Enter) ไม่ได้ช่วยให้ผมต้องออกจากระบบแล้วเข้าสู่ระบบ มีคนบอกฉันได้ไหม (ฉันเดาว่ามีบางอย่างในX Window Systemล้มเหลวdmesgไม่แสดงอะไรเลย) จะวินิจฉัยได้อย่างไรว่าเกิดอะไรขึ้นจริง ๆ ( อัปเดต: ดูเหมือนว่า gnome-settings-daemonผิดพลาด ) วิธีคืนค่าธีมปกติโดยไม่ต้องออกจากระบบ (ต้องปิดโปรแกรมทั้งหมด) วิธีการลดความถี่ของสิ่งต่าง ๆ ? รายการที่น่าสงสัยใน xsession-errors.lob [0x7f9590006068] main input error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 300 ms) [0x7f9590006068] …

1
วิธีใช้การหมุนหน้าจอในการกำหนดค่า WM ที่น่ากลัว?
ฉันใช้xrandrสคริปต์เพื่อกำหนดขนาดหน้าจอและการหมุน ในกรณีนี้หน้าจอหนึ่งอยู่ในโหมดแนวนอนและอีกหน้าจอจะหมุน ฉันจะตรวจจับการหมุนนี้ในการกำหนดค่า WM ที่น่ากลัวได้อย่างไร เป้าหมายคือการตั้งค่าเลย์เอาต์แท็กเพื่อให้หน้าต่างถูกแบ่งตามแกนสั้นของหน้าจอ นั่นคือแท็กที่ใช้awful.layout.suit.tileในโหมดแนวนอนจะใช้awful.layout.suit.tile.bottomในโหมดแนวตั้ง นั่นคือมากกว่านี้: ฉันต้องการสิ่งนี้:

1
หาง -f แต่ดูดเนื้อหาของไฟล์ก่อน (aka `cat -f`)
ฉันต้องการที่จะแสดงไฟล์ทั้งหมดก่อนที่จะติดตามมันสำหรับการเปลี่ยนแปลงใหม่ไม่เพียง แต่ที่ผ่านมา 10 เส้น (ครับผมรู้ว่ามันไม่หางแนวคิด) กล่าวอีกนัยหนึ่งสิ่งที่cat -fอยากทำถ้ามันมีอยู่จริง ชายของ Tail ไม่ให้ความคิดใด ๆ แก่ฉัน ตัวเลือกเดียวที่ฉันเห็นตอนนี้คือการรวมcat ทั้งหมด แต่ 10 บรรทัดสุดท้ายและเอาต์พุตหาง -f มีคำแนะนำอะไรมั้ย
9 tail 

3
การแก้ไขไฟล์ปรับแต่งด้วยสคริปต์ทุบตี
ฉันพยายามเขียนสคริปต์ทุบตีง่ายๆที่ฉันจะใช้ในการติดตั้งแอปพลิเคชันและอัปเดตเป็นไฟล์ปรับแต่ง ฉันมีเวลายากที่จะได้รับมันเป็นไฟล์ปรับเปลี่ยน # DBHost=localhost DBName=test # DBPassword= ข้อเสนอแนะใด ๆ ที่ฉันจะได้รับการแก้ไขดังกล่าวข้างต้น? DBHost=localhost DBName=database DBPassword=password

4
จะลบสตริงจากไฟล์ผ่านเชลล์สคริปต์ได้อย่างไร?
.bash_profileฉันพยายามที่จะลบสตริงจาก เพิ่มสตริงเมื่อสคริปต์เชลล์ของฉันทำงาน: สตริงของฉันที่ bash_profile ดังนี้: # for Myapllication export MYAPP_HOME=/opt/myapp ฉันต้องการที่จะลบสตริงจาก.bash_profileเมื่อ myapp rpmจะถูกลบออกผ่านทาง จะลบสตริงจากไฟล์ผ่านเชลล์สคริปต์ได้อย่างไร (หรือวิธีอื่นที่เป็นไปได้)

3
เดเบียนไม่สามารถเข้าถึงได้ผ่านชื่อโฮสต์ใน LAN
เดเบียนของฉันไม่สามารถค้นพบผ่านชื่อโฮสต์ใน LAN ของฉัน ฉันมีเครื่องอูบุนตูอื่น ๆ สองสามเครื่องใน LAN และพวกเขาทั้งหมดสามารถ pingable ผ่านชื่อโฮสต์ของพวกเขา บนเดเบียนของฉัน: pi@raspberrypi ~ $ hostname raspberrypi บนเครื่องอื่นใน LAN เดียวกัน: ping raspberrypi ping: unknown host raspberrypi

2
ฉันจะหยุดทุบตีจากการตรวจสอบไวยากรณ์ที่มาไฟล์ได้อย่างไร
ฉันมีรหัสต่อไปนี้ในไฟล์ที่มาจากทั้ง zsh และ bash if test $SHELLNAME = zsh ; then lss() { l -l ${1:-.}/*(s,S,t); } laf() { l ${1:-.}/.*(.); } lad() { l -d ${1:-.}/.*(/); } lsw() { l -ld ${1:-.}/.*(R,W,X.^ND/); } fi SHELLNAMEคือzshถ้าเปลือกเป็น zsh และbashถ้าเปลือกเป็นทุบตี แต่ละฟังก์ชั่นด้านบนมีรหัสที่ใช้งานได้กับ zsh แต่ไม่ใช่การทุบตี เมื่อฉันส่งไฟล์นี้มาฉันได้รับข้อผิดพลาดดังต่อไปนี้ bash: <filename>: line 67: syntax error near unexpected …
9 bash  zsh 

1
มี bdiff (1) ใน Linux หรือไม่
มีbdiff(1)คำสั่งใน Solaris ซึ่งอนุญาตให้คุณdiff(1)ไฟล์ที่มีขนาดใหญ่กว่าขนาด RAM ของคุณ ( http://docs.oracle.com/cd/E19683-01/806-7612/files-23/index.html ) มีอะไรอย่างนั้นใน Linux? ฉันลองใช้ Google แต่ไม่พบแพ็คเกจที่มีbdiffใน Ubuntu
9 diff 

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