Mac 下的常用终端(terminal)命令总结

本文最后更新于:1 个月前

查看

简介:

ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一。

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

“.” 代表当前目录,“..” 代表上一级目录,以 “.” 开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小

ls 匹配通配符:

与 DOS 下的文件操作类似,在 Unix/Linux 系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

通配符 含义
* 文件代表文件名中所有字符
ls te* 查找以 te 开头的文件
ls *html 查找结尾为 html 的文件
代表文件名中任意一个字符
ls ?.c 只找第一个字符任意,后缀为 .c 的文件
ls a.? 只找只有 3 个字符,前 2 字符为 a. ,最后一个字符任意的文件
[] "[”“]” 将字符组括起来,表示可以匹配字符组中的任意一个。“-” 用于表示字符范围。
[abc] 匹配 a、b、c 中的任意一个
[a-f] 匹配从 a 到 f 范围内的的任意一个字符
ls [a-f]* 找到从 a 到 f 范围内的的任意一个字符开头的文件
ls a-f 查找文件名为 a-f 的文件,当 “-” 处于方括号之外失去通配符的作用
\ 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”“*” 处于方括号内时不用使用转义字符就失去通配符的作用。
ls *a 查找文件名为 *a 的文件

创建文件夹/目录

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

进入目录

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

返回上一级目录

命令:cd..

创建文件

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

拷贝

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

重命名或者移动文件

命令: mv
比如 (将一个 mountain.c 的 C 语言程序文件名字改成 mt.c ): mv mountain.c mt.c

或者将 mountain.c 文件剪切到 code 文件夹下:mv mountain.c code/

批量修改文件名

例子:目录下有多个后缀为 .cpp 的文件,我想让它们全部保留文件名的情况下修改成 .c 后缀,这时可以结合 mv 命令和 shell 编程写个 for 循环,遍历每个文件然后依次更改。命令如下:

1
for i in *.cpp;do mv "$i" "${i%.cpp}.c";done

模版:

1
2
// 把 xxx 换成要修改的文件名的后缀,yyy 换成替换输出的后缀即可。
for i in *.xxx;do mv "$i" "${i%.xxx}.yyy";done

查找

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

常用用法:

命令 含义
find ./ -name test.sh 查找当前目录下所有名为test.sh的文件
find ./ -name ‘*.sh’ 查找当前目录下所有后缀为.sh的文件
find ./ -name “[A-Z]*” 查找当前目录下所有以大写字母开头的文件
find /tmp -size 2M 查找在/tmp 目录下等于2M的文件
find /tmp -size +2M 查找在/tmp 目录下大于2M的文件
find /tmp -size -2M 查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件
find ./ -perm 0777 查找当前目录下权限为 777 的文件或目录

显示当前的目录

命令:pwd

打开成可视化的文件夹

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

删除目录(空目录)

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

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

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

删除文件

命令:rm
案例(删除一个 test.txt 文件):rm test.txt
或者(删除所有后缀为 .ttf 的文件):rm *.ttf
注意(慎用):此删除不会出现在废纸篓里,不可恢复,为了防止文件误删,可以在 rm 后使用 -i 参数以逐个确认要删除的文件。

rm 常用参数:

参数 含义
-i 以进行交互式方式执行
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹时必须加此参数

Terminal 光标移动快捷键

  • 将光标移动到行首:control + a
  • 将光标移动到行尾:control + e
  • 清除屏幕:control + l, 相当于手动输入clear并回车
  • 搜索以前使用命令:control + r
  • 清除当前行:control + u
  • 清除至当前行尾:control + k
  • 单词为单位移动:option + 方向键
  • 光标向前 (Forward) 移动一个字符位置:Ctrl + f
  • 光标往回(Backward)移动一个字符位置:Ctrl + b
  • 删除一个字符,相当于通常的 Delete 键(命令行若无所有字符,则相当于 exit;处理多行标准输入时也表示eof:Ctrl + d
  • 退格删除一个字符,相当于通常的 Backspace 键:Ctrl + h

文件管理有关

1. 归档管理:tar

简介:

计算机中的数据经常需要备份,tar 是 Unix/Linux 中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。其实说白了,就是打包。

tar 使用格式:

1
tar [参数] 打包文件名 文件

tar 常用参数:

tar 命令很特殊,其参数前面可以使用“-”,也可以不使用。

参数 含义
-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t 列出档案中包含的文件
-x 解开档案文件

注意:除了f需要放在参数的最后,其它参数的顺序任意。

2. 文件压缩解压:gzip

简介:

tar 与 gzip 命令结合使用实现文件打包、压缩。 tar 只负责打包文件,但不压缩,用 gzip 压缩 tar 打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip 使用格式如下:

1
gzip  [选项]  被压缩文件

常用选项:

选项 含义
-d 解压
-r 压缩所有子目录

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cvzf 压缩包包名 文件1 文件2 …

-z :指定压缩包的格式为:file.tar.gz

解压用法: tar zxvf 压缩包包名

-z:指定压缩包的格式为:file.tar.gz

解压到指定目录:-C (大写字母“C”)

3. 文件压缩解压:bzip2

简介:

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

4. 文件压缩解压:zipunzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

5. 输出重定向命令:>

简介:

Linux 允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

注意: > 输出重定向会覆盖原来的内容, >> 输出重定向则会追加到文件的尾部。

6. 分屏显示:more

简介:

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用 more 命令,每次只显示一页,按下空格键可以显示下一页,按下 q 键退出显示,按下 h 键可以获取帮助。

7. 文本搜索:grep

简介:

Linux 系统中 grep 命令是一种强大的文本搜索工具,grep 允许对文本文件进行模式查找。如果找到匹配模式, grep 打印包含模式的所有行。

grep一般格式为:

1
grep [-选项] ‘搜索内容串’文件名

在 grep 命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。

grep 常用参数:

选项 含义
-v 显示不包含匹配文本的所有行(相当于求反)
-n 显示匹配行及行号
-i 忽略大小写

grep 搜索内容串可以是正则表达式。

grep 常用正则表达式:

参数 含义
^a 行首,搜寻以 m 开头的行;grep -n ‘^a’ 1.txt
ke$ 行尾,搜寻以 ke 结束的行;grep -n ‘ke$’ 1.txt
[Ss]igna[Ll] 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n ‘[Ss]igna[Ll]’ 1.txt
. (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n ‘e.e’ 1.txt

参见

👉 Mac 上“终端”中的键盘快捷键 - Apple 支持 (中国)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!