使用终端无外乎要进行增删改查。
1、查;查看文件或目录
#查看当前目录绝对路径
pwd
#查看当前目录内容
ls
#查看执行目录内容
ls 路径
#查看文件内容
cat:查看所有文件内容。遇大文件不友好
less:查看少量内容,一个可翻页的内容区。
head:默认查看前10行内容,使用 "-n 参数" 可查看指定参数条目内容。如:"head 路径 -n 15"
2、增;创建文件或目录
创建文件:
# 创建一个名为 1.txt 的空文件
touch 1.txt
# 创建一个名为 2.txt 的文件并写入内容
echo hello world > 2.txt
# 创建一个名为 3.txt 的文件并写入含有转义字符的内容
echo -e "hello/nworld" > 3.txt
# ">" 符号会清空源文件内容后写入新内容
# 需要在原文件内容后追加新内容需要使用 ">>" 操作符
echo nihao >> 3.txt
# 创建多个文件
touch 4.txt 5.txt
创建目录:
# 创建目录 a
mkdir a
# 创建多层级目录
mkdir -p a/b/c/d
# 创建多个层级目录
mkdir -p a/b/c a/b/d
3、改;复制、修改、移动文件或目录
复制:
# 复制文件,将 a.txt 内容复制到 b.txt
# 没有 b.txt 则创建后复制,有则内容覆盖。
cp a.txt b.txt
# 复制目录,将 a 目录复制为 b 目录
# 在当前目录下将 a 目录复制为 b目录
cp -r a b
修改:
- 先设置文件的默认打开程序。
- 使用 “start” 或 “open” 命令让windows选择默认程序打开文件。
- 用 vs code 可以通过 code 命令打开文件进行编辑
- 清空文件内容
# 利用 echo '>' 直接覆盖的特性将文件内容清空
echo "" > 1.txt
移动文件
# 移动 1.txt 到 a 文件夹下
mv 1.txt a/
# 修改文件名
mv 1.txt 2.txt
修改文件的最后更新时间
touch 1.txt
4、其他
- 使用 “Alt+.” 可以快速复制上一条命令的命令参数
- 使用 “echo $?” 的返回值知道上一条命令是否执行成功。0 为成功,1为失败。
综合:
# 使用组合命令创建目录和文件并写入内容
# $1 是可接收参数占位符,如 echo nihao ,nihao 就是传入的参数
# 假使创建了一个无后缀文件且文件名为 go,它的内容如下
# 创建传入参数名目录并进入目录
mkdir $1
cd $1
# 创建 HTML 和 CSS 后缀文件
touch index.html
touch index.css
# 向 index.html 中写入内容
echo -e "<html><head><title>index</title><head></html>" > index.html
在终端中修改上述 go 文件为可执行文件并执行,即可在当前目录中得到一个目录且拥有对应文件
# 修改 go 文件权限
chmod -x go
# 执行 go 脚本,由于使用了 $1 ,需要传入参数,这里传入 aaa
./go aaa
sh go bbb
组合命令有 “ && “ 和 “ ; “
- “&&”:上一条指令执行成功后才会执行 && 后面的命令;
# 删除 1.txt 后回显"删除成功"内容
rm 1.txt && echo 删除成功
# 1.txt 删除成功了才有回显内容
- “;”:不管上一条是否成功,都会执行后面的命令;
# 删除 1.txt 后回显"删除成功"内容
rm 1.txt ; echo 删除成功
# 不管 1.txt 删除成功与否都有回显内容