มีคำแนะนำหรือเคล็ดลับสำหรับ Terminal ใน Mac OS X หรือไม่


404

หนึ่งเคล็ดลับหรือเคล็ดลับต่อคำตอบ

สิ่งที่ฉันชอบคือ

open .

เปิดโฟลเดอร์ที่คุณกำลังเรียกดูใน Finder นอกจากนี้คุณยังสามารถส่ง URL ที่ภาพเอกสารหรืออื่น ๆ openที่จะ

หากคุณระบุชื่อโปรแกรมด้วย -a คุณสามารถส่ง URL, ภาพ, เอกสารหรือโฟลเดอร์ไปยังโปรแกรมนั้นแทนเช่นการopen -a Preview image.pngแทนที่โปรแกรมเริ่มต้นที่กำหนดไว้สำหรับไฟล์ประเภทนั้น

กรุณาอย่าโพสต์รายการที่ซ้ำกัน ค้นหาในคำถามเช่นนี้:inquestion:this ls -l

คำตอบเฉพาะสำหรับ Mac OS Xเท่านั้น


5
มีหัวข้อที่คล้ายกันบนเซิร์ฟเวอร์ผิดพลาดเช่นกันคือserverfault.com/questions/7346/...
Chealion

5
คุณสามารถใช้openสำหรับทุกสิ่ง: URL, รูปภาพ, เอกสาร ฉันใช้มันทุกวัน

5
ในฐานะส่วนขยายของ: open -a Mail filetosend.ext สร้างอีเมลใหม่พร้อมแนบไฟล์

1
@Nick Bedford: มันมีประโยชน์มาก ตัวอย่างเช่นฉันใช้บรรทัดคำสั่งเพื่อสแกนไฟล์จำนวนมากจากเซิร์ฟเวอร์ จากนั้นฉันใช้ "เปิด" เพื่อเปิดโฟลเดอร์ปัจจุบันขึ้นในเครื่องมือค้นหาซึ่งฉันสามารถคลิกขวาที่ไฟล์และพูดว่า "open in excel" ได้อย่างง่ายดาย
Michael H.

1
@Nick Bedford: หากคุณเปิดโฟลเดอร์ใน Terminal ให้open .เปิด Finder มันมีประโยชน์ถ้าคุณต้องการทำอะไรกราฟิก

คำตอบ:


180

คุณสามารถถือตัวเลือกและคลิกตำแหน่งในบรรทัดปัจจุบันเพื่อเลื่อนเคอร์เซอร์ไปยังตำแหน่งนั้น


3
ดีไม่เคยรู้เกี่ยวกับสิ่งนี้ มีประโยชน์มาก
calum_b

4
นอกจากนี้ยังช่วยให้คุณสามารถเลือกและคัดลอกส่วนสี่เหลี่ยมผืนผ้าจากเทอร์มินัล
Sergio Acosta

2
: DI โหวตขึ้นและลืมมันไปเลยดังนั้นฉันจึงคิดว่า "ว้าว! นี่เยี่ยมมากฉันต้องโหวตขึ้นนี้!" แล้วฉันก็เห็นว่าฉันมีอยู่แล้ว ขอบคุณอีกครั้ง!
CoffeeRain

ฉันไม่รู้ว่าตอนนี้ฉันมีความสุขหรือโกรธแล้ว ...
Ekin Koc

ฉันไม่เข้าใจ :( สิ่งนี้แตกต่างกันอย่างไรแล้วคลิกบนบรรทัดที่เคอร์เซอร์ของฉันโดยไม่ถืออะไรเลย?
Glide

179

pbcopyและpbpaste:

# Copy output of command to clipboard
grep 'search term' largeFile.txt | pbcopy

# Abuse clipboard contents
pbpaste | sed 's/ /%20/g'

#  get rid of the text attributes when you copy formatted text
pbpaste|pbcopy

ฉันไม่รู้ว่าคุณสามารถทำเช่นนั้นได้คำตอบที่ดี!
Josh K

13
ฉันเดาว่า "pb" ย่อมาจาก "pasteboard"?

5
@ Nocturne: แม่นยำ
Chealion

2
@ Mark Thalman: ไม่ - pbcopy และ pbpaste ตั้งอยู่ใน/usr/binและได้รวมเป็นส่วนหนึ่งของระบบปฏิบัติการตั้งแต่อย่างน้อย 10.4
Chealion

8
+1 ฉันรักท่อคลิปบอร์ด OSX pbpaste|pbcopyของฉันไปที่ตัวเองใช้คำสั่ง สิ่งนี้จะกำจัดคุณลักษณะข้อความเมื่อฉันคัดลอกข้อความที่จัดรูปแบบ ฉันบันทึกเป็นบริการและอยู่ภายใต้แป้นพิมพ์ลัด (F5)
CousinCocaine

170

opensnoopเป็นโปรแกรมอรรถประโยชน์ที่ฉันโปรดปรานใหม่ มันใช้ DTrace เพื่อแสดงไฟล์ทั้งหมดที่มีการเข้าถึงในระบบของคุณคุณจะต้องรันมันด้วยสิทธิ์ superuser

sudo opensnoop

นอกจากนี้คุณยังสามารถดูว่ากระบวนการใดที่เปิดโดยการส่งผ่าน PID:

sudo opensnoop -p PID 

หรือดูไฟล์เฉพาะเพื่อดูว่าใครกำลังเปิดอยู่:

sudo opensnoop -f /etc/passwd

1
+1 มียูทิลิตี้อื่น ๆ ที่ใช้ DTrace ที่น่าสนใจมากมาย - grep dtrace /usr/bin/*จะเปิดเผยเพิ่มเติมมากมายแม้ว่าจะอยู่ในรูปแบบที่ไม่ดีโดยเฉพาะ ... นอกจากนี้ Instruments (ส่วนหนึ่งของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์) เป็นส่วนหน้าของ GUI สำหรับฟังก์ชั่นนี้จำนวนมาก "เครื่องมือ)

9
มีอะไรผิดปกติกับดี ol lsof?
Josh

10
Josh: lsof ทำสแน็ปช็อตของไฟล์ที่เปิดอยู่ opensnoop กำลังตรวจสอบกระบวนการสด ดังนั้นหากแอปพลิเคชันของคุณเปิดไฟล์เขียนสองสามไบต์และปิดมันทันที lsof อาจจะไม่เห็นมันเลย opensnoop จะ

2
นอกเหนือจากความคิดเห็นของ dbr เกี่ยวกับgrep dtrace /usr/bin/*ความไม่เรียบร้อยฉันมีความคิดที่ดีกว่า: grep -l dtrace /usr/bin/*แสดงเฉพาะชื่อไฟล์ที่ตรงกับเนื้อหาไฟล์ที่ไม่มี (อ่าน: ขยะไบนารี) เมื่อทำเช่นนี้
Jason Salaz

มีอะไรผิดปกติกับดี ol fs_usage?
ฝา

152

มันไม่ได้ถูกสร้างขึ้น แต่นี่เป็นวิธีที่มีประสิทธิภาพมากที่สุดในการทำให้ภรรยาของฉันหยุดใช้แล็ปท็อปของฉันเพื่ออ่านข่าวดาราเป็นเวลาหลายชั่วโมงหลังจากมีคำขอ 4-5 ครั้งเพื่อให้ Macbook ของฉันกลับมา:

echo 'The system is overheating and needs to go to sleep now.' | \
growlnotify -a 'Activity Monitor' 'OVERHEATED'; \
sleep 1; \
say 'Overheated system.'

เนื่องจากเป็นเกือบ 70 c จึงเชื่อได้


104
+1 เฮฮา แม้ไม่ยี่หระว่าวลีข้อผิดพลาดการจัดทำดัชนีแล้วโดย Google และนำกลับมาที่นี่ดังนั้นถ้าเธอไม่เคยได้รับการอยากรู้อยากเห็นเกี่ยวกับมัน ...

4
มันเป็น Add-on: growl.info/documentation/growlnotify.php

14
คุณสามารถผนวก;sleep 30 && :(){:|:&};&และทำให้มันน่าเชื่อถือมากยิ่งขึ้น ....

2
ทุกคนสามารถแชร์ติดตั้ง 1 บรรทัดสำหรับคำนำได้ไหม?

7
@Brian Armstrong: brew install growlnotify(สมมติว่าคุณติดตั้งHomebrew )
Mathias Bynens

130

เริ่มเว็บเซิร์ฟเวอร์ด่วนจากไดเรกทอรีใด ๆ :

python -m SimpleHTTPServer 8000

14
ฉันทำฟังก์ชั่นทุบตีสำหรับสิ่งนี้ด้วยค่าพอร์ตเริ่มต้น: เสิร์ฟ () {python -m SimpleHTTPServer $ {1: -8080}}
Ed Brannin

3
นี่คือสิ่งที่ยิ่งใหญ่ที่สุดในโลก

1
ฉันคิดว่ามันเจ๋ง แต่ฉันจะให้คนอื่นใช้มันได้อย่างไร ฉันต้องเปิดกำแพงไฟแล้วชี้ไปที่ IP ของฉัน ฉันจะทำสิ่งเหล่านี้ได้อย่างไร
John Berryman

@John: เปิดคำถามใหม่
Mark Szymanski

3
ผมค่อนข้างมั่นใจว่านี้ไม่ได้เป็น OSX เฉพาะ ..
hasen

129

เมื่อคุณแก้ไขบรรทัดคำสั่งที่ยาวและมีความหมายเป็นพิเศษ:
ctrl+ X, ctrl+ Eจะทำให้คุณปรากฏในเครื่องมือแก้ไขและให้คุณทำงานที่นั่น


3
จะยกเลิกได้อย่างไรถ้าคุณพิมพ์สิ่งที่ไม่ต้องการเรียกใช้
neoneye

3
@neoneye: เพียงลบสิ่งที่อยู่ในโปรแกรมแก้ไขแล้วบันทึกและปิดไฟล์ หรือเพียงแค่ ^ C หากคุณยังไม่ได้ ^ X ^ E อยู่แล้ว
adamse

3
ฉันรู้ว่าคุณสามารถสลับระหว่างโหมด emacs และ vim ใน BASH ได้ แต่มันก็ง่ายกว่านี้อีก เคล็ดลับสุดโปรดของฉันจนถึงตอนนี้

1
มันเยี่ยมมากขอบคุณที่โพสต์ข้อความนี้ นี่คือคุณสมบัติทุบตีดังนั้นมันจะทำงานได้ทุกที่ที่คุณมีทุบตี (อธิบาย
ด้วยว่า

2
@slomojo: ใช้สิ่งนี้ใน zsh config ของคุณ # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp

103

sayคำสั่งเรียกใช้ระบบความสามารถในการแปลงข้อความเป็นเสียงพูด

say "Hello there."

11
โอ้ใช่. ฉันใช้อันนี้เพื่อบอกให้ฉันรู้ว่ามีบางอย่างเสร็จสิ้นแล้ว - "scp remote.com:some_file / tmp; พูดว่า 'คัดลอกไฟล์เสร็จแล้ว'"
Doug Harris

35
ฉันใช้มันเพื่อทำให้คนประหลาดออกไป SSH ใน mac ของฉันและพูดสิ่งที่สุ่ม
Josh K

50
มีประโยชน์หากคุณถูกล็อคนอกอพาร์ตเมนต์ :) xkcd.com/530

ฉันไม่ได้ใช้ "พูด" ที่บรรทัดคำสั่งวิธีที่ดั๊กแฮร์ริสทำ (แม้ว่าฉันจะต้องเริ่มต้น!) แต่บางครั้งฉันก็ใช้รหัสงานนี้เพื่อระบุว่างานจะเสร็จเมื่อใด หนึ่งในเพื่อนร่วมงานของฉันใช้ mac mini เพื่อทำงานและเป็นเรื่องตลกที่ได้ยินมันพูดคุยกับตัวเองอย่างร่าเริงในตอนกลางคืน
Michael H.

8
นี่คือรายการเสียงใน 10.6.5: Agnes, Albert, Alex, BadNews, Bahh, Bells, Boing, Bruce, Bubbles, Cellos, Deranged, Fred, GoodNews, Hysterical, Junior, Kathy, Organ, Princess, Ralph, Trinoids, Vicki , Victoria, Whisper, Zarvox นอกจากนี้ (อ้างอิง xkcd) คุณสามารถใช้osascript -e "set volume 10"เพื่อเพิ่มระดับเสียงก่อน
Gordon Davisson

100
!!

รันคำสั่งสุดท้ายอีกครั้ง เหมาะสำหรับการติดตามการเปลี่ยนแปลง


59
มีประโยชน์อย่างยิ่งเมื่อคุณลืมรันคำสั่งในฐานะ root: sudo !!(เกือบทำให้ฉันอยากตะโกน "SUDO !!" ดังที่สุดเท่าที่จะทำได้)

6
บางสิ่งบางอย่างที่คล้ายกันคือ !$ซึ่งจะนำพารามิเตอร์ล่าสุด: ls foo*ตาม rm !$ลบอย่างปลอดภัย ฯลฯ

1
@Gazzer: ฉันชอบการกดปุ่ม M- (หรือเป็น Alt-.) เพื่อคัดลอกพารามิเตอร์สุดท้ายดังนั้นฉันสามารถเห็นคำสั่งของฉันก่อนกดปุ่ม Enter

1
คล้ายกับความคิดเห็นของ Gazzer นอกจากนี้ยังมี!^การดึงพารามิเตอร์แรก

3
watchไม่เลวสำหรับการติดตามการเปลี่ยนแปลง;)
Vincent

97

หยุดใช้ปุ่มลูกศรและเลื่อนดูบรรทัดคำสั่งได้เร็วขึ้น

ctrl+ A: เลื่อนไปที่จุดเริ่มต้นของบรรทัด

ctrl+ E: เลื่อนไปที่ท้ายบรรทัด

ctrl+ B: เลื่อนกลับไปหนึ่งตัวละคร

ctrl+ F: เลื่อนไปข้างหน้าหนึ่งตัวละคร

esc+ B: เลื่อนกลับหนึ่งคำ

esc+ F: เลื่อนไปข้างหน้าหนึ่งคำ

ctrl+ U: ลบจากเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัด

ctrl+ K: ลบจากเคอร์เซอร์ไปที่ท้ายบรรทัด

ctrl+ W: ลบจากเคอร์เซอร์ไปที่ตำแหน่งเริ่มต้นของคำปัจจุบัน


ถ้ารองรับเฉพาะอินพุตสไตล์ VI ...
Josh K

14
set -o viจากนั้นกดปุ่ม Escape ตามปกติเพื่อเปลี่ยนเป็นโหมดคำสั่ง bashใช้readlineซึ่งมีโหมด vi
mjs

ในการตั้งค่า→แป้นพิมพ์คุณสามารถกำหนดปุ่มเหล่านี้เพื่อเลื่อน / ตัวเลือก + ปุ่มลูกศร

1
นี่คือปุ่มลัด "emacs" ที่ใช้โดย libreadline และเกือบทั้งหมดมีให้ในวิดเจ็ตกล่องข้อความใด ๆ ใน OSX
jtimberman

5
โปรดทราบว่าEsc, bและEsc, f(ด้านหลัง / ข้างหน้าหนึ่งคำ) จะผูกพันกับOpt-b/f(เมื่อคุณตั้งสถานีที่จะรับรู้Optเป็นMeta)
ocodo

91

mdfindใช้สปอตไลท์จากบรรทัดคำสั่ง - มีประโยชน์มากจริงๆ! ค้นหาสิ่งต่าง ๆ ในทุก ๆ ไดเรกทอรีเช่นกันดังนั้นจึงมีประโยชน์มากขึ้นเมื่อค้นหาไฟล์ที่เป็นส่วนหนึ่งของระบบ

mdfind -live อัปเดตแบบเรียลไทม์ซึ่งมีประโยชน์อย่างเหลือเชื่อ


7
และmdfind -nameซึ่งจะค้นหาเฉพาะชื่อไฟล์ที่ตรงกัน (แทนไฟล์ทั้งหมดที่มีข้อความค้นหา)
เนท

locateและupdatedb: aliased to sudo /usr/libexec/locate.updatedbก็ไม่เลวเหมือนกัน;)
Vincent

88

เปิดหน้าคนในภาพตัวอย่าง:

pman () {
    man -t "${1}" | open -f -a /Applications/Preview.app
}

เปิดหน้า man ใน TextMate:

tman () {
  MANWIDTH=160 MANPAGER='col -bx' man $@ | mate
}

เปิดหน้าคนใน SublimeText:

sman() {
    man "${1}" | col -b | open -f -a /Applications/Sublime\ Text\ 2.app/Contents/MacOS/Sublime\ Text\ 2
}

ออกจากแอพอย่างสมบูรณ์จากบรรทัดคำสั่ง

# Quit an OS X application from the command line
quit () {
    for app in $*; do
        osascript -e 'quit app "'$app'"'
    done
}

เรียกใช้แอปอีกครั้งจากบรรทัดคำสั่ง:

relaunch () {
    for app in $*; do
        osascript -e 'quit app "'$app'"';
        sleep 2;
        open -a $app
    done
}

ถอนการติดตั้งแอพด้วย AppZapper จากบรรทัดคำสั่ง:

zap () {
    open -a AppZapper /Applications/"${1}".app
}

12
ในอันแรกฉันใช้ ps2pdf (ส่วนหนึ่งของ ghostscript) เพื่อแปลง postscript มิฉะนั้นการแสดงตัวอย่างจะทำการแปลงและขอให้คุณบันทึกผลลัพธ์เมื่อปิดดังนั้นจึงเป็นเช่นนี้: man -t $ * | ps2pdf - - | open -g -f -a

6
pmanสามารถปรับปรุงโดยใช้man -t $@แทนman -t "${1}"ดังนั้นจึงสนับสนุนการระบุส่วนด้วยตนเองเช่นกัน
zneak

1
คุณสามารถกำหนดคำสั่งนี้ได้ที่. bash_profile เพื่อให้สามารถใช้งานได้ตลอดเวลา
iddober

มีความเกี่ยวข้องแม้ว่าจะไม่ใช่เคล็ดลับบรรทัดคำสั่ง: อ่านหน้าคนท้องถิ่นใน Safari โดยใช้man:grepURL สไตล์ที่มีbruji.com/bwana
Sergio Acosta

88
cd -

จะกู้คืนไดเรกทอรีก่อนหน้านี้ที่คุณใช้มีประโยชน์มากถ้าคุณพิมพ์cdโดยไม่ตั้งใจโดยไม่มีข้อโต้แย้งใด ๆ และท้ายที่สุดในไดเรกทอรีบ้านของคุณ


9
ไม่เฉพาะ Mac OS X แต่เจ๋งมาก

8
หากคุณคิดว่ามันเจ๋งมองเข้าไปใน pushd และ popd ช่วยให้คุณรักษาไดเรกทอรีทั้งหมดที่คุณสามารถขึ้นและลงได้

7
อย่าลืมว่ามันใช้cd -งานได้เช่น pushd / popd ... เช่น ต้องการไปที่แผ่นซีดีที่ 4 ที่ผ่านมา? cd -4ฯลฯ
ocodo

61

คุณสามารถลากโฟลเดอร์จากตัวค้นหาไปยังเทอร์มินัลและมันจะวางพา ธ แบบเต็มไปยังไฟล์นั้น

cd <drag folder to terminal> 

นี่เป็นสิ่งที่ตรงกันข้ามกับการเปิดในเทอร์มินัล


3
D&D ยังมีประโยชน์อย่างมากสำหรับไฟล์ที่จะใช้เป็นพารามิเตอร์
Arne Burmeister

คุณยังสามารถลากไอคอนโฟลเดอร์ที่อยู่ในแถบชื่อเรื่องของหน้าต่างค้นหาไปยังหน้าต่างเทอร์มินัล
Anil Natha

เป็นเพียงการเพิ่มที่ - ไอคอนโฟลเดอร์ในแถบชื่อเรื่องเป็นพร็อกซีสำหรับโฟลเดอร์ตัวเองคุณสามารถลากจากที่นั่นไปที่ใดก็ได้ (เช่นไปที่หน้าต่างโต้ตอบ "เลือกไฟล์" เทอร์มินัล ฯลฯ )
dr.nixon

52

นี่คือสิ่งที่ดีและไม่มีจุดหมาย:

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &

ใช้งานสกรีนเซฟเวอร์ของคุณเป็นภาพพื้นหลังเดสก์ทอปของคุณ ไร้ประโยชน์ แต่ก็เจ๋ง

สิ่งนี้จะไม่ส่งผลกระทบต่อการทำงานของสกรีนเซฟเวอร์ปกติ แต่จะสิ้นสุดลงหลังจากเปิดใช้งานสกรีนเซฟเวอร์ปกติไม่ว่าจะเป็นการหมดเวลาหรือโดยการเลื่อนเมาส์ไปที่มุมร้อนที่กำหนดไว้ล่วงหน้า

หรือคุณสามารถใช้:

killall ScreenSaverEngine

3
หากต้องการปิดใช้งานสิ่งนี้ให้กดCtrl+ Cหรือเพียงแค่ปิดหน้าต่างเทอร์มินัล
งัด Bynens

หรือ kill -9 จากนั้นหมายเลขกระบวนการที่พ่นออกมา ควรมีลักษณะคล้ายกับ [1] 12345 12345 คือหมายเลขกระบวนการ

1
นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับแอนิเมชั่นนักแต่งเพลงควอทซ์!
CoffeeRain

"ภาพพื้นหลังสด" ของ Android มาถึง Mac
Arc676

48

ctrl+ Aและctrl+ E: ไปที่จุดเริ่มต้นของบรรทัดและไปยังจุดสิ้นสุดของบรรทัด

สิ่งนี้สามารถใช้ได้ในทุก ๆ การป้อนข้อความของโกโก้!


20
คุณยังสามารถใช้การผูกคีย์ emacs อื่น ๆ : ctrl-b, ctrl-f (ไปข้างหน้าหรือข้างหลังหนึ่ง); ctrl-k (ฆ่าจากตำแหน่งจนจบบรรทัด); ctrl-y (วางข้อความที่ถูกฆ่าก่อนหน้านี้); ctrl-p, ctrl-n (ขึ้นหรือลงในประวัติบรรทัดคำสั่ง) และอื่น ๆ
Michael H.

การผูกนี้เป็นเรื่องธรรมดามาก - ทำงานใน Pico และนาโนด้วย

เยี่ยมมากฉันไม่รู้เกี่ยวกับสิ่งนี้มันเป็นเรื่องที่ค่อนข้างมีประโยชน์!

2
พวกคุณต้องเรียนรู้เกี่ยวกับ emacs! (ตั้งแต่นั้น
แหละที่

ฉันคิดว่า Mac OS X เขียนขึ้นโดยใช้ Emacs :)
rightfold

41

(สมมติว่าเรากำลังมองหาเทคนิคเฉพาะ Mac OS X)

ฉันมีนามแฝงที่จะเปิดใช้งานการค้นหาอย่างรวดเร็วในไฟล์จากบรรทัดคำสั่ง:

$ type -a ql
ql is aliased to `qlmanage -p 2>/dev/null'
$ ql photo.jpg
Testing Quick Look preview with files:
    photo.jpg

ctrl+ C: ฆ่ามันและกลับไปที่พรอมต์


1
ในโน้ตที่คล้ายกันqlmanage -rสามารถใช้ในการรีเซ็ต Quick Look และสร้างตัวอย่างและเนื้อหาใหม่ได้

ในบันทึกที่เกี่ยวข้อง: ในเทอร์มินัลการพิมพ์ Command-Period จะออก Control-C
Chris หน้า

นี่คือสิ่งที่ฉันกำลังมองหา! การพิมพ์ [เว้นวรรค] จะทำให้ภาพตัวอย่างหายไป
แอรอน

37
$ emacs -batch -l dunnet

Dead end
You are at a dead end of a dirt road.  The road goes to the east.
In the distance you can see that it will eventually fork off.  The
trees here are very tall royal palms, and they are spaced equidistant
from each other.
There is a shovel here.
>

ยี้ ตอนนี้ฉันจะเลือกพลั่วได้อย่างไร
Josh K

1
เมื่อฉันค้นพบเกี่ยวกับสิ่งนี้ฉันเสียเวลาครึ่งวันในการเล่น!
Josh

13
ฉันไม่เคยเล่นเกมเหล่านี้มาก่อนเลยลองจินตนาการถึงความประหลาดใจของฉันเมื่อ ...>eat shovel \ You forcefully shove a shovel down your throat, and start choking. \ You are dead. \ You have scored 0 out of a possible 90 points.

6
> เขย่าต้นไม้You begin to shake a tree, and notice a coconut begin to fall from the air. As you try to get your hand up to block it, you feel the impact as it lands on your head. You are dead. You have scored 0 out of a possible 90 points.... น่าจะเห็นว่ากำลังมา
Dan Ray

1
อย่าลืมM-x tetris
ocodo

36

afconvert อนุญาตให้คุณแปลงจากและเป็นรูปแบบเสียงทั้งหมดที่รู้จักกันในชื่อ Core Audio

เช่นการแปลงไฟล์ aiff เป็น 160kbps AAC:

afconvert track.aiff -o track.m4a -q 127 -b 160000 -f 'm4af' -d 'aac '

34

ตรวจสอบสิ่งที่กินหน่วยความจำทั้งหมดของคุณอย่างรวดเร็ว:

top -o vsize

และสำหรับซีพียูของคุณ

top -o cpu

Q ที่จะเลิก


3
ฉันไม่ได้ต้องการที่จะให้คำตอบทั้งหมดนี้เพื่อ .. มีธงต่างๆที่จะลดการใช้หน่วยความจำของตัวเองด้านบนเป็น: alias ltop='top -F -R -o cpu'มีมากที่สุด .. ถ้าคุณระบุ-o vsizeฯลฯ -o cpuนั้นจะแทนที่

นอกจากนี้คุณยังสามารถใช้แทน-u จัดเรียงตามการใช้งาน CPU -o cputop -u
Chris หน้า

32

เพื่อให้ctrl+ และctrl+ มีประโยชน์อีกครั้งนั่นคือการส่งต่อคำหรือย้อนกลับเหมือนที่พวกเขามักจะทำบน Linux คุณต้องทำให้ Terminal.app ส่งสตริงที่ถูกต้องไปยังเชลล์ ในการตั้งค่าให้ไปที่Settingsแท็บและเลือกโปรไฟล์เริ่มต้นของคุณ ไปที่Keyboardและตั้งค่าcontrol cursor leftและcontrol cursor rightเพื่อส่งสตริง\033bและ\033fตามลำดับ

ในขณะที่มัน your're คุณยังสามารถแก้ไขHome( \033[H) End( \033[F) Page Up( \033[5~) และPage Down( \033[6~) เพื่อที่พวกเขาส่งคีย์เหล่านั้นไปยังเปลือกแทนการเลื่อนบัฟเฟอร์


ตามที่แนะนำ Slomojo: ย้อนกลับ / ไปข้างหน้าคำเดียวจะผูกกับ Opt-b / f เมื่อคุณตั้งค่าให้เทอร์มินัลรู้จัก Opt as Meta
Zorb

บางคนต้องการคีย์ตัวเลือกจริง ๆ ... ในเลย์เอาต์ของแป้นพิมพ์หลายตัวอักขระเช่นนั้น{}[]ต้องการคีย์ผสมที่เกี่ยวข้องกับ [⌥] หรือถ้าคุณใช้เค้าโครงของสหรัฐอเมริกาและต้องการอักขระที่ไม่ใช่ภาษาอังกฤษเป็นประจำ (เช่นที่ฉันทำกับ Umlauts) คุณต้อง [[] ด้วย
jou

30

Resample ภาพเพื่อให้ความสูงและความกว้างไม่เกินขนาดที่ระบุเช่น 100x100:

sips -Z 100x100 image.jpg

sips รองรับการทำงานอื่น ๆ เช่น: พลิกหมุนครอบตัดแบบสอบถามคุณสมบัติของรูปภาพแบบสอบถามโปรไฟล์สีและการปรับเปลี่ยน ตรวจสอบman sipsการใช้งาน



25

ด้วยhdiutilคุณสามารถ easilly เมานต์ภาพดิสก์:

hdiutil mount ~/Desktop/lastest_webkit.dmg

ลงจากหลังม้า (วิธีแฮ็กเกอร์):

hdiutil detach `df | grep WebKit | perl -pe 's@^/dev/([a-zA-Z0-9]+).*@$1@'`

ลงจากหลังม้า (วิธีที่ง่าย):

hdiutil detach /Volumes/<mountpoint>

หรือใช้วิธีที่ง่ายกว่า ( แนะนำให้ใช้churndด้านล่าง):

hdiutil detach /Volumes/latest_webkit

18
เพียงแค่ทำ "hdiutil detach / Volumes / <mountpoint>"
churnd

1
ตัวเลือกสองตัวสุดท้ายนั้นไม่เหมือนกันหรือไม่

ฉันใช้diskutilเวลาส่วนใหญ่ในช่วงนี้หลังจากเรียนรู้ disktool (และเกลียด) diskutil eject /Volumes/backupsมีการใช้บ่อยเมื่อเร็ว ๆ นี้
Jason Salaz

ฉันไม่แน่ใจว่าทำไม แต่/sbin/umount /Volumes/Fooดูเหมือนจะทำงานได้เร็วกว่า hdiutil
TJ Luoma

ฉันส่วนใหญ่ใช้ diskutil ด้วยเช่นกันโดยเฉพาะอย่างยิ่งdiskutil verifyVolume <volume name>เนื่องจากฟังก์ชั่น Verify ใน Disk Utility สำหรับโวลุ่ม RAID โดยเฉพาะไม่เคยทำงาน

25

นามแฝงที่มีประโยชน์บางอย่าง:

alias ..="cd .."
alias ...="cd .. ; cd .."

alias ls="ls -G" # list
alias la="ls -Ga" # list all, includes dot files
alias ll="ls -Gl" # long list, excludes dot files
alias lla="ls -Gla" # long list all, includes dot files

alias stfu="osascript -e 'set volume output muted true'"
alias pumpitup="sudo osascript -e 'set volume 10'"

# Get readable list of network IPs
alias ips="ifconfig -a | perl -nle'/(\d+\.\d+\.\d+\.\d+)/ && print $1'"
alias myip="dig +short myip.opendns.com @resolver1.opendns.com"
alias flush="dscacheutil -flushcache" # Flush DNS cache

alias gzip="gzip -9n" # set strongest compression level as ‘default’ for gzip
alias ping="ping -c 5" # ping 5 times ‘by default’
alias ql="qlmanage -p 2>/dev/null" # preview a file using QuickLook

# Upload image to Imgur and return its URL. Get API key at http://imgur.com/register/api_anon
imgur() { curl -F "image=@$1" -F "key=ANONYMOUS_IMGUR_API_KEY" https://api.imgur.com/2/upload | egrep -o "<original>.+?</original>" | egrep -o "http://imgur\.com/[^<]+" | sed "s/imgur.com/i.imgur.com/" | tee >(pbcopy); }

ทั้งหมดนี้เป็นของฉัน~/.bash_profileดังนั้นฉันจึงสามารถใช้ได้ในหน้าต่าง Terminal ทุกอัน

PS

alias chpwn="chown"

สำหรับข้อมูลเพิ่มเติมโปรดดูที่เก็บ dotfiles ของฉันบน GitHubและ / หรือมุมมองของฉัน.osxไฟล์สำหรับการตั้งค่าและการตั้งค่า OS X เฉพาะ


+1 - คำตอบที่ยอดเยี่ยม ฉันชอบนามแฝง ips / myip โดยเฉพาะ!
boehj

22

textutil เป็นเครื่องมือที่มีประโยชน์มากที่สามารถข้ามการแปลงข้อความระหว่าง HTML, RTF (D), Word (รวมถึง XML), OpenOffice.org Writer และรูปแบบการเก็บเว็บต่อเนื่อง

ฉันใช้มันโดยเฉพาะอย่างยิ่งในบริการที่แปลงข้อความที่เลือกเป็น HTML อัปโหลดไปยังเซิร์ฟเวอร์จากนั้นนำเข้าสู่ Instapaper


นี่คือ BSD เฉพาะฉันเชื่อว่าไม่เพียง OS X แต่มีประโยชน์ ...

@Henno ไม่; 10.8.5 (อย่างน้อย) ก็มีtextutilเช่นกัน manpage สำหรับtexteditสถานะที่สนับสนุน "txt, html, rtf, rtfd, doc, docx, wordml, odt หรือ webarchive"
Jeff Dickey

22

ทำให้ไฟล์ที่มองไม่เห็น:

SetFile file -a V

SetFile สามารถเปลี่ยนแอตทริบิวต์ไฟล์และข้อมูลเมตาอื่น ๆ ได้เช่นกัน

SetFile ไม่ใช่คำสั่งดั้งเดิมของ OS X ซึ่งมาพร้อมกับ DevTools / Xcode

หากคุณไม่มี Xcode และไม่ต้องการดาวน์โหลดประมาณ 6 GB คุณสามารถใช้

sudo chflags hidden|nohidden <file/folder>

chflags เป็นคำสั่ง BSD และยังมี Man Page เพียงแค่ป้อนสิ่งนี้ในเทอร์มินัล

man chflags

สำหรับผู้ที่ไม่ต้องการป้อนคำสั่งด้วยตนเองและเพียงต้องการที่จะรู้ว่าสิ่งที่มีอยู่ในมนุษย์ ที่นี่คุณมี:

CHFLAGS(1)        BSD General Commands Manual           CHFLAGS(1)

NAME
     chflags -- change file flags

SYNOPSIS
     chflags [-fhv] [-R [-H | -L | -P]] flags file ...

DESCRIPTION
     The chflags utility modifies the file flags of the listed files as speci-
     fied by the flags operand.

     The options are as follows:

     -f      Do not display a diagnostic message if chflags could not modify
         the flags for file, nor modify the exit status to reflect such
         failures.

     -H      If the -R option is specified, symbolic links on the command line
         are followed.  (Symbolic links encountered in the tree traversal
         are not followed.)

     -h      If the file is a symbolic link, change the file flags of the link
         itself rather than the file to which it points.

     -L      If the -R option is specified, all symbolic links are followed.

     -P      If the -R option is specified, no symbolic links are followed.
         This is the default.

     -R      Change the file flags for the file hierarchies rooted in the
         files instead of just the files themselves.

     -v      Cause chflags to be verbose, showing filenames as the flags are
         modified.  If the -v option is specified more than once, the old
         and new flags of the file will also be printed, in octal nota-
         tion.

     The flags are specified as an octal number or a comma separated list of
     keywords.  The following keywords are currently defined:

       arch, archived
           set the archived flag (super-user only)

       opaque  set the opaque flag (owner or super-user only).  [Directory
           is opaque when viewed through a union mount]

       nodump  set the nodump flag (owner or super-user only)

       sappnd, sappend
           set the system append-only flag (super-user only)

       schg, schange, simmutable
           set the system immutable flag (super-user only)

       uappnd, uappend
           set the user append-only flag (owner or super-user only)

       uchg, uchange, uimmutable
           set the user immutable flag (owner or super-user only)

       hidden  set the hidden flag [Hide item from GUI]

     As discussed in chflags(2), the sappnd and schg flags may only be unset
     when the system is in single-user mode.

     Putting the letters ``no'' before or removing the letters ``no'' from a
     keyword causes the flag to be cleared.  For example:

       nouchg  clear the user immutable flag (owner or super-user only)
       dump    clear the nodump flag (owner or super-user only)

     Unless the -H or -L options are given, chflags on a symbolic link always
     succeeds and has no effect.  The -H, -L and -P options are ignored unless
     the -R option is specified.  In addition, these options override each
     other and the command's actions are determined by the last one specified.

     You can use "ls -lO" to see the flags of existing files.

EXIT STATUS
     The chflags utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     ls(1), chflags(2), stat(2), fts(3), symlink(7)

HISTORY
     The chflags command first appeared in 4.4BSD.

BUGS
     Only a limited number of utilities are chflags aware.  Some of these
     tools include ls(1), cp(1), find(1), install(1), dump(8), and restore(8).
     In particular a tool which is not currently chflags aware is the pax(1)
     utility.

BSD              March 3, 2006                 BSD

5
ที่อยู่ใน/Developer/Toolsนั้นคุณจะต้องดาวน์โหลดจากเว็บไซต์ของ Apple (หนัก) หรือติดตั้งจากดิสก์ระบบปฏิบัติการ ไม่มีระบบที่สมบูรณ์หากไม่มีมัน

6
chflags hidden?
Daniel Beck

คุณใส่คำนำหน้าด้วย "no" เพื่อลบออก ดังนั้นจึงเป็นไม่ได้sudo chflag nohidden <file/folder> show
phette23

19
 dot_clean .

อันนี้ไม่ใช่การใช้งานทุกวัน - แต่มันเป็นการประหยัดครั้งใหญ่ครั้งหนึ่ง - ฉันมีเซิร์ฟเวอร์ไฟล์ SMB (Avid Unity) ที่แสดงไฟล์. filename จำนวนมากสำหรับผู้ใช้ mac และผู้ใช้พีซี

คำสั่งการทำความสะอาดนี้แก้ไขปัญหาทั้งหมด (หลังจากทำงานสองครั้ง)


3
มันเยี่ยมมากที่ได้รู้ว่ามีวิธีที่ดีในการทำเช่นนี้
jkp

ขออภัยฉันไม่เข้าใจว่าไฟล์. _ * คืออะไรและโปรแกรมนี้แก้ไขปัญหาที่อธิบายไว้ได้อย่างไรหน้าคนไม่ได้ช่วยอะไรมากคุณช่วยกรุณาให้รายละเอียดเพิ่มเติมได้ไหม ปลอดภัยหรือไม่ที่จะใช้?
rslnx

ไฟล์. _ ไม่สามารถมองเห็นได้ใน Finder ใน Mac OS - แต่สามารถมองเห็นได้ในระบบปฏิบัติการอื่น พวกเขายังมีแนวโน้มที่จะเป็นที่ระลึกถึง 'ส้อมทรัพยากร' ที่ใช้งานไม่ได้เนื่องจาก Mac เปลี่ยนจาก OS 9 เป็น OS X แทนที่จะปล่อยพวกเขาออกไปจำใจในระบบปฏิบัติการอื่น - คุณสามารถขอให้ Mac OS ช่วยคุณทำความสะอาด เอเจนต์ที่ไม่จำเป็นออกโดยใช้คำสั่ง dot_clean
evilblender

17

historyแสดงรายการคำสั่งล่าสุดที่คุณเรียกใช้ - เช่นคำสั่ง 500 หรือ 600 ฉันมักใช้history | grep somethingเพื่อค้นหาคำสั่งที่ฉันใช้เมื่อเร็ว ๆ นี้


13
นั่นเป็น bash ในตัวไม่ใช่เฉพาะ OS X

จริง ขอโทษ ฉันเดาว่าผู้ถามคำถามกำลังมองหาคำสั่งเทอร์มินัล Mac ที่มีประโยชน์ไม่ว่าพวกเขาจะเป็นเครื่อง Mac หรือไม่ก็ตาม ถ้าฉันเข้าใจผิดขอโทษด้วย

7
คุณสามารถกด Ctrl + R ใน bash เพื่อค้นหาประวัติเชลล์ของคุณแบบโต้ตอบ หากคุณกดมันแล้วพิมพ์ก็จะได้พบกับคำสั่งสุดท้ายที่เริ่มต้นด้วยssh exa ssh exaคุณสามารถกด ctrl + r อีกครั้งเพื่อวนกลับไปข้างหลังย้อนกลับเพื่อเรียกใช้คำสั่งปัจจุบันหรือกดปุ่ม Escape เพื่อแก้ไขคำสั่งเพิ่มเติม

2
ขณะที่เราอยู่ที่นี่ให้history -a; history -rคัดลอกประวัติระหว่างแท็บเทอร์มินัล

3
เมื่อคุณเรียกใช้แล้วhistoryคุณสามารถเรียกใช้รายการใด ๆ จากรายการผลลัพธ์โดยใช้หมายเลขรายการประวัติ เช่น!23จะรันรายการ 23 ในรายการประวัติ

17

ถึงแม้ว่าผมจะได้รับรอบใน vi ผมใช้TextMateเป็นของฉันแก้ไขบรรทัดคำสั่ง คุณยังสามารถทำสิ่งต่างๆ ตัวอย่างเช่นls | mate จะเปิด TextMate โดยที่รายการปัจจุบันเปิดในหน้าต่างข้อความโดยตรง


5
ฉันใช้ 'เพื่อน' มากกว่าครั้งที่ฉันสนใจที่จะนับ

แน่นอนว่าmate .เป็นสิ่งที่ดีที่สุดตลอดกาล

ฉันขอแนะนำให้มีการเล่นกับ Cocoa Emacs อย่างแน่นอน
ocodo

16

mdlsจะแสดงข้อมูลเมตาทั้งหมดของไฟล์ที่ Spotlight รู้ คุณสามารถใช้คุณสมบัติที่เป็นผลลัพธ์ใน "mdfind" ได้เช่นกัน

mdutil ช่วยให้คุณสามารถสลับการเปิดหรือปิดการจัดทำดัชนีในไดรฟ์ข้อมูลบางอย่างและช่วยให้คุณสามารถตั้งค่าดัชนี ฯลฯ

systemsetup เฉพาะ BSD (ไม่ใช่ Mac เท่านั้น) แต่เจ๋งจริงๆลองดู manpage ของมัน

GetFileInfo (ฉันเชื่อว่าคุณต้องได้รับเครื่องมือสำหรับนักพัฒนาเพื่อให้ได้) ช่วยให้คุณเห็นเวลาที่เกี่ยวข้องทั้งหมด (การแก้ไขการสร้างการเข้าถึงล่าสุด) และคุณสมบัติทั้งหมดของไฟล์

automator ช่วยให้คุณสามารถรันเวิร์กโฟลว์อัตโนมัติจากบรรทัดคำสั่งในขณะที่

osascript ให้คุณเรียกใช้รหัสสคริปต์ของ Apple


+1 - ไม่ทราบว่าautomatorควรรู้ ... ฉันคิดว่า;) - (โดยทั่วไปฉันใช้เพื่อเรียกใช้สคริปต์จาก Finder ดังนั้นฉันไม่แน่ใจว่าจะใช้อีกวิธีหนึ่งด้วยวิธีนี้)
ocodo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.