Unix & Linux

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

4
GTK - เปิด / ปิดชุดรูปแบบมืดในแต่ละแอปพลิเคชัน
มีวิธีในการตั้งค่า gtk-application-prefer-dark-theme สำหรับแอปพลิเคชันหรือไม่? โดยปกติแอปพลิเคชันนี้จะถูกตั้งค่าในรหัส แอพเช่น Eye of Gnome และ Totem เปิดใช้งาน ฉันต้องการให้ผู้ใช้เปิดใช้งานตามแอปพลิเคชันพื้นฐาน สำหรับ gnome-terminal โดยปกติแล้วฉันจะใช้ข้อความสีขาวบนโทนสีพื้นหลังสีดำและการมีขอบหน้าต่างสีเข้มจะช่วยปรับปรุงรูปลักษณ์โดยรวม ฉันต้องการเปิดใช้สำหรับ vlc ด้วย
54 gnome  gtk  gtk3 

1
nginx สนับสนุนบล็อกความคิดเห็นในการกำหนดค่าหรือไม่
ฉันมีการกำหนดค่า nginx ที่นี่ ฉันต้องการคอมเม้นต์บล็อคใน: ...things I want... ...things I don't want... ...things I want... สิ่งต่าง ๆ มีความยาว 30-50 บรรทัดและฉันจะไม่สำรองข้อมูลและลบออก ฉันไม่ต้องการให้เขียน#ไปยังจุดเริ่มต้นของบรรทัดโค้ด 30-50 และฉันก็ไม่ต้องการสคริปต์ / กำหนดค่าตัวแก้ไขข้อความของฉันให้ทำเช่นนี้ ฉันคิดว่ามันเป็นคุณสมบัติที่ค่อนข้างเล็กน้อย ฉันเหนื่อย ...things I want... /* ...things I don't want... */ ...things I want... แต่มันไม่ทำงาน มันเป็นคุณสมบัติที่ไม่รองรับจริง ๆ ใน nginx หรือไม่?
54 nginx 

2
สร้าง symlink - เขียนทับหากมีอยู่
ฉันต้องการลบข้อมูล/path/to/data/folder/month/date/hour/minute/fileและเชื่อมโยงไปยัง/path/to/recent/fileและทำสิ่งนี้โดยอัตโนมัติทุกครั้งที่มีการสร้างไฟล์ สมมติว่าฉันจะไม่ทราบล่วงหน้าถ้า/path/to/recent/fileมีอยู่ฉันจะสร้างมันขึ้นมาอย่างไร (ถ้าไม่มี) หรือแทนที่ (ถ้ามี) ฉันแน่ใจว่าฉันสามารถตรวจสอบว่ามันมีอยู่แล้วทำการลบ symlink แต่ฉันสงสัยว่ามีคำสั่งง่ายๆที่จะทำสิ่งที่ฉันต้องการในขั้นตอนเดียว
54 bash  symlink 

4
ทำไมเครื่องหมายตัวหนอน (~) ไม่ขยายภายในเครื่องหมายคำพูดคู่
ตามคำตอบนี้และความเข้าใจของฉันเอง tilde ขยายไปยังโฮมไดเร็กตอรี่: $ echo ~ /home/braiam ตอนนี้เมื่อใดก็ตามที่ฉันต้องการให้ส่วนขยายของเชลล์ทำงานเช่นใช้ชื่อตัวแปรเช่น$FOOนี้และไม่ทำลายอักขระที่ไม่คาดคิดเนื่องจากช่องว่างและอื่น ๆ เราควรใช้เครื่องหมายคำพูดคู่": $ FOO="some string with spaces" $ BAR="echo $FOO" $ echo $BAR echo some string with spaces ทำไมการขยายตัวนี้จึงใช้งานไม่ได้กับเครื่องหมายตัวหนอน $ echo ~/some/path /home/braiam/some/path $ echo "~/some/path" ~/some/path
54 shell 


9
ฉันจะสะท้อนเอาต์พุต 1 คอลัมน์จากคำสั่ง ls ได้อย่างไร
ให้พูดเมื่อฉันทำคำสั่ง ls ผลลัพธ์คือ: file1 file2 file3 file4 เป็นไปได้หรือไม่ที่จะแสดงเฉพาะคอลัมน์ของเอาต์พุตในกรณีนี้ file2? ฉันได้ลองทำสิ่งต่อไปนี้โดยไม่ประสบความสำเร็จ: echo ls | $2 โดยพื้นฐานทั้งหมดที่ฉันต้องการทำคือ echo เฉพาะคอลัมน์ที่สองในกรณีนี้ฉันต้องการ echo: file2
54 bash  ls  parameter  arguments 

4
บันทึกกระบวนการทั้งหมดเพื่อดำเนินการต่อหลังจากรีบูต
ฉันพัฒนาอัลกอริทึมสำหรับปัญหาที่ค่อนข้างยากในวิชาคณิตศาสตร์ซึ่งน่าจะต้องใช้เวลาหลายเดือนกว่าจะเสร็จ เนื่องจากฉันมีทรัพยากร จำกัด เท่านั้นฉันจึงเริ่มใช้งานแล็ปท็อป Ubuntu 12.04 (x86) ของฉัน ตอนนี้ฉันต้องการติดตั้งการอัปเดตและรีสตาร์ทแล็ปท็อปจริง ๆ (ข้อความ "โปรดรีบูต" เป็นที่น่ารำคาญ) มีวิธีบันทึกกระบวนการทั้งหมดรวมถึงหน่วยความจำที่จัดสรรไว้เพื่อดำเนินการต่อหลังจากรีบูตหรือไม่ นี่คือข้อมูลบางอย่างเกี่ยวกับกระบวนการที่คุณอาจต้องการ โปรดสอบถามข้อมูลเพิ่มเติมหากจำเป็น ฉันเรียกกระบวนการในเทอร์มินัลด้วยคำสั่ง " ./binary > ./somefile &" หรือ "time ./binary> ./somefile &" ฉันจำไม่ได้จริงๆ กำลังพิมพ์ข้อมูลดีบักไปยัง std :: cerr (ไม่บ่อย) ปัจจุบันใช้งานประมาณ 600.0 kiB และถึงแม้ว่าจะเพิ่มขึ้น แต่ก็ไม่น่าจะเพิ่มขึ้นอย่างรวดเร็ว กระบวนการทำงานโดยมีลำดับความสำคัญตามปกติ เคอร์เนลคือ 3.2.0-26-generic-pae, cpu เป็น AMD, ระบบปฏิบัติการคือ Ubuntu 12.04 x86 มันทำงานตั้งแต่ 9 …
54 process  reboot 

7
เปิด RPM บน Mac หรือไม่?
ฉันอยู่ใน MacBook Pro ที่ใช้ Apple Leopard (Mac OS X 10.5.8) ผมอยากจะ unpackage RPM และดูไฟล์ที่มีอยู่ภายในwget-1.11.4-2.el5_4.1.src.rpm ฉันไม่จำเป็นต้องติดตั้งไฟล์ไปยังตำแหน่งเฉพาะหรือเรียกใช้สคริปต์% postinstall หรืออะไรก็ได้ ฉันต้องการแยกไฟล์ RPM นี้เพื่อให้ฉันสามารถดูไฟล์ต้นฉบับที่อยู่ด้านล่าง เป็นไปได้หรือไม่ที่จะทำการแยกไฟล์ RPM บนระบบที่ไม่ใช่ RedHat / CentOS?
54 rhel  rpm  osx 


2
ตัวเลือก Chromium `- no-sandbox 'หมายถึงอะไร?
ฉันกำลังเรียกใช้ Chromium ดังนี้: chromium --no-sandbox ฉันกำลังทำสิ่งนี้เพราะฉันใช้ Debian Squeeze บน OpenVZ VM Container และเป็นวิธีเดียวที่ฉันจะทำให้มันทำงานได้ แม้ว่าฉันจะอ่านต่อไปนี้มันแย่มาก แต่ฉันอยากรู้ว่าทำไม มีใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหม? มีใครบางคนต้องการแฮ็คเข้าสู่คอมพิวเตอร์ของคุณเพื่อทำความเสียหาย หรือช่องโหว่นั้นมาจากไฟล์บนเว็บเช่นไฟล์ JavaScript หรือไม่ ถ้าฉันล็อคการสืบค้นไปยังไซต์ "เชื่อถือ" เพียงไม่กี่แห่ง (Gmail, stackexchange (ofcourse) และ facebook)

5
วิธีการทำคำสั่ง if จากผลลัพธ์ของคำสั่งที่เรียกใช้งาน
ฉันกำลังพยายามทำคำสั่ง IF จากผลลัพธ์ของคำสั่งที่เรียกใช้งาน นี่คือวิธีที่ฉันพยายามทำ แต่ไม่ได้ผล ไม่มีใครรู้วิธีที่ถูกต้องในการทำเช่นนี้? if [ "`netstat -lnp | grep ':8080'`" == *java* ]; then echo "Found a Tomcat!" fi

5
วิธีกำหนดและโหลดฟังก์ชันเชลล์ของคุณเองใน zsh
ฉันมีช่วงเวลาที่ยากลำบากในการกำหนดและเรียกใช้ฟังก์ชันเชลล์ของฉันเองใน zsh ฉันทำตามคำแนะนำในเอกสารอย่างเป็นทางการและลองใช้ตัวอย่างง่ายๆก่อน แต่ฉันไม่สามารถทำงานได้ ฉันมีโฟลเดอร์: ~/.my_zsh_functions ในโฟลเดอร์นี้ฉันมีไฟล์ชื่อที่functions_1มีrwxสิทธิ์ผู้ใช้ ในไฟล์นี้ฉันได้กำหนดฟังก์ชั่นเชลล์ต่อไปนี้: my_function () { echo "Hello world"; } ฉันกำหนดFPATHให้ใส่เส้นทางไปยังโฟลเดอร์~/.my_zsh_functions: export FPATH=~/.my_zsh_functions:$FPATH ฉันสามารถยืนยันได้ว่าโฟลเดอร์.my_zsh_functionsอยู่ในเส้นทางของฟังก์ชั่นด้วยecho $FPATHหรือecho $fpath อย่างไรก็ตามถ้าฉันลองทำสิ่งต่อไปนี้จากเชลล์: > autoload my_function > my_function ฉันเข้าใจ: zsh: my_test_function: ไม่พบไฟล์การกำหนดฟังก์ชัน มีอะไรอีกบ้างที่ฉันต้องทำเพื่อให้สามารถโทรได้my_function? ปรับปรุง: คำตอบเพื่อให้ห่างไกลแนะนำการจัดหาไฟล์ด้วยฟังก์ชั่น zsh มันสมเหตุสมผลแล้ว แต่ฉันก็สับสนเล็กน้อย zsh ไม่ควรรู้ว่าไฟล์เหล่านั้นอยู่FPATHที่ไหน? ตอนนั้นมีจุดประสงค์autoloadอะไร?
54 shell-script  zsh 

4
อักขระตัวแทน Bash star * จะสร้างรายการเรียงลำดับ (จากน้อยไปหามาก) เสมอหรือไม่
ฉันมีไดเรกทอรีที่เต็มไปด้วยไฟล์ที่มีชื่ออย่างlogXXที่ XX เป็นเลขฐานสองตัวอักขระสองตัวไม่มีเลขศูนย์ตัวพิมพ์ใหญ่เช่น: log00 log01 log02 ... log0A log0B log0C ... log4E log4F log50 ... โดยทั่วไปจะมีจำนวนไฟล์รวมน้อยกว่า 20 หรือ 30 ไฟล์ วันที่และเวลาในระบบของฉันไม่ใช่สิ่งที่สามารถพึ่งพาได้ (ระบบฝังตัวที่ไม่มีแหล่งเวลา NTP หรือ GPS ที่เชื่อถือได้) อย่างไรก็ตามชื่อไฟล์จะเพิ่มขึ้นอย่างน่าเชื่อถือดังที่แสดงไว้ด้านบน ฉันต้องการgrepผ่านไฟล์ทั้งหมดสำหรับรายการบันทึกล่าสุดบางประเภทฉันหวังว่าจะcatรวมไฟล์เข้าด้วยกันเช่น ... cat /tmp/logs/log* | grep 'WARNING 07 -' | tail -n1 แต่มันเกิดขึ้นกับผมว่ารุ่นที่แตกต่างกันของbashหรือshหรือzshอื่น ๆ อาจจะมีความคิดที่แตกต่างกันเกี่ยวกับวิธีการที่*จะขยายตัว man bashหน้าไม่ได้บอกหรือไม่ว่าการขยายตัวของ*จะเป็นรายชื่อเรียงตามตัวอักษรแน่นอนขึ้นชื่อไฟล์ที่ตรงกัน ดูเหมือนว่าจะเพิ่มขึ้นทุกครั้งที่ฉันลองใช้กับระบบทั้งหมดที่ฉันมีให้ - แต่มันเป็นพฤติกรรมที่กำหนดไว้หรือเพียงแค่การนำไปใช้งานโดยเฉพาะ กล่าวอีกนัยหนึ่งฉันสามารถพึ่งพาcat /tmp/logs/log*การเชื่อมต่อไฟล์บันทึกทั้งหมดของฉันด้วยกันตามลำดับตัวอักษรได้หรือไม่?
53 bash  shell  wildcards 


3
รีสตาร์ท Systemd = ไม่ได้รับเกียรติเสมอ
หมายเหตุ: ผมเขียนบทความเกี่ยวกับการขนาดกลางที่อธิบายถึงวิธีการสร้างบริการและวิธีการหลีกเลี่ยงปัญหานี้โดยเฉพาะอย่างยิ่ง: การสร้างบริการ Linux กับ systemd คำถามเดิม: ฉันใช้ systemd เพื่อให้สคริปต์ผู้ปฏิบัติงานทำงานตลอดเวลา: [Unit] Description=My worker After=mysqld.service [Service] Type=simple Restart=always ExecStart=/path/to/script [Install] WantedBy=multi-user.target แม้ว่าการรีสตาร์ทจะทำงานได้ดีถ้าสคริปต์ออกจากปกติหลังจากผ่านไปสองสามนาทีฉันสังเกตว่าถ้าซ้ำ ๆ ไม่สามารถรันเมื่อเริ่มต้นได้ แต่systemdจะยอมแพ้พยายามเริ่ม: Jun 14 11:10:31 localhost systemd[1]: test.service: Main process exited, code=exited, status=1/FAILURE Jun 14 11:10:31 localhost systemd[1]: test.service: Unit entered failed state. Jun 14 11:10:31 localhost systemd[1]: …
53 systemd 

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