【Linux】初见,基础指令
前言
本文将讲解Linux中最基础的东西-----指令,带大家了解一下Linux中有哪些基础指令,分别有什么作用。
本文中的指令和选项并不全,只介绍较为常用的
pwd指令
语法:pwd
功能:显示当前所在位置(路径)。
root@hcss-ecs-4ce7:~# pwd
/rootroot@hcss-ecs-4ce7:~/path1# pwd
/root/path1
ls指令
语法:ls 选项 文件或目录
功能:对于目录,显示这个目录中所有子目录和文件。对于文件,显示文件名和其他信息。若没有给出指定的文件或目录,则显示当前所在位置的文件或目录。若没有选项则只显示文件名,不显示其他信息。
常用选项
-l 列出详细信息。
root@hcss-ecs-4ce7:~# ls
my.txt my.zip new new.txt path1 path.tgz snap temp.txtroot@hcss-ecs-4ce7:~# ls -l
total 52
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
-rw-r--r-- 1 root root 183 May 18 14:38 my.zip
drwxr-xr-x 2 root root 4096 May 18 22:12 new
-rw-r--r-- 1 root root 14 May 18 11:35 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
-rw-r--r-- 1 root root 274 May 18 22:00 path.tgz
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txtroot@hcss-ecs-4ce7:~# ls -l path1
total 8
-rw-r--r-- 1 root root 0 May 14 20:35 myfile.txt
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
drwxr-xr-x 3 root root 4096 May 14 23:37 path2
补充:
Linux中目录即为windows中的文件夹 。
建立空文件也会占用磁盘空间,因为文件=文件属性+文件内容,即使内容为空,属性也不会为空。
Linux不同于windows不依靠后缀名来区别文件和目录,而是靠文件属性中第一个字母区别
Linux中的路径分割符为:/,而windows中的为:\
cd指令
cd指令是关于Linux目录路径的指令。
不论是那个操作系统中,目录都是以一个多叉树的形式实现的。Linux中的根目录用 " / "表示。文件或空目录一定是叶子节点。
绝对路径:从 / 开始不依靠其他路径定位位置。
相对路径:通过当前所处路径,定位出位置。
绝对路径不会因为用户位置的改变而导致定位位置改变,通常用于特定服务中配置文件的操作,而相对路径由于其使用简洁方便,常用于命令行。
Linux中存在以 " . "开头的文件,我们称作隐藏文件,不论什么目录里面都会有 " . " 和 " .. "这两个隐藏文件
语法:cd 目录名
功能:改变当前目录到指定的目录下。
常用目录名
相对路径
绝对路径
" .. "
" ~ "
" - "
root@hcss-ecs-4ce7:~# pwd #查看当前所处目录
/root
root@hcss-ecs-4ce7:~# cd /root/path1 #绝对路径,进入到指定的目录下
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1root@hcss-ecs-4ce7:~# pwd
/root
root@hcss-ecs-4ce7:~# cd ./path1 #相对路径,‘.’表示当前目录
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~/path1# cd .. #".."表示上层目录,这里表达返回上一层目录
root@hcss-ecs-4ce7:~# pwd
/rootroot@hcss-ecs-4ce7:~# pwd
/root
root@hcss-ecs-4ce7:~# cd - #表示进入最近的一次访问的目录
/root/path1
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~/path1# cd ~ #表示返回家目录,不写~也可以
root@hcss-ecs-4ce7:~# pwd
/root
补充:
cd ~ 返回家目录。对于root账号而言是返回 /root ,对于普通账号而言是返回 /home/xxx(自己的账号名)
touch指令
语法:touch 选项 文件名
功能:对于一个存在的文件,改变其日期时间。对于不存在的文件,新建这个文件。
常用选项:
-a: change only the a ccess time
-m: change only the modification time
root@hcss-ecs-4ce7:~# ls -l
total 52
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
-rw-r--r-- 1 root root 183 May 18 14:38 my.zip
drwxr-xr-x 2 root root 4096 May 18 22:12 new
-rw-r--r-- 1 root root 14 May 18 11:35 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
-rw-r--r-- 1 root root 274 May 18 22:00 path.tgz
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# touch aaaaa.txt #创建文件
root@hcss-ecs-4ce7:~# ls -l
total 52
-rw-r--r-- 1 root root 0 May 19 16:59 aaaaa.txt
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
-rw-r--r-- 1 root root 183 May 18 14:38 my.zip
drwxr-xr-x 2 root root 4096 May 18 22:12 new
-rw-r--r-- 1 root root 14 May 18 11:35 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
-rw-r--r-- 1 root root 274 May 18 22:00 path.tgz
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
补充:stat命令,功能:查看文件的详细信息。用过stat我们就可以观察到touch修改时间的操作
root@hcss-ecs-4ce7:~# stat new.txtFile: new.txtSize: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-18 11:35:22.012539536 +0800
Modify: 2025-05-18 11:35:19.900507212 +0800
Change: 2025-05-18 11:35:19.900507212 +0800Birth: 2025-05-15 10:42:29.595967837 +0800
修改时间:
root@hcss-ecs-4ce7:~# stat new.txtFile: new.txtSize: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-18 11:35:22.012539536 +0800
Modify: 2025-05-18 11:35:19.900507212 +0800
Change: 2025-05-18 11:35:19.900507212 +0800Birth: 2025-05-15 10:42:29.595967837 +0800//修改access时间
root@hcss-ecs-4ce7:~# touch touch -a new.txt
root@hcss-ecs-4ce7:~# stat new.txtFile: new.txtSize: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-19 17:07:15.106092725 +0800
Modify: 2025-05-18 11:35:19.900507212 +0800
Change: 2025-05-19 17:07:15.106092725 +0800 //我们发现这个也发生了修改,这里牵扯其他知识,后面再详细介绍Birth: 2025-05-15 10:42:29.595967837 +0800//修改modify时间
root@hcss-ecs-4ce7:~# touch -m new.txt
root@hcss-ecs-4ce7:~# stat new.txtFile: new.txtSize: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-19 17:07:15.106092725 +0800
Modify: 2025-05-19 17:08:59.171702276 +0800
Change: 2025-05-19 17:08:59.171702276 +0800Birth: 2025-05-15 10:42:29.595967837 +0800
mkdir指令
语法:mkdir 选项 目录名或路径
功能:在当前位置下创建目录
常用选项:
-p (指定路径创建目录,当目录中有不存在的目录时,直接创建)
root@hcss-ecs-4ce7:~# mkdir new #在当前位置下创建一个目录
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 2 root root 4096 May 19 17:22 new
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt//指定路径,创建多个目录
root@hcss-ecs-4ce7:~# mkdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:24 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# tree path //通过tree指令我们可以看到形象的路径
path
└── path1└── path2└── path33 directories, 0 files
补充:tree指令,可以形象的将一个目录里的内容展示出来。若没有安装可更加系统提示安装。
rmdir&rm指令
语法:rmdir 选项 目录名或路径
功能:删除空目录
选项:
-p (当删除子目录时,如果父目录也变成了空目录,则一并删除)
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:24 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt//当删除子目录时,如果父目录也变成了空目录,则一并删除
root@hcss-ecs-4ce7:~# rmdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
rmdir的弊端在于只能删除空目录,当目录中有内容则无法删除,但rm指令可以
语法:rm 选项 目录名或路径
功能:删除目录或文件
选项:-f 即使是只读文件,也直接删除
-r 删除目录及其包含的所有文件
-i 删除前逐一询问确认
限制:只针对root账号、或普通账号自己创建的目录或文件
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
-rw-r--r-- 1 root root 0 May 19 17:41 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt//删除普通文件
root@hcss-ecs-4ce7:~# rm new.txt
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txtroot@hcss-ecs-4ce7:~# touch new1.txt
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
-rw-r--r-- 1 root root 0 May 19 17:42 new1.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt//删除前询问
root@hcss-ecs-4ce7:~# rm -i new1.txt
rm: remove regular empty file 'new1.txt'? y
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txtroot@hcss-ecs-4ce7:~# mkdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:44 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt//删除目录及其所包含的所有文件
root@hcss-ecs-4ce7:~# rm -r path
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txtroot@hcss-ecs-4ce7:~# mkdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:47 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt//删除前询问确认
root@hcss-ecs-4ce7:~# rm -ir path
rm: descend into directory 'path'? y
rm: descend into directory 'path/path1'? y
rm: descend into directory 'path/path1/path2'? y
rm: remove directory 'path/path1/path2/path3'? y
rm: remove directory 'path/path1/path2'? y
rm: remove directory 'path/path1'? y
rm: remove directory 'path'? y
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
man指令
语法:man 选项 指令
功能:当我们忘记一个指令怎么使用时,可以使用man来查询。
选项
通常为1-9
补充:man手册分为9章
1是普通的命令
2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调⽤这个函数,需要加什么 头文件)
3是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备⽂件
4略
5是指⽂件的格式,比如passwd,就会说明这个文件中各个字段的含义
6是给游戏留的,由各个游戏自己定义
7是附件还有⼀些变量,比如像environ这种全局变量在这里就有说明
8是系统管理用的命令,这些命令只能由root使用,如ifconfig
9略
选项中不给出具体数字,man就会从第一章开始找直到找到。反之如果给出具体数字,man就只会去对应的第几章去找。
root@hcss-ecs-4ce7:~# man printf # 查看printf指令(没错,printf也是⼀个指令)
root@hcss-ecs-4ce7:~# man fork # 查看系统调⽤,默认没有这个指令,man就⾃动去2号⼿册查找
root@hcss-ecs-4ce7:~# man 2 frok # 查看系统调⽤
root@hcss-ecs-4ce7:~# man 3 printf # 查看C库函数
root@hcss-ecs-4ce7:~# man 7 signal # 查看变量
root@hcss-ecs-4ce7:~# man 7 environ
root@hcss-ecs-4ce7:~# man man # 查看man⼿册⾃⼰
echo指令
语法:echo 选项 内容
功能:打印内容或将内容放入文件中
#将echo后面的内容作为字符串,打印出来
root@hcss-ecs-4ce7:~# echo "你好世界"
你好世界
root@hcss-ecs-4ce7:~# echo test.cpp
test.cpp#利用 > 进行重定向操作
root@hcss-ecs-4ce7:~# ls
my.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# echo "你好世界">new.txt
root@hcss-ecs-4ce7:~# ls
my.txt new.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# cat new.txt
你好世界# >>进行追加重定向
root@hcss-ecs-4ce7:~# echo "明天你好">>new.txt
root@hcss-ecs-4ce7:~# cat new.txt
你好世界
明天你好# < 输入重定向,与cat new.txt效果上无异
root@hcss-ecs-4ce7:~# cat <new.txt
你好世界
明天你好
补充:重定向有两个特点:1.如果重定向的文件不存在,则创建文件再写入内容。2.如果文件存在则清空文件再写入内容(既覆盖)。
which指令
语法:which 指令名
功能:搜索指令
root@hcss-ecs-4ce7:~# which ls
/usr/bin/ls
root@hcss-ecs-4ce7:~# which man
/usr/bin/man
root@hcss-ecs-4ce7:~# which touch
/usr/bin/touch
补充:我们通过which指令可以看到,指令其实也是目录,存在在bin目录下
指令本质==可执行文件==我们写的C/C++程序
cp指令
语法:cp 源文件或目录 目标文件或目录
功能:拷贝文件或目录
选项
-f 强制拷贝,不论目标文件或目录是否存在
-r 递归处理,将目录下的文件和子目录一起处理。若源文件或目录的形态,不属于目录或符 号链接,则⼀律视为普通文件处理。
-i 覆盖文件前线询问
#普通文件的拷贝
root@hcss-ecs-4ce7:~# ls
my.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# echo "你好世界"> new.txt
root@hcss-ecs-4ce7:~# cp new.txt cpnew.txt
root@hcss-ecs-4ce7:~# ls
cpnew.txt my.txt new.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# cat cpnew.txt
你好世界#将多个文件拷贝到目录
root@hcss-ecs-4ce7:~# mkdir new
root@hcss-ecs-4ce7:~# ls
cpnew.txt my.txt new new.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# cp *.txt new # “*”为通配符,匹配所有以.txt结尾的文件
root@hcss-ecs-4ce7:~# tree new
new
├── cpnew.txt
├── my.txt
├── new.txt
└── temp.txt#如果目标文件存在则直接覆盖
root@hcss-ecs-4ce7:~# cat cpnew.txt
你好世界
root@hcss-ecs-4ce7:~# echo "明天你好">new.txt
root@hcss-ecs-4ce7:~# cp new.txt cpnew.txt
root@hcss-ecs-4ce7:~# cat cpnew.txt
明天你好#拷贝前询问
root@hcss-ecs-4ce7:~# cp -i new.txt cpnew.txt
cp: overwrite 'cpnew.txt'? y#强制拷贝整个目录
root@hcss-ecs-4ce7:~# ls
cpnew.txt my.txt new new.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# tree new
new
├── cpnew.txt
├── my.txt
├── new.txt
└── temp.txt0 directories, 4 files
root@hcss-ecs-4ce7:~# cp -rf new cpnew
root@hcss-ecs-4ce7:~# ls
cpnew cpnew.txt my.txt new new.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# tree cpnew
cpnew
├── cpnew.txt
├── my.txt
├── new.txt
└── temp.txt0 directories, 4 files
mv指令
mv是move是缩写,代表移动。用于移动文件或将文件改名,常用于备份文件或目录。
语法:mv 选项 源文件或目录 目标文件或目录
功能:
1. 当mv指令的第一个参数和第二个参数都是文件或目录,将会进行重命名
2. 当mv指令第一个参数是文件,第二个参数是目录,将会进行移动,把文件移动至目录中
选项:
-f 强制覆盖, 如果当目标文件已经存在时,就会强制覆盖
-i 再覆盖前询问用户是否覆盖(仅在覆盖文件时询问,目录不会询问)
注意:对于重命名目录来说,并不会覆盖目录原来的内容。而是将源目录中的内容移动至目标目录中
#文件重命名
root@hcss-ecs-4ce7:~# ls
my.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# mv temp.txt new.txt
root@hcss-ecs-4ce7:~# ls
my.txt new.txt path1 snap#如果重命名文件在当前路径下已经存在,那么就会直接覆盖
root@hcss-ecs-4ce7:~# echo "你好世界">you.txt
root@hcss-ecs-4ce7:~# ls
my.txt new new.txt path snap you.txt
root@hcss-ecs-4ce7:~# mv you.txt my.txt
root@hcss-ecs-4ce7:~# ls
my.txt new new.txt path snap
root@hcss-ecs-4ce7:~# cat my.txt
你好世界#目录重命名(如果重命名目录在当前位置下已经存在,那么就会将源目录中内容移动至目标目录)
root@hcss-ecs-4ce7:~# ls
my.txt new.txt path1 snap
root@hcss-ecs-4ce7:~# tree path1
path1
├── myfile.txt
├── my.txt
└── path2├── myfile.txt└── path3└── path43 directories, 3 files
root@hcss-ecs-4ce7:~# mv path1 pathroot@hcss-ecs-4ce7:~# ls
my.txt new.txt path snap
root@hcss-ecs-4ce7:~# tree path
path
├── myfile.txt
├── my.txt
└── path2├── myfile.txt└── path3└── path43 directories, 3 files#移动文件到目录中
root@hcss-ecs-4ce7:~# ls
my.txt new.txt path snap
root@hcss-ecs-4ce7:~# mkdir newroot@hcss-ecs-4ce7:~# mv new.txt new
root@hcss-ecs-4ce7:~# ls
my.txt new path snap
root@hcss-ecs-4ce7:~# tree new
new
└── new.txt
相关文章:
【Linux】初见,基础指令
前言 本文将讲解Linux中最基础的东西-----指令,带大家了解一下Linux中有哪些基础指令,分别有什么作用。 本文中的指令和选项并不全,只介绍较为常用的 pwd指令 语法:pwd 功能:显示当前所在位置(路径…...
链表的面试题8之环形链表
许久不见,那么这是最后倒数第三题了,这道题我们来看一下环形链表。 老规矩贴链接:141. 环形链表 - 力扣(LeetCode) 目录 倒数第k个元素 获取中间元素的问题。 双指针 来,大致看一下题目,这…...
OBS Studio:windows免费开源的直播与录屏软件
OBS Studio是一款免费、开源且跨平台的直播与录屏软件。其支持 Windows、macOS 和 Linux。OBS适用于,有直播需求的人群或录屏需求的人群。 Stars 数64,323Forks 数8413 主要特点 推流:OBS Studio 支持将视频实时推流至多个平台,如 YouTube、…...
邂逅Node.js
首先先要来学习一下nodejs的基础(和后端开发有联系的) 再然后的学习路线是学习npm,yarn,cnpm,npx,pnpm等包管理工具 然后进行模块化的使用,再去学习webpack和git(版本控制工具&…...
React 常见的陷阱之(如异步访问事件对象)
文章目录 前言1. 异步访问事件对象问题解决方案 2. 事件传播的误解**问题**解决方案 **3. 事件监听器未正确卸载****问题****解决方案** **4. 动态列表中的事件绑定****问题****解决方案** **5. 第三方库与 React 事件冲突****问题****解决方案** **6. 表单输入与受控组件****问…...
【LinkedList demo 内部类讲说】
LinkedList demo 内部类讲说 1. Node节点2.MyLinkedList3. LinkedListTest 测试类 1. Node节点 public class Node<T> {private Node<T> pre;private Node<T> next;private T data;public Node() {}public Node getPre() {return pre;}public void setPre(N…...
Sql刷题日志(day9)
一、笔试 1、limit offset:分页查询 SELECT column1, column2, ... FROM table_name LIMIT number_of_rows OFFSET start_row; --跳过前 start_row 行,返回接下来的 number_of_rows 行。 2、lag、lead:查询前后行数据 --lag函数用于访问当…...
46 python pandas
Pandas是Python数据分析的利器,也是各种数据建模的标准工具 一、什么是pandas pandas 是 Python 中用于数据处理和分析的核心库,提供了高效的数据结构(如Series和DataFrame)和数据操作工具,广泛应用于数据清洗、分析、可视化等场景。 最常用的是用来处理excel数据。 二…...
告别延迟!Ethernetip转modbustcp网关在熔炼车间监控的极速时代
熔炼车间热火朝天,巨大的热风炉发出隆隆的轰鸣声,我作为一名技术操控工,正密切关注着监控系统上跳动的各项参数。这套基于EtherNET/ip的监控系统,是我们车间数字化改造的核心,它将原本分散的控制单元整合在一起&#x…...
Prompt Tuning:高效微调大模型的新利器
Prompt Tuning(提示调优)是什么 Prompt Tuning(提示调优) 是大模型参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)的重要技术之一,其核心思想是通过优化 连续的提示向量(而非整个模型参数)来适配特定任务。以下是关于 Prompt Tuning 的详细解析: 一、核心概念…...
⼆叉搜索树详解
1. ⼆叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树: • 若它的左⼦树不为空,则左⼦树上所有结点的值都⼩于等于根结点的值 • 若它的右⼦树不为空,则右⼦树上所有结点的值都⼤于等于根结…...
CompleteableFuture的异步任务编排
为什么会有CompleteableFuture Java 的 1.5 版本引入了 Future,可以把它简单的理解为运算结果的占位符, 它提供了两个方法来获取运算结果。 get():调用该方法线程将会无限期等待运算结果。get(longmeout, TimeUnit unit):调用该…...
珈和科技贺李德仁院士荣膺国际数字地球学会会士:以时空智能赋能可持续发展目标 绘就数字地球未来蓝图
4月22日,第十四届国际数字地球会议在重庆盛大启幕。在这场在全球范围内数字地球领域具有国际影响力的学术盛会上,国际数字地球学会向珈和科技的企业顾问,2023年度国家最高科学技术奖得主李德仁院士授予了“国际数字地球学会会士”最高荣誉称号…...
【CodeBuddy 】从0到1,打造一个“牛马打鸡血仪”
【CodeBuddy 】从0到1,打造一个“牛马打鸡血仪” 我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 🌟嗨,我是LucianaiB&#…...
BI是什么意思?一文讲清BI的概念与应用!
目录 一、BI 是什么意思 1. BI 的定义 2. BI 的发展历程 3. BI 的核心组件 二、BI 的应用场景 1. 销售与市场营销 2. 财务管理 编辑3. 人力资源管理 4. 生产与运营管理 编辑三、选择合适的 BI 工具 1. 考虑企业的需求和规模 2. 评估工具的功能和性能 3. 关注工…...
可编辑PPT | 华为安全架构设计方法指南华为数字化转型架构解决方案
这份文档是华为的安全架构设计方法指南,它详细介绍了安全架构设计的重要性、方法和流程。文档强调安全架构是软件研发技术体系中的关键DFX能力,与可靠性、性能等并列,尤其在云计算和复杂网络环境下,安全性设计显得尤为重要。华为的…...
1.6 提示词工程(二)
目录 3.2 提供参考文本 3.2.1 使用参考文本来构建答案 3.2.2 指导模型用引用的文本回答问题 3.3 把复杂的任务拆分成简单的子任务 3.3.1 利用意图分类确定与用户查询最相关的指令 3.3.2 针对需要长时间对话的应用程序,应概括或过滤之前的对话内容 …...
WIFI信号状态信息 CSI 深度学习之数据集
Building occupant activity sensing dataset based on WIFI CSI(WiSA) 所有的数据以及实验参数都上传到了figshare中并配备详细说明,供参考。 论文链接:WiSA: Privacy-enhanced WiFi-based activity intensity recognition in …...
基于服务器的 DPI 深度分析解决方案
一、传统网络流量分析的瓶颈与挑战 在企业网络管理体系中,传统流量分析模式高度依赖网络设备作为数据采集核心节点,无论是基于 NetFlow/IPFIX 等流协议的流量分析,还是通过端口镜像技术实现的流量监控,均以交换机、路由器等网络设…...
动态规划(5):线性动态规划
引言 所谓线性动态规划,通常指状态定义和转移具有线性结构的动态规划问题,其状态通常可以用一维数组表示,状态转移主要依赖于相邻或前面有限个状态。这类问题的特点是状态空间呈线性排列,每个状态只与有限个前置状态相关,使得问题结构相对简单,更容易理解和掌握。 一维…...
c语言- 如何构建CMake项目(Linux/VSCode)
目录 linux(vscode)构建C语言CMake项目 1. 检查linux是否下载cmake,否则执行下列代码 2. 在vscode下载cmake的插件CMake Tools 3. 构建项目(项目结构) 4. 进行cmake配置 1. 在VS Code中按下ctrl shift p键&…...
HJ17 坐标移动【牛客网】
文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ17 坐标移动 一、题目描述 二、测试用例 三、解题思路 基本思路: 这题的难点在于理解题目和如何处理各种情况。题目是给定一串指令,首先要判断指令是否合法…...
HGHAC集群滚动扩展或更换硬盘设备
文章目录 环境文档用途详细信息 环境 系统平台:N/A 版本:4.5.8 文档用途 集群版本:hghac4.2.1 数据库版本:hgdb-see-4.5.8 此步骤适用于所有hac架构的hgdb集群。 主要用途:HAC集群服务器滚动扩展或更换硬盘 本文…...
虚拟环境中VSCode运行jupyter文件
用VS Code打开jupyter文件,点击右上角 Select Kernel 在正上方会出现这个选择框,选择 Python Environment 会出来所有的虚拟环境,选择要用的环境行...
【蓝桥杯嵌入式】【模块】六、PWM相关配置及代码模板
1. 前言 最近在准备16届的蓝桥杯嵌入式赛道的国赛,打算出一个系列的博客,记录STM32G431RBT6这块比赛用板上所有模块可能涉及到的所有考点,如果有错误或者遗漏欢迎各位大佬斧正。 本系列博客会分为以下两大类: 1.1. 单独模块的讲…...
力扣-盛最多水的容器
1.题目描述 2.题目链接 11. 盛最多水的容器 - 力扣(LeetCode) 3.题目解析 题目中的储水量两边差*短边高度。也就是说,两条边中,决定储水量的是短边的高度。 我们可以定义两个指针,一个在最左边,一个在…...
数据实时同步:inotify + rsync 实现数据实时同步
1 数据实时同步 在生产环境中,某些场景下,要将数据或文件进行实时同步,保证数据更新后其它节点能立即获得最新的数据。 数据同步的两种方式 PULL:拉,使用定时任务的方式配合同步命令或脚本等,从指定服务…...
C#学习第24天:程序集和部署
程序集知识点 1.程序集的基本概念 程序集是部署和版本控制的最小单位。它可以是可执行文件(.exe)或动态链接库(.dll)。包含元数据和清单(Manifest),描述程序集的内容和依赖关系。 2.程序集清单…...
mac .zshrc:1: command not found: 0 解决方案
nano ~/.zshrc 使用自带的nano命令打开文件,修改后 Ctrl X 然后输入y 然后回车即可保存成功 一般情况下,不是常用这个命令,除非是遇到有问题的文件,才用, 例如 遇到下面的问题 /Users/xxli/.zshrc:1: command no…...
学习设计模式《十》——代理模式
一、基础概念 代理模式的本质【控制对象访问】; 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问; 代理模式的功能:代理模式是通过创建一个代理对象,用这个代理对象去代表真实的对象;客户端得…...
RestFul操作ElasticSearch:索引与文档全攻略
RestFul方式操作ES 索引库操作 创建索引库 PUT /索引库名称 {"mappings":{"properties":{"字段名":{"type":"字段类型","analyzer":"分词器","index":"是否参与搜索(布尔值)"},…...
OpenCV 图像读取与显示
一、知识点: 1、读取图像 (1)、Mat imread( const String & filename, int flags IMREAD_COLOR_BGR ); (2)、返回值: Mat,返回读取的图像。 若读取图像失败,则返回一个空的对象,对象.empty()为true。 (3)、参数filename: String是…...
Django快速入门篇
Django官网 https://docs.djangoproject.com/zh-hans/4.2/ 官方介绍 官方版本 推荐LTS版本,python3.9/3.10 djongo 每两年会出一个LTS版本 关于环节djongo,conda直接安装即可 conda create -n myenv python3.9 conda activate myenv pip install dj…...
C++23 新增扁平化关联容器详解
文章目录 一、引言已有关联容器回顾新容器的引入原因 二、std::flat_set定义与特性代码示例适用场景 三、std::flat_multiset定义与特性代码示例适用场景 四、std::flat_map定义与特性代码示例适用场景 五、std::flat_multimap定义与特性代码示例适用场景 六、与其他容器的比较…...
当PLC遇上电焊机器人:EtherCAT转CANopen上演工业级“语言翻译官”
在汽车自动化产线中,PLC与电焊机器人的高效协同是提升生产效率的关键。但PLC常用的EtherCAT协议与电焊机器人采用的CANopen协议存在通信壁垒,JH-ECT009疆鸿智能EtherCAT转CANopen技术成为打破这一障碍的核心方案。 应用拓扑图 EtherCAT是高速工业以太网协…...
LeetCode 1345. 跳跃游戏 IV(困难)
题目描述 给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i 1 、i - 1 或者 j : i 1 需满足:i 1 < arr.lengthi - 1 需满足:i - 1 …...
Linux bash shell的循环命令for、while和until
1、for命令 for命令,允许你创建一个遍历一系列值的循环,每次迭代都使用其中一个 值来执行已定义好的一组命令。 for var in list do commands done # 在list参数中,你需要提供迭代中要用到的一系列值。 # 可以通过几种不同的方法指定列表中的…...
三、【数据建模篇】:用 Django Models 构建测试平台核心数据
【数据建模篇】:用 Django Models 构建测试平台核心数据 前言我们要设计哪些核心数据?准备工作:创建 Django App开始设计数据模型 (Models)1. 通用基础模型 (可选但推荐)2. 项目模型 (Project)3. 模块模型 (Module)4. 测试用例模型 (TestCase…...
Mac如何允许安装任何来源软件?
打开系统偏好设置-安全性与隐私,点击右下角的解锁按钮,选择允许从任何来源。 如果没有这一选项,请到打开终端,输入命令行:sudo spctl --master-disable, 输入命令后回车,输入电脑的开机密码后回车。 返回“…...
云原生主要架构模式
云原生(Cloud Native)是一种利用云计算的优势来构建和运行可扩展、弹性和高效应用程序的方法。它不仅仅是技术的集合,更是一种架构和设计理念。本文将围绕你提出的几部分,深入探讨云原生主要的架构模式,帮助你理解如何利用这些模式构建现代化的应用。 1. 服务化架构模式(…...
Neon数据库:让Postgres更智能的选择!
Neon:革新的Serverless PostgreSQL解决方案 在当今快速发展的技术世界,数据库的效率和灵活性成为众多开发者关注的重中之重。Neon,以其独特的serverless架构,正引领着这一变革。本文将深入探讨Neon的独特构架、应用场景以及具体的…...
《Metasploit框架核心模块解析与安全防护实践》
目录 一、框架模块化设计与安全验证价值 1. 漏洞验证模块(Exploit Modules) 2. 安全评估模块(Auxiliary Modules) 3. 安全响应模块(Post-Exploitation) 4. 载荷安全…...
C#:多线程Task使用
一.Task与Thread Task是架构在Thread之上的,也就是说任务最终还是要抛给线程去执行。Task跟Thread不是一对一的关系,比如开10个任务并不是说会开10个线程,这一点任务有点类似线程池,但是任务相比线程池有很小的开销和精确的控制。…...
Nginx笔记
一、概述 Nginx一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个电子邮件代理服务器。正向代理服务的是客户端(比如VPN),反向代理服务的是服务端。Nginx是多进程的,有一个Master进程控制多个Worke…...
小米便签源码部署流程
一、准备环境 1. 安装必要工具 Android Studio:最新稳定版(需支持 Kotlin 和 Jetpack Compose)。 JDK:建议 JDK 11 或更高(通过 sdkman 或 brew 安装)。 Git:用于克隆源码。 2. 配置国内镜像源&…...
DAY 30 超大力王爱学Python
知识点回顾: 导入官方库的三种手段导入自定义库/模块的方式导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致) 作业:自己新建几个不同路径文件尝试下如何导入 步骤 1:创建项目结构 …...
左右边界策略
这是一套完整的交易逻辑策略,涵盖了从函数定义、指标计算、信号生成到资金和仓位管理、加仓和减仓逻辑、以及止损和止盈逻辑的各个方面。 以下对该交易系统进行详细分析: 交易逻辑思路 1. 函数定义 - DZSell 和 DZBuy 函数:这两个函数用于计算卖出和买入的价格区间。它…...
iOS苹果和Android安卓测试APP应用程序的区别差异
在当今这个移动互联网时代,iOS和Android作为两大主流操作系统,它们在测试应用程序时存在哪些差异呢?这不仅是一个技术问题,也是一个市场策略问题。让我们从一个实际案例开始探讨。 假设我们有一个新的社交应用需要在iOS和Android…...
【Python装饰器深潜】从语法糖到元编程的艺术
目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明🧠 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选型对比🛠️ 二、实战演示⚙️ 环境配置要求💻 核心代码实现案例1:基础计时装饰器案…...
Kubernetes中微服务JVM监控与自动发现的解决方案
以下是针对 Kubernetes 中微服务 JVM 监控与自动发现的解决方案,结合 Prometheus 的动态发现机制和 Spring Boot 的监控能力,解决 Pod IP 动态变化和当前微服务监控数据暴露匿名随意访问的安全问题。 一、微服务端配置(Spring Boot 微服务) 1. 依赖配置(pom.xml) <…...