Unix & Linux

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

3
ฉันจะสะท้อนวงเล็บปีกกาว่าง JSON เป็นค่าเริ่มต้นได้อย่างไร
ฉันดูเหมือนจะไม่ได้รับ JSON ว่างเปล่า{}เพื่อสะท้อนถ้า envvar หายไป ฉันอาจมีส่วนท้าย}ในเอาต์พุตหากตั้งค่าไว้หรือ escape แสดงขึ้น bash-3.2$ unset X bash-3.2$ echo "${X:-{}}" {} bash-3.2$ X=y bash-3.2$ echo "${X:-{}}" y} bash-3.2$ echo "${X:-{\}}" y bash-3.2$ unset X bash-3.2$ echo "${X:-{\}}" {\} bash-3.2$ echo "${X:-'{}'}" '{}' bash-3.2$ X=z bash-3.2$ echo "${X:-'{}'}" z ฉันจะหนีมันอย่างถูกต้องได้อย่างไร
12 bash  variable 

1
วิธีเพิ่มขนาดโฟลเดอร์ / tmp ด้วยตนเอง
ฉันไม่มีพื้นที่ว่างเหลืออยู่ใน โฟลเดอร์/ tmpใน Fedora 26 ซึ่งทำให้เกิดปัญหาหลายอย่าง Folder / tmp ใช้ RAM ฟรีทั้งหมด: $ df -h /tmp Filesystem Size Used Avail Use% Mounted on tmpfs 3.9G 3.9G 12k 100% /tmp $ ดังนั้น ฉันจะเพิ่มขนาดของโฟลเดอร์นี้ด้วยตนเองอย่างไรเพื่อให้มีพื้นที่ว่างมากขึ้นโดยไม่ต้องเพิ่ม RAM หรือลบไฟล์จากมัน? คำถามของฉันคล้ายกับสิ่งนี้และสิ่งนี้แต่แตกต่างกัน: ในคำถามของฉันฉันต้องเพิ่มขนาดของโฟลเดอร์ในขณะที่ฉันถึงขนาดสูงสุด ขอบคุณล่วงหน้า.
12 systemd  disk  tmpfs 

4
ฉันจะแสดงชื่อ eth0 เก่าและเปลี่ยนชื่อเน็ตเวิร์กอินเตอร์เฟสใน debian 9 ได้อย่างไร
ฉันอยากจะทำ 2 สิ่ง: 1) เปลี่ยนอินเทอร์เฟซกลับไปเป็นชื่อคลาสสิกเก่า: eth0 แทน ens33 2) เปลี่ยนชื่ออินเทอร์เฟซในแบบที่ฉันต้องการตัวอย่างเช่นฉันสามารถเรียกอินเตอร์เฟส eth0 เป็น wan0 หรือกำหนด eth1, eth2 และที่อยู่ mac ที่ฉันต้องการ


1
จะตรวจสอบคุณสมบัติของ CPU บน PowerPC และ Power 8 (และสูงกว่า) ได้อย่างไร?
เราสามารถตรวจสอบ/proc/cpuinfoบนเครื่อง Intel และ ARM เพื่อเรียนรู้คุณสมบัติ cpu เช่น AES และ SHA ฉันต้องทำเช่นเดียวกันสำหรับ PowerPC ภายใต้ทั้ง AIX และ Linux การทดสอบกับ Linux แสดงอยู่ด้านล่าง การส่งออกที่ผลิตโดยGCC112ในฟาร์มรวบรวม $ cat /proc/cpuinfo processor : 0 cpu : POWER8E (raw), altivec supported clock : 2061.000000MHz revision : 2.1 (pvr 004b 0201) ... processor : 159 cpu : POWER8E (raw), altivec …
12 linux  aix  cpu  powerpc 


2
gpg-agent ปฏิเสธคีย์ SSH ด้วยการรายงาน ssh-add“ การดำเนินการของตัวแทนถูกปฏิเสธ”
ฉันใช้ openssh7.5p1 และ gnupg 2.1.21 บน arch linux (นี่เป็นเวอร์ชันเริ่มต้นที่มาพร้อมกับ arch) ฉันต้องการใช้gpg-agentเป็นตัวแทน ssh ฉันใส่สิ่งต่อไปนี้ในของฉัน~/.gnupg/gpg-agent.conf: pinentry-program /usr/bin/pinentry-qt enable-ssh-support Arch เริ่มต้น gpg-agent จาก systemd โดยอัตโนมัติดังนั้นฉันจึงตั้งค่า export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh" เมื่อฉันเรียกใช้ssh-add -lจะไม่มีการระบุตัวตนและpsรายงานgpg-agent --supervisedกระบวนการตามที่ฉันคาดหวัง น่าเสียดายที่เมื่อฉันทำงานssh-addไม่ว่าจะเป็นประเภทปุ่มใดมันไม่ทำงาน นี่คือตัวอย่างของวิธีที่ฉันพยายาม dsa: $ ssh-keygen -f testkey -t dsa -N '' Generating public/private dsa key pair. Your identification has been saved in testkey. …

1
ACPI group / action ไม่ได้กำหนด: processor / LNXCPU
หากฉันถอดปลั๊กแล็ปท็อปของฉันจากอะแดปเตอร์ AC ฉันจะได้รับข้อผิดพลาด ACPI ดังนี้: May 07 21:45:04 veritas root[7067]: ACPI group/action undefined: processor / LNXCPU:00 May 07 21:45:04 veritas root[7076]: ACPI group/action undefined: processor / LNXCPU:01 May 07 21:45:04 veritas root[7078]: ACPI group/action undefined: processor / LNXCPU:02 May 07 21:45:04 veritas root[7080]: ACPI group/action undefined: processor / LNXCPU:03 acpi_listen …

3
พิมพ์คอลัมน์ใน awk ตามชื่อส่วนหัว
ฉันมีไฟล์ข้อความเช่นนั้น foo bar baz 1 a alpha 2 b beta 3 c gamma ฉันสามารถใช้ awk พิมพ์คอลัมน์บางอย่างเช่น 1 และ 3 ด้วยแต่ผมต้องการระบุคอลัมน์ที่จะพิมพ์โดยการระบุส่วนหัวของคอลัมน์แทนสิ่งที่ชอบ{print $1, $3} {print $foo, $baz}สิ่งนี้มีประโยชน์ดังนั้นฉันจึงไม่ต้องเปิดไฟล์และนับคอลัมน์ด้วยตนเองเพื่อดูว่าคอลัมน์ใดอยู่และฉันไม่จำเป็นต้องอัปเดตสคริปต์หากหมายเลขคอลัมน์หรือคำสั่งซื้อเปลี่ยนแปลง ฉันสามารถทำสิ่งนี้ด้วย awk (หรือเครื่องมือเชลล์อื่น) ได้หรือไม่

2
การแทนที่ตัวแปร Bash ของตัวแปรตามด้วยขีดล่าง
ตัวแปรBUILDNUMBERถูกตั้งค่าเป็น 230 ฉันคาดว่า230_จะพิมพ์สำหรับคำสั่งecho $BUILDNUMBER_แต่เอาต์พุตว่างเปล่าดังแสดงด้านล่าง # echo $BUILDNUMBER_ # echo $BUILDNUMBER 230

1
sudoers และค่าเริ่มต้น
ฉันต้องอนุญาตให้ผู้ใช้เรียกใช้ sudo โดยไม่ใช้รหัสผ่านโดยไม่มี tty ฉันมีไฟล์ภายใต้/etc/sudoers.d/คำสั่งและการตั้งค่าพิเศษที่ฉันต้องการเนื่องจากฉันไม่ต้องการแก้ไขsudoersไฟล์โดยตรง ในไฟล์นั้นฉันมีดังต่อไปนี้: # My list of commands that the user can run passwordless myUser ALL=(ALL) NOPASSWD:SETENV: /foo/bar /foo/zaz # My new defaults. Defaults exempt_group = myUser Defaults !env_reset,env_delete-=PATH Defaults: myUser !requiretty อย่างไรก็ตามเมื่อฉันsuให้กับผู้ใช้และเรียกใช้sudo -lฉันได้รับในค่าเริ่มต้น: Matching Defaults entries for myUseron this host: requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY …
12 sudo  sudoedit 

3
คำสั่งระยะไกลในไฟล์ ssh config
ฉันต้องการตั้งค่า ssh_config ดังนั้นหลังจากพิมพ์ssh my_hostnameฉันลงเอยในโฟลเดอร์เฉพาะ cd /folder/another_one/much_much_deeper/เช่นเดียวกับผมจะพิมพ์ ฉันจะบรรลุสิ่งนั้นได้อย่างไร แก้ไข มันถูกทำเครื่องหมายว่าซ้ำกับ "How to ssh to dir ... " แต่ไม่ใช่คำถามของฉัน ฉันรู้ว่าฉันสามารถรันคำสั่งใด ๆ ได้โดยปรับให้เป็นsshคำสั่ง คำถามของฉันเกี่ยวกับ/ssh_configไฟล์ไม่ใช่คำสั่ง
12 ssh  ssh-config 

1
ต้องใช้อักขระใดบ้างในไฟล์ที่ไม่มีเครื่องหมายคำพูด?
ฉันมีเชลล์ / เทอร์มินัลที่ใช้รันคำสั่ง bash และฉันกำลังหลบหนีช่องว่าง แต่ปรากฎว่าวงเล็บยังต้องหลบหนี ต้องใช้อักขระอื่นใดในการหลีกเลี่ยงชื่อไฟล์ที่ไม่อยู่ในเครื่องหมายคำพูด?

1
วิธีการติดตั้ง R 3.3.1 ในไดเรกทอรีของฉันเอง
นี่เป็นคำถามที่ค่อนข้างซ้ำ (ดูวิธีการตั้งค่า PATH สำหรับ R ที่ติดตั้งในไดเรกทอรีของฉัน ) แต่ฉันพบปัญหาใหม่บางอย่างกับ R เวอร์ชันใหม่ ฉันพยายามติดตั้ง R (R 3.3.1) เวอร์ชันใหม่ในไดเรกทอรีของฉันเอง ฉันติดตามโฟลว์การติดตั้งก่อนหน้าของฉัน แต่ฉันพบปัญหาที่ฉันไม่เคยมีมาก่อน ./configure --prefix=$HOME/Programme/R-3.3.1 ....... checking for zlib.h... yes checking if zlib version >= 1.2.5... no checking whether zlib support suffices... configure: error: zlib library and headers are required ดูเหมือนว่ารุ่น zlib ต่ำเกินไปฉันจึงติดตั้งรุ่นปัจจุบันของ zlib tar xvf …

6
โปรแกรมที่สามารถบัฟเฟอร์ stdin หรือไฟล์
นอกเหนือจากการใช้แฟ้มชั่วคราวเพื่อช่วยเหลือมีวิธี / โปรแกรมอาจบัฟเฟอร์ข้อมูลจากแต่ไม่ออกเนื้อหาจนกว่าจะได้รับstdin EOFฉันไม่ต้องการใช้ตัวแปรเชลล์ (เช่นbuffer=$(cat)) โปรแกรมนี้ควรทำงานตามด้านล่าง (สมมติว่าชื่อโปรแกรมคือbuffered-cat) $ buffered-cat line 1 line 2 line 3 ^D # Ctr-D here(End of Line) หลังจากที่โปรแกรมได้รับ^Dแล้วbuffered-catส่งออกเนื้อหา line 1 line 2 line 3
12 shell  stdout  buffer 

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