Unix & Linux

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

6
รันสคริปต์ในเชลล์แบบไม่โต้ตอบหรือไม่
ฉันมีงาน cron ที่ใช้งานสคริปต์ เมื่อฉันรันสคริปต์ผ่านเชลล์แบบโต้ตอบ (ssh'ed to bash) มันใช้งานได้ดี เมื่อสคริปต์รันด้วยตัวเองผ่าน cron สคริปต์จะล้มเหลว ฉันเดาว่ามันใช้ตัวแปรสภาพแวดล้อมบางอย่างที่ตั้งค่าไว้ในเชลล์เชิงโต้ตอบ ฉันจะแก้ไขปัญหาสคริปต์และลบสิ่งเหล่านี้ หลังจากที่ฉันทำการเปลี่ยนแปลงฉันรู้ว่าฉันสามารถจัดคิวสคริปต์ใน cron เพื่อให้มันทำงานได้ตามปกติ แต่มีวิธีที่ฉันสามารถเรียกใช้สคริปต์จากบรรทัดคำสั่ง แต่บอกให้ทำงานตามที่ cron - เช่นในสภาพแวดล้อมที่ไม่โต้ตอบหรือไม่



3
จะแก้ไขแท็บที่เสร็จสมบูรณ์แล้วเพื่อไม่ซ่อนรายการได้อย่างไร
ฉันใช้ oh-my-zsh บน Mac OS X กับ homebrew'ed zsh 4.3.12 ฉันเพิ่งพบปัญหาแปลก ๆ ในscripts/not-usedฉันมีหลาย.Rไฟล์: breakdowns.R eventloop.R process-largeclients.R process-qt.R reprocess-pinning.R calculate-qt-error.R generate_decision_tree.R process-net.R process-scalingexp.R อย่างไรก็ตามเมื่อฉันลองls scripts/not-used/+ Tabความสำเร็จแรกคือls scripts/not-used/_.Rตำแหน่งที่_แสดงตำแหน่งของเคอร์เซอร์ ถ้าฉันกดTabอีกครั้งฉันจะได้สิ่งที่แปลกประหลาดนี้: $ ls scripts/not-used/.R breakdowns.R eventloop.R วิธีการยกเลิกพฤติกรรมนี้น่าเกลียด (ผิด)? ตัวเลือกที่ตั้งไว้คือ: alwaystoend autocd autonamedirs autopushd cdablevars completeinword correctall extendedglob extendedhistory noflowcontrol histexpiredupsfirst histignoredups histignorespace histreduceblanks histverify …

6
การค้นหาแบบคำนึงถึงขนาดตัวพิมพ์ของชื่อไฟล์ซ้ำกัน
ฉันมีวิธีการค้นหาไฟล์ทั้งหมดในไดเรกทอรีที่มีชื่อไฟล์ซ้ำกันหรือไม่โดยไม่คำนึงถึงตัวอักษร (ตัวพิมพ์ใหญ่และ / หรือตัวพิมพ์เล็ก)

5
การเชื่อมต่อ ssh ถูกปฏิเสธ: จะแก้ไขปัญหาอย่างไร?
ฉันกำลังพยายาม: $ ssh eric@myserver เครื่องอยู่ที่ไหนmyserverในอินทราเน็ต ฉันสามารถ ping myserverหรือตอบกลับ HTTP บนพอร์ต 8080 ฯลฯ แต่เมื่อฉันลองsshฉันจะได้รับ ssh: connect to host myserver port 22: Connection refused ฉันใช้ Ubuntu 10 ps -axตามที่แนะนำให้: eric@Isaiah:~$ ps -ax | grep ssh Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 1641 ? Ss 0:04 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session …
17 ssh 

4
ใช้ Ctrl + B ในน้อยกว่าภายใน tmux
ฉันใช้Ctrl+Bคำนำหน้าคำสั่งในtmuxอย่างไรก็ตามการปะทะนี้ด้วยCtrl+Bในlessซึ่งใช้สำหรับการเลื่อนขึ้นไฟล์ ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร ฉันต้องตั้งค่าคำนำหน้าคำสั่งอื่นtmuxหรือไม่ ฉันไม่ต้องการเรียนรู้การผูกคีย์ใหม่ถ้าฉันสามารถหลีกเลี่ยงได้
17 tmux 

2
/ dev / fd เกี่ยวข้องกับ / proc / self / fd / อย่างไร
$ ls -l /dev/stdin /dev/fd/0 lrwx------ 1 tim tim 64 2011-08-07 09:53 /dev/fd/0 -> /dev/pts/2 lrwxrwxrwx 1 root root 15 2011-08-06 08:14 /dev/stdin -> /proc/self/fd/0 $ ls -l /dev/pts/2 /proc/self/fd/0 crw--w---- 1 tim tty 136, 2 2011-08-07 09:54 /dev/pts/2 lrwx------ 1 tim tim 64 2011-08-07 09:54 /proc/self/fd/0 -> /dev/pts/2 อะไรคือความแตกต่างและความสัมพันธ์ระหว่าง …

2
วิธีรวมไฟล์ส่วนหัวในเครื่องในโมดูลเคอร์เนลของ linux
ว่าฉันมีโมดูลที่mymodมีไฟล์ต้นฉบับดังนี้ src / mod / mymod.c src / inc / mymod.h ฉันพยายามที่จะรวม mymod.h ดังต่อไปนี้ #include <mymod.h> makefile ของฉันมีEXTRA_CFLAGS= -I$(shell pwd)/../inc/แต่เมื่อเคอร์เนลทำฉันได้รับข้อผิดพลาดที่ระบุ: ไม่พบ mymod.h เหตุผลน่าจะเป็นที่เมื่อโมดูลเคอร์เนลทำคำสั่งนี้ได้รับการเรียกใช้จาก makefile: (ใช้makeV1): make -C <path/to/linux/src> M=<path/to/mymod> modules ในผลงานอื่น ๆ ของฉัน$(shell pwd)Got <path/to/linux>ขยายไป นี่ไม่ใช่สิ่งที่ฉันต้องการ ฉันจะระบุ-Iพารามิเตอร์ให้ชี้ไปที่แผนภูมิต้นไม้src/incของฉันได้mymodอย่างไร
17 linux  kernel  compiling  make 

6
คำสั่งเช่น `column -t 'ที่เก็บตัวคั่นเอาท์พุทแทน
ฉันกำลังแก้ไขตารางอย่างง่าย ฉันต้องการรูปแบบที่ดี ในขณะที่ฉันสามารถใช้tbl, latexหรือที่คล้ายกันนี้ดูเหมือนว่า overkill - ข้อความธรรมดาจริงๆก็เพียงพอแล้ว เพราะมันง่ายฉันก็อาจมีแหล่งที่มาเป็นเอาท์พุท ดังนั้นแหล่งที่มาควรดูดีเช่นกัน ดูเหมือนว่ามันควรจะเป็นงานที่สมบูรณ์แบบสำหรับcolumn -s '|' -t- พบตัวคั่นและแทรกช่องว่างโดยอัตโนมัติเพื่อจัดตำแหน่งตามความกว้างสูงสุดในแต่ละคอลัมน์ น่าเสียดายที่มันลบตัวคั่นดังนั้นฉันจึงไม่สามารถรันอีกครั้งหลังจากแก้ไขเพิ่มเติม มีเครื่องมือการประมวลผลข้อความที่ดีที่สามารถทำ idempotently นี้เพื่อให้เป็นผลลัพธ์หรือไม่ หรือฉันจะต้องเขียนของตัวเอง? แก้ไข: นี่คือตัวอย่างของสิ่งที่ฉันต้องการ: foo | bar | baz abc def | 12 | 23456 ควรกลายเป็น foo | bar | baz abc def | 12 | 3456 เมื่อ' 'ใดที่ทั้งตัวคั่นและตัวเว้นวรรคcolumn -tทำงานได้ดี แต่รายการของฉันมีช่องว่างในนั้นฉันจึงใช้ไม่ได้ การมียานอวกาศแตกต่างจากตัวแยกทำให้สิ่งต่าง ๆ …

2
ฉันจะสลับไปมาระหว่าง ttys โดยไม่ใช้หน้าจอได้อย่างไร
สมมุติว่าคุณบูทลินุกซ์ติดตั้งไปจนถึงเดสก์ท็อป คุณเริ่มต้น gnome-terminal / konsole / อะไรก็ตามคุณมี tty เพื่อป้อนคำสั่ง ทีนี้สมมุติว่าฉัน SSH เข้าไปในเครื่องเดียวกัน มันจะผูกมัดฉันกับ tty อื่นเพื่อป้อนคำสั่ง ตอนนี้สมมติว่าฉันต้องการ "เปลี่ยน" tty ของฉันจาก SSH ดั้งเดิมของฉันเป็น gnome-terminal หนึ่งเริ่มต้นก่อนหน้านี้ โดยทั่วไปฉันถามว่ามีวิธีการทำสิ่งเดียวกันscreen -xแต่ไม่มีหน้าจอ? ฉันรู้ว่าคุณสามารถส่งออกไปยัง tty อื่น ๆ ได้อย่างง่ายดายเพียงแค่สะท้อนบางสิ่งลงในไฟล์ / dev แต่ฉันไม่รู้วิธีที่จะ 'ดู' สิ่งที่อยู่ใน tty ความคิดใด ๆ

2
วิธีการหยุด xargs จากการรวมเอาท์พุทจากกระบวนการหลายอย่างไม่ดี?
ฉันกำลังใช้xargsกับตัวเลือก--max-args=0(หรือ-P 0) อย่างไรก็ตามเอาต์พุตของกระบวนการถูกรวมเข้ากับstdoutสตรีมโดยไม่คำนึงถึงการแยกบรรทัดที่เหมาะสม ดังนั้นฉันมักจะจบลงด้วยบรรทัดเช่น: <start-of-line-1><line-2><end-of-line-1> ในขณะที่ฉันใช้egrepกับ^ในรูปแบบของฉันในxargsผลลัพธ์ทั้งหมดนี้จะทำให้สับสนผลลัพธ์ของฉัน มีวิธีบังคับxargsให้เขียนผลลัพธ์ของกระบวนการตามลำดับ (คำสั่งใด ๆ ตราบใดที่ผลลัพธ์ของหนึ่งกระบวนการนั้นต่อเนื่องกัน)? หรือวิธีการแก้ปัญหาอื่น ๆ ? แก้ไข:รายละเอียดเพิ่มเติมเกี่ยวกับกรณีการใช้งาน: ฉันต้องการดาวน์โหลดและแยกหน้าเว็บจากโฮสต์ที่แตกต่างกัน เนื่องจากทุกหน้าใช้เวลาประมาณหนึ่งวินาทีในการโหลดและมีหน้าเว็บไม่กี่โหลที่ฉันต้องการขนานการร้องขอ คำสั่งของฉันมีแบบฟอร์มต่อไปนี้: echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \ wget -q -O- http://{}/somepage.html | egrep --count '^string' ฉันใช้ bash และไม่ใช่อย่าง Perl เพราะ host IP (ตัวแปร $ IP) และข้อมูลอื่น ๆ …

3
มีขนาดสูงสุดของไฟล์ประวัติทุบตีหรือไม่?
ฉันสามารถเพิ่มขนาดของประวัติคำสั่งเป็น bash ได้หรือไม่? โปรดทราบว่าฉันใช้คอมพิวเตอร์ Red Hat Linux ในแผนกฟิสิกส์ดาราศาสตร์ระดับปริญญาตรีที่นี่ (ดังนั้นฉันจึงไม่ได้รับสิทธิพิเศษมากมาย)

1
อักขระต่างประเทศจะไม่แสดงใน SSH
ฉันประสบปัญหาในการใช้งานsshและเซิร์ฟเวอร์ระยะไกล (ซึ่งฉันไม่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบ) - โดยเฉพาะมีโฟลเดอร์สองสามโฟลเดอร์ที่มีข้อความภาษาเกาหลีและ Cyrillic เมื่อฉันแสดงเนื้อหาของโฟลเดอร์พาเรนต์ด้วยlsอักขระจะถูกหลีกเลี่ยงเป็น "?" อาจจะทราบได้ว่าตัวละครเกาหลีดูเหมือนจะหลบหนีออกไปได้มากกว่าจำนวนตัวอักษรที่ควรมี ฉันรู้ว่าโปรแกรมเทอร์มินัลที่ฉันใช้สามารถแสดงอักขระได้เช่นเดียวกับที่ใช้sftpแสดงมันอย่างสมบูรณ์ ปัญหาเกิดขึ้นกับทุกเครื่องที่ฉันได้ลอง สรุปเครื่องจักร เครื่องท้องถิ่น: Linux 2.6.32-5-686, i686 Debian GNU / Linux 6.0.2 (บีบ) มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบ เซิร์ฟเวอร์ระยะไกล: Linux 2.6.32-bpo.5-amd64, x86_64 Debian GNU / Linux 5.0.8 (เงิน) ไม่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบหรือทางกายภาพ ฉันอาจพลาดสถิติสำคัญหรือข้อมูลอื่น ๆ ไปบ้างซึ่งในกรณีนี้ฉันขอโทษ ฉันค่อนข้างใหม่สำหรับคอมพิวเตอร์ที่ไม่ใช่ Windows ทั้งหมดดังนั้นฉันจึงแทบไม่รู้ว่าฉันกำลังทำอะไรที่นี่

2
วิธีตรวจสอบว่าไดรฟ์ใดที่ grub2 ติดตั้ง MBR จริงหรือไม่
ฉันใช้ระบบ Debian / Squeeze (ที่มีประวัติย้อนกลับไปอย่างน้อย Woody) ซึ่งได้รับการอัพเกรดเป็น grub2 ซึ่งเป็นส่วนหนึ่งของการอัพเกรด Squeeze ทั้งหมดทำงานได้ดี แต่ฉันกำลังยุ่งกับการกำหนดค่าดิสก์ ขณะนี้เครื่องมีไดรฟ์ 80GB 2 ตัวที่มี RAID1-ed /, / home และ / boot partition (มีอีกหนึ่งคู่ของไดรฟ์ที่มี RAID1-ed "/ data" และ swaps สองเท่าในกรณีที่ใคร ๆ สงสัยว่า swap อยู่ที่ไหน แต่ฉันไม่ได้แตะต้องเลย) ฉันได้เพิ่ม SSD ขนาด 130GB 2 ตัวแบ่งพาร์ติชันให้มีขนาดใหญ่เท่ากับพาร์ติชั่นบนไดรฟ์ 80GB และตั้งใจจะเปลี่ยนเป็นไดรฟ์ SSD ใหม่ด้วยการเพิ่ม RAID1 เพื่อรวมไว้รอซิงค์จากนั้นจึงลบเก่า ไดรฟ์จากอาร์เรย์ดังนั้นจึงเหลือเพียง SSD …
17 debian  boot  grub2  bootable 

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