Unix & Linux

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

4
ค้นหาไฟล์ที่มีสตริงในชื่อไฟล์และสตริงอื่นภายในไฟล์หรือไม่
ฉันต้องการ (เรียกซ้ำ) ค้นหาไฟล์ทั้งหมดที่มี "ABC" ในชื่อไฟล์ซึ่งมี "XYZ" ในไฟล์ด้วย ฉันเหนื่อย: find . -name "*ABC*" | grep -R 'XYZ' แต่มันไม่ได้ให้ผลลัพธ์ที่ถูกต้อง
17 grep  find 

8
วิธีการตั้งค่าปุ่มเพาเวอร์เป็นปิดแทนที่จะระงับ?
ฉันใช้GNOME 3.18.1กับArch Linux 4.2.5-1-ARCH x86_64บนแล็ปท็อป Dell E6530 ตั้งแต่ฉันติดตั้งระบบปฏิบัติการนี้เมื่อหลายปีก่อนปุ่มเปิดปิดบนแล็ปท็อปของฉันทำให้ระบบปฏิบัติการของฉันปิดตัวเองอย่างสมบูรณ์ อย่างไรก็ตามในช่วงสองสามสัปดาห์ที่ผ่านมาพฤติกรรมนี้เปลี่ยนไปดังนั้นการกดปุ่มเปิด - ปิดเครื่องจะทำให้แล็ปท็อปของฉันเข้าสู่โหมดประหยัดพลังงาน ฉันไม่ได้เปลี่ยนการตั้งค่าพลังงานของฉัน ฉันใช้ระบบของฉันให้ทันสมัยอยู่เสมอpacman -Syyuดังนั้นฉันสงสัยว่าการอัปเดตจะเปลี่ยนการทำงานนี้ ในการตั้งค่าพลังงานไม่มีตัวเลือกสำหรับสิ่งนี้ ฉันจะคืนค่าการทำงานเริ่มต้นได้อย่างไรเพื่อให้การกดปุ่มนั้นปิดระบบ

3
ล้างไดเรกทอรี $ HOME
ในช่วงไม่กี่ปีที่ผ่านมาใน$HOMEไดเรกทอรีของฉันมีไฟล์และไดเรกทอรีที่ซ่อนอยู่ปรากฏขึ้นมากมาย ฉันต้องการลบสิ่งที่ไม่จำเป็นอย่างต่อเนื่อง ฉันจะทราบได้อย่างไรว่าแอปพลิเคชันใดสร้างไฟล์และไดเรกทอรีที่ซ่อนอยู่เหล่านั้น ฉันจะแน่ใจได้อย่างไรว่ามันปลอดภัยที่จะลบไฟล์และไดเรกทอรีที่ซ่อนอยู่และไม่มีอะไรสำคัญที่จะหายไปและไม่มีสิ่งใดที่ขึ้นอยู่กับพวกเขาจะไม่หยุดทำงาน
17 home  dot-files 

4
จะแทนที่ช่องว่างในชื่อไฟล์ทั้งหมดด้วยเครื่องหมายขีดล่างใน Linux โดยใช้เชลล์สคริปต์ได้อย่างไร
ฉันลองต่อไปนี้เชลล์สคริปต์ซึ่งควรแทนที่ช่องว่างจากชื่อไฟล์ xml ทั้งหมด for xml_file in $(find $1 -name "* .xml" -type f); do echo "removing spaces from XML file:" $xml_file mv "$xml_file" "${xml_file// /_}"; done สมมติว่าฉันมีไฟล์ xml ที่มีชื่อxy z.xmlจากนั้นจะให้: removing spaces from XML file: /home/krishna/test/xy mv: cannot stat `/home/krishna/test/xy': No such file or directory removing spaces from XML file: …

2
วิธีค้นหาแท็บ Chrome จาก PID ของกระบวนการ
ฉันเปิดแท็บ Chrome จำนวนมากสำหรับหน้าเว็บ แต่ละแท็บมี PID ของตัวเองเช่น USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND t 3900 1.9 6.3 5718440 508660 ? Sl Jun08 188:31 /opt/google/chrome/chrome --type=gpu-process --channel=3862.0.1604359319 --supports-dual-gpus=false --gpu-driver-bug-workarounds=1,12,42 --disable-accelerated-video-decode --gpu-vendor-id=0x8086 --gpu-device-id=0x2a42 --gpu-driver-vendor --gpu-driver-version ฉันสงสัยว่าจะหาแท็บใดจากแท็บที่เปิดอยู่จำนวนมากที่ตรงกับ PID ที่ระบุ
17 process  chrome 

1
อะไรคือ ifconfig ที่ส่งแพ็กเก็ต RX ทิ้ง?
ฉันเห็นสูงมากRX droppedแพ็คเก็ตในการส่งออกของifconfig: RX packetsพันของแพ็กเก็ตต่อวินาทีลำดับความสำคัญมากขึ้นกว่าปกติ wlan0 Link encap:Ethernet HWaddr 74:da:38:3a:f4:bb inet addr:192.168.99.147 Bcast:192.168.99.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31741 errors:0 dropped:646737 overruns:0 frame:0 TX packets:18424 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:90393262 (86.2 MiB) TX bytes:2348219 (2.2 MiB) ฉันกำลังทดสอบดองเกิล WiFi ทั้งคู่มีปัญหานี้และสิ่งที่มีอัตราการปล่อยที่สูงกว่านั้นจะทำงานได้ดีขึ้นในสถานการณ์น้ำท่วมที่เกิดขึ้นจริง อันที่มีแพ็คเก็ตที่ถูกทิ้งต่ำนั้นได้รับผลกระทบจาก Ping RTT ที่รุนแรงในขณะที่อีกอันไม่สามารถข้ามได้ Linux พิจารณาว่าแพ็กเก็ตที่ถูกดร็อปคืออะไร …
17 linux  networking  wifi 

3
เรียกใช้อินสแตนซ์กระบวนการหลายกระบวนการจริงของ gnome-terminal
หากคุณgnome-terminalใช้งานและต้องการอินสแตนซ์ใหม่ของโปรแกรมคุณอาจคิดว่าการใช้งานgnome-terminal &จากเชลล์จะเป็นการหลอกลวง น่าประหลาดใจที่อินสแตนซ์ใหม่นี้ทำงานเหมือนกับโปรแกรม Windows หรือ Mac ที่ไม่น่าสนใจ มันจะส่งข้อความไปยังที่มีอยู่เท่านั้นที่ทำงานgnome-terminalเพื่อสร้างหน้าต่างใหม่ หากgnome-terminalกระบวนการนี้ขัดข้องคุณจะสูญเสียหน้าต่างเทอร์มินัลทั้งหมด! (แน่นอนว่าแต่ละหน้าต่างมีเชลล์ของตัวเองซึ่งเป็นกระบวนการที่เป็นอิสระ แต่เทอร์มินัลอีมูเลเตอร์จำลองและ GUI ได้รับการจัดการจากอินสแตนซ์เดียวของแอปพลิเคชัน) เราจะสร้างอินสแตนซ์ที่เป็นอิสระของgnome-terminalแต่ละการทำงานในกระบวนการของตนเองเพื่อฆ่ากระบวนการนั้นทำลายหน้าต่างที่เกี่ยวข้องกับกระบวนการนั้นเท่านั้น

2
ใครสามารถอธิบายรายละเอียดสิ่งที่ "set -m" ทำอะไรได้บ้าง
ในหน้า manมันแค่พูดว่า: เปิดใช้งานการควบคุมงาน แต่สิ่งนี้หมายความว่าอย่างไร ฉันเจอคำสั่งนี้ด้วยคำถาม SOฉันมีปัญหาเดียวกันกับ OP ซึ่งเป็น "fabric ไม่สามารถเริ่ม tomcat" ได้ และset -mแก้ไขสิ่งนี้ OP อธิบายเล็กน้อย แต่ฉันไม่เข้าใจ: ปัญหานี้อยู่ในงานพื้นหลังเนื่องจากจะถูกฆ่าเมื่อคำสั่งสิ้นสุดลง วิธีแก้ปัญหานั้นง่าย: เพียงเพิ่ม "set -m;" คำนำหน้าก่อนคำสั่ง

9
เปลี่ยนรายการเป็นบรรทัดเดียวด้วยตัวคั่น
ฉันต้องจดรายการ (โหลด) ที่อยู่ IP ในรูปแบบนี้: 134.27.128.0 111.245.48.0 109.21.244.0 และแปลงเป็นรูปแบบนี้โดยใช้ไพพ์อยู่ระหว่าง (สร้าง IP) 134.27.128.0 | 111.245.48.0 | 109.21.244.0 | 103.22.200.0/22 ฉันคิดว่ามันเป็นคำสั่งค้นหาและแทนที่sedแต่ฉันไม่สามารถใช้งานได้

4
วิธีการเปิดเทอร์มินัลแยกไปที่เทอร์มินัล 9 รายการและสลับระหว่างกันโดยใช้หนึ่งสคริปต์
ฉันต้องการเปิดเทอร์มินัลแยกออกเพื่อให้บอกว่ามี 9 ส่วน (3x3) และรันสคริปต์ทุบตี แต่สำหรับเทอร์มินัลแต่ละส่วนจะมีสคริปต์ที่แตกต่างกัน สิ่งนี้สามารถทำได้โดยใช้ Perl, Python หรือแม้กระทั่งทุบตี? ฉันจะสลับระหว่างเทอร์มินัลตัวเล็ก ๆ เหล่านั้นโดยไม่ใช้แป้นพิมพ์ลัดได้อย่างไร terminatorโอ้โดยวิธีการที่ผมใช้ และถ้ามีเทอร์มินัลอีมูเลเตอร์อื่นที่เปิดใช้งานฟังก์ชั่นนี้มันคืออะไร?

3
การเมานต์จะไม่ถูกเรียกใช้งานเมื่อถูกเรียกโดย udev
ฉันพยายามสร้างกฎ udev เพื่อเมานต์และยกเลิกการต่อเชื่อมแฟลชไดรฟ์ USB ของฉัน กฎสำหรับช่วงเวลานั้นง่ายมาก: ACTION=="add",KERNEL=="sd[b-z]",RUN+="/root/scripts/plug_flash_drive.sh %k" ACTION=="remove",KERNEL=="sd[b-z]",RUN+="/root/scripts/unplug_flash_drive.sh %k" plug_flash_drive.sh นั้นง่ายมาก: device_name=$1 mount_options="umask=000,utf8" if [ ! -e "/media/$device_name" ]; then mkdir "/media/$device_name" fi sleep 1 /usr/bin/mount "/dev/$device_name" "/media/$device_name" -o "$mount_options" unplug_flash_drive.sh: device_name=$1 umount "/dev/$device_name" rmdir "/media/$device_name" ฉันได้ทำการทดสอบบางอย่างเพื่อให้แน่ใจได้ว่า: เมื่อเสียบปลั๊กแฟลชไดรฟ์ของฉันจะตรวจจับ ไฟล์ถูกสร้างขึ้นใน / dev plug_flash_drive.sh ถูกเรียกโดย udev ส่วน mkdir ของสคริปต์ทำงาน อย่างไรก็ตามดูเหมือนว่าส่วน "เมานท์" …
17 mount  udev  usb-drive 

4
คำสั่งไฟล์ Linux การจำแนกไฟล์
ฉันต้องรู้จักชนิดของข้อมูลที่อยู่ในไฟล์สุ่ม ฉันยังใหม่กับ Linux ฉันวางแผนที่จะใช้fileคำสั่งเพื่อทำความเข้าใจกับชนิดของไฟล์ข้อมูลที่มี ฉันลองคำสั่งนั้นและรับผลลัพธ์ด้านล่าง มีคนแนะนำฉันว่าfileคำสั่งดูไบต์เริ่มต้นของไฟล์เพื่อกำหนดชนิดข้อมูล fileคำสั่งไม่ได้ดูที่นามสกุลไฟล์ที่ทั้งหมด ถูกต้องหรือไม่ ฉันดูที่หน้าคนแต่รู้สึกว่ามันช่างเกินไป ฉันจะขอบคุณถ้าใครสามารถให้ลิงค์ซึ่งมีคำอธิบายที่ง่ายกว่ามากเกี่ยวกับการfileทำงานของคำสั่ง คำตอบที่เป็นไปได้ต่างกันที่ฉันสามารถหาได้หลังจากรันfileคำสั่งคืออะไร ตัวอย่างเช่นในการถอดเสียงด้านล่างฉันได้รับ JPEG, ISO, ASCII และอื่น ๆ : เอาท์พุทหน้าจอเป็นดังนี้ m7% file date-file.csv date-file.csv: ASCII text, with CRLF line terminators m7% file image-file.JPG image-file.JPG: JPEG image data, EXIF standard m7% file music-file.m4a music-file.m4a: ISO Media, MPEG v4 system, iTunes AAC-LC m7% …

3
เครื่องหมายวงเล็บในเงื่อนไข if: เหตุใดฉันจึงได้รับข้อผิดพลาดทางไวยากรณ์โดยไม่มีช่องว่าง
ฉันใช้สคริปต์ด้านล่างเพื่อย้ายสองวันกลับเมื่อสคริปต์ทำงานที่เริ่มต้นสองวันของปีและตรวจสอบวันแรกและวันที่สองของทุกเดือนและย้ายกลับสองวัน if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if [$month="01"] && [$day="02"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if [ $day = "01" ]; then date="$last_month/$yes_day/$year" fulldate="$year$last_month$yes_day" else if [ $day = "02" ]; then date="$last_month/$yes_day/$year" fulldate="$year$last_month$yes_day" else date="$month/$yes_day/$year" fulldate="$year$month$yes_day" fi fi fi fi แต่ฉันไม่ดีได้รับข้อความแสดงข้อผิดพลาดด้านล่าง Etime_script.sh: line 19: [06=01]: command not …

2
เริ่ม zsh ด้วย zshrc ที่กำหนดเอง
ฉันต้องการเริ่ม zsh ด้วยไฟล์ rc แบบกำหนดเองที่คล้ายกับคำสั่ง: bash --rc-file /path/to/file หากไม่สามารถทำเช่นนั้นจะสามารถเริ่ม zsh, run source /path/to/fileแล้วยังคงอยู่ในเซสชัน zsh เดียวกันได้หรือไม่ หมายเหตุ: คำสั่งzsh --rcs /path/to/fileไม่ทำงานอย่างน้อยก็ไม่ใช่สำหรับฉัน ... แก้ไข: ครบถ้วนฉันต้องการจะทำสิ่งต่อไปนี้: sshไปยังเซิร์ฟเวอร์ระยะไกล "example.com", รันzsh, sourceการกำหนดค่าของฉันอยู่ที่/path/to/file, ทั้งหมดใน 1 คำสั่ง นี่คือที่ฉันพยายามโดยเฉพาะอย่างยิ่งเพราะฉันไม่อยากเขียนไฟล์การกำหนดค่าใด ๆ บนเครื่องระยะไกล
17 linux  shell  zsh  oh-my-zsh 

3
ลืมรหัสผ่านสำหรับผู้ใช้บนเซิร์ฟเวอร์ Linux: ตั้งค่าใหม่ได้อย่างไร?
บนเซิร์ฟเวอร์ผู้ใช้ 16040 ทำรหัสผ่านหาย ฉันมีรหัสผ่านสำหรับรูท แต่ไม่มีรหัสผ่านสำหรับผู้ใช้ 16040 ฉันจะรีเซ็ตรหัสผ่านของเขาได้อย่างไร ด้วยpasswd 16040ยูนิกซ์ถามรหัสผ่านปัจจุบันที่ฉันไม่มี มีคำสั่งให้รีเซ็ตรหัสผ่านของผู้ใช้โดยไม่มีรหัสผ่านปัจจุบันหรือไม่? passwd 16040 Changing password for 16040. Current password for 16040@friesbie.com:
17 password  passwd 

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