前言
OS X采用的Unix文件系统,所有文件都挂在跟目录 / 下面,没有Windows下的盘符概念。
桌面上看到的硬盘都挂在 /Volumes 下。比如接上个叫做USBHD的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪里呢?在终端里执行ls /Volumes/USBHD, 看看显示出的是不是这个移动硬盘的内容。
驱动所在位置 /System/Library/Extensions
用户文件夹位置 /User/用户名
桌面的位置 /User/用户名/Desktop
根目录标志 / 不是可有可无,cd /System表示转到跟目录下的System中,而cd System表示转到当前目录下的System中
文件通配符为星号 *
注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。
命令
切换工作目录
cd 文件夹名或路径
-
.
当前目录 -
..
上一级目录 -
/
根目录 -
~
当前用户目录
列出指定目录下的文件
ls 参数
-
无参
显示所有文件(不包含隐藏文件) -
-a
显示所有文件(包括隐藏文件) -
-l
显示详细信息
创建文件夹
mkdir 文件夹名或路径
删除文件夹
rmdir 文件夹名或路径
只能删除空文件夹
移动或重命名文件夹
mvdir 源文件夹名或路径 目标文件夹名或路径
打开文件夹
open 文件夹
创建文件
touch 文件名或文件路径
删除文件
rm 参数 文件名或路径
-
-rf
表示递归和强制,千万要小心使用,如果执行了rm -rf /
系统就全没了
移动或重命名文件
mv 源文件名或路径 目标文件名或路径
查看文件内容
cat 文件名或路径
适合查看小文件内容
查看文件内容并随时可以编辑
vim 文件名或路径
如果文件不存在则创建文件
适合查看小文件内容
打开文件(以默认的文本编辑器)
open 文件名
如果要指定文本编辑器,需要另外配置,比如:怎么在命令行中用sublime文本编辑器打开文件
比较两个文件
diff/vimdiff 文件1 文件2
diff 只是在命令行打印信息,而 vimdiff 会分栏显示并可以编辑
vimdiff 后
・ctrl+w可以在两个文件之间来回跳转
・I可以进入编辑模式
・esc可以退出编辑模式
・:q(quit)退出
・:qa(quit all)退出所有
・:q!强制退出并忽略所有更改
・:qa!强制退出所有并忽略所有更改
・:w(write)保存
・:wa保存所有
・:wq保存并退出
・:waq保存所有并退出
输出字符串或变量值
echo 字符串或变量值
例:echo $JAVA_HOME
以 root 权限执行一次命令
命令前加 sudo
查看端口占用情况
lsof -i tcp:5037
lsof -> list open file
可以查看到当前打开文件,在 linux 中所有事物都是以文件形式存在,包括网络连接及硬件设备
打印出来的信息会包括 PID,然后用 kill pid 就可以杀掉进程
显示和隐藏文件
chflags hidden/nohidden 文件名
解压 zip
zip xxx.zip
查看压缩文件目录,不解压
unzip -v text.zip
解压 .7z 文件
先安装 p7zip brew install p7zip
7z e xxx.7z
7z x xxx.7z
e:不保留原先目录结构 x:保留原先目录结构
查看命令历史记录
显示最新的默认条数历史记录
history
从第 x 条记录显示到最新记录
// 从第 5 条开始显示到最后一条
history 5
// 显示所有
history 0
清除历史记录
history -c
模糊查找历史
history 0 | grep 要查找的内容