注:注释上打【***】标记的就是很常用的
nginx修改配置的时候可能会用到文件查看,文件修改,文件备份(复制)
打包的时候,想发送一个dist包到部署的服务器,可能会用到压缩和文件远程发送的命令
常用操作
- Tab 键可以进行命令联想、文件名补全
- 向上、向下光标键可以浏览之前命令
- man 命令可以显示命令说明
- … 代表上级目录
- . 代表当前目录
文件目录类命令
查目录(文件夹)的命令:
# 【***】 显示当前路径
pwd
# 【***】回到用户登陆时的工作目录
cd
# 到用户目录
cd ~
# 到上层目录
cd ..
# 列出目录内容
ls
# 显示隐藏文件
ls -a
# 列出文件权限、所有者
ls -l
# 列出目录及子目录
ls -R
# 还可以合并参数来写
ls -al
# 【***】 ls我不常用,一般直接ll,一个字母敲两下就行
ll
查看文件,cat或者vim,我爱用vim
# 【***】vim 文件路径+文件全名
vim 具体的文件
# 【***】 vim 是打开文件,但是刚进去是只读模式,此时输入i进去编辑模式,就可以改内容了
i
# 【***】编辑完了使用Esc退出编辑模式
Esc
# 【***】编辑了一半不想编辑了,先Esc退出编辑模式,然后:q就可以关闭文件,并且不会保存修改的内容
:q
#【***】保存文件
:wq
cat用法
# 滚屏显示文件或把多个文件合并成一个文件
cat [参数] 文件名
# 把file2 file1合并成file3
cat file2 file1 >file3
#查看文件显示行号
cat -n test.txt
# 分页显示文件内容 ,只能向后翻
more [参数] 文件名
# 分页显示,可以向后、向前翻或左右移动
less 文件名
# 显示文件的开头10行
head [参数] 文件名
# 显示文件的前num行
head -n 20 文件名
# 显示指定文件的前num个字符
head -c num 文件名
# 显示文件末尾
tail [参数] 文件名
# 显示文件的末尾20行
tail -n 20 文件名
# 查看滚动输出的日志文件
tail -f /var/log/message
操作目录
# 创建目录
mkdir [参数] 目录名
# 创建多级目录
mkdir -p dir2/subdir2
# 删除目录,目录下要是空的
rmdir [参数] 目录名
# 删除多级目录,要求要删除的多级目录均无其它文件或目录
rmdir -p dir2/subdir2
文件操作命令
# 创建文件或更新文件的修改日期
touch [参数] 文件名或目录名
-d yyyymmdd : 把文件存取或修改时间改为指定时间
-a 只把文件的存取时间改为当前时间
-m 只把文件的修改时间改为当前时间
cp [参数] 源文件 目标文件
-a 尽可能原样复制,包括权限、文件状态等
-f 强制覆盖
-i 提示覆盖
-R 多层复制
# 移动文件或目录、或改名
mv [参数] 源文件或目录 目标文件或目录
# 删除文件或目录
rm [参数] 文件名或目录名
# 比较两个文件的区别
diff [参数] 文件1 文件2
tar # 方便记就记compress c就是取的它的首字母,和解压一字之差,x就是解压
# 解压 tar -zxvf
# 压缩 tar -zcvf 压缩以后的文件名 要压缩的文件夹
扩展
# 文件查找
find [路径] [匹配表达式]
# 查找大文件
find . -type -size +200M
# 查找大于400M的文件
find . -type f -size +400M -print0 | xargs -0 du -h
# 模糊搜索
locate *.doc
# 在文件名找字符串
grep [参数] 要找的内容
# 在文件passwd中找root的行,如果找到就显示从该行前2行到后2行内容
grep -2 root /etc/passwd
-v 列表不匹配的行
-c 对匹配的行计数
-l 只显示包含匹配模式的文件名
-h 抑制包含匹配模式的文件名的显示
-n 对每个匹配行只按照相对的行号显示
-i 不区分大小写
文件远程发送
# 把另一个服务器的文件复制过来
rcp root@192.168.10.10:./test2 test2 -D 22
# 把本地的文件复制到另一个服务器
rcp ./test2 root@192.168.10.10:./test2 -D 22