oh-my-zsh的使用
- oh-my-zsh配置文件:~/.oh-my-zsh
$ open ~/.oh-my-zsh
- 修改oh-my-zsh配置:修改配置文件中字段
然后重启oh-my-zsh
修改配置文件 $ zsh
- oh-my-zsh的更新:
- 手动
$ upgrade_oh_my_zsh
- 修改配置文件自动更新
$ open ~/.oh-my-zsh
修改文件中DISABLE_AUTO_UPDATE字段 为 true
$ zsh
mac命令行操作
文件/目录
- ls :查看文件夹下包含的可见文件名
-
$ ls -a
:显示当前文件夹下的所有文件包含隐藏文件(* 就是文件名以.开头文件 *) -
$ ls -l
:显示当前文件夹下非隐藏文件的权限(三个rwx分别代表了root 机主 客人对该文件的访问权限) -
$ ls -al
:包含以上两个功能 - cd 文件夹名字:改变当前文件夹路径
$ cd ThoughtWorks
- pwd:显示当前工作的文件夹的绝对路径
- mkdir 文件夹名字:在当前路径下创建一个新的文件夹
$ mkdir zhangpei
创建一个名字是zhangpei的文件夹 - cp <sourceDirName> <definitionDirName:文件复制(只能进行文件复制,此处的源文件目的文件都是文件路径,而且源文件必须存在)
- cp 原文件路径 目的文件路径
$ cp zhangpei ../zp
:把文件名为zhangpei的文件内容复制到上层目录下的zp文件下 - cp -r 原文件夹路径 目的文件夹路径:专门用来复制文件夹包括其中的所有文件
$ cp -r zp ../zp
吧zp文件夹中的所有文件复制到上层文件夹中的zp文件夹中 - rm 文件路径:移除某个文件
- rm -r 文件夹路径:移除某个空的或者是非空的文件夹
$ rm zhang
移除zhang文件
$ rm -r zhang
删除zhang文件夹
$ rm -rf zhang
这是一个保险的删除文件夹的方法 - rmdir 文件夹路径:专门用来删除空的文件夹
$ rmdir zhangpei
删除zhangpei这个空的文件夹 - mv 源文件夹/文件路径 移动目的地路径:
将文件或者文件夹从当前目录中移出,移入目的路径并且可以在目的路径处给文件夹或者文件重新命名
$ mv zp ../zpp
将文件zp移入上层文件夹中并且改名为zpp 此时当前目录下已经没有zp这个文件,移入上层目录下有zpp这个文件 - tar :完成文件的压缩、解压、打包、解包、查看等等功能
- tar -cvf 打包后文件名.tar 被打包文件路径:
用来打包文件,产出后缀是.tar的文件 - tar -xvf 被解包的后缀是.tar的文件:
用来解包 - tar -tvf 被查看的后缀是.tar的文件: 用来查看这个.tar文件的详细信息包含权限等等
$ tar -cvf zp.tar 任务书.docx
:打包任务书这个文件打包好后成为名字是zp.tar的打包文件
$ tar -xvf zp.tar
解包这个文件
$ tar -tvf zp.tar
查看这个文件的详细信息
- zip:完成文件的压缩解压缩
- zip 被压缩后文件的名字.zip 被压缩文件名字:
$ zip zp.zip 任务书.docx
:压缩任务书变成zp.zip文件
$ unzip zp.zip
解压缩zp.zip文件 - find 文件夹路径 -name 文件夹名字:在指定的文件夹中递归的寻找指定文件
$ find Download -iname zp.js
寻找Download文件夹(在其子文件夹下也可以)下zp这个文件的路径 -iname 意思是不区分文件名字的大小写 -name区分名字的大小写 - 如果没有这个文件:什么也不显示
- 如果文件夹下的树状结构中有很多同名文件:那么显示出这些文件的路径
- grep : 递归寻找某个文件中的某个字符串
$ grep -i "Ppp" zp.text
:在zp.text这个文件中寻找字符Ppp
-i表示不区分大小写
$ grep -r "Ppp" zp
:在zp这个文件夹下面递归的寻找这段字符串 - less 文件路径: 专门用来查看长文件内容
- 使用 ⬆️ 向上查看
- 使用⬇️ 向下查看
- 使用 空格 反页
- 使用 / 关键字 进行文件内容的查找
- tail -行数 文件路径:显示文件的最后n行
$ tail -10 cssDemo/app.js
显示文件最后10行 - tree :用来显示树状的文件关系
mac 没有tree命令可以使用
$ brew install tree
下载tree命令
-
$ tree
:显示当前文件夹下的文件树装关系图 - touch 文件路径 或者 echo dshjaf > 文件路径 :
都是用来创建新的文件
账号操作
- su <用户名>: 用来转换用户
$ cd /
$ cd Users
$ ls此时可以获取你的电脑上现在可以转换的用户有哪几种
$ su 用户
如上图出现了sorry字样
原因:估计是当前用户没有转变用户的权限
解决:在su命令之前加上 sudo
sudo <指令>: 以root的身份执行某些指令
$ sudo su zhangpei
:以root身份执行用户转换
root 用户
名为“root”的用户帐户是 UNIX 风格的操作系统中的特殊用户,具有文件系统所有区域的读写特权。
- whoami:显示当前正进行操作的用户名
- passwd :用来修改登录密码
每当你使用sudo命令的时候都需要输入要这个登录密码
包管理
- brew:mac下使用brew进行包管理,能在Mac中方便的安装软件或者卸载软件。
- brew install <软件包> :安装软件包
- brew search <软件包 > :查找软件包
进程相关
- ps :用于监控后台进程的工作情况,以及打印进程的详细信息
- ps aux | grep <进程名字>:用来获取已知进程名字的进程的详细信息
- lsof -i:端口号 :显示某个端口运行的进程PID
- kill <PID>:终止某个进程
系统信息相关
- top:显示现在正在运行的所有进程
使用q退出查看 - df:可以显示目前所有档案系统的最大可用空间及使用情形
- df –h: 查看文件系统信息
- uname :显示操作系统的名字
-
$ uname
:
uname 有很多参数 具体各种参数可以点击查询
网络相关
- ping <remote-host-address>:通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态。
为了检验本机是否能和某个服务器进行连同
- telnet 用户名@远程机IP :用户使用telnet命令进行远程登录。该命令允许用户使用telnet协议在远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。
我猜想也许是我的地址输错了,经过检查名字必须写成 telnet 用户名@远程机IP
但是任然不能登录
经过但是ssh就能够正常登录
我猜想是mac支持ssh登录,mac的telnet可能比较复杂
- curl :专门用于发送网络请求(比如post,get),从服务器得到数据并且显示在命令行中
- 发送post请求
- -H 是用来设置curl请求头
- curl -X POST -d “data” 请求地址 :用来发送post请求
个人认为curl是一个很有意思而且有用的shell command而且我最近由于在写jenkins所以使用较多,感觉它的内容很多且很丰富,之后我会专门写一篇简书介绍curl相关内容