Skip to content
快捷导航

常用命令

查看公钥

cd ~/.ssh

ls

cat id_rsa.pub

查看和删除本地的SSH

  1. 打开终端输入cd ~/.ssh 若本地没有ssh的话会提示No such file or directory,那么直接创建新的ssh就可以了,如果顺利进入到.ssh文件夹,则进入下一步;
  2. 使用ls -a查看所有文件会看到有: id_rsa.pubconfigknown_hosts等文件;
  3. 删除.ssh文件夹使用命令:
cd..
rm -r .ssh

判断是否删除成功使用命令cat ~/.ssh/id_rsa.pub,若成功会提示No such file or directory,若没有成功,重复上述步骤。

在出现的界面中填写 SSH key 的名称,填一个你自己喜欢的名称即可。 将上面拷贝的~/.ssh/id_rsa.xxx.pub文件内容粘帖到 key 一栏,在点击 “add key” 按钮就可以了。

添加过程 github 会提示你输入一次你的 github 密码 ,确认后即添加完毕。

查看

在终端里输入ls就可以查看文件和文件夹,但隐藏的文件就无法查看,使用ls -a即可。

创建目录

命令:mkdir 使用说明:输入命令随后空格再输入目录名即可。 案例:创建一个test目录则对应命令就是mkdir test

进入目录

cd命令进入目录比如要进入test目录则就是cd test

返回上一级目录

命令:cd..

删除目录(空目录)

命令:rmdir 案例:rmdir test(rmdir命令后面空格在加上目录名) 注意:此删除不会出现在废纸篓里

删除目录(非空或者空目录都可以删除)推荐使用

命令: rm -rf 案例:rm -rf test(rm -rf命令后面空格在加上目录名) 注意:此删除不会出现在废纸篓里

创建文件

命令:touch 笔者感觉这个命令还是挺靠谱的。Mac如果不用第三方工具(sublime等)是无法可视化创建一个txt文件。而用这个命令即可创建。 示例(创建一个test为名的txt文件):touch test.txt

删除文件

命令:rm 案例(删除一个test.txt文件):rm test.txt 注意:此删除不会出现在废纸篓里

拷贝

命令:cp 案例(拷贝一个test.txt文件并重新命名为test2.txt):cp test.txt test2.txt

查找

命令:find 案例(查找当前目录下所有的txt文件):find *.txt

显示当前的目录

命令:pwd

打开成可视化的文件夹

命令:open 说明:如果是open .则是打开当前命令里的目录,如果要打开指定的文件夹或者文件则格式为open 要打开的路径即可。

关机

命令: sudo shutdown -h now --立刻关机 sudo shutdown -h +10 -- 十分钟后关机 sudo shutdown -h 20:00 -- 晚上八点关机

重启

命令:sudo shutdown -r now

mac显示隐藏文件

Command+Shift+. 可以显示隐藏文件、文件夹,再按一次,恢复隐藏;

finder下使用Command+Shift+G 可以前往任何文件夹,包括隐藏文件夹。

我目前的解决方法是创建了两个shell脚本:

show.shdefaults write com.apple.finder AppleShowAllFiles -boolean true ;  
killall
Finderhide.shdefaults write com.apple.finder AppleShowAllFiles -boolean false ;  
killall Finder

然后在.bash_profile中设置别名:alias show=/yourpath/show.sh alias hide=/youpath/hide.shsource 之后可以在终端中通过show和hide来隐藏和显示隐藏文件。

熟练使用 Mac OS 命令行,提高程序员生产力,只需掌握这6组命令和技巧

发布于 2020-02-25 16:06:56

1.4K0

举报

熟练使用命令行是一种常常被忽视的技能。但实际上,熟练使用命令行是一个程序员的必备技能。以前端程序员为例,启动项目,停止项目,构建项目都需要命令行。同时,熟练掌握命令行还能提高程序员的生产力。做有些事,用命令行比用图形工具快。如:在/GitHub/note 下创建文件夹 test,用命令行只需要输入 cd /GitHub/note && mkdir test,用图像界面需要点击两次鼠标到 /GitHub/note 下,右击 新建文件夹 再键入内容。

命令行支持上千条命令,本文只选了常用的6组命令和技巧:提升输入命令速度技巧,文件夹与文件操作命令,管道命令,网络命令,字符串操作命令,系统操作命令。

注意:本文介绍的命令记针对的是 Mac OS 系统。

第1组 提升输入命令速度技巧

补全命令

按 tab 键可以补全命令和文件路径。如果按 tab 啥都没发生,表示有超过一个命令或路径满足当前的输入内容,连按两下 tab 查看满足条件的所有命令。

搜索命令记录

输入 ctrl-r 搜索命令记录。

输入上箭头键,显示最近一条执行的命令。按多次上箭头键,看更久的命令。下箭头与上箭头的功能相反。

查看使用文档

man 命令来查看某个命令的使用文档。如:

javascript
man ls # 查看ls命令文档
man -k ls # 搜索的ls相关的命令

推荐使用在线工具explainshell来看命令的文档。

设置别名

alias来查看和设置别名。通过设置别名,可以很长或难记的命令,变成自定义的别名。例如: grep 可以加参数 --color=auto 实现搜索结果中高亮显示搜索字符串的功能。但每次使用 grep 都得要自行加上 --color=auto 又显的很麻烦,可以通过下面的命令来设置别名:

javascript
alias grep='grep --color=auto'

然后,执行下面的命令使别名生效。

javascript
source ~/.bashrc

直接执行 alias 可以查看目前设置的所有的的别名。

快捷键

命令行默认用的是 Emacs 的快捷键。光标移动,删除内容都可以用 Emacs 的快捷键。如:ctrl-a 可以将光标移至行首,ctrl-e 可以将光标移至行尾,ctrl-k 可以删除光标至行尾的所有内容,ctrl-u 可以删除行内光标所在位置之前的内容。

执行下面的命令,可以设置成 vi 风格的快捷键。

javascript
set -o vi

改回来

javascript
set -o emacs

清屏

可以用命令 clear 来清屏。

第2组,最常用的命令: 文件目录与文件操作命令

文件目录操作

创建

mkdir 创建目录。

javascript
mkdir 文件夹名
mkdir -p a/b/c # 创建多级目录

进入目录

cd 命令来进入目录。很多命令必须进入指定目录才能执行。比如,需要进入package.json所在的目录,执行 npm 相关的命令。

javascript
cd 目录名称 # 进入指定目录中
cd .. # 进入上级目录
cd / # 进入根路径
cd ~ # 进入工作目录
cd - # 进入上次访问的目录
cd 在Finder中,将目标目录托拽到命令行中

注意:如果目录名称中包含 空格,引号,[,],*,|等特殊字符时,路径需要用 "" 把路径包起来。

在 Finder 中打开当前路径

javascript
open .

查看当前路径

pwd 命令来查看当前路径。

javascript
pwd

查看当前路径下的文件

ls 命令来查看当前路径下的文件。

javascript
ls
ls -a # 显示隐藏文件
ls -l # 查看详细资料,如权限,创建人等
tree # 以树形结构显示目录结构

删除目录

rm 命令来删除目录。

javascript
rm 文件夹名
rm -r 文件夹名 # 删除该文件夹及包含的文件

移动目录或文件

mv 命令来移动目录或文件。

javascript
mv 原路径 新路径

文件操作

创建文件

touch 命令创建文件。

javascript
# 创建
touch 文件名

查看文件

有很多命令可以查看文件。如:

javascript
cat 文件名 # 查看文件内容。不支持修改
vi 文件名 # 用 vi 打开。支持直接修改
less 文件名
head 文件名 # 查看文件的开头一行
tail 文件名 # 查看文件的最后一行

通过文件名搜索文件

find命令来通过文件名搜索文件。 具体用法:

javascript
find . -name 文件名 # 文件名支持正则

修改文件权限

chomd命令来修改文件的权限。具体用法:

javascript
chomd 文件权限 文件路径

查看文件类型

file命令来查看文件类型。如果一个文件缺失了扩展名,那么这个命令可能会非常有用。具体用法:

javascript
file 文件路径

如果是图片文件,还会file命令的执行结果还会显示图片的尺寸、颜色数等信息。

第3组 管道命令:展示命令行的真正强大之处

管道命令是一种通信机制,它表现出来的形式是将前面命令的输出直接作为下一个命令的输入。

重定向管道

| 连接2个命令,可以将 | 左边的命令的运行结果做为输入输出。如:

javascript
cat README.md | say # 把 README.md 读出来
history | grep 'git status' -c # 统计指定命令执行了多少次

重定向输出

>>>将命令的执行结果输出到文件。>>>的区别是:> 会覆盖了输出文件而 >> 是在文件末添加。如

javascript
tree > output.txt
cat a.txt >> b.txt # 将 a.txt 中的内容追加到 b.txt

第4组 字符串操作命令

通配符

常见的通配符包括:

  • * : 匹配任何长度的任何字符。
  • ?: 匹配任何单个字符。
  • []: 匹配[]范围内的字符。

搜索字符串

grep 命令来搜索字符串。 如:

javascript
grep 搜索字符串 文件
grep 搜索字符串 文件 --color=auto #高亮搜索结果
grep 搜索字符串 -n #字符串出现的次数

第5组 系统操作命令

结束当前命令行的执行

yong ctrl-c

杀死进程

javascript
kill 进程id

用管理员权限运行命令

javascript
sudo 命令

切换帐号

javascript
su 帐号

第6组 网络操作

查看ip

javascript
ifconfig

看某个ip能不能访问的通

javascript
ping ip

端口占用情况

javascript
sudo lsof -i :端口号

几个装逼的命令

文字转语音

say 命令来将文字转语音。

javascript
say 文字内容

在眼睛累的使用,可以把某个文件的内容读处理。命令:

javascript
cat README.md | say

显示日历

下面的命令可以显示 上个月,本月,下个月的日历。

javascript
cal -3