最近使用Mac OS,发现用终端进行命令输入和文件查找等基本操作非常快捷方便,并且有时查看Unix服务器上的日志时,也常常需要用到这些命令,所以系统的学习了一下。
与其他Linux/Mac终端命令大全不同,这些全是我平时用到的时候边学习边进行的总结,参考一些前辈的文章,记录下自己想要的,写成了学习笔记,现在传上来,所以实践意义更大一些,仅供大家参考
参考文章:
https://blog.csdn.net/FungLeo/article/details/78488656
(以下列出的,全是常见命令,且在本机上实践过能使用,效果卓越)
1. 进入目录Cd
cd test
cd ../test
cd /Users/…… open . (一定是open空格,点) 就能打开指定位置的文件夹了
2. 查看目录内容Ls
Ls –l 以列表形式查看文件
Ls –a 查看隐藏文件
Ls –la 查看隐藏文件,列表显示
Ls-t 按照修改时间来排序
ls —列出目录内容(List directory contents)
file —确定文件类型(Determine file type)
less —浏览文件内容(View file contents)
3. 查看文件内的内容Less
less a.txt
4. 查找 Find
find ./ -iname "*.txt"
find ~ -iname "1.jpg"
(貌似比起mdfind,find是在用户文件夹中进行搜索)
你也可以在特定的文件夹中寻找特定的文件:
find ~
/Library/-iname
"com.apple.syncedpreferences.plist"
这个命令可以在Library文件夹中寻找com.apple.syncedpreferences.plist文件
5. 更高效的查找mdfind
mdfind –name a.txt
mdfind –name “Photo 1.PNG”
因为mdfind就是Spotlight功能的终端界面,你还可以使用mdfind寻找文件和文件夹的内容,比如寻找所有包含Will Pearson文字的文件:
mdfind
"Will Pearson"
通过-onlyin参数,mdfind命令还可以搜索特定文件夹的内容,比如
mdfind -onlyin ~/
Libraryplist
这条命令搜索Library文件夹中所有的plist文件
这个mac上特有的命令,当然其他的*nix也会有相类似的命令。它和find命令功能相同,但是它是使用Spotlight索引的。它可以让你在数秒内查询你的整个文件系统。你可以使用它来即时展示满足条件的新增文件的更新情况。我经常使用它来查询应用在隐蔽的位置存储的重要文件。
6. 创建文件目录mkdir
mkdir test
cd test
7. 创建文件touch
touch 1.txt
touch 1.doc
多文件创建:
touch 1 2 3 4 (发现不给后缀的话,默认貌似是txt格式)
touch a.txt b.jpg c.doc d.pdf
8. 另一种方式创建文件mkfile
使用方法:mkfile [-nv] size[b|k|m|g] filename ...
mkfile –n 1K 测试文件
mkfile –n 1K ~/test2/测试文件.txt
9. 编辑文件内容Nano (Vim??)
nano test1/1.txt
写入内容等
Ctrl+X 保存并退出
10. 删除 rm
rm –f 文件
rmdir test
11. 重命名文件 mv
mv test test1 重命名test为 test1 (可用于文件、文件夹)
当然,这本来就是移动文件,也就是剪切文件。我们可以这样操作
mv ~/Downloads/love.txt ~/Documents/
12. 复制文件、文件夹
cp test1/1.txt test2/1copy.txt (复制文件)
cp –r test1 test2 (如果你复制的不是文件,而是文件夹,则要加上一个递归的参数 -r)
cp file1 file2 :把文件file1复制为file2
复制文件,保留所有权限、属性 –a
cp -a file1 file2
复制文件夹,保留所有权限、属性 –ra
cp -ra test1 test2
复制的文件夹里面有很多内容,想看到实时进度: -v 参数
cp -rav a b
如上命令,你就可以把 a 目录的所有内容原封不动的复制到 b 目录去,并且可以看到实时的复制过程。
---------------------
cp ~
/Downloads/love.txt ~
/Documents/
13. 压缩Gzip
gzip test1/1.txt
gunzip test1/1.txt.gz
类似的有一个zip(没明白这个是做什么的)
当跨目录的时候是这么操作的
zip
-q-r
-e
-m
-o
'\user\someone\someDir\someFile.zip'
'\users\someDir'
14. 解压缩 Gunzip
gzip test1/1.txt
gunzip test1/1.txt.gz
类似的有一个zip(没明白这个是做什么的)
15. 打包解包 tar/untar
待研究
16. 查看文件前几行head
head -10 1.txt
查看文件内容的特殊方法:
最基本的cat和less,more,如果有特殊的要求:
1.只想看文件的前5行,可以使用head命令,如:head -5 /etc/passwd
2. 只想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果
17. tail 查看文件后几行
tail -f sys.log
tail -f 100 1.txt
tail –n 100 1.txt
tail 20 1.txt
tail详解见下
一、tail命令语法
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
参数解释:
-f 该参数用于监视File文件增长。
-c Number 从 Number 字节位置读取指定文件
-n Number 从 Number 行位置读取指定文件。
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。
File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。
tail可运行文件一般在/usr/bin/以下。
二、tail命令使用方法演示例子
1、tail -f filename
说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
2、tail -n 20 filename
说明:显示filename最后20行。
3、tail -r -n 10 filename
说明:逆序显示filename最后10行。
补充:
跟tail功能相似的命令还有:
cat 从第一行開始显示档案内容。
tac 从最后一行開始显示档案内容。
more 分页显示档案内容。
less 与 more 相似,但支持向前翻页
head 仅仅显示前面几行
tail 仅仅显示后面几行
n 带行号显示档案内容
od 以二进制方式显示档案内容
18. cat 查看文件整个的内容
cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。
cd test1
-------------------
cat > test.txt
然后输入文字。
最后 ctrl+D 退出。
若test.txt存在,修改文件;若test.txt不存在,新增文件
-------------------
cat 1.txt a.txt>1.doc
cat 1.doc
>>sibianxiedianshenme
产生的效果:通过cat 把1.txt、a.txt两个文件连接在一起(也就是说把这两个文件的内容都接在一起)并输出到一个新的文件1.doc 中。
注意:其原理是把两个文件的内容连接起来,然后创建1.doc文件,并且把几个文件的内容同时写入1.doc中。特别值得一提的是,如果您输入到一个已经存在的1.doc 文件,会把1.doc内容清空。
cat详解可以参考 https://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html