当前位置: 首页 > news >正文

【Linux】Linux的基本常识+指令

目录

1. 整体学习思维导图

2. 常见快捷键操作

3. 基本指令 

pwd指令

whoami指令

ls 指令

touch指令

cd 指令

Stat 指令

mkdir 指令

alias指令

nano 指令

rmdir 和 rm 指令

man 指令手册

cp 命令

cat/echo/tac 指令

mv 指令 

less 指令

head/tail 指令

date 指令

find/which 命令

grep 指令

rz/sz 指令

zip/unzip 指令

 tar 指令

history 指令

bc 指令

uname 指令

4.基本知识

4.1 空文件是否占用空间?

4.2 文件/目录的属性

4.3 . 和 .. 类型的文件

4.4 命令的本质

4.5 * 通配符

4.6 Linux下一切皆文件

4.7 日志文件存储目录

4.8 打包/压缩是什么?

4.8.1 为什么进行打包压缩

4.9 查看指令是否安装

4.10 shell命令及其运行原理简单理解 


1. 整体学习思维导图

2. 常见快捷键操作

  • Alt + Enter : 全屏操作/退出全屏

  • Shirt + Insert [+Fn] : 粘贴

  • Ctrl + Insert [+Fn] : 复制

  • Ctrl + C : 终止异常

  • 上下键可以快速查找历史命令

  • Ctrl + r 匹配历史指令

  • Ctrl + d 退出当前用户

  • Tab快速摁两下 命令搜索/补全

3. 基本指令 

pwd指令

用于打印当前路径

[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# pwd
/root

whoami指令

用于查看当前用户

[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# whoami
root

ls 指令

用于查看当前目录下的文件

[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls
code  mysql  MySQL_Date

可选项 - a 显示全部文件(包含隐藏文件)

可选项 - l 显示文件的详细信息

[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls -a
.   .bash_history  .bash_profile  .cache  .cshrc    mysql       .mysql_history  .pki              .ssh     .viminfo
..  .bash_logout   .bashrc        code    .lesshst  MySQL_Date  .pip            .pydistutils.cfg  .tcshrc
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls -l
total 8
drwxr-xr-x 5 root root 4096 Oct 21 08:27 code
-rw-r--r-- 1 root root    0 Nov 27 19:38 mysql
drwxr-xr-x 2 root root 4096 Nov 27 19:47 MySQL_Date
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls -al
total 172
dr-xr-x---.  8 root root  4096 Nov 27 22:19 .
dr-xr-xr-x. 18 root root  4096 Sep 12 08:27 ..
-rw-------   1 root root 15504 Nov 27 22:19 .bash_history
-rw-r--r--.  1 root root    18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root   176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root   176 Dec 29  2013 .bashrc
drwxr-xr-x   3 root root  4096 Jul 11  2019 .cache
drwxr-xr-x   5 root root  4096 Oct 21 08:27 code
-rw-r--r--.  1 root root   100 Dec 29  2013 .cshrc
-rw-------   1 root root    75 Oct  6 15:01 .lesshst
-rw-r--r--   1 root root     0 Nov 27 19:38 mysql
drwxr-xr-x   2 root root  4096 Nov 27 19:47 MySQL_Date
-rw-------   1 root root 88091 Nov 27 22:19 .mysql_history
drwxr-xr-x   2 root root  4096 Jul 11  2019 .pip
drwxrw----   3 root root  4096 Oct 23 15:00 .pki
-rw-r--r--   1 root root   205 Jun 17 10:31 .pydistutils.cfg
drwx------   2 root root  4096 Jul 11  2019 .ssh
-rw-r--r--.  1 root root   129 Dec 29  2013 .tcshrc
-rw-------   1 root root  4528 Nov 27 19:47 .viminfo

touch指令

  • 用于创建普通文件

  • 也可以更新文件的使用时间

/* 创建普通文件 */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# touch Text.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 12
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct  6 14:54 dir_2024_10_6
drwxr-xr-x 4 root root 4096 Oct  6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root    0 Nov 28 12:49 Text.txt/* 更新文件的使用时间 */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# touch Text.txt 
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 12
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct  6 14:54 dir_2024_10_6
drwxr-xr-x 4 root root 4096 Oct  6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root    0 Nov 28 18:57 Text.txt

cd 指令

用于跳转到不同路径

  • 绝对路径

  • 相对路径

/* 比如我们想跳转到/root/code 目录下 */绝对路径
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# cd /root/code/
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# 我们当前在/root,相对路径
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# cd ./code
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# /* cd ~ */ 跳转到家路径下
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# pwd
/root/code
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# cd ~
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# pwd
/root/* cd- */ 回到最近一次的路径
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cd -
/root/code/dir_2024_11_28/Test
[root@iZ2ze0j6dd76e0o9qypo2rZ Test]# cd -
/root/code/dir_2024_11_28

Stat 指令

查看文件的时间状态

  • Modify (mtime) 关注文件内容的修改。

  • Change (ctime) 关注文件状态的任何变化,包括内容修改和元数据修改。

  • Access (atime) 关注文件内容的读取。

Change和Modify的区别?

[root@iZ2ze0j6dd76e0o9qypo2rZ code]# stat Text.txt File: ‘Text.txt’Size: 0                 Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d        Inode: 1056689     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-11-28 18:57:44.225373104 +0800
Modify: 2024-11-28 18:57:44.225373104 +0800
Change: 2024-11-28 18:57:44.225373104 +0800Birth: -

mkdir 指令

  • 用于创建一个文件夹(目录)

  • 也可以连续递归创建目录 -p

  • tree指令以树形结构打印目录内容

/* 创建一个文件夹(目录) */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# mkdir dir_2024_11_28
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 28 19:22 dir_2024_11_28/* 可以连续递归创建目录 */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# mkdir -p dir_2024_11_28/a/b/c/d
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tree dir_2024_11_28/
dir_2024_11_28/
└── a└── b└── c└── d4 directories, 0 files

alias指令

给别的指令取别名

这种取别名的方式是临时性的,要想实现永久性需要在配置文件中修改

[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# alias ouyang='pwd'
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ouyang
/root 

nano 指令

简单的记事本,可以编写普通文件的内容

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# nano Hello.c

rmdir 和 rm 指令

  • rmdir 用于删除目录

  • rm 用于删除目录和普通文件

  • -f 不再询问 -r 递归执行

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# rm a
rm: cannot remove ‘a’: Is a directory
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# rm -f a
rm: cannot remove ‘a’: Is a directory
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# rm -rf a
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 16
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root   72 Nov 28 19:44 Hello.c

man 指令手册

man是一个在线参考手册

cp 命令

cp 来源文件 目标文件

  • 如果存在会覆盖目标文件

  • 会拷贝到目录内部

/* 拷贝普通文件 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp Hello.c Text.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 20
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root   72 Nov 28 19:44 Hello.c
-rw-r--r-- 1 root root   72 Nov 28 19:54 Text.c/* 如果拷贝的目标文件存在内容会询问是否覆盖 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp Hello.c Text.c
cp: overwrite ‘Text.c’? /* -r递归拷贝 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree Test
Test
├── a.txt
└── b.txt0 directories, 2 files
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp Test Test2
cp: omitting directory ‘Test’
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp -r Test Test2
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 28
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root   72 Nov 28 19:44 Hello.c
drwxr-xr-x 2 root root 4096 Nov 28 19:56 Test
drwxr-xr-x 2 root root 4096 Nov 28 19:57 Test2
-rw-r--r-- 1 root root   72 Nov 28 19:56 Text.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree Test2
Test2
├── a.txt
└── b.txt0 directories, 2 files/* 再次拷贝目录会拷贝到文件内部 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp -r Test Test2
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree Test2
Test2
├── a.txt
├── b.txt
└── Test├── a.txt└── b.txt1 directory, 4 files

cat/echo/tac 指令

  • cat 显示文件内容(正向)

  • tac 显示文件内容(反向)

  • echo 把后续内容当做字符串

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c 
#include<stdio.h>int main()
{printf("Hello World!\n");return 0;
}
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo Hello.c
Hello.c
  • 重定向操作 

    /* 默认写到显示器文件内部 */
    [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello Linux!'
    Hello Linux!/* 使用 > 可以写到别的文件内部 注意:会先清空文件内容再写入 */
    [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c 
    #include<stdio.h>int main()
    {printf("Hello World!\n");return 0;
    }
    [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello Linux' > Hello.c
    [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c 
    Hello Linux

  • 追加重定向操作 >>

  • 不会清空文件内容,继续写入

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello ouyang' > Hello.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c 
Hello ouyang
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello ouyang' >> Hello.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c 
Hello ouyang
Hello ouyang
  • tac

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Textfile.txt 
#include <iostream>int main()
{return 0;
}
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tac Textfile.txt 
}return 0;
{
int main()#include <iostream>

mv 指令 

mv srcfile dstdir
  • 用于移动文件位置

  • 对文件/目录进行重命名(如果dstdir不是目录/不存在)

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# touch Textfile.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mkdir mydir1
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ls
mydir1  myLinux  Textfile.txt/* 重命名 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv Textfile.txt file.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv mydir1 mydir2
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ls
file.txt  mydir2  myLinux/* 移动文件位置 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv file.txt mydir2/
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 16
drwxr-xr-x 2 root root 4096 Nov 30 08:37 mydir2
-rwxr-xr-x 1 root root 8448 Nov 28 20:29 myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree mydir2/
mydir2/
└── file.txt0 directories, 1 file[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv mydir2 ../
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ls
myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cd ..
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ls
dir_2024_10_21  dir_2024_10_6  dir_2024_11_28  dir_2024_9_12  mydir2

less 指令

用于上下查看一个文件的内容,如日志文件

head/tail 指令

用于查找开头/结尾内容,-n 控制查找行数,默认为10行

以查看日志文件为例:

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# head /var/log/messages
Nov 24 03:27:01 iZ2ze0j6dd76e0o9qypo2rZ rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="924" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Nov 24 03:27:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Removed slice User Slice of root.
Nov 24 03:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 24 03:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 27087 of user root.
Nov 24 03:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Removed slice User Slice of root.
Nov 24 03:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 24 03:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 27088 of user root.
Nov 24 03:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Removed slice User Slice of root.
Nov 24 03:50:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 24 03:50:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 27089 of user root.
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tail /var/log/messages
Nov 30 08:28:46 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 30 08:28:46 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28161 of user root.
Nov 30 08:28:46 iZ2ze0j6dd76e0o9qypo2rZ systemd-logind: New session 28161 of user root.
Nov 30 08:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28162 of user root.
Nov 30 08:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28163 of user root.
Nov 30 08:50:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28164 of user root.
Nov 30 09:00:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28165 of user root.
Nov 30 09:01:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28166 of user root.
Nov 30 09:10:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28167 of user root.
Nov 30 09:20:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28168 of user root.
  • 我们创建一个Hello %d(1-1000) 的文件查询中间的内容501-510

  • | 管道文件

/* 创建文件 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cnt=1; while [ $cnt -le 1000 ]; do echo "Hello $cnt"; let cnt++; done > log.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 28
-rw-r--r-- 1 root root 9893 Nov 30 09:33 log.txt
-rwxr-xr-x 1 root root 8448 Nov 28 20:29 myLinux
-rw-r--r-- 1 root root   48 Nov 30 08:42 Textfile.txt/* 查找501-510内容 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# head -510 log.txt | tail -10
Hello 501
Hello 502
Hello 503
Hello 504
Hello 505
Hello 506
Hello 507
Hello 508
Hello 509
Hello 510
  • 管道文件 |

date 指令

用于查看时间

  • 年月日时分秒:+%Y-%m-%d_%H:%M:%S

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# date +%Y-%m-%d_%H:%M:%S
2024-11-30_09:40:09
  • +%s : 时间戳

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# date +%s
1732930848

find/which 命令

  • which命令用于在指定目录下查找命令

  • find命令可以查找文件/目录/命令等等,以树形结构去寻找

[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# which ls
alias ls='ls --color=auto'/usr/bin/ls[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# find ~ -name log.txt
/root/code/dir_2024_11_28/log.txt

grep 指令

用于文本过滤,也可以说是在文本当中查找关键字

  • -n 显示行号

  • -v 反向过滤

  • -i 忽视大小写

/* 我们创建一个文本文件进行查询 */ 
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cnt=1; while [ $cnt -le 100 ]; do echo "Hello $cnt"; let cnt++; done > log.txt
/* 自动识别匹配 */ 
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat log.txt | grep '9'
Hello 9
Hello 19
Hello 29
Hello 39
Hello 49
Hello 59
Hello 69
Hello 79
Hello 89
Hello 90
Hello 91
Hello 92
Hello 93
Hello 94
Hello 95
Hello 96
Hello 97
Hello 98
Hello 99

在Linux系统中, 为找到文件try_grep含有以a字母为行开头的内容, 可以使用命令? 

$表示匹配文件末尾,字符需要在$之前表示以字符结尾  a$表示以a结尾
^表示匹配文件起始,字符需要在^之后表示以字符起始  ^a表示以a起始
grep -E ^a try_grep;

rz/sz 指令

用于Linux机器和windows机器之间的文件传输

zip/unzip 指令

  • zip用于打包压缩

  • unzip用于解压

zip [选项] dst.zip(目标压缩包) srcdir/scrfile(来源目录/文件)
-r 递归打包压缩,对于目录中多个文件打包压缩需要使用[root@iZ2ze0j6dd76e0o9qypo2rZ code]# zip -r dir.zip dir_2024_11_28/adding: dir_2024_11_28/ (stored 0%)adding: dir_2024_11_28/Textfile.txt (stored 0%)adding: dir_2024_11_28/log.txt (deflated 78%)adding: dir_2024_11_28/myLinux (deflated 72%)
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 24
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct  6 14:54 dir_2024_10_6
drwxr-xr-x 2 root root 4096 Nov 30 17:21 dir_2024_11_28
drwxr-xr-x 3 root root 4096 Nov 30 17:31 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct  6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip/* 发送到windows机器 */ sz

unzip [选项] src.zip(来源的压缩文件)
-d (指定目录),通过这个可以将文件解压到指定目录[root@iZ2ze0j6dd76e0o9qypo2rZ code]# unzip dir.zip -d tmp
Archive:  dir.zipcreating: tmp/dir_2024_11_28/extracting: tmp/dir_2024_11_28/Textfile.txt  inflating: tmp/dir_2024_11_28/log.txt  inflating: tmp/dir_2024_11_28/myLinux  
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 24
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct  6 14:54 dir_2024_10_6
drwxr-xr-x 3 root root 4096 Nov 30 17:31 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct  6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip
drwxr-xr-x 3 root root 4096 Nov 30 17:41 tmp
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tree tmp
tmp
└── dir_2024_11_28├── log.txt├── myLinux└── Textfile.txt1 directory, 3 files

 tar 指令

tar [选项] dst.tgz srcdir/scrfile
-czf 打包压缩
-xzf 解压
-v 查看打包压缩/解压的过程
-c 解压到指定路径[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tar -czf dir_2024.tgz dir_2024_11_28/
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 28
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct  6 14:54 dir_2024_10_6
drwxr-xr-x 2 root root 4096 Nov 30 17:31 dir_2024_11_28
drwxr-xr-x 2 root root 4096 Nov 30 17:49 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct  6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 2861 Nov 30 17:51 dir_2024.tgz
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tar -vxzf dir_2024.tgz 
dir_2024_11_28/
dir_2024_11_28/Textfile.txt
dir_2024_11_28/log.txt
dir_2024_11_28/myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 28
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct  6 14:54 dir_2024_10_6
drwxr-xr-x 2 root root 4096 Nov 30 17:31 dir_2024_11_28
drwxr-xr-x 2 root root 4096 Nov 30 17:49 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct  6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 2861 Nov 30 17:51 dir_2024.tgz
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip
/* Linux机器之间的互传 */
scp dst.tgz 用户名@公网地址:指定路径

history 指令

用于查看历史命令

 [root@iZ2ze0j6dd76e0o9qypo2rZ code]# history | head -1018  man gcc19  gcc -o Hello Hello.c 20  ls21  Hello22  cd Hello23  ls24  ls -lh25  ls -R26  ls -t27  ls -rt

bc 指令

相当于计算器

[root@iZ2ze0j6dd76e0o9qypo2rZ code]# echo "1+2+3+4+5+6+7+8+9+10" | bc
55

uname 指令

用于查看Linux环境下的体系结构和系统内核版本

  • 体系结构:芯片结构(intel/amd)

uname [选项]-a / -r
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# uname -r
3.10.0-957.21.3.el7.x86_64

4.基本知识

4.1 空文件是否占用空间?

  • 文件 = 内容 + 属性

  • 内容存放的是我们写入的数据,属性存放的是文件名/文件类型/文件使用创建修改日期

所以一个空文件也需要空间存放。

4.2 文件/目录的属性

drwxr-xr-x 5 root root 4096 Oct 21 08:27 code
-rw-r--r-- 1 root root    0 Nov 27 19:38 mysql

d:表示是目录 -:表示普通文件 (Oct 21 08:27)修改时间 (4096)表示文件大小

  • c开头表示字符文件

  • b开头表示磁盘文件(物理上的不要轻易修改)

  • l开头表示链接文件

  • p开头表示管道文件

4.3 . 和 .. 类型的文件

在Linux中,以.开头的文件是隐藏文件,.表示当前目录,..表示上级目录

4.4 命令的本质

命令的本质其实是文件,命令 == 可执行程序 == c/c++程序

4.5 * 通配符

[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll dir*
dir_2024_10_21:
total 4
-rw-r--r-- 1 root root 507 Oct 21 08:26 code.txtdir_2024_10_6:
total 4
-rw-r--r-- 1 root root  0 Oct  6 14:50 Test01.txt
-rw-r--r-- 1 root root 70 Oct  6 14:51 Test.txtdir_2024_11_28:
total 16
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root   72 Nov 28 19:44 Hello.cdir_2024_9_12:
total 24
-rw-r--r-- 1 root root  292 Sep 12 09:15 test
-rw-r--r-- 1 root root   10 Sep 12 09:11 Test01.txt
-rw-r--r-- 1 root root   51 Sep 12 08:54 Test_2024_9_12
-rw-r--r-- 1 root root   70 Oct  6 14:52 Test_tmp.txt
drwxr-xr-x 2 root root 4096 Sep 12 09:36 user1
drwxr-xr-x 2 root root 4096 Sep 12 09:39 user2

4.6 Linux下一切皆文件

包括键盘/显示器/显示器

printf/scanf/cout/cin 属于文件操作

4.7 日志文件存储目录

/var/log/messages

4.8 打包/压缩是什么?

  • 打包:就是把文件合并

  • 压缩:就是通过压缩算法减少文件体积

4.8.1 为什么进行打包压缩

  1. 防止文件丢失->打包

  2. 减少传输时间->压缩

4.9 查看指令是否安装

指令名称--version
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# man --version
man 2.6.3

4.10 shell命令及其运行原理简单理解 

 

  • 命令行解释器:shell

  • 为什么存在外壳程序:

    • 方便用户使用操作

    • 外壳程序保护内核

相关文章:

【Linux】Linux的基本常识+指令

目录 1. 整体学习思维导图 2. 常见快捷键操作 3. 基本指令 pwd指令 whoami指令 ls 指令 touch指令 cd 指令 Stat 指令 mkdir 指令 alias指令 nano 指令 rmdir 和 rm 指令 man 指令手册 cp 命令 cat/echo/tac 指令 mv 指令 less 指令 head/tail 指令 date…...

永恒之蓝漏洞利用什么端口

永恒之蓝&#xff08;EternalBlue&#xff09;是一个著名的漏洞&#xff0c;影响了 Windows 操作系统的 SMBv1 服务。它的漏洞编号是 CVE-2017-0144&#xff0c;该漏洞被用于 WannaCry 等勒索病毒的传播。 永恒之蓝漏洞利用的端口 永恒之蓝漏洞利用的是 SMB&#xff08;Server…...

Shell浅浅谈(九) 玩转 test 命令

test 命令用于检查某个条件是否成立&#xff0c;可以用于数值、字符和文件测试&#xff0c;并且支持逻辑操作符&#xff0c;以下是对test的总结&#xff1a; 数值测试 用于比较两个数值&#xff0c;支持以下操作符&#xff1a; -eq&#xff1a;等于则为真-ne&#xff1a;不等…...

LoRA:低秩分解微调与代码

传统的微调&#xff0c;即微调全量参数&#xff0c;就是上面的公式&#xff0c;但是我们可以通过两个矩阵&#xff0c;来模拟这个全量的矩阵&#xff0c;如果原来的W是(N * N)维度&#xff0c;我们可以通过两个(N * R) 和 (R * N)的矩阵矩阵乘&#xff0c;来模拟微调的结果。 …...

电子商务人工智能指南 5/6 - 丰富的产品数据

介绍 81% 的零售业高管表示&#xff0c; AI 至少在其组织中发挥了中等至完全的作用。然而&#xff0c;78% 的受访零售业高管表示&#xff0c;很难跟上不断发展的 AI 格局。 近年来&#xff0c;电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…...

27.攻防世界simple_js

进入场景 输个123456 抓包&#xff0c;有一个解密过程 其实不用抓包&#xff0c;源代码也能得到此页面 \x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30 将pass替换成55,…...

RabbitMQ 基本使用方法详解

RabbitMQ 基本使用方法 在你的代码中&#xff0c;涉及到了 RabbitMQ 的基本使用&#xff0c;包括队列定义、交换机的配置、消息的发送与接收等内容。下面我将详细总结 RabbitMQ 的基本使用方法&#xff0c;重点解释如何在 Spring Boot 项目中与 RabbitMQ 集成。 1. 引入依赖 …...

设计模式学习之——工厂模式

设计模式中的工厂模式主要分为三种&#xff1a;简单工厂模式&#xff08;Simple Factory Pattern&#xff09;、工厂方法模式&#xff08;Factory Method Pattern&#xff09;和抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;。 下面是对这三种工厂模式的详细…...

分布式专题(4)之MongoDB快速实战与基本原理

一、MongoDB介绍 1.1 什么是MongoDB MongoDB是一个文档数据库(以JSON为数据模型)&#xff0c;由C语言编写&#xff0c;旨在为WEB应用提供可扩展的高性能存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xf…...

什么是MAC地址?什么是IP地址?IP地址与MAC地址是什么关系?

MAC地址是指Media Access Control Address&#xff0c;媒体访问控制地址。MAC地址被烧录在网络设备的ROM之内&#xff0c; IP地址类似于门牌号码&#xff0c;有了门牌号码&#xff0c;邮差才知道把邮件投送到哪里。 有人新建房屋了&#xff0c;就会分配新的门牌号码&#xff08…...

FireFox火狐浏览器企业策略禁止更新

一直在用火狐浏览器&#xff0c;但是经常提示更新&#xff0c;进入浏览器右上角就弹出提示&#xff0c;比较烦。多方寻找&#xff0c;一直没有找到合适的方案&#xff0c;毕竟官方没有给出禁用检查更新的选项&#xff0c;甚至about:config里都没有。 最终找到了通过企业策略控…...

C++中面向对象编程如何实现数据隐藏?

概念 在 C 中&#xff0c;面向对象编程&#xff08;OOP&#xff09;中的数据隐藏是指将对象的内部数据&#xff08;成员变量&#xff09;保护起来&#xff0c;只允许通过特定的公共接口&#xff08;方法&#xff09;去访问和修改这些数据。这种做法可以确保对象的状态保持一致…...

使用 rbenv 切换 Ruby 版本

1. 查看当前 Ruby 版本 首先&#xff0c;查看当前系统中安装的 Ruby 版本&#xff1a; ruby -v如果你已经安装了 rbenv&#xff0c;可以列出通过 rbenv 安装的 Ruby 版本&#xff1a; rbenv versions2. 安装 Ruby 版本 如果你想安装新的 Ruby 版本&#xff0c;使用以下命令…...

6.4 CPU性能分析--Intel处理器跟踪技术

Intel处理器跟踪PT技术是记录程序执行过程的技术&#xff0c;它把记录信息编码报文存到高压缩率的二进制文件中。该二进制文件结合每条指令的时间戳重建执行流。PT技术覆盖度大&#xff0c;开销小&#xff0c;有关开销的信息详见&#xff0c;主要用于性能问题的事后分析和根因定…...

智能设备安全-固件逆向分析

固件逆向分析实验报告-20241022 使用固件常用逆向分析工具&#xff0c;对提供的固件进行文件系统提取&#xff0c;并记录逆向分析实验过程&#xff0c;提交实验报告&#xff08;报告要求图文并茂&#xff0c;对涉及到的关键步骤附截图说明&#xff09;。具体任务如下&#xff1…...

Elasticsearch Java Api Client中DSL语句的查询方法汇总(二)

接上一篇&#xff1a;《Elasticsearch Java Api Client中DSL语句的查询方法汇总》 说明&#xff1a;示例代码依赖的是co.elastic.clients:elasticsearch-java:8.16.1。 1、ScriptQuery方法 用途&#xff1a;它允许用户使用脚本&#xff08;通常是 Painless 脚本语言&#xf…...

xshell连接虚拟机,更换网络模式:NAT->桥接模式

NAT模式&#xff1a;虚拟机通过宿主机的网络访问外网。优点在于不需要手动配置IP地址和子网掩码&#xff0c;只要宿主机能够访问网络&#xff0c;虚拟机也能够访问。对外部网络而言&#xff0c;它看到的是宿主机的IP地址&#xff0c;而不是虚拟机的IP。但是&#xff0c;宿主机可…...

【经验分享】OpenHarmony5.0.0-release编译RK3568不过问题(已解决)

问题描述 根据操作手册正常拉取代码&#xff0c;然后编译OpenHarmony5.0.0版本rk3568项目 编译命令 ./build.sh --product-name rk3568 --ccache出现如下报错 然后真正开始出错的位置是下面这句log FAILED: ../kernel/src_tmp/linux-5.10/boot_linux ../kernel/checkpoint/c…...

线上维修记录查询,让车辆保养更省心!

车辆保养对于每一位车主来说都是一个必不可少的环节&#xff0c;它不仅可以延长车辆的使用寿命&#xff0c;还能提高行车安全性。然而&#xff0c;相信很多人都有这样的经历&#xff1a;不知道自己的车辆什么时候进行过维修&#xff0c;也不清楚维修的内容和费用。这样一来&…...

【机器学习】基础知识:拟合度(Goodness of Fit)

拟合度概念及意义 拟合度&#xff08;Goodness of Fit&#xff09;是衡量统计模型对数据解释能力的指标&#xff0c;用于评价模型对观测数据的拟合效果。在回归分析、分类模型或其他预测模型中&#xff0c;拟合度是模型性能的重要衡量标准。 1. 拟合度的作用 拟合度的主要作用…...

排序算法(2)——快速排序

目录 1. 实现方式 1.1 霍尔法 ​ 1.2 挖坑法 1.3 前后指针法 2. 时间复杂度分析 3. 快速排序优化 3.1 三数取中 3.2 小区间使用插入排序 3.3 非递归实现 快速排序是英国计算机科学家托尼・霍尔&#xff08;C. A. R. Hoare&#xff09;在 1960 年年提出的一种二叉树结构…...

测试招工组,解决三个问题

所以我们今天的目标-----找工作&#xff01; 那么我要找什么工作&#xff1f;如何能胜任这份工作&#xff1f;怎么让单位选择我&#xff1f;这是我们面临的三个问题。 一、我要找什么样的工作 解决这个问题&#xff0c;可以根据你当下已经掌握的能力&#xff0c;和毕业及工作…...

探索《Crypto Rumble》 游戏:经济模型篇

《Crypto Rumble》是一款基于 Zypher Network 游戏引擎打造的卡牌 RPG三消品类的 Web3 游戏&#xff0c;通过引人入胜的游戏设计以及轻量化的游戏玩法&#xff0c;《Crypto Rumble》不仅能够为玩家带来引人入胜的沉浸式游戏体验&#xff0c;同时基于 AI Bot 的游戏编辑器&#…...

《Python WEB安全 库全攻略》

《Python WEB安全 库全攻略》 一、引言二、Python WEB安全 库概述三、热门 Python WEB 安全库1. Flask-Security项目简介与功能&#xff1a;快速入门&#xff1a;使用场景与优势&#xff1a; 2. Flask-SeaSurf项目用途&#xff1a;项目特点&#xff1a;示例代码&#xff1a; 3.…...

DWA(一) —— 理论篇

1 DWA算法概述 DWA的原理:在速度空间(v,w)中采样多组速度,并模拟出这些速度在一定时间内的运动轨迹,并通过评价函数对这些轨迹进行评价,选取最优轨迹对应的(v,w)驱动机器人运动。 优点: (1)计算复杂度低:考虑到速度和加速度的限制,只有安全的轨迹会被考虑,且每次采…...

Ubuntu22.04搭建FTP服务器保姆级教程

在网络环境中&#xff0c;文件传输是一项至关重要的任务。FTP&#xff08;文件传输协议&#xff09;是一种基于客户端/服务器模式的协议&#xff0c;广泛用于在互联网上传输文件。Ubuntu作为一款流行的Linux发行版&#xff0c;因其稳定性和易用性而广受开发者和系统管理员的喜爱…...

微信小程序5-图片实现点击动作和动态加载同类数据

搜索 微信小程序 “动物觅踪” 观看效果 感谢阅读&#xff0c;初学小白&#xff0c;有错指正。 一、功能描述 a. 原本想通过按钮加载背景图片&#xff0c;来实现一个可以点击的搜索button&#xff0c;但是遇到两个难点&#xff0c;一是按钮大小调整不方便&#xff08;网上搜索…...

leetcode 接雨水II(407)

题目: 给你一个 m x n 的矩阵&#xff0c;其中的值均为非负整数&#xff0c;代表二维高度图每个单元的高度&#xff0c;请计算图中形状最多能接多少体积的雨水。 示例 1: 输入: heightMap [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]] 输出: 4 解释: 下雨后&#xff0c;雨水…...

使用 ESP32 构建倒车雷达系统:蜂鸣器警报功能详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;趣享先生的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&…...

Cesium中实现仿ArcGIS三维的动态图层加载方式

Cesium 加载 ArcGIS 动态图层的方式 如果你在 Cesium 中加载过 ArcGIS 的动态图层&#xff0c;你会发现&#xff0c;Cesium 对于动态图层仍然采用类似切片图层的逻辑进行加载。也就是每个固定的瓦片 export 一张图片。 这样会造成一些问题&#xff1a; 请求量大&#xff0c;…...

国际荐酒师(香港)协会亮相第六届地博会助力中欧地标交流合作

国际荐酒师&#xff08;香港&#xff09;协会亮相第六届知交会暨地博会&#xff0c;助力中欧地理标志产品交流合作 12月9日&#xff0c;第六届粤港澳大湾区知识产权交易博览会暨国际地理标志产品交易博览会&#xff08;以下简称“第六届知交会暨地博会”&#xff09;在中新广州…...

java八股-索引下推(图解对比)

参考链接 https://xiaolincoding.com/mysql/base/how_select.html#%E6%89%A7%E8%A1%8C%E5%99%A8 https://javaguide.cn/database/mysql/mysql-index.html#%E7%B4%A2%E5%BC%95%E4%B8%8B%E6%8E%A8 如何理解索引下推这个概念&#xff0c;其实就是index把Server层的工作&#xff0…...

自荐一部IT方案架构师回忆录

作者本人毕业于一个不知名大专院校&#xff0c;所读专业计算机科学技术。2009年开始IT职业生涯&#xff0c;至今工作15年。擅长TSQL/Shell/linux等技术&#xff0c;曾经就职于超万人大型集团、国内顶级云厂商、央国企公司。参与过运营商大数据平台、大型智慧城市ICT、云计算、人…...

C语言理解 —— 实用的字符串函数

目 录 字符串函数的头文件strlenstrstrstrncpystrncmp 字符串函数的头文件 #include <string.h>strlen 计算字符串长度的&#xff0c;从字符的首地址开始遍历&#xff0c;以 ‘\0’ 为结束标志&#xff0c;然后将计算的长度返回&#xff0c;但是计算的长度不包含’\0’…...

“Python-OpenCV初体验:简单实现颜色识别与轮廓绘制”

一、引言 图像处理技术在现代科技中扮演着重要角色&#xff0c;但对于初学者来说&#xff0c;掌握这些技术可能显得有些复杂。在这篇博客中&#xff0c;我们将带你一步步了解如何利用Python和OpenCV来识别图像中的颜色并绘制轮廓。通过简明的实验原理和代码示例&#xff0c;你…...

导游现场面试需要注意的问题

今天给大家带来一些导游现场面试需要注意的问题&#xff0c;大部分的城市导游考试已经考完了&#xff0c;但是还有一些城市的十二月份才考&#xff0c;有需要的朋友们赶紧来看&#xff0c;有备无患。 01、做好充足准备 认真准备做好每个景点的讲解介绍&#xff0c;不要抱有侥幸…...

JDK8新特性:Stream

JDK8最大的改变&#xff1a; 1. lambda表达式 2. Stream 1. Steam流的入门 什么是Stream&#xff1f; 也叫Stream流&#xff0c;是jdk8开始的一套API&#xff0c;用于操作集合或者数组中的数据 优点&#xff1a; Stream流大量结合了Lambda的语法风格来创建&#xff0c;提…...

CSS的2D和3D动画效果

CSS的2D和3D动画效果&#xff1a;网页动态设计的魔法 在现代网页设计中&#xff0c;动画已经成为提升用户体验的重要元素。通过引入动态效果&#xff0c;我们不仅可以使交互更加流畅和直观&#xff0c;还能吸引用户的注意力&#xff0c;增强品牌认知度。CSS提供了强大的工具&a…...

OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::convertPointsFromHomogeneous 是 OpenCV 库中的一个函数&#xff0c;用于将点从齐次坐标&#xff08;homogeneous coordinates&#xff09;…...

动态流程图制作方法

动态流程图制作方法 1.方法1 有各种 echars模板 可以自己改代码 https://www.isqqw.com/viewer?id42201echars 在线生成 https://codevtool.com/echarts2. 方法2电脑软件&#xff0c;画图的。 《亿图图示》...

【pytroch】线性回归

构造一个PyTorch数据迭代器 def load_array(data_arrays, batch_size, is_trainTrue): #save"""构造一个PyTorch数据迭代器"""dataset data.TensorDataset(*data_arrays)return data.DataLoader(dataset, batch_size, shuffleis_train)batch_…...

前端请求后端接口报错(blockedmixed-content),以及解决办法

报错原因&#xff1a;被浏览器拦截了&#xff0c;因为接口地址不是https的。 什么是混合内容&#xff08;Mixed Content&#xff09; 混合内容是指在同一页面中同时包含安全&#xff08;HTTPS&#xff09;和非安全&#xff08;HTTP&#xff09;资源的情况。当浏览器试图加载非…...

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理 flyfish 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_LoRA配置如何写 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_单图推理 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_原模型_单图推理 基于Q…...

Pull requests 和Merge Request其实是一个意思

Pull requests的定义 在Git中&#xff0c;PR&#xff08;Pull Request&#xff09;是一种协作开发的常用方式。它允许开发者将自己的代码变更&#xff08;通常是一个分支&#xff09;提交到项目的仓库中&#xff0c;然后请求负责代码审查的人员将这些变更合并到主分支中。通过…...

网络原理03

回顾 应用层&#xff1a;应用程序&#xff0c;数据具体如何使用 传输层&#xff1a;关注起点和终点 网络层&#xff1a;关注路径规划 数据链路层&#xff1a;关注相邻节点的转发 物理层&#xff1a;硬件设备 应用层 应用程序 在应用层&#xff0c;很多时候&#xff0c;…...

yarn 安装问题

Couldn’t find package “regenerator-runtime” on the “npm” registry. Error: Couldn’t find package “watch-size” on the “npm” regist 标题Error: Couldn’t find package “babel-helper-vue-jsx-merge-props” on the “npm” registry. Error: Couldn’t f…...

优选算法——分治(快排)

1. 颜色分类 题目链接&#xff1a;75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 题目展示&#xff1a; 题目分析&#xff1a;本题其实就要将数组最终分成3块儿&#xff0c;这也是后面快排的优化思路&#xff0c;具体大家来看下图。 这里我们上来先定义了3个指针&…...

深入解析强化学习中的 Generalized Advantage Estimation (GAE)

中文版 深入解析强化学习中的 Generalized Advantage Estimation (GAE) 1. 什么是 Generalized Advantage Estimation (GAE)? 在强化学习中&#xff0c;计算策略梯度的关键在于 优势函数&#xff08;Advantage Function&#xff09; 的设计。优势函数 ( A ( s , a ) A(s, a…...

PostgreSQL/PostGIS中提升空间查询(分析)性能(效率)的一些方法

目录 1. 使用适当的索引 1.1 索引类型 1.2 分析查询计划 1.3 覆盖索引 1.4 复合索引 1.5 维护索引 1.6 删除不必要的索引 1.7 使用适当的数据类型 2. 建立分区表 2.1 分区表的基本概念 2.2 创建分区表的步骤 2.3 空间数据的分区 2.4 分区表优点 3. 简化几何形状 …...

什么是Apache日志?为什么Apache日志分析很重要?

Apache是全球最受欢迎的Web服务器软件&#xff0c;支持约30.2%的所有活跃网站。凭借其可靠性、灵活性和强大的功能&#xff0c;Apache数十年来一直是互联网的中坚力量。 一、Apache Web服务器的工作原理 Apache Web服务器的工作原理如下&#xff1a; 接收HTTP请求&#xff1…...