mac

一、Mac软件安装

Mac的使用不同与window,一般用户无需关心,磁盘分盘的问题,没有window的c盘满了,电脑卡顿问题,下载的mac软件直接安装即可。

新安装的软件可以拖动到Applications(应用程序里),多数软件安装会弹出拖动提示窗口。刚刚安装好的软件在finder中位置下面显示该软件的相关内容,可以右键 - 推出。

软件打开方式

  1. command + f:搜索软件名称,然后回车。

  2. 四指捏合,弹出应用界面,找到应用并打开。

软件卸载

打开finder ,点击应用程序,找到想要卸载的软件,右键移动到废纸篓即可。

个人文件和资源处理:

电脑使用过程中,我们个人的资料都是放到finder(访达)下的文稿里面。部分下载的内容是在下载目录下,你也可以随意放到桌面(如果不嫌乱的话)

二、快捷键

当你发现键盘上某些字符怎样都无法输入上的时候,不妨试试按左下角的fn在输入。例如:\

  • 空格 : 快速查看文件
  • command + delete : 删除文件到废纸篓
  • command + shift + . : 查看隐藏的文件
  • command + f3: 折叠窗口显示桌面
  • contrl + 下箭头: 显示当前应用到所有窗口
  • command + option + delete:完全删除文件
  • command + i: 显示简介
  • command + E: 推出磁盘
  • command + R: 刷新网页
  • control + 空格: 切换输入法
  • command + 空格: 唤出聚焦搜索,可以快速搜索整个电脑中的文件或者软件
  • command + C: 拷贝文件/文字
  • command + V: 粘贴文件/文字
  • command + option + shift + V:无格式粘贴文字
  • command + X: 剪切,只能用于剪切文字,不能用于剪切文件
  • 先 command + C ,然后 command + option + V:剪切文件
  • command + Z: 撤销
  • command + shift + Z :重做(window 的ctrl + y)
  • command + W: 关闭当前窗口
  • command + option + W: 要关闭当前软件的所有窗口
  • command + Q: 完全退出软件
  • command + A: 全选
  • command + S: 保存
  • command + T: 打开新的标签页(在终端里会打开新的终端)
  • command + N: 新建窗口
  • command + shift + N:新建文件夹
  • command + M: 窗口最小化
  • command + control + F:全屏/退出全屏
  • command + F: 查找
  • command + tab: 快速切换软件
  • command + shift + 5: 截屏录屏
  • esc: 退出/取消
  • command + option + esc: 强制退出软件(类似window任务管理器的强制退出)
  • command + option + 电源键: Mac睡眠
  • control + shift + 电源键: 显示器睡眠
  • command + H: 关闭最前面的窗口
  • command + option + H: 关闭除了最前面的所有其他窗口
  • command + D: 复制并生成副本
  • Shift + Command + N: 新建文件夹
  • Shift + Command + 3: 截取全屏
  • Shift + Command + 4: 截取部分
  • Shift + Command + 5: 录制屏幕或拍摄快照
  • Shift + Command + U: 打开“实用工具”文件夹
  • command + shift + G: 前往文件夹

其他常用目录快捷键

  • command + shift + D: 桌面
  • command + shift + A: 应用程序
  • command + shift + F: 我的所有文件
  • command + shift + O: 文稿
  • command + shift + U:工具
  • command + shift + K: Network
  • command + option + L: 打开下载目录
  • command + option + D: 显示/隐藏程序坞
  • command + N: 打开一个新的访达

编辑文档时的快捷键

  • command + 左/右 : 移动到该行的开始或者结尾
  • command + 上/下: 滚动到开头和结尾
  • option + 左/右: 滚动的上一个词的,词首或词尾
  • option + Delete 或者 delete 或者control + H: 删除左侧的内容(同类型内容都被删除)
  • fn + Delete 或者 control + D:删除右边的内容
  • control + K: 删除当前到结尾的内容
  • fn + 上/下: 上下滚动一页
  • command + shift + 左/右: 选中当前行的光标点到左边或右边的内容
  • command + shift + 上/下: 选中当前行的光标点到文章首或尾的内容
  • control + A: 移动到行首
  • control + E: 移动到行尾
  • command + enter 或者control + O: 当前行下面插入一行
  • command + shift + enter: 当前行上面插入一行
  • command + option + T: 显示隐藏应用中的工具栏
  • control + 左/右: 多个桌面见切换
  • control+command+空格键: 唤起表情符号等

三、手势

设置 - 触控板 - 光标与点按 然后勾选“轻点来点按”即可实现轻触生效

  • 一个手指按下点击,类似Windows中鼠标左键
  • 一个手指轻触点击,可以选中目标

两个手指同时点击,Windows中右键

  • 两个手指上下拖移滑动,即可实现滚动
  • 两个手指分开或捏合,可以放大缩小图片、网页等内容
  • 两个手指从触控板右侧边缘向左滑动,可以调出通知窗口
  • 两个手指在网页中左右滑动,可以推出或前进网页

三个手指左右滑动,可以在全屏应用桌相互切换

  • 三个手指向上滑动,可以打开所有正在使用的软件窗口
  • 三个手指向下滑动,可以打开同一个软件的不同窗口

四个手指同时捏合,可以调出应用程序窗口

  • 四个手指同时张开,可以显示桌面

四、磁盘清理

  • 适当重启电脑,会自动清除一部分缓存。

  • 推出应用重新打开,会自动清除应用缓存。

  • 清理 下载 ,废纸篓的空间。

  • 检查mac更新的系统是否被安装,没有的话要么安装要么删除更新安装包。

  • 下载 OmniDiskSweeper , https://www.omnigroup.com/more

卸载残留

  • ~/Library/Application Support/(卸载的应用)

  • ~/Library/Preferences/(卸载的应用)

  • ~/Library/Caches/(卸载的应用)

五、其他问题

5.1 查看无线密码:

  • 四指捏合,点击其它 - 找到钥匙串 打开,或者command + 空格,搜索钥匙串。
  • 点击左下角的密码,找到你连结过的wifi,右键复制密码到剪切板,粘贴后即可看到。

5.2 查看隐藏的目录并且想要往里面复制或者往外拷贝东西时,而你还不会用命令行。(修改hosts或者配置git)

  • 任意目录下,右键标题栏目 找到 Macintosh HD 打开(如果经常访问,可以拖到finder左侧的侧边栏),然后就可以找你想要的目录了。
  • 也可以在finder中按command + shift + g 。输入 / 或者 ~即可打开根目录或者用户目录。

六、终端命令行

连接远程服务

输入:ssh -p 端口号 服务器用户名@ip (例如ssh -p 22 userkunyu@119.29.37.63

Source命令:

在当前bash环境下读取并执行FileName中的命令

source .bash_profile :刷新新配置的环境变量,使其立即生效

脚本

  • 新建脚本文件 shellA.sh

  • 编写脚本命令

1
2
3
4
5
6
7
8
9
# dirname $0,取得当前执行的脚本文件的父目录

basepath=$(cd `dirname $0`; pwd)
echo "取得当前执行的脚本文件的父目录:$basepath"

# 打印当前路径

currentPath=$(pwd)
echo "当前文件夹路径: $currentPath"
  • 设置脚本权限 chmod o+w shellA.sh

  • source读取脚本并执行 soucre shellA.sh

权限

具体权限:

1
2
3
r(read):            表示可读取权限,用数字4表示
w(write): 表示可写入权限,用数字2表示
x(excute): 表示可执行权限,用数字1表示

权限范围:

1
2
3
4
u(user):            文件所有者
g(group): 文件所有者所在群组
o(other): 文件所有者及群组以外的用户
a(all): 即全部的用户,包含拥有者,所属群组以及其他用户

操作符号:

1
2
3
+                   添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限

修改权限的命令格式:

1
chmod [<权限范围><权限操作><具体权限>] [文件或目录…]

让其他用户可以对file文件有可执行的权限: chmod o+w file.txt

文件和目录

cd

1
2
3
4
5
6
cd /       home 进入根目录
cd ~ 进入用户目录
cd .. 返回上一级目录
cd 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径

ls

1
2
3
4
5
6
7
ls              查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构(2)

mkdir

1
2
3
4
mkdir dir1                        创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
touch file.md 创建一个文件

rm

1
2
3
4
5
6
7
8
9
10
rm -f file1             删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1. 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2. 同时删除两个目录及它们的内容
history 列出最近执行过的几条命令及编号 -
r 重复执行最近执行过的 某条命令
history -c 清除命令执行操作的历史记录
history 10 history命令列出最近执行的n条命令
!! 重复执行上次操作的命令语
!n 执行history列出来的第n条命令

mv

1
mv dir1 new_dir    重命名/移动 一个目录

cp

1
2
3
4
cp file1 file2              复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录

压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
tar –cvf jpg.tar *.jpg            将目录里所有jpg文件打包成tar
tar –czf jpg.tar.gz *.jpg 将所有jpg文件打包成jpg.tar后,在将其用gzip压缩,名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 将所有jpg文件打包成jpg.tar后,在将其用bzip2压缩,名为jpg.tar.bz2
rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg zip格式的压缩,需要先下载zip for linux

-c: 建立压缩档案
-x: 解压
-t: 查看内容
-r: 向压缩归档文件末尾追加文件
-u: 更新原压缩包中的文件
-z: 有gzip属性的
-j: 有bz2属性的
-Z: 有compress属性的
-v: 显示所有过程
-O: 将文件解开到标准输出
-f: 使用档案名字,切记,这个参数是最后一个参数(必填),后面只能接档案名。

解压

1
2
3
4
5
6
7
8
9
10
11
12
13
14
tar –xvf file.tar                解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2 解压 tar.bz2
tar –xZvf file.tar.Z 解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip

*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2 用tar –xjf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压

zip压缩

1
2
3
4
5
6
7
zip -r dest.zip dest

-q : 不显示压缩进度状态
-r : 递归,子目录子文件全部压缩为zip
-e : 压缩文件需要加密,终端会提示你输入密码的 //zip -r -P test password.zip "zipfile list'' 直接用'test'来加密password.zip 。
-m : 压缩完删除原文件
-o : 设置所有被压缩文件的最后修改时间为当前压缩时间

zip解压

1
2
3
4
5
6
7
8
9
10
11
unzip text.zip
unzip -n text.zip -d /tmp

-x :文件列表解解压缩文件,但不包括指定的file文件。
-v :查看压缩文件目录,但不解压。
-t :测试文件有无损坏,但不解压。
-d :目录 把压缩文件解到指定目录下。
-z :只显示压缩文件的注解。
-n :不覆盖已经存在的文件。
-o :覆盖已存在的文件且不要求用户确认。
-j :不重建文档的目录结构,把所有文件解压到同一目录下。

文件搜索

1
2
3
find / -name file1                   从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件

查看文件内容

1
2
3
4
5
cat file1                从第一个字节开始正向查看文件的内容
More file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行

文本处理(有些还没测试需要筛选)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
grep Aug /var/log/messages                 在文件 '/var/log/messages'中查找关键词"Aug"
grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇
grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed '/^$/d' example.txt 从example.txt文件中删除所有空白行
sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行
sed -n '/stringa1/p' 查看只包含词汇 "string1"的行
sed -e 's/ *$//' example.txt 删除每一行最后的空白字符
sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部
sed -n '1,5p;5q’ example.txt 查看从第一行到第5行内容
sed -n '5p;5q' example.txt 查看第5行
sed -e 's/00*/0/g' example.txt 用单个零替换多个零
cat -benstuv file1 标示文件的行数
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

scp: 本地和服务器传递文件(还未测试)

1
2
3
4
5
6
7
8
9
-q:          不显示传输进度条。
-r: 递归复制整个目录。
-l: limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-P: port:注意是大写的P, port是指定数据传输用到的端口号

scp local_file remote_username@remote_ip:remote_folder 本地复制到远程。指定用户名,之后需要输入密码
scp local_file remote_ip:remote_folder 没有指定用户名,之后需要输入用户名和密码。
scp local_file remote_ip:remote_file
scp -P 4588 remote@www.runoob.com:/usr/local 指定端口

系统信息

1
2
3
4
5
date                     显示系统日期
cal 2007 显示2007年的日历表

df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录

七、vim编辑

用户刚刚启动 vi/vim,便进入了命令模式。

三种模式

  • 分别是命令模式(Command mode)

  • 输入模式(Insert mode)

  • 底线命令模式(Last line mode)

命令模式

敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

  • i 切换到输入模式,以输入字符。

  • x 删除当前光标所在处的字符。

  • : 切换到底线命令模式,以在最底一行输入命令。

命令集合

插入

1
2
3
4
5
6
7
i:   在光标之前插入。
I: 在行首插入内容。
a: 在光标之后插入。
A: 在行尾插入内容。
s: 修改一个字符,光标位置的字符可修改。
o: 当前行下插入一空行。
O: 当前行上一行插入空行。

查找替换

1
2
3
:%s/瓶/屏/g  将文件内所有的瓶换成屏。
:s/这/折/ 将当光标所在的第一个这替换成折。
:s/这/折/g 将光标所在行的所有这替换成折。

删除

1
2
3
4
5
6
7
8
9
10
11
12
x:          等于delete。
X: 等于backspace。
nx: n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符
dd: 删除游标所在的那一整行
d$: 删除游标所在处,到该行的最后一个字符
D0: 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
ndd: n为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
d1G: 删除光标所在到第一行的所有数据
dG: 删除光标所在到最后一行的所有数据
diw: 删除光标位置的单词,不包括空白字符。my word to delete。
Daw: 删除光标位置的单词,包括空白字符。
dw: 删除当前位置到下一个单词的词首。

修改

1
2
C:   修改到行尾,感觉和删除一样。
S: 修改一整行。

选区

1
2
v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 
V 从光标当前行开始,光标经过的行都会被选中,再按一下V结束

复制

1
2
3
4
5
6
yy:    复制游标所在的那一行(常用)
nyy: n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
Y1G: 复制游标所在行到第一行的所有数据
yG: 复制游标所在行到最后一行的所有数据
y0: 复制光标所在的那个字符到该行行首的所有数据
y$: 复制光标所在的那个字符到该行行尾的所有数据

粘贴

1
2
3
P:   粘贴到光标之前。
p: 粘贴到光标之后。
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)

撤销

1
2
3
4
U                      撤销改动。
u 复原前一个动作。(常用)
[Ctrl]+r 8重做上一个动作。(常用)
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。

批量注释

1
Ctrl + v  :         进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

取消注释

1
Ctrl + v  :         进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。

定位

1
2
3
4
5
6
7
8
9
10
11
0 或Home:                 移动到这一行的最前面字符处 (常用)
$ 或End: 移动到这一行的最后面字符处(常用)
G : 移动到这个档案的最后一行(常用)
nG: n 为数字。移动到这个档案的第 n 行
Gg: 第一行。
n<Enter>: n 为数字。光标向下移动 n 行(常用)
+ : 光标移动到非空格符的下一行
- : 光标移动到非空格符的上一行
H : 光标移动到这个屏幕的最上方那一行的第一个字符
M : 光标移动到这个屏幕的中央那一行的第一个字符
L : 光标移动到这个屏幕的最下方那一行的第一个字符

屏幕

1
2
3
4
5
6
ctrl + y:    向上滚屏幕。
ctrl + e: 向下滚屏幕。
ctrl + u: 向上滚动半屏幕。
ctrl + d: 向下滚动半屏幕
ctrl + b: 向上整屏。
ctrl + f: 向下整屏。

折行

1
2
3
4
zfap:          折一段文本。
zf: 创建折行。
zo: 打开折行。
zc: 关闭折行。

保存和退出

1
2
3
4
5
:w             保存。
:q 退出。
ZZ| :wq | :x 保存退出。
ZQ | :q! 不保存退出。
:w filename 另存为。

返回
顶部