คำถามติดแท็ก command-line

บรรทัดคำสั่งเป็นอินเทอร์เฟซแบบโต้ตอบกับเชลล์ของคุณ

2
ทำการดำเนินการเขียนอะตอมมิกในไฟล์ในทุบตี
หลังจากผ่านเอกสาร bash แล้วคำถามนี้และคำถามนี้ยังไม่ชัดเจนสำหรับฉันฉันจะดำเนินการเขียนอะตอม (ผนวก) ไปยังไฟล์ใน bash ได้อย่างไร ฉันมีสคริปต์ที่ทำงานในหลายกรณีและบางจุดต้องเขียนข้อมูลไปยังไฟล์: echo "$RESULT" >> `pwd`/$TEMP_DIR/$OUT_FILE เป็นไปได้อย่างไรที่จะทำการเขียนทั้งหมดจากสคริปต์ที่รันพร้อมกันไปยังไฟล์อะตอมมิก (ดังนั้นข้อมูลจากอินสแตนซ์หนึ่งจะไม่ซ้อนทับข้อมูลจากอีกอัน)

5
รับอายุของไฟล์ที่กำหนด
ฉันจะรับอายุของไฟล์ที่กำหนดอย่างน้อยวันได้อย่างไร ฉันตระหนักดีls -lhและคำสั่งที่คล้ายกัน ฉันต้องการบางสิ่งที่จะทำงานเช่นนี้ getfage <FILE> # prints out '12d' (12 days) นอกจากนี้สิ่งนี้จำเป็นต้องข้ามแพลตฟอร์มเนื่องจากฉันต้องการใช้ภายใต้ Mac OS X ด้วย แต่กรณีการใช้งานหลักอยู่ในกล่อง Linux ของฉัน บันทึก ตั้งแต่ Linux ไม่ได้ติดตามเวลาการสร้างฉันกำลังมองหาโซลูชันสองเท่า: หนึ่งสำหรับmtime (linux) - นั่นเป็นครั้งสุดท้ายที่กล่าวว่าไฟล์ถูกแก้ไข - และอีกหนึ่งสำหรับ Mac OS X ซึ่งสามารถจัดการกับmtimeหรือสร้างเวลา

5
รันคำสั่งเดียวกันอีกครั้งโดยใช้พารามิเตอร์อื่น
ฉันรู้ว่าฉันสามารถเรียกใช้คำสั่งต่อไปนี้ ls Some{File,Folder} และมันก็เทียบเท่ากับการรันสิ่งนี้: ls SomeFile SomeFolder (ฉันยังใช้มันเพื่อสิ่งต่าง ๆ เช่นmv place_{a,b}) อย่างไรก็ตามฉันสงสัยว่ามีทางลัดอื่นที่ฉันสามารถทำสิ่งนี้: run-command --a --whole --lot --of --flags parameter a; \ run-command --a --whole --lot --of --flags parameter b และฉันต้องพิมพ์run-command --a --whole --lot --of --flags parameter {a,b}หรืออะไรที่คล้ายกัน

3
เอาท์พุต ls -l ขนาดฟิลด์ด้วยตัวเลขจัดกลุ่มตามหลักพัน?
เป็นไปได้หรือไม่ที่จะทำให้ ls -l ส่งออกฟิลด์ขนาดด้วยตัวเลขที่จัดกลุ่มตามหลักพัน? ถ้าเป็นเช่นนั้นได้อย่างไร ตัวอย่างเช่น $ ls -l -rw-rw---- 1 dahl dahl 43,210,052 2012-01-01 21:52 test.py (หมายเหตุเครื่องหมายจุลภาคในขนาด) อาจแก้ไขการตั้งค่า LC_NUMERIC ภายในภาษาที่ฉันใช้ (en_US.utf8) ฉันใช้ Kubuntu 12.04 LTS


2
เทอร์มินัลคำสั่งเพื่อค้นหาว่าเซิร์ฟเวอร์นั้นเป็นเสมือนจริงหรือจริง
ฉันกำลังมองหาคำสั่งเทอร์มินัลซึ่งไม่ต้องการให้ผู้ใช้ที่ดำเนินการอยู่ในกลุ่ม sudoers และเป็นสากลและไม่ต้องการติดตั้งแพคเกจเพิ่มเติม จนถึงตอนนี้ฉันได้พบว่าหากระบบมีการติดตั้ง systemd ฉันสามารถใช้: $ hostnamectl status Static hostname: mint Icon name: computer-laptop Chassis: laptop Machine ID: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb Boot ID: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Operating System: Linux Mint LMDE Kernel: Linux 3.16.0-6-amd64 และภายใต้ชื่อไอคอนและแชสซีฉันสามารถดูว่าเป็น VM หรือเครื่องจริง แต่ฉันสงสัยว่าฉันสามารถใช้งานได้lscpuหรือไม่โดยเฉพาะอย่างยิ่งเนื่องจากเป็นวิธีที่เป็นสากลมากกว่าhostnamectlและไม่ต้องใช้ systemd ทฤษฎีของฉันคือถ้า CPU มีเพียงหนึ่งเธรดต่อหนึ่งคอร์และยังไม่ได้ระบุความถี่ซีพียูขั้นต่ำและสูงสุดนี่ก็เป็นการบ่งชี้ว่าเซิร์ฟเวอร์นั้นเป็นเวอร์ชวลไลเซชันแน่นอน $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little …

3
การรับและการตั้งค่าขนาดหน้าจอสำหรับ Xorg
ฉันต้องการเรียกใช้คำสั่งเช่นget-screen-resolutionระหว่างช่วงX เพื่อรับเอาต์พุต '800x480' (หรือขนาดหน้าจอที่แท้จริง) มีบางอย่างสำหรับสิ่งนี้ไหม ขณะนี้ฉันถ่ายภาพหน้าจอและวัดคุณสมบัติ*.jpgความกว้างและความสูงของผลลัพธ์ นอกจากนี้ฉันจะตั้งขนาดหน้าจอระหว่างเซสชัน X จากบรรทัดคำสั่งได้อย่างไร


4
คำสั่ง `เปิด 'เพื่อเปิดไฟล์ในแอปพลิเคชัน
ทำไมฉันไม่สามารถเรียกใช้คำสั่งนี้ใน terminal ของฉัน: open index.html มันควรจะเปิดไฟล์นี้ในเบราว์เซอร์ของฉันหรือไม่? open index.html -a "Sublime Text"นอกจากนี้ผมไม่สามารถเรียกใช้คำสั่งนี้: ผลลัพธ์ของคำสั่งเหล่านี้คือ: $ open index.html Couldn't get a file descriptor referring to the console $ open index.html -a "Sublime Text" - open: invalid option -- 'a' Usage: open [OPTIONS] -- command

2
ฉันจะรันคำสั่งบนหลายไฟล์ได้อย่างไร
นี่เป็นพื้นฐานที่ค่อนข้างฉันมีโฟลเดอร์ที่มีโฟลเดอร์ย่อยหลายไฟล์ของ JS และฉันต้องการเรียกใช้คอมไพเลอร์ Clojure ของ Google ในไฟล์ทั้งหมดในโฟลเดอร์เหล่านั้น คำสั่งในการประมวลผลไฟล์เดียวมีดังนี้: java -jar compiler.jar --js filename.js --js_output_file newfilename.js ฉันจะแก้ไขสิ่งนี้ให้ทำงานกับทุกไฟล์ JS ในโครงสร้างไดเรกทอรีของฉันได้อย่างไร

1
ฉันจะรับข้อความช่วยเหลือสำหรับ zsh builtin ได้อย่างไร
หากฉันต้องการรับข้อความการใช้งานสั้น ๆ สำหรับ bash builtin ฉันสามารถใช้help <builtin>ที่พร้อมท์คำสั่งเช่น $ help export export: export [-fn] [name[=value] ...] or export -p Set export attribute for shell variables. Marks each NAME for automatic export to the environment of subsequently executed commands. If VALUE is supplied, assign VALUE before exporting. Options: -f refer to shell …

2
เปิดใช้งานจอภาพที่สองจากเชลล์
ดังนั้น ... ฉันมีสองจอภาพบนเครื่อง Ubuntu ของฉัน และทุกครั้งที่ฉันเปิดแอปพลิเคชั่น Windows OpenGL ภายใต้ Wine มันจะปิดจอที่สอง และปล่อยให้ปิดเมื่อแอปพลิเคชันออก ฉันสงสัยว่ามีคำสั่งเชลล์ซึ่งจะเปิดจอภาพที่สองทันทีหรือไม่

2
ทำไม `grep -v 'ถึงไม่ทำงานอย่างที่คาดไว้
ฉันมีปัญหาแปลก ๆ เกี่ยวกับgrep -vข้อความค้นหา ให้ฉันอธิบาย: ในการแสดงการเชื่อมต่อฉันใช้who: $ who harry pts/0 2016-12-08 20:41 (192.168.0.1) james pts/1 2016-12-08 19:28 (192.168.0.1) timothy pts/2 2016-12-08 02:44 (192.168.0.1) กระแสttyของเทอร์มินัลของฉันคือpts/0 $ tty /dev/pts/0 $ tty | cut -f3-4 -d'/' pts/0 grep -v $(tty | cut -f3-4 -d'/')ผมพยายามที่จะไม่รวมการเชื่อมต่อของตัวเองโดยใช้ ผลลัพธ์ที่คาดหวังของคำสั่งนี้ควรจะเป็นwhoโดยไม่ต้องเชื่อมต่อของฉัน อย่างไรก็ตามผลลัพธ์ไม่คาดคิดมากที่สุด: $ who | grep -v $(tty | …
12 command-line  grep  tty 

5
ฉันต้องใช้ดิสทริบิวเตอร์ distro เพื่อเรียนรู้บรรทัดคำสั่งหรือ OS X นั้นเพียงพอ
ฉันจะเรียนรู้วิธีใช้บรรทัดคำสั่ง โดยเฉพาะผมจะใช้หนังสือ: "ลินุกซ์บรรทัดคำสั่ง: A Complete บทนำ" ตอนนี้ฉันต้องใช้ distro Linux เพื่ออ่านหนังสือหรือไม่ OS X จะเพียงพอหรือไม่ ถ้าฉันต้องการดิสทริบิวเตอร์แบบลินุกซ์แล้วก็จะใช้มันผ่าน VM เพียงพอหรือฉันต้องติดตั้งแบบเนทีฟ

5
เรียกใช้ "grep" ยกเว้นไฟล์ในเส้นทางที่ระบุ
ฉันต้องการแยกไฟล์./test/main.cppออกจากการค้นหา นี่คือสิ่งที่ฉันเห็น: $ grep -r pattern --exclude=./test/main.cpp ./test/main.cpp:pattern ./lib/main.cpp:pattern ./src/main.cpp:pattern ฉันรู้ว่ามันเป็นไปได้ที่จะได้รับผลที่ฉันต้องการโดยใช้คำสั่งต่างๆในการจัดเรียงท่อและฟิลเตอร์ แต่มีบางข้อความ / การหลบหนีที่จะทำให้grepเข้าใจสิ่งที่ฉันต้องการกำเนิด?

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