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 |
|
模版:
1 |
|
查找
命令: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 命令很特殊,其参数前面可以使用“-”,也可以不使用。
参数 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
注意:除了f需要放在参数的最后,其它参数的顺序任意。
2. 文件压缩解压:gzip
简介:
tar 与 gzip 命令结合使用实现文件打包、压缩。 tar 只负责打包文件,但不压缩,用 gzip 压缩 tar 打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip
使用格式如下:
1 |
|
常用选项:
选项 | 含义 |
---|---|
-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. 文件压缩解压:zip
、unzip
通过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‘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 |
参见
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!