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

คำถามเกี่ยวกับลินุกซ์จะต้องมีการเขียนโปรแกรมที่เกี่ยวข้อง ใช้แท็กนี้เฉพาะเมื่อคำถามของคุณเกี่ยวข้องกับการเขียนโปรแกรมโดยใช้ Linux API หรือพฤติกรรมเฉพาะของ Linux ไม่ใช่เพียงเพราะคุณใช้งานโค้ดของคุณบน Linux เท่านั้น หากคุณต้องการการสนับสนุน Linux คุณสามารถลอง https://unix.stackexchange.com หรือเว็บไซต์ Stack Exchange ของ Linux ที่เผยแพร่เฉพาะเช่น https://askubuntu.com หรือ https://elementaryos.stackexchange.com/

18
จะลบประวัติ 10 คำสั่งล่าสุดในเชลล์ได้อย่างไร
คำสั่งดังต่อไปนี้ 511 clear 512 history 513 history -d 505 514 history 515 history -d 507 510 513 516 history 517 history -d 509 518 history 519 history -d 511 520 history ฉันสามารถลบทีhistory -d 511ละคำสั่ง แต่จะลบ 10 คำสั่งสุดท้ายและระหว่าง 10 คำสั่งประวัติโดยใช้คำสั่งเดียวในเชลล์ได้อย่างไร เราสามารถเขียน bash script และดำเนินการลบประวัติได้หรือไม่?
131 linux  bash  shell  terminal 

4
GCC เริ่มต้นรวมไดเร็กทอรีอะไรบ้าง
เมื่อฉันรวบรวมไฟล์ต้นฉบับที่เรียบง่ายด้วย gcc ฉันไม่ต้องระบุพา ธ ไปยังไฟล์รวมมาตรฐานเช่น stdio หรือ stdlib GCC รู้วิธีค้นหาไฟล์เหล่านี้ได้อย่างไร มี/usr/includeเส้นทางเดินสายอยู่ภายในหรือไม่หรือจะได้รับเส้นทางจากส่วนประกอบระบบปฏิบัติการอื่น ๆ
131 c++  c  linux  gcc  include-path 

2
มีรายงานเหตุการณ์ sudo อยู่ที่ไหน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ การพยายามทำบางสิ่งที่ผิดพลาดในเครื่องของฉันนำไปสู่ ryan@debian:~$ sudo EAT_ALL_THE_COOKIES_BEFORE_DINNER [sudo] password for ryan: ryan is not in the sudoers file. This incident will be reported. มีการรายงานเหตุการณ์นี้อยู่ที่ไหนและฉันจะรับบันทึกคำสั่งที่พยายามดำเนินการทั้งหมดที่น่ารังเกียจได้อย่างไร

17
ฉันจะสร้างงาน cron ใหม่โดยทางโปรแกรมได้อย่างไร
ฉันต้องการเพิ่มงาน cron ใหม่ด้วยโปรแกรมวิธีใดที่ดีที่สุดในการดำเนินการนี้ จากการวิจัยของฉันดูเหมือนว่าฉันสามารถทิ้ง crontab ปัจจุบันแล้วต่อท้ายอันใหม่โดยวางท่อนั้นกลับเข้าไปใน crontab: (crontab -l ; echo "0 * * * * wget -O - -q http://www.example.com/cron.php") | crontab - มีวิธีที่ดีกว่า?
130 linux  unix  cron 

9
จะรัน Nginx ภายใน Docker container โดยไม่หยุดได้อย่างไร
ฉันติดตั้ง Nginx บนคอนเทนเนอร์ Docker แล้วและกำลังพยายามเรียกใช้เช่นนี้: docker run -i -t -p 80:80 mydockerimage /usr/sbin/nginx ปัญหาคือวิธีการทำงานของ Nginx คือกระบวนการเริ่มต้นจะสร้างกระบวนการ Nginx หลักและคนงานบางส่วนทันทีจากนั้นจึงหยุดทำงาน เนื่องจาก Docker กำลังเฝ้าดู PID ของคำสั่งดั้งเดิมเท่านั้นคอนเทนเนอร์จึงหยุดลง ฉันจะป้องกันไม่ให้ภาชนะหยุดทำงานได้อย่างไร ฉันต้องสามารถบอกให้เชื่อมโยงกับกระบวนการลูกแรกหรือหยุดกระบวนการเริ่มต้นของ Nginx ไม่ให้ออก
130 linux  nginx  docker 

11
ทุบตีประวัติโดยไม่มีหมายเลขบรรทัด
historyคำสั่งทุบตีนั้นเจ๋งมาก ฉันเข้าใจว่าเหตุใดจึงแสดงหมายเลขบรรทัด แต่มีวิธีเรียกใช้คำสั่ง history และระงับหมายเลขบรรทัดหรือไม่ ประเด็นคือการใช้คำสั่ง history ดังนั้นโปรดอย่าตอบกลับ cat ~/.bash_history เอาท์พุทปัจจุบัน: 529 man history 530 ls 531 ll 532 clear 533 cd ~ 534 history แหล่งที่มาของกราฟิกในอดีต ผลลัพธ์ที่ต้องการ: man history ls ll clear cd ~ history แหล่งที่มาของกราฟิกในอดีต ขอบคุณทุกคนสำหรับวิธีแก้ปัญหาที่ยอดเยี่ยมของคุณ Paul เป็นวิธีที่ง่ายที่สุดและจะเหมาะกับฉันเพราะขนาดประวัติทุบตีของฉันตั้งไว้ที่ 2000 ฉันยังอยากแบ่งปันบทความดีๆที่ฉันพบเมื่อเช้านี้ มีตัวเลือกที่ดีสองสามตัวที่ตอนนี้ฉันใช้อยู่เช่นเก็บรายการที่ซ้ำกันออกจากประวัติทุบตีและตรวจสอบให้แน่ใจว่าเซสชันทุบตีหลายครั้งไม่ได้เขียนทับไฟล์ประวัติ: http://blog.macromates.com/2008/working-with -history ในทุบตี /
130 linux  bash 

6
วิธีรวบรวมไบนารี 32 บิตบนเครื่อง linux 64 บิตด้วย gcc / cmake
มันเป็นไปได้ที่จะรวบรวมโครงการใน32 บิตด้วยcmakeและgccใน64 บิตระบบ? มันอาจจะเป็น แต่ฉันจะทำอย่างไร? เมื่อฉันพยายามมันว่า "โง่เขลา" วิธีโดยไม่ต้องตั้งค่าพารามิเตอร์ใด ๆ / ธง / etc เพียงการตั้งค่าLD_LIBRARY_PATHเพื่อหาห้องสมุดเชื่อมโยงใน~/tools/libมันก็ดูเหมือนจะไม่สนใจมันและมีเพียงมองในไดเรกทอรีย่อยชื่อlib64
129 linux  gcc  64-bit  cmake  32-bit 

3
เหตุใดการประมวลผลหลายขั้นตอนจึงใช้เพียงคอร์เดียวหลังจากที่ฉันนำเข้าจำนวน
ฉันไม่แน่ใจว่าสิ่งนี้นับเป็นปัญหาระบบปฏิบัติการมากกว่าหรือไม่ แต่ฉันคิดว่าฉันจะถามที่นี่ในกรณีที่ใครก็ตามมีความเข้าใจบางอย่างจากจุดสิ้นสุดของ Python ฉันพยายามขนานforลูปที่ใช้CPU หนักjoblibแต่ฉันพบว่าแทนที่จะกำหนดให้แต่ละกระบวนการของผู้ปฏิบัติงานถูกกำหนดให้กับคอร์ที่แตกต่างกันฉันพบว่ากระบวนการทั้งหมดถูกกำหนดให้อยู่ในคอร์เดียวกันและไม่มีการเพิ่มประสิทธิภาพ นี่เป็นตัวอย่างที่ไม่สำคัญมาก ... from joblib import Parallel,delayed import numpy as np def testfunc(data): # some very boneheaded CPU work for nn in xrange(1000): for ii in data[0,:]: for jj in data[1,:]: ii*jj def run(niter=10): data = (np.random.randn(2,100) for ii in xrange(niter)) pool = Parallel(n_jobs=-1,verbose=1,pre_dispatch='all') results = …

11
ฉันจะค้นหารูปแบบหลายบรรทัดในไฟล์ได้อย่างไร
ฉันต้องการค้นหาไฟล์ทั้งหมดที่มีรูปแบบสตริงเฉพาะ วิธีแก้ปัญหาแรกที่นึกถึงคือการใช้find piped กับxargs grep : find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN' แต่ถ้าฉันต้องการหารูปแบบที่ครอบคลุมมากกว่าหนึ่งบรรทัดฉันก็ติดขัดเพราะ vanilla grep ไม่สามารถหารูปแบบหลายเส้นได้

8
Virtual Serial Port สำหรับ Linux
ฉันต้องการทดสอบแอปพลิเคชันพอร์ตอนุกรมบน Linux อย่างไรก็ตามเครื่องทดสอบของฉันมีพอร์ตอนุกรมเดียวเท่านั้น มีวิธีเพิ่มพอร์ตอนุกรมเสมือนลงใน Linux และทดสอบแอปพลิเคชันของฉันโดยจำลองอุปกรณ์ผ่านเชลล์หรือสคริปต์หรือไม่ หมายเหตุ: ฉันไม่สามารถทำการแมปพอร์ตใหม่ได้มันยากที่จะเข้ารหัสบน ttys2 และฉันต้องทดสอบแอปพลิเคชันตามที่เขียนไว้

16
รัน Java Application เป็นบริการบน Linux
ฉันได้เขียนแอปพลิเคชันเซิร์ฟเวอร์ Java ที่ทำงานบนโซลูชัน Linux โฮสต์เสมือนมาตรฐาน แอปพลิเคชั่นทำงานตลอดเวลาเพื่อรับฟังการเชื่อมต่อซ็อกเก็ตและสร้างตัวจัดการใหม่สำหรับพวกเขา เป็นการใช้งานฝั่งเซิร์ฟเวอร์กับแอปพลิเคชันไคลเอนต์เซิร์ฟเวอร์ วิธีที่ฉันเริ่มต้นคือการรวมไว้ในสคริปต์เริ่มต้นrc.localของเซิร์ฟเวอร์ อย่างไรก็ตามเมื่อเริ่มต้นฉันไม่ทราบวิธีการเข้าถึงเพื่อหยุดมันและถ้าฉันต้องการติดตั้งการอัปเดตดังนั้นฉันต้องรีสตาร์ทเซิร์ฟเวอร์เพื่อเริ่มต้นแอปพลิเคชันใหม่ บน windows PC สำหรับแอปพลิเคชันประเภทนี้ฉันอาจสร้างบริการ windows จากนั้นฉันสามารถหยุดและเริ่มต้นได้ตามที่ต้องการ มีอะไรอย่างนั้นในกล่อง Linux ดังนั้นถ้าฉันเริ่มแอปพลิเคชันนี้ฉันสามารถหยุดและรีสตาร์ทได้โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์อย่างสมบูรณ์ แอปพลิเคชันของฉันชื่อ WebServer.exe มันเริ่มต้นเมื่อเซิร์ฟเวอร์เริ่มทำงานโดยรวมไว้ในrc.localของฉันเช่น: java -jar /var/www/vhosts/myweb.com/phpserv/WebServer.jar & ฉันเป็นคนเล็กน้อยที่ Linux ดังนั้นตัวอย่างใด ๆ ที่จะได้รับการชื่นชมกับการโพสต์ใด ๆ อย่างไรก็ตามฉันมี SSH และการเข้าถึง FTP แบบเต็มไปยังกล่องเพื่อติดตั้งการปรับปรุงใด ๆ เช่นเดียวกับการเข้าถึงแผง Plesk
128 java  linux  service 

4
วิธีตรวจสอบว่า smtp ทำงานจาก commandline (Linux) [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีเซิร์ฟเวอร์ SMTP สำหรับวัตถุประสงค์ของคำถามนี้ให้เรียกมันว่า: smtp.mydomain.com ฉันจะตรวจสอบว่าเซิร์ฟเวอร์ SMTP ทำงานอยู่ได้อย่างไร ฉันสามารถส่งอีเมลด้วยตนเองจาก commandline Linux ได้หรือไม่
128 linux  command-line  smtp 

8
MySQL ล้มเหลวใน: mysql“ ERROR 1524 (HY000): ไม่ได้โหลดปลั๊กอิน 'auth_socket'”
สภาพแวดล้อมในพื้นที่ของฉันคือ: Ubuntu 16.04 ใหม่ ด้วย PHP 7 ด้วยการติดตั้ง MySQL 5.7 sudo apt-get install mysql-common mysql-server เมื่อฉันพยายามเข้าสู่ระบบ MySQL (ผ่าน CLI): mysql -u root -p ฉันเจอปัญหาแบบวนรอบ 3 ขั้นตอน 1) ประการแรกคือปัญหาเกี่ยวกับซ็อกเก็ต ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' วิธีแก้ไข: รีสตาร์ทพีซี ซึ่งนำไปสู่ข้อผิดพลาดอื่น: 2) ด้วยการเข้าถึงถูกปฏิเสธ ERROR 1698 (28000): Access denied …

5
วิธีดูเส้นทาง symlink แบบเต็ม
เมื่อฉันใช้ls -la symlinkNameหรือstat symlinkNameไม่แสดงเส้นทางทั้งหมด (เช่น../../../one/two/file.txt) คำสั่ง linux ที่เปิดเผยเส้นทางแบบเต็มคืออะไร?
128 linux 

14
ค้นหาซ้ำและแทนที่ในไฟล์ข้อความบน Mac และ Linux
ในลินุกซ์เชลล์คำสั่งต่อไปนี้จะค้นหาซ้ำและแทนที่อินสแตนซ์ทั้งหมดของ 'this' ด้วย 'that' (ฉันไม่มีลินุกซ์เชลล์อยู่ข้างหน้าฉัน แต่ควรทำ) find . -name "*.txt" -print | xargs sed -i 's/this/that/g' คำสั่งที่คล้ายกันบน OSX จะมีลักษณะอย่างไร?
128 linux  macos  shell 

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