Linux 文件操作

embedded/2024/11/20 19:09:52/

一、文件常用管理命令

1、新建文件命令

touch 创建文件

mkdir 创建文件夹

vi , vim 也可也创建文件

echo 结合 重定向符号(>)才能创建文件

        echo "test "  >  /opt/test.txt 

touch命令
1、当文件不存在,执行touch是创建该文本文件
touch test.txtroot@server:/opt # touch test.txt
root@server:/opt # ls
test.txt
root@server:/opt #2、当文件,文件夹(名字)已经存在后,touch命令是修改它的时间戳
touch test.txtroot@server:/opt # ls -l
total 0
-rw-r--r-- 1 root root 0 Nov 18 10:27 test.txt
root@server:/opt # touch test.txt
root@server:/opt # ls -l
total 0
-rw-r--r-- 1 root root 0 Nov 18 10:28 test.txt
root@server:/opt #3、touch一次性创建多个文件,注意,要保证,路径中的文件夹是存在的,否则会报错
root@server:/opt # touch one.txt two.txt three.txt
root@server:/opt # ls
one.txt  test.txt  three.txt  two.txt
root@server:/opt #root@server:/opt/test # touch {1..5}.txt
root@server:/opt/test # ls
1.txt  2.txt  3.txt  4.txt  5.txt
root@server:/opt/test #

2、删除命令(权限最大化 root+rm)

remove 删除,简写是 rm

rm 语法:rm 可选参数 可选对象

-r :递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有子目录和文件

-f :强制删除,不提示任何信息。操作前一定要慎重!!!不小心就删库跑路(放心,跑不掉的)

-i  :删除前需要确认

1、rm命令不带参数,只删除1个文件
root@server:/opt # ls
one.txt  test  test.txt  three.txt  two.txt
root@server:/opt # rm one.txt
root@server:/opt # ls
test  test.txt  three.txt  two.txt
root@server:/opt #2、rm删除多个文件
root@server:/opt # rm two.txt three.txt
root@server:/opt # ls
test  test.txt
root@server:/opt #3、关于rm的文件夹删除,需要-r参数使用
root@server:/opt # ls
test  test.txt
root@server:/opt # rm test.txt
root@server:/opt # rm test
rm: cannot remove 'test': Is a directory
root@server:/opt #
root@server:/opt # rm -r test
root@server:/opt # ls
root@server:/opt #

3、修改文件命令

vim 常用快捷键

vim  文件名 进入命令模式

按i 进入编辑状态,可以使用键盘上面上下左右键移动

命令模式下按hjkl,分别对应键盘上面的左下上右

CTRL+f :下一页

CTRL+b:上一页

shift+4:跳到光标所在行行尾

0:跳到光标所在行行首

gg:光标移动到文件行首

shift+g或者G :光标移动到文件行尾

按esc 退出编辑状态,按:wq 保存退出,

:wq!强制保存退出

:q!强制不保存退出

1、修改文件
root@server:/opt # cat 1.txt
test is test
root@server:/opt # vim 1.txt
root@server:/opt # cat 1.txt
test is test
this is test file
root@server:/opt #

4、查看文件命令

cat 读取文件内容

less

1、通过echo命令重定向到一个文件,通过cat命令查看内容
root@server:/opt # echo "test is test" > 1.txt
root@server:/opt # cat 1.txt
test is test
root@server:/opt #2、less 直接查看
root@server:/opt # less 1.txtless命令快捷键
键盘上面按空格:翻动下一页 
键盘上面的B键:翻动上一页

5、 复制文件命令

copy 拷贝,缩写的命令是cp

1、拷贝文件,并改名
root@server:/opt # ls
test
root@server:/opt # cp /root/error.txt  sucess.txt
root@server:/opt # ls
error.txt  sucess.txt  test
root@server:/opt # ls
sucess.txt  test2、拷贝文件夹,以及递归拷贝操作
cp -r 源文件夹路径   目标文件夹路径
root@server:/opt # cp test /root/
cp: -r not specified; omitting directory 'test'
root@server:/opt # cp -r test /root/
root@server:/opt # cd /root/
root@server:~ ‹master*›# ls -l test
total 4
drwxr-xr-x 2 root root 4096 Nov 18 11:35 1test
root@server:~ ‹master*›#

6、移动文件命令

move 移动,缩写的命令是mv

也可用于剪切,重命名

1、移动单个文件,并重命名
root@server:/opt # mv sucess.txt test/error.txt
root@server:/opt # ls
test
root@server:/opt # tree -N
.
└── test├── 1test└── error.txt2 directories, 1 file
root@server:/opt # ls test/error.txt
test/error.txt
root@server:/opt #2、移动目录重命名
root@server:/opt # mv test /root/11test
root@server:/opt # ls /root/11test
1test  error.txt
root@server:/opt #

7、tar命令

打包
命令:tar

作用:将多个文件打包成一个文件

语法:tar 选项 打包之后的文件名    要打包的文件或目录1 要打包的文件或目录2  要打包的文件或目录3 

常见参数:
用不同的参数,有不同的作用
tar实现,到底是打包,还是压缩,或者是解压缩,就看给的参数是什么.


-c,create 创建的意思 ,打包

​-v,显示打包文件过程

​-f,指定打包的文件名,此参数是必须加的,且必须在最后一位

​-u,update缩写,更新原打包文件中的文件(了解)

​-t,查看打包的文件内容(了解)  (不解压,看看里面有什么)

-x  解包,解压缩  (将一个单个的压缩文件,解压其中内容)

-z  压缩操作,是tar命令,去调用gzip命令的过程,压缩的参数

提示:
 

压缩文件名规范

*.tar   仅仅是打包了

*.tar.gz  打包+压缩

*.tgz    打包+压缩

7.1tar命令打包
1、将两个文件打包在一起
root@server:/opt # ls -lh
total 15M
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
root@server:/opt # tar -cvf all.tar shuju.txt shuju2.txt
shuju.txt
shuju2.txt
root@server:/opt # ls -lh
total 29M
-rw-r--r-- 1 root root  15M Nov 18 13:18 all.tar
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
root@server:/opt #2、查看打包文件中的内容
root@server:/opt # tar -tf all.tar
shuju.txt
shuju2.txt
root@server:/opt #3、更新,额外添加一个文件到打包文件中
root@server:/opt # ls
all.tar  shuju2.txt  shuju3.txt  shuju.txt
root@server:/opt # tar -uf all.tar shuju3.txt
root@server:/opt # ll -h
total 43M
-rw-r--r-- 1 root root  22M Nov 18 13:25 all.tar
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:24 shuju3.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
root@server:/opt # tar -tf all.tar
shuju.txt
shuju2.txt
shuju3.txt
root@server:/opt #4、解包,拆包
root@server:/opt # tar -xvf all.tar
shuju.txt
shuju2.txt
shuju3.txt
root@server:/opt #
7.2tar命令压缩用法
1、只打包三个shuju.txt文件包是22M,加上压缩后是4.6M
root@server:/opt # ll
total 43M
-rw-r--r-- 1 root root   13 Nov 18 13:30 1.txt
-rw-r--r-- 1 root root  22M Nov 18 13:25 all.tar
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:24 shuju3.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
drwxr-xr-x 2 root root 4.0K Nov 18 13:27 test
root@server:/opt # tar -czvf all_file.tar.gz ./shuju*
./shuju2.txt
./shuju3.txt
./shuju.txt
root@server:/opt # ll
total 47M
-rw-r--r-- 1 root root   13 Nov 18 13:30 1.txt
-rw-r--r-- 1 root root 4.6M Nov 18 13:39 all_file.tar.gz
-rw-r--r-- 1 root root  22M Nov 18 13:25 all.tar
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:24 shuju3.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
drwxr-xr-x 2 root root 4.0K Nov 18 13:27 test
root@server:/opt #2、除了-z的压缩参数,还有哪些   windows下的 .zip  .rar  .7z -z,压缩为.gz格式 ,记住用这个就好了,主流的80%人都用这个你拿到一个 all_files.tar.gz ,这个如何解压?tar  -zxvf  all_files.tar.gz-j,压缩为.bz2格式   all_files.tar.bz2   ,如何解压?tar -xjvf all_files.tar.bz2 
-J,压缩为.xz格式-c,create 创建的意思-x,解压缩-v,显示打包文件过程-f,file指定打包的文件名,此参数是必须加的。-u,update缩写,更新原打包文件中的文件(了解)-t,查看打包的文件内容(了解)

8、zip命令(压缩文件和解压缩)

1、zip压缩单个或者多个文件
root@server:/opt # zip  all.zip shuju.txt shuju2.txt shuju3.txtadding: shuju.txt (deflated 78%)adding: shuju2.txt (deflated 78%)adding: shuju3.txt (deflated 78%)
root@server:/opt # ll
total 26M
-rw-r--r-- 1 root root   13 Nov 18 13:30 1.txt
-rw-r--r-- 1 root root 4.6M Nov 18 13:48 all.zip
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:24 shuju3.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
drwxr-xr-x 2 root root 4.0K Nov 18 13:27 test
root@server:/opt #2、zip -r压缩文件,和文件夹root@server:/opt # zip -r all_file.zip test/ shuju.txt shuju2.txt shuju3.txtadding: test/ (stored 0%)adding: shuju.txt (deflated 78%)adding: shuju2.txt (deflated 78%)adding: shuju3.txt (deflated 78%)
root@server:/opt # ll
total 31M
-rw-r--r-- 1 root root   13 Nov 18 13:30 1.txt
-rw-r--r-- 1 root root 4.6M Nov 18 13:49 all_file.zip
-rw-r--r-- 1 root root 4.6M Nov 18 13:48 all.zip
-rw-r--r-- 1 root root 7.1M Nov 18 13:17 shuju2.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:24 shuju3.txt
-rw-r--r-- 1 root root 7.1M Nov 18 13:16 shuju.txt
drwxr-xr-x 2 root root 4.0K Nov 18 13:27 test
root@server:/opt #

unzip解压缩

1、解压直接覆盖现有文件
root@server:/opt # unzip -o all.zip
Archive:  all.zipinflating: shuju.txtinflating: shuju2.txtinflating: shuju3.txt


http://www.ppmy.cn/embedded/139153.html

相关文章

『大模型笔记』AI自动化编程工具汇总!

『大模型笔记』AI自动化编程工具汇总! 文章目录 一. Bolt.new(开源AI驱动全栈Web开发工具)1.1. Bolt.new介绍1.2. 编程小白如何打造自己的导航网站二. Cursor(人工智能代码编辑器)2.1. Cursor入门教程2.2. Cursor左侧布局设置和VSCode一样一. Bolt.new(开源AI驱动全栈Web开发工…

植物明星大乱斗15

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 player.hplayer.cppparticle.hparticle.cpp player.h #pragma once #include <graphics.h> #include "vector2.h" #include "animation.h" #include "playerID.h" #include &…

Marin说PCB之电源完整性之电源网络的PDN仿真CST---04

小编我最近都要忙疯了&#xff0c;好不容易去韩国出个差&#xff0c;打算不忙的时候去首尔看看韩国的美女们&#xff0c;说错了&#xff0c;是看美景啊。谁料想韩国分公司的SI同事的李相赫同志由于结婚请假了一个多月啊&#xff0c;他倒是挺爽啊&#xff0c;和老婆去度蜜月了&a…

MYSQL——数据更新

一、插入数据 1.插入完整的数据记录 在MYSQL中&#xff0c;使用SQL语句INSERT插入一条完整的记录&#xff0c;语法如下&#xff1a; INSERT INTO 表名 [(字段名1[,...字段名n])] VALUES (值1[...,值n]); 表名——用于指定要插入的数据的表名 字段名——用于指定需要插入数据…

数据结构(第三章)顺序表和链表

1.线性表 2.顺序表 3.链表 4.顺序表和链表的区别和联系 一、线性表 概念&#xff1a;线性表是N个具有相同特性的数据元素的有限序列。线性表是一种在实际中应用广泛的数据结构。 常见的线性表&#xff1a;顺序表&#xff0c;链表&#xff0c;栈 &#xff0c; 队列、字符串等…

4. langgraph中的react agent使用 (在react agent添加人机交互)

1. 初始化模型 首先&#xff0c;我们需要初始化要使用的模型。 # First we initialize the model we want to use. from langchain_openai import ChatOpenAImodel ChatOpenAI(temperature0,model"glm-4-plus",openai_api_key"your_api_key",openai_api…

vscode 关闭绑定元素 隐式具有“any”类型这类错误

在vue的项目里面&#xff0c;经常看到any类型的报错&#xff0c;真的很烦的 在tsconfig.json中配置以下参数 “noImplicitAny”: false 就可以了 出现类型“never”上不存在属性“userName”。ts-plugin(2339) 配置该参数 modeuleResolution : node "compilerOptions&qu…

Matlab实现北方苍鹰优化算法优化随机森林算法模型 (NGO-RF)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 北方苍鹰优化算法&#xff08;Northern Goshawk Optimization, NGO&#xff09;是一种新颖的群智能优化算法&#xff0c;灵感源自北方苍鹰捕食时的策略。该算法通过模拟苍鹰的搜寻、接近和捕捉猎物的行为模式&am…