Mac 常用命令集合
开始
记住命令多用Tab
键,命令自动补齐,提高开发效率!
由于 Mac OS 是基于 Unix 的内核,所以与各种 Linux 系统命令大同小异。
su
# 一般使用sudo su,切换root管理员身份
$ sudo su
# 同样是切换用户,su - 用户,切换指定用户身份
$ su - root
clear
# 没啥好说的,清屏命令
$ clear
mkdir & touch
# 创建目录
$ mkdir 目录名
# 创建文件
$ touch 文件
微拓展
# 创建多级目录
$ mkdir -p 目录/目录/...
删除
# 删除目录下所有的文件及目录
# -r 表示递归,f表示强制删除
$ rm -rf 目录/*
# 删除目录下以.java结尾的文件
$ rm -rf 目录/*.java
# 强制删除目录及目录下所有的文件及目录
$ rm -rf 目录
cd
# 进入某个目录
$ cd 目录
# 返回上一级目录
$ cd ..
ls
# 列出目录下的文件和目录
# 什么都不写默认是当前目录
$ ls 目录
微拓展
# 隐藏文件默认是不显示的 -a 表示列出所有文件和目录
$ ls -a
# 查看文件详细信息
$ ls -l 等同于 ll
$ ls -al
pwd
# 没啥好说的,显示当前目录位置
$ pwd
解压缩命令
注:tar是打包,不是压缩!
# tar 解包
$ tar xvf FileName.tar
# tar 打包
$ tar cvf FileName.tar DirName
# .gz 解压方式一
$ gunzip FileName.gz
# 解压方式二
$ gzip -d FileName.gz
# 压缩
$ gzip FileName
# .tar.gz 和 .tgz 解压
$ tar zxvf FileName.tar.gz
# 压缩
$ tar zcvf FileName.tar.gz DirName
移动 & 拷贝
# 将文件或目录移动到另一目录下
$ mv 文件或目录 目录
ifconfig
# 显示网卡和网络的信息
$ ifconfig
# 显示当前机器的ip地址
$ ifconfig en0 | grep "\<inet\>" | awk "{print \$2}"
修改文件权限
# -R 表示递归,whoami表示当前用户,后面是需要修改权限的目录或文件
$ sudo chown -R $(whoami) /usr/local/sbin
vi & vim
# 文本编辑器
$ vi 需要编辑的文件
- 微拓展
进入 vi 或 vim 编辑界面,默认是阅读模式模式,键盘按i
才会进入编辑模式,才能对文件进行编辑操作。
在阅读模式同样可以快捷对文本进行操作o
在光标所在行的下一行进行编辑yy
拷贝一行p
粘贴dd
删除一行/搜索内容
模糊查询,搜索内容后n
表示下一个,p
表示查找上一个
文本编辑完成后按ESC
退出编辑模式,:wq
保存并退出,q!
强制退出并不保存。
ssh
# 远程登陆,默认自动送到远程主机的22端口
$ ssh 用户名@ip地址
# 指定远程登陆的端口号
$ ssh -p 8088 用户名@ip地址
免密登陆
# 生成密钥对,-t表示类型选项,这里采用rsa加密算法
$ ssh-keygen -t rsa
此时目录下生成了.ssh
隐藏文件夹,我们cd
到目录,可以看到默认生成三个文件id_rsa
,id_rsa.pub
,known_hosts
。将id_rsa.pub
公钥拷贝到远程登陆的机器,此后远程登陆就不需要再输入密码。
ssh-copy-id <username>@<远端服务器IP地址>
如果想要快捷登陆可以直接在.bash_profile
文件中添加别名
alias xx='ssh user@ip-address'
远程拷贝命令
scp可以实现服务器与服务器之间的数据拷贝
基本语法:
scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 递归 要拷贝的文件路径/名称 目标用户@主机:目的路径/名称
例子
scp -r /opt/moudle root@slave:/opt/moudle
或者从目标主机拉取文件
scp -r root@master:/opt/moudle /opt/moudle
查看进程
$ ps # 查看正在运行中的进程
$ ps -ef # 查看所有进程的详细信息
$ ps -ef|grep nmon #搜索nmon相关的进程
$ kill -9 进程号 #杀死进程
查找文件
$ find 文件路径 参数
$ find . -name "test" # 查看当前目录下(包含子目录)搜索文件包含test的文件
$ find ~/Project/ \! -name "*.py" -print # 搜索文件后缀不是.py的文件并打印出来,这里的!用了\转义符
$ find .-newer demo -user hudu -print #当前目录下搜索属于用户hudu,且比文件demo的时间新的文件
$ find . \! \( -newer demo -user hudu \) -print #是搜索既不属于用户hudu也不比文件demo的时间新的文件。
$ find . -type f -exec echo {} \ # 打印当目录下所有的文件。
$ find . -name "*unkonwn*" -exec rm -rf {} \; # 删除查找到的文件
查看被占用的端口号
$ lsof -i tpc:1099
$ kill -9 99178
查看上次命令执行状态
$ cat $?
0 为成功,1 为失败
查看目录或文件大小
# 查看当前目录大小
$ du -sh
# 查看当前文件/目录大小
$ du -sh filename/directory
# 查看当前目录下所有文件夹大小,-d 指深度,后面加一个数组
$ du -d 1 -h
查看目录/文件总数
# 查看目录数量
$ find . - type f | wc -l
# 查看目录数量
$ find . -type d | wc -l
# 查看一级目录下文件和目录数量
$ ls | wc -l
查看磁盘占用情况
$ df -h
linux 系统还可以使用
$ lsblk
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 4年前 自动加精
推荐文章: