一. 新建
1.1 mkdir 新建文件夹
-p
:递归的创建文件夹,当父目录不存在的时候,会自动创建
mkdir -p test1/test2/test3
1.2 touch 新建空文件
⏹创建一个空文件
touch cdc.txt
1.3 vi命令创建文件
# 使用vi命令指定文件名
vi new_file.txt
# 进入vi模式之后, 使用 :wq保存退出
1.4 > 和 >> 新建文件
⏹将内容输入到指定的文件中
>
表示 新建>>
表示 追加
# 将 这是一个测试内容 输入到 content.log 文件中,如果 content.log 不存在的话,会新建.
echo 这是一个测试内容 > content.log
# 将 这是追加内容 追加到 content.log 文件中
echo 这是追加内容 >> content.log
# 将查询到的文件名追加到 content.log 中
ls -l >> content.log
1.5 通过for循环批量创建文件
⏹通过for循环批量创建从月初到月底的文件
for day in {01..30} do touch ./202406${day}_GIME_PAY_HIST.csv.gz; done
for day in {01..31} do touch ./202408${day}_GIME_PAY_HIST.csv.gz; done
二. 删除
-i
:表示每次删除前询问-r
:则表示递归删除,可以用来删除文件,一般用来删除文件夹
rm -ir 文件夹或文件名
- 没有添加
-r
,只能删除文件不能删除文件夹 - 可以通过通配符指定删除多个文件,删除之前要仔细确认好删除的范围
rm -i [0-9]_file.*
- 删除空文件夹
# 注意: 只能删除空的文件夹
rmdir 空文件夹名称
三. 合并
⏹两个文件合并为一个文件
括号 ()
的作用是将括号内的命令组合在一起,使其整体输出重定向到文件中。
# 待合并的两个文件14行
fengyehong@ubuntu:~/jmw_work_space/20240421$ wc -l file1.txt file2.txt
7 file1.txt
7 file2.txt
14 total
# 将file1.txt和file2.txt(去除表头)合并到newfile.csv
fengyehong@ubuntu:~/jmw_work_space/20240421$ (cat ./file1.txt;cat ./file2.txt | tail -n +2) > newfile.csv
# 合并之后的文件13行(因为第2个文件去掉了表头)
fengyehong@ubuntu:~/jmw_work_space/20240421$ wc -l newfile.csv
13 newfile.csv