0%

HowToDo笔记:mac使用技巧

写在前面

这则笔记主要整理一些在网上看到的关于mac的使用技巧。主要包括:

  • 有趣的命令行工具

  • 终端使用技巧

  • mac使用技巧

有趣的命令行工具

tree

list contents of directories in a tree-like format.顾名思义,就是可以像树状结构一样查看文件的目录。如下图所示:

Installation

1
brew install tree //需要先安装brew
  • Verify if the installation was successful:
1
tree --version

How to Use:

1
tree -L 2 //L 表示level,后面的2表示两级目录

最有用的就是这个,更多内容可以输入 man tree 或者 tree -help 进行查询。

命令行查询天气

http://wttr.in 是一个允许你搜索世界各地天气预报的网站,而且它的是以 ASCII 字符的形式来显示结果的。通过使用 cURL 访问 http://wttr.in,就能直接在终端显示查询结果了。

查询效果是这样的,还是挺骚包的

获取指定地点的天气

  • 方式1:直接输入地点
1
2
3
4
5
$ curl wttr.in/New+York

$ curl wttr.in/New_York

$ curl wttr.in/newyork

warning: 教程上说单词之间要用+或者下划线连接,实测直接连在一起也可以,但是不能有空格,会报错。

  • 方式2:获取地标性建筑天气
1
curl wttr.in/~tiananmen-square

  • 方式3: 获取ip所在地天气
1
$ curl wttr.in/@linuxconfig.org
  • TIPS

默认情况下,wttr.in 会根据你的实际地址来决定显示哪种温度单位(C 还是 F)。基本上,在美国,使用的是华氏度,而其他地方显示的是摄氏度。

当然,也可以指定显示的温度单位,在 URL 后添加 ?u 会显示华氏度,而添加 ?m 会显示摄氏度。

1
2
3
$ curl wttr.in/New_York?m    //强制显示摄氏度

$ curl wttr.in/Toronto?u //强制显示华氏度

查询日历时间

1
2
3
$ cal     //查看当月
$ cal 2017 //查看当年的日历
$ date 查询具体日期时间

查询比特币价格

Installation:
前提是已经安装了node.js 和 npm,之后运行以下命令行:

1
npm install -g coinmon

How to use:

1
2
3
4
5
6
7
8
9
coinmon     //不带任何参数运行 Coinmon,显示前 10 位加密货币

coinmon -t 20 //使用 -t 标志查看最高的 n 位加密货币

coinmon -c cny //价格默认以美元显示。你还可以使用 -c 标志将价格从美元转换为另一种货币;cny表示人民币

coinmon -f btc //使用-f 加货币简称查询制定货币价格

coinmon -h //查询说明文档

下片神器 you-get

you-get安装:

安装依赖:

python 3

FFmpeg

注:FFmpeg也可以通过brew安装 brew install ffmpeg

安装you-get

  • 通过brew安装
1
brew install you-get
  • 通过pip3 安装:
1
pip3 install you-get

升级you-get

  • 如果是通过brew 安装的,则运行:
1
brew upgrade you-get
  • 如果是通过pip3安装的,则运行:
1
pip3 install --upgrade you-get

使用youget

第一步:找到需要下载的资源,复制网页地址,查看画质和格式信息:

命令行格式:you-get -i [url] or you-get --info [url]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
steve:~ steveyuan$ you-get -i https://www.youtube.com/watch?v=iaUze8A0844
site: YouTube
title: papi酱 - 如果这些职业和医生混搭…【papi酱突然更新的放送】
streams: # Available quality and codecs
[ DASH ] ____________________________________
- itag: 248
container: webm
quality: 1920x1080
size: 92.3 MiB (96795814 bytes)
# download-with: you-get --itag=248 [URL]

- itag: 137
container: mp4
quality: 1920x1080
size: 68.9 MiB (72264226 bytes)
# download-with: you-get --itag=137 [URL]

- itag: 247
container: webm
quality: 1280x720
size: 50.2 MiB (52596250 bytes)
# download-with: you-get --itag=247 [URL]
[ DEFAULT ] _________________________________
- itag: 22
container: mp4
quality: hd720
size: 39.6 MiB (41558299 bytes)
# download-with: you-get --itag=22 [URL]

注:带有default 字样的是网页当中默认的格式

第二步:下载视频

命令行格式:you-get [参数] [url]

注:这里的参数,对应的就是上面info信息的这个部分,也就是 --itag=22,默认下载到当前目录下。如下图所示:

-o [filePath] 小写-o选项,可以指定下载文件路径(这里要写绝对路径);-O [fileName],大写O可以为下载文件重命名;

1
you-get --itag=22 -o ~/documents/ -O papi-1.mp4 https://www.youtube.com/watch?v=iaUze8A0844

注:

  • 按照官方文档说法,这个参数可以省略,表示下载default的视频链接;

  • 如果下载了一半又改主意不想下载了,按 ctrl + c 中止;

分享几个小技巧

  • 搜索并下载视频

有时候,我们并不知道下载资源的具体网址,只知道名字而已。这时候输入 you-get [keyword] , 此时you-get 会通过google进行搜索,并下载最相关的视频most relevant video

  • 通过代理线路下载
1
2
3
4
5
you-get -x [代理ip:端口号] [url]

或者,两个效果是一样的

you-get --http-proxy [代理ip:端口号] [url]
  • 直接播放视频链接
1
2
3
4
5
you-get -p [播放器名] [url]

或者

you-get --player [播放器名] [url]
  • 此处也可以指定浏览器打开,免广告
1
you-get -p chromium [url]    //chromium是浏览器名

注:更多内容参见官方说明文档

htop 工具: top 替代

git地址:https://github.com/hishamhm/htop

安装:

1
brew install htop

使用:

终端输入 htop:

快捷键操作 说明
h, ? F1 查看htop使用说明
S,F2 htop 设定
/,F3 搜索进程
\,F4 增量进程过滤器
T,F5 显示树形结构
<, >,F6 选择排序方式[
F7 可减少nice值可以提高对应进程的优先级
F8 可增加nice值,降低对应进程的优先级
K,F9 可对进程传递信号
q,F10 结束htop
u 只显示一个给定的用户的过程
U 取消标记所有的进程
H 显示或隐藏用户线程
K 显示或隐藏内核线程
F 跟踪进程
P 按CPU 使用排序
M 按内存使用排序
T 按Time+ 使用排序
l 显示进程打开的文件
I 倒转排序顺序
s 选择某进程,按s:用strace追踪进程的系统调用

gifgen :gif文件生成工具

git地址:https://github.com/lukechilds/gifgen

安装:

1
brew install lukechilds/tap/gifgen

使用:

命令行格式:

1
gifgen [options] [input]
常用参数 说明
-o Output file [input.gif]
-f Frames per second [10]
-s Optimize for static background
-v Display verbose output from ffmpeg

示例:

1
2
3
4
5
6
7
8
//压缩视频文件为gif
gifgen video.mp4

//-o选项指定输出文件名称
gifgen -o demo.gif SCM_1457.mp4

//优化北京帧率
gifgen -sf 15 screencap.mov

thefuck 自动更正命令行错误

git地址:https://github.com/nvbn/thefuck

安装:

1
brew install thefuck

修改环境变量

1
2
3
4
5
vim ~/.bashrc    //编辑bash配置文件,加入以下内容:

eval $(thefuck --alias) //之后保存退出

source ~/.bashrc 重新载入配置文件

使用:

直接fuck就OK了,语法简单到令人发指。

示例:

1
2
3
4
5
6
7
8
steve:steveBlog steveyuan$ ls a
ls: a: No such file or directory
steve:steveBlog steveyuan$ fuck
ls [enter/↑/↓/ctrl+c]
_config.yml node_modules scaffolds
a.txt package-lock.json source
db.json package.json themes
gulpfile.js public

终端使用技巧

技巧一:终端自动补全

修改~/.inputrc配置文件(如果家目录下没有就新建一个);配置完成后,按tab键,就能够自动补全。

  • 第一步:
1
2
3
4
5
vim ~/.inputrc    打开编辑文件,加入一下内容

set completion-ignore-case on
set show-all-if-ambiguous on
TAB: menu-complete
  • 第二步:完成后,按 esc ,输入 :wq 保存退出。

  • 第三步:重启shell

技巧二:添加 alias

操作终端terminal,最繁琐的动作就是cd 命令进行目录切换,可以利用alias设置别名的方式,给常见的目录设置别名,实现快速切换。

解决思路:

修改系统配置文件/etc/profile 或者 ~/.bash_profile,这两个文件的区别在于:

  • /etc/profile 适用于所有用户的全局配置脚本

  • ~/.bash_profile 适用于当前用户的启动配置文件

所以,修改~/.bash_profile比较安全点。

实现步骤:

  • 修改~/.bash_profile
1
2
3
4
5
6
7
vim ~/.bash_profile   //使用vim编辑

alias ll='ls -l --color=auto' //添加这一行,使得` ll `命令生效

alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'" // 使用 subl 打开sublime text

alias ping='ping -c 4' //ping 命令默认执行4次
  • 之后,按esc, 输入 :wq 保存退出;

  • 执行以下命令,配置文件生效

1
source ~/.bath_profile

技巧三:终端安装 mac-vim

  • 安装brew
1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安装VIM
1
brew install vim --with-lua --with-override-system-vi
  • 安装 GUI 版 mac vim
1
brew install macvim --with-lua --with-override-system-vim

安装完成后重启终端即可。

  • 更新mac vim
1
brew upgrade macvim

输入 mvim 可以从终端启动 GUI 版的 Vim。

技巧四:sed命令使用

mac 和 linux中都有sed命令,但是因为mac系统用的是原生的bsd系列,而一般的linux系统用的是gnu系统,所以两者在某些命令中还是有区别的。

  • 在linux中,
1
sed "$line a\\(多一个\,用来防止转义) $value" $filename
  • 在mac当中,
1
2
3
4
5
sed "$line a\       //在 \ 后要加一个空格

>$value //需要添加新一行的内容)

>" $filename //文件名

如果想要像linux那样,在mac中使用sed,就需要安装 gnu-sed ,具体如下:

1
2
3
4
brew install gnu-sed --with-default-names   //安装gnu-sed
vim ~/.zshrc //编辑环境变量文件,加入下面这一行
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
3.source ~/.zshrc //或者新开窗口,让设置生效

注:如果希望直接更改源文件,在使用sed的时候加上 -i 选项。

技巧五:命令行打开vscode

编辑 ~/.bash_profile

1
2
3
4
5
vim ~/.bash_profile

加入以下内容:

code () { VSCODE_CWD="$PWD" open -n -b "com.microsoft.VSCode" --args $* ;}

保存退出并执行以下命令:

1
source ~/.bash_profile

vim配置

Vim 配置文件在/etc/vimrc(全局配置)、 ~/.vimrc(用户配置),一般直接编辑~/.vimrc即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
vim ~/.vimrc      //添加以下内容

//显示行号
set nu

//设置在命令行界面最下面显示当前模式等
set showmode

//显示标尺,在右下角显示光标位置
set ruler

//自动对齐
set autoindent

//语法高亮
syntax on

//设置缩进
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab

//高亮查找匹配
set hlsearch

//用浅色高亮当前行
autocmd InsertEnter * se cul

//启动时隐去援助提示
set shortmess=atI

mac技巧:

技巧一:在mac下抓包

前提:获取网络接口的 BSD 设备名称

打开about this mac –> hardware report –> network ,在图示中,Wi-Fi 的 BSD 设备名称为 en0。

  • 第一步:打开teminal,输入以下命令,但要将“BSDname”替换为“系统信息”中的 BSD 设备名称(如 en0、en1 或 ppp0):
1
sudo tcpdump -i BSDname -s 0 -B 524288 -w ~/Desktop/DumpFile01.pcap             //要求输入管理员密码
  • 第二步:按 Ctrl+C,停止抓包,抓包数据保存在桌面为“DumpFile01.pcap”的文件中。

  • 第三步:查看抓包的内容,请在终端中使用以下命令:

1
tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/DumpFile01.pcap

技巧二:如何去掉恼人的bogon

新买了mac,很快发现终端计算机名变成了恼人的bogon,就像这里

Screen Shot 2018-02-05 at 8.40.01 PM

原因分析

bogon这个单词是虚拟、虚伪的意思。

终端会先向 DNS 请求查询当前 IP 的反向域名解析的结果,如果查询不到再显示我们设置的计算机名。而由于我们的 DNS 错误地将保留地址反向的 NS 查询结果返回了 bogon。因此。就出现 bogon 这种奇怪的“计算机名”。

解决思路:

  • MacOS:
1
2
3
4
5
sudo hostname your-desired-host-name    //将your-desired-host-name 替换为你的计算机名,输入后可能会要求输入管理员密码,照做就行

sudo scutil --set LocalHostName $(hostname)

sudo scutil --set HostName $(hostname)

之后重启计算机,再打开终端验证一下更改是否成功。

  • CentOS 7:
1
2
shell> hostnamectl set-hostname centos7
shell> su
  • CentOS 6:
1
2
3
4
5
shell> vi /etc/sysconfig/network
// 修改以下内容
NETWORKING=yes
HOSTNAME=centos6
:wq #保存并退出

技巧三:mac 录屏生成gif动图

第一步:录制mov格式视频

  • 打开mac自带 QuickTime Player

  • 点击 QuickTime Player -> file -> New Moive Recording

  • 点击录制按钮 > 选择录制区域 (选择模拟器) > 开始录制

  • 录制完成 > 点击mac右上角停止按钮结束录制 > 保存格式为 mov

  • 调整视频尺寸,如果是放在公众号里面的话,480P清晰度就足够了;不然尺寸太大,转成gif依然放不到公众号里面。如下图所示:

第二步:将mov视频转成gif

在APP Store 就可以下载GIFBrewery,免费的功能就够了。

安装后运行,GIFBrewery -> File -> Open 那个mov视频

点击界面Create GIF -> Save成gif 文件即可。

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!