Unix & Linux

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


2
mosh-server ต้องการภาษาท้องถิ่น UTF-8 เพื่อให้ทำงานได้
ฉันกำลังพยายามเชื่อมต่อจาก Gentoo ของฉันไปยังเซิร์ฟเวอร์ RHEL ทั้งสองมีการmoshติดตั้ง แต่ฉันได้รับข้อผิดพลาดนี้: petanb@localhost ~/Documents $ mosh root@server mosh-server needs a UTF-8 native locale to run. Unfortunately, the local environment ([no charset variables]) specifies the character set "US-ASCII", The client-supplied environment ([no charset variables]) specifies the character set "US-ASCII". LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" …
9 ssh  gentoo  mosh 

1
เป็นไปได้หรือไม่ที่จะเพิ่มความสามารถในการเรียกใช้งานได้ครั้งเดียวแทนที่จะเพิ่มทั้งไดเรกทอรีไปยัง $ PATH ของฉัน
ฉันมี XAMPP ติดตั้งใน OSX และโดยค่าเริ่มต้นจะเป็นการเพิ่มเส้นทางไปยังbinไดเรกทอรีของตัวเอง(เต็มไปด้วยยูทิลิตี้ต่าง ๆ ) ไปยัง$PATHตัวแปรของฉัน: # Add path to XAMPP PHP version export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin export PATH="$XAMPP_PHP:$PATH" แต่โชคไม่ดีที่หนึ่งของสาธารณูปโภคของมันจะถูกเรียกว่าHEADซึ่งต้องขอบคุณ OSX ของระบบแฟ้มกรณีตายชนกับยูนิกซ์headคำสั่ง XAMPP HEADไม่มีความเกี่ยวข้องอย่างสมบูรณ์กับhead(ฉันคิดว่ามันออกคำขอ HTTP HEAD) แน่นอนฉันต้องการใช้ทั้งสองheadและ XAMPP ดังนั้นฉันเพียงแค่เปลี่ยนลำดับตัวแปรเส้นทาง: export PATH="$PATH:$XAMPP_PHP" สิ่งนี้ทำให้ฉันใช้headแต่ตอนนี้มีการชนกันระหว่าง PHP เวอร์ชัน XAMPP (เช่น 5.5) และเวอร์ชัน PHP ที่ติดตั้งไว้ล่วงหน้าซึ่งมาพร้อมกับ OSX (5.3) เนื่องจากเส้นทางที่ 5.3 มาก่อนมันจะมีความสำคัญกว่า แผนของฉันสำหรับโซลูชันแฮ็คแฮ็กคือการเพิ่มพา ธ ไฟล์แบบเต็ม + ชื่อแค่เวอร์ชัน …
9 path 

2
ทำไมคำสั่ง“ มนุษย์” จึงหายไป?
ฉันพบว่าmanคำสั่งหายไปในRHEL7: # man ls bash: man: command not found... # which man /usr/bin/which: no man in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/root/gocode/bin:/root/bin:/opt/linuxki) แต่manและman-pagesทุกอย่างอยู่ในกล่องของฉัน: # yum install man Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager Package man-db-2.6.3-9.el7.x86_64 already installed and latest version Nothing to do # yum install man-pages Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager …

1
เปิดหน้าต่าง Terminal ขึ้นมาใหม่หลังจากรีสตาร์ท
ใน Mac ถ้าฉันเปิดเทอร์มินัลไม่กี่หน้าต่างและฉันรีสตาร์ทคอมพิวเตอร์หรือออกจากเทอร์มินัลหน้าต่างที่เปิดครั้งสุดท้ายจะเปิดขึ้นอีกครั้งโดยมีไดเรกทอรีการทำงานและประวัติคำสั่งเก็บไว้ มีวิธีการเปิดหน้าต่างเทอร์มินัล Ubuntu อีกครั้งหรือไม่

4
โปรแกรม Bash ไม่ทำงานหากการเปลี่ยนเส้นทางจะล้มเหลว
ใน bash ฉันสังเกตเห็นว่าหากคำสั่งที่ใช้การเปลี่ยนเส้นทางจะล้มเหลวโปรแกรมใด ๆ ที่ทำงานก่อนหน้านั้นจะไม่ทำงาน ตัวอย่างเช่นโปรแกรมนี้เปิดไฟล์ "a" และเขียน 50 ไบต์ไปยังไฟล์ "a" อย่างไรก็ตามการรันคำสั่งนี้ด้วยการเปลี่ยนเส้นทางไปยังไฟล์ที่มีสิทธิ์ไม่เพียงพอ (~ root / log) ทำให้ไม่มีการเปลี่ยนแปลงขนาดไฟล์ของ "a" $ ./write_file.py >> ~root/log -bash: /var/root/log: Permission denied cdal at Mac in ~/experimental/unix_write $ ls -lt total 16 -rw-rw-r-- 1 cdal staff 0 Apr 27 08:54 a <-- SHOULD BE 50 BYTES …

2
Rsyslog ไม่สร้างไฟล์บันทึก
ฉันกำลังทำให้มาตรฐาน Ubuntu เป็น CIS ของ Ubuntu แข็งขึ้น 14.04 และฉันมีปัญหาในการรับ rsyslog เพื่อสร้างไฟล์ที่จำเป็น หมายเหตุ: ฉันเริ่มดีขึ้นด้วย Linux แต่ฉันยังไม่มีความสามารถในการแก้ตัว ฉันแทรกไฟล์ /etc/rsyslog.d/CIS.conf ด้วยเนื้อหาต่อไปนี้: *.emerg :omusrmsg:* mail.* -/var/log/mail mail.info -/var/log/mail.info mail.warning -/var/log/mail.warn mail.err /var/log/mail.err news.crit -/var/log/news/news.crit news.err -/var/log/news/news.err news.notice -/var/log/news/news.notice *.=warning;*.=err -/var/log/warn *.crit /var/log/warn *.*;mail.none;news.none -/var/log/messages local0,local1.* -/var/log/localmessages local2,local3.* -/var/log/localmessages local4,local5.* -/var/log/localmessages local6,local7.* -/var/log/localmessages ฉันยังแก้ไข /etc/rysyslog.conf …
9 ubuntu  rsyslog 

3
chcon: ไม่สามารถใช้บริบทบางส่วนกับไฟล์ที่ไม่มีป้ายกำกับ '/ usr / sbin / xrdp'
เมื่อใดก็ตามที่ฉันพยายามรันบรรทัดนี้เพื่อกำหนดค่า SELinux เพื่อติดตั้ง xrdp จากบทช่วยสอนนี้ : # chcon --type=bin_t /usr/sbin/xrdp # chcon --type=bin_t /usr/sbin/xrdp-sesman ฉันได้รับข้อผิดพลาดเหล่านี้: chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp' chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp-sesman' ฉันใช้ CentOS 7.2 64 บิต
9 linux  centos  selinux 

3
GRUB สร้างความสับสนให้กับเมล็ด / initramfs ของการติดตั้ง Ubuntu และ Arch Linux
ฉันมีเครื่องที่เคยใช้ดูอัลบูท Ubuntu (16.04 ปัจจุบัน) และ Windows 7 โดยมี GRUB ของ Ubuntu เป็นบูตโหลดเดอร์ ตอนนี้ฉันเพิ่งเพิ่ม Arch Linux เป็นระบบปฏิบัติการตัวที่สามตามคำแนะนำการติดตั้งอย่างเป็นทางการ ฉันไม่ได้ติดตั้ง GRUB จาก Arch เพราะฉันต้องการใช้ตัวควบคุมโดย Ubuntu คำแนะนำมีคำสั่งmkinitcpio -p linuxที่อาจสร้างไฟล์บูตบางอย่างที่ฉันวิ่งตามที่อธิบายไว้ ตอนนี้เมื่อฉันพยายามบูต Ubuntu จาก GRUB ผ่านรายการเริ่มต้นฉันได้รับข้อผิดพลาดอันไม่พึงประสงค์ (ขออภัยสำหรับภาพหน้าจอ): ในฐานะที่เป็นเอาท์พุทของการuname -aแสดงมันพยายามที่จะบูต Arch kernel แต่/dev/sda6เป็นพาร์ทิชันรูท Ubuntu ฉันต้องไปที่Advanced options for Ubuntuและเลือกหนึ่งในUbuntu, with Linux 4.4.0-*รายการเพื่อให้สามารถโหลด Ubuntu ฉันไม่พบรายการที่จะโหลด Arch อย่างถูกต้อง การเรียกใช้sudo update-grubจาก …

1
`\ time ',` t \ ime` และ `\ cd` จริง ๆ ทำอะไร? (สนุกกับแบ็กสแลชในเปลือกหอย)
ขณะที่คุยมากกว่าความแตกต่างระหว่าง/usr/bin/timeและเปลือก (ทุบตีและ zsh) ในตัวtimeใครบางคนบอกว่าหนึ่งสามารถใช้เป็นชวเลขที่จะได้รับ\time/usr/bin/time ครั้งแรกดูเหมือนว่าจะเป็นทางลัดที่ไร้เดียงสา แต่คำถามก็เกิดขึ้น ทำไมถึงt\imeทำงานเช่นกัน? ทำไมถึง\cdเปลี่ยนได/usr/bin/cdเร็กตอรี่ถึงแม้ว่า¹จะไม่เป็นเช่นนั้น? ดังนั้นเห็นได้ชัดว่าจะไม่เทียบเท่ากับ\foo $(which foo)คำถามคือตอนนี้: พฤติกรรมที่สังเกตได้ของ\fooทั้งใน bash และ zsh ในทุก ๆ ด้านที่ครอบคลุมโดยนิยาม POSIX ของเชลล์และถ้าเป็นเช่นนั้นทำไมมันมีพฤติกรรมเหมือนมัน? เชิงอรรถ 1: /usr/bin/cdคือบนระบบของฉัน #!/bin/sh builtin cd "$@"

1
วิธีการเปิดใช้งานปุ่มลัดใน Linux Debian 8 Jessie (Gnome 3 DE)?
ฉันติดตั้ง Linux Debian 8 OS ด้วย Gnome 3 Desktop Environment เมื่อสองสามวันก่อน จนถึงตอนนี้ฉันใช้ Ubuntu บนพีซีของฉันและฉันพบว่ามีประโยชน์จริง ๆ กับปุ่มลัด / ทางลัดที่มีอยู่ในการแจกจ่ายนั้น ฉันสังเกตเห็นว่า Debian ไม่มีปุ่มลัดดังกล่าวหรือยิ่งกว่านั้นฉันไม่ได้ติดตั้งปุ่มเหล่านั้นอย่างถูกต้องหรือไม่รู้วิธีใช้สิ่งเหล่านี้ เช่นCtrl+ Alt+ Tไม่ได้เปิดเทอร์มิ ฉันต้องการให้ทางลัดทำงานเช่นนี้เพราะฉันพบว่าสิ่งเหล่านี้มีประโยชน์จริงๆ ท่องอินเทอร์เน็ตและ UL ฉันไม่พบสิ่งใดมีประโยชน์ คุณบางคนสามารถช่วยฉันหาวิธีแก้ปัญหาได้หรือไม่? ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม. ขอบคุณ

3
เหตุใด“ ls” ส่งสัญญาณเป็นระยะ ๆ เท่านั้น“.” ในไดเรกทอรีรากของไดรฟ์ภายนอกหรือไม่
ในไดเรกทอรีรากของแฟลชไดรฟ์ USB บางครั้งเมื่อฉันเรียกใช้lsเอาต์พุตปกติและจะแสดงรายการไฟล์ ในเวลาอื่นเอาต์พุตเป็นเพียงหนึ่งบรรทัด: $ ls . ถ้าฉันลองls -laสักครั้งฉันก็จะได้สิ่งนี้: $ ls -la ls: .: Invalid argument หากฉันlsย้อนกลับไปหลาย ๆ ครั้งดูเหมือนว่าจะส่งคืนเอาต์พุตปกติหรืออันที่ผิดปกติโดยการสุ่ม lsดูเหมือนว่าจะทำงานได้ตามปกติในไดเรกทอรีอื่น ls $drivenameแม้ดูเหมือนว่าจะทำงานได้ดีจากไดเรกทอรีหลักและls ..ดูเหมือนว่าจะทำงานได้ดีจากไดเรกทอรีลูก (แม้ว่าฉันจะไม่แน่ใจ 100% ของคนที่ "ทำงานได้ตามปกติ" เนื่องจากพฤติกรรมนั้นไม่ได้กำหนดไว้ตั้งแต่ต้น) ฉันลองไดรฟ์ USB ภายนอกอีกสองตัวและมีพฤติกรรมแบบเดียวกัน เกิดอะไรขึ้นที่นี่? ฉันใช้ Mac OS X 10.11.3 แก้ไข:แนวคิดที่ดี แต่ฉันดูเหมือนจะไม่ใช้นามแฝงและ/bin/lsให้ผลลัพธ์เหมือนกัน
9 osx  ls  usb-drive 

6
แสดงฟิสิคัลดิสก์เท่านั้นเมื่อใช้ df และ mount
เมื่อฉันใช้dfหรือmountฉันส่วนใหญ่สนใจในฟิสิคัลพาร์ติชันดิสก์ ทุกวันนี้ผลลัพธ์ของคำสั่งเหล่านั้นถูกครอบงำด้วยระบบไฟล์ชั่วคราวและเสมือนกลุ่ม cg และสิ่งอื่น ๆ ที่ฉันไม่สนใจเป็นประจำ พาร์ติชันทางกายภาพของฉันในผลลัพธ์เริ่มต้นด้วย ' /' ดังนั้นฉันพยายามสร้างนามแฝงสำหรับdfและmount: alias df1="df | egrep '^/'" alias mount1="mount | egrep '^/'" ที่ทำงาน OK สำหรับmount1(แม้ว่ามันแสดงให้เห็นว่า ' /' สีแดง) แต่สำหรับdf1ผมจะบางครั้งเหมือนจะเพิ่ม-hตัวเลือกในการและไม่สามารถทำdf df1 -hฉันไม่ต้องการมีนามแฝงสำหรับชุดค่าผสมของตัวเลือกทั้งหมดที่ฉันอาจต้องการใช้ ฉันต้องดูการกำหนดฟังก์ชั่นใน bash (ฉันไม่ต้องการ) หรือไม่? มีวิธีแก้ปัญหาที่ดีกว่าdf1หรือไม่?

1
วิธีการปิดการใช้งานให้รหัสผ่านจากด้านลูกค้า ssh?
ฉันมีสคริปต์ที่ใช้การพิสูจน์ตัวตนแบบพับลิกคีย์ / พับลิกคีย์ส่วนตัว ปัญหาคือว่าบางระบบมีการกำหนดค่าผิดพลาดและไม่มีการตั้งค่าความน่าเชื่อถือคีย์สาธารณะ / ส่วนตัว ssh ที่เหมาะสม เมื่อสิ่งนั้นเกิดขึ้นsshขอให้ฉันใส่รหัสผ่านเพื่อป้องกันการทำงานของสคริปต์ ฉันได้ลองคำสั่งนี้: sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call แต่ฉันยังคงได้รับพร้อมท์สำหรับรหัสผ่านรูท
9 openssh 

1
เหตุใดคำสั่ง 2 วันเหล่านี้จึงให้ผลลัพธ์ที่แตกต่างกัน
$ date -d "Apr 1 2016 - 1 month" +%B ให้ "เดือนมีนาคม" แก่ฉันซึ่งยอดเยี่ยม - เดือนที่มาก่อนเมษายนคือเดือนมีนาคม ถ้าฉันทำสิ่งนี้อย่างไรก็ตาม: $ date -d "$(date -d "Apr 1 2016") - 1 month" +%B มันทำให้ฉัน "กุมภาพันธ์" นี่เป็นสาเหตุของข้อผิดพลาดในโค้ดที่ซับซ้อนกว่าที่ฉันมี เหตุใดคำสั่ง 2 เหล่านี้จึงแสดงผลลัพธ์ที่ต่างกัน
9 date 

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