最新资讯

  • 【Linux】基础指令--(xshell - < ubuntu > )

【Linux】基础指令--(xshell - < ubuntu > )

2025-05-06 04:00:54 0 阅读

文章目录

  • ls 指令
  • pwd 命令
  • cd 指令
  • touch 指令
  • mkdir 指令
  • rmdir 指令 && rm 指令
  • rm 命令可以同时删除文件或目录
  • man 指令
  • cp 指令
  • mv 指令
  • cat 指令
  • more 指令
  • less 指令
  • head 指令
  • tail 指令
  • date 指令
  • cal 指令
  • find 指令
  • which 指令
  • whereis 指令
  • alias 指令
  • grep 指令
  • zip/unzip 指令
  • 关于 rzsz
  • tar 指令(重要)
  • bc 指令
  • uname ‒r 指令
  • 重要的几个热键 [Tab], [ctrl]-c, [ctrl]-d
  • 关机
  • **以下命令作为扩展**
  • shell命令以及运行原理
  • Linux权限的概念
    • **Linux下有两种用户:超级用户(root)、普通用户。**
  • Linux权限管理
    • 1. 文件访问者的分类(人)
    • 2. 文件类型和访问权限(事物属性)
    • 文件权限值的表示方法
  • 文件访问权限的相关设置方法
    • 1. chmod
    • 2. chown
    • 3. chgrp
    • 4. umask
  • file 指令
  • 目录的权限
  • 关于权限的总结
  • 粘滞位[选学]

我们介绍几个常见的指令,不废话直接来

ls 指令

语法: ls [选项] [目录或文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
• -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
• -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls ‒d 指定目录
• -i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件
• -k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件
• -l 列出文件的详细信息
• -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
• -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
• -r 对目录反向排序
• -t 以时间排序
• -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
• -R 列出所有子目录下的文件。(递归)
• -1 一行只输出一个文件。
举例:

xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls
file1.txt  new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -a
.  ..  .bash_logout  .bashrc  file1.txt  new_a  .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -a -l
total 24
drwxr-x--- 3 xz   xz   4096 Dec 21 15:42 .
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ..
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
drwxrwxr-x 2 xz   xz   4096 Dec 21 15:41 new_a
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -a -l -F
total 24
drwxr-x--- 3 xz   xz   4096 Dec 21 15:42 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
drwxrwxr-x 2 xz   xz   4096 Dec 21 15:41 new_a/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -alFn
total 24
drwxr-x--- 3 1000 1000 4096 Dec 21 15:42 ./
drwxr-xr-x 3    0    0 4096 Dec 21 15:31 ../
-rw-r--r-- 1 1000 1000  220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 1000 1000 3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 1000 1000    0 Dec 21 15:42 file1.txt
drwxrwxr-x 2 1000 1000 4096 Dec 21 15:41 new_a/
-rw-r--r-- 1 1000 1000  807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ^C

pwd 命令

语法: pwd
功能: 显示用户当前所在的目录
常用选项:
举例:

xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ pwd
/home/xz/new_a

cd 指令

Linux理论知识:路径的认识

• Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
• 其中普通文件一定是目录树的叶子节点
• 目录可能是叶子(空目录), 也可能是路上节点
理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性
• 绝对路径:一般从/开始,不依赖其他目录的定位文件的方式
• 相对路径:相对于当前用户所处目录,定位文件的路径方式
• 绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用
• 相对路径因为它的便捷性,一般在命令行中使用较多

语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下举例:

# 返回上级目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ pwd
/home/xz/new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ cd ..
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ pwd
/home/xz

# 绝对路径定位目录或者文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ pwd
/home/xz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cd /home/xz/new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ pwd
/home/xz/new_a

# 相对路径定位目录或者文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ pwd
/home/xz/new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ cd ../b/
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/b$ pwd
/home/xz/b

# 每一次新建一个用户都会在/home目录下为新用户创建新的工作目录,目录以新用户名称命名# root用户在安装操作系统的时候,就已经内置了工作目录: /root
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls /home
xz

# 快速进入自己的家目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ whoami
xz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ pwd
/home/xz/new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~/new_a$ cd ~
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ pwd
/home/xz

# 返回到最近访问目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ pwd   # 当前在/home/xz目录下
/home/xz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cd /  # 进入/目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:/$ pwd
/
xz@iZ0jl1bru4u2qsbiioc7s9Z:/$ cd -  # 直接可以回退到最近一次所处的目录:/home/xz
/home/xz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ pwd
/home/xz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cd - # 直接可以回退到最近一次所处的目录:/
/
xz@iZ0jl1bru4u2qsbiioc7s9Z:/$ pwd
/
xz@iZ0jl1bru4u2qsbiioc7s9Z:/$ cd - # 同上
/home/xz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ pwd
/home/xz

touch 指令

Linux理论知识:文件类型的认识
语法: touch [选项]... 文件...
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
• -a : change only the access time
• -c : change only the modification time
举例:

# 创建普通文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls
b  file1.txt  new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ touch file2.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls
b  file1.txt  file2.txt  new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ 

# 查看文件时间
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ stat file2.txt
  File: file2.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 253,3	Inode: 915724      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      xz)   Gid: ( 1000/      xz)
Access: 2024-12-21 18:01:52.442308070 +0800
Modify: 2024-12-21 18:01:52.442308070 +0800
Change: 2024-12-21 18:01:52.442308070 +0800
 Birth: 2024-12-21 18:01:52.442308070 +0800

# 修改文件access时间
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ touch -a file2.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ stat file2.txt
  File: file2.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 253,3	Inode: 915724      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      xz)   Gid: ( 1000/      xz)
Access: 2024-12-21 18:04:07.775310588 +0800
Modify: 2024-12-21 18:01:52.442308070 +0800
Change: 2024-12-21 18:04:07.775310588 +0800
 Birth: 2024-12-21 18:01:52.442308070 +0800

# 修改文件Modify时间
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ touch -m file2.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ stat file2.txt
  File: file2.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 253,3	Inode: 915724      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      xz)   Gid: ( 1000/      xz)
Access: 2024-12-21 18:04:07.775310588 +0800
Modify: 2024-12-21 18:05:05.892888310 +0800
Change: 2024-12-21 18:05:05.892888310 +0800
 Birth: 2024-12-21 18:01:52.442308070 +0800
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ 

# 更多讲解,在基础IO部分

mkdir 指令

语法: mkdir [选项] dirname...
功能: 在当前目录下创建一个名为 “dirname”的目录
常用选项:
• -p/–parents: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
举例:

# 创建普通空目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -l
total 8
drwxrwxr-x 2 xz xz 4096 Dec 21 16:53 b
-rw-rw-r-- 1 xz xz    0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz xz    0 Dec 21 18:05 file2.txt
drwxrwxr-x 3 xz xz 4096 Dec 21 16:52 new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ dir
b  file1.txt  file2.txt  new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mkdir mydir
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -l
total 12
drwxrwxr-x 2 xz xz 4096 Dec 21 16:53 b
-rw-rw-r-- 1 xz xz    0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz xz    0 Dec 21 18:05 file2.txt
drwxrwxr-x 2 xz xz 4096 Dec 21 18:11 mydir
drwxrwxr-x 3 xz xz 4096 Dec 21 16:52 new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ 

# 递归建立多个目录,创建指定路径
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mkdir mydir
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -l
total 12
drwxrwxr-x 2 xz xz 4096 Dec 21 16:53 b
-rw-rw-r-- 1 xz xz    0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz xz    0 Dec 21 18:05 file2.txt
drwxrwxr-x 2 xz xz 4096 Dec 21 18:11 mydir
drwxrwxr-x 3 xz xz 4096 Dec 21 16:52 new_a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mkdir -p path1/path2/path3/path4
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ls -l
total 16
drwxrwxr-x 2 xz xz 4096 Dec 21 16:53 b
-rw-rw-r-- 1 xz xz    0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz xz    0 Dec 21 18:05 file2.txt
drwxrwxr-x 2 xz xz 4096 Dec 21 18:11 mydir
drwxrwxr-x 3 xz xz 4096 Dec 21 16:52 new_a
drwxrwxr-x 3 xz xz 4096 Dec 21 18:17 path1
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree path1
path1
└── path2
    └── path3
        └── path4

4 directories, 0 files

# tree命令是一个递归以树状结构显示指定目录的命令,如果没有安装
# 如果当前用户是root: yum install -y tree (因为现在开始用的都是root,所以推荐这个用法) # 如果当前用户是普通用户: sudo yum install -y tree (ubuntu可以用apt代替yum).

rmdir 指令 && rm 指令

rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除命令

语法: rmdir [-p] [dirName]
**适用对象:**具有当前目录操作权限的所有使用者
功能: 删除空目录
常用选项:
• -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
举例:

# 删除空目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 32
drwxr-x--- 5 xz   xz   4096 Dec 21 18:57 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
drwxrwxr-x 2 xz   xz   4096 Dec 21 16:53 b/
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz   xz      0 Dec 21 18:05 file2.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 18:17 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree path1
path1
└── path2
    └── path3
        └── path4

4 directories, 0 files

# 删除路径
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rmdir -p path1/path2/path3/path4
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 28
drwxr-x--- 4 xz   xz   4096 Dec 21 18:57 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
drwxrwxr-x 2 xz   xz   4096 Dec 21 16:53 b/
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz   xz      0 Dec 21 18:05 file2.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile

# 指定路径中有不为空的路径,便无法删除
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rmdir -p path1/path2/path3
rmdir: failed to remove 'path1/path2/path3': Directory not empty
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ touch path1/path2/myfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ touch path1/myfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree path1
path1
├── myfile.txt
└── path2
    ├── myfile.txt
    └── path3
        └── path4

4 directories, 2 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rmdir -p path1/path2/path3/path4
rmdir: failed to remove directory 'path1/path2': Directory not empty

rm 命令可以同时删除文件或目录

语法: rm [-f-i-r-v] [dirName/dir]
适用对象: 所有使用者功能:删除文件或目录
常用选项:
• -f 即使文件属性为只读(即写保护),亦直接删除
• -i 删除前逐一询问确认
• -r 删除目录及其下所有文件
举例:

# 删除普通文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 32
drwxr-x--- 5 xz   xz   4096 Dec 21 20:39 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
drwxrwxr-x 2 xz   xz   4096 Dec 21 16:53 b/
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
-rw-rw-r-- 1 xz   xz      0 Dec 21 18:05 file2.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 20:41 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm file2.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 32
drwxr-x--- 5 xz   xz   4096 Dec 21 21:45 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
drwxrwxr-x 2 xz   xz   4096 Dec 21 16:53 b/
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 20:41 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile

# 删除目录文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm b
rm: cannot remove 'b': Is a directory
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm -r b
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 28
drwxr-x--- 4 xz   xz   4096 Dec 21 21:48 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 20:41 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile

# 删除普通文件前询问
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 28
drwxr-x--- 4 xz   xz   4096 Dec 21 21:48 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw-rw-r-- 1 xz   xz      0 Dec 21 15:42 file1.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 20:41 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm -i file1.txt
rm: remove regular empty file 'file1.txt'? y
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 28
drwxr-x--- 4 xz   xz   4096 Dec 21 22:23 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 20:41 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile

# 删除目录前询问
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mkdir -p d/d/d/d
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree d
d
└── d
    └── d
        └── d

4 directories, 0 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm -ri d
rm: descend into directory 'd'? y
rm: descend into directory 'd/d'? y
rm: descend into directory 'd/d/d'? y
rm: remove directory 'd/d/d/d'? y
rm: remove directory 'd/d/d'? y
rm: remove directory 'd/d'? y
rm: remove directory 'd'? y
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 28
drwxr-x--- 4 xz   xz   4096 Dec 21 22:25 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 3 xz   xz   4096 Dec 21 20:41 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile

# 递归强制删除非空目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree path1
path1
├── myfile.txt
└── path2
    └── myfile.txt

2 directories, 2 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm -f path1/path2
rm: cannot remove 'path1/path2': Is a directory
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree path1
path1
├── myfile.txt
└── path2
    └── myfile.txt

2 directories, 2 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ rm -rf path1/path2
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree path1
path1
└── myfile.txt

1 directory, 1 file

man 指令

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机手册获取帮助
语法: man [选项] 命令
常用选项:
• -k 根据关键字搜索联机帮助
• num 只在第num章节查找
• -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
解释一下: man手册分为9章(不同系统可能会有差别)
• 1 是普通的命令
• 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
• 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
• 4 略
• 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
• 6 是给游戏留的,由各个游戏自己定义
• 7 是附件还有一些变量,比如像environ这种全局变量在这里就有说明
• 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
• 9 略
举例:

xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man printf # 查看printf指令(没错,printf也是一个指令)
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man fork 	# 查看系统调用,默认没有这个指令,man就自动去2号手册查找
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man 2 fork # 查看系统调用	
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man 3 printf # 查看C库函数
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man 7 signal # 查看变量
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man 7 environ
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ man man # 查看man手册自己

cp 指令

语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明:
• cp指令用于复制文件或目录
• 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中
常用选项
• -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
• -i 或 --interactive 覆盖文件之前先询问用户
• -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

# cp普通文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ echo "你好我是小志">myfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat myfile.txt
你好我是小志
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 36
drwxr-x--- 4 xz   xz   4096 Dec 21 22:45 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
-rw------- 1 xz   xz     20 Dec 21 22:37 .lesshst
-rw-rw-r-- 1 xz   xz     19 Dec 21 22:45 myfile.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 2 xz   xz   4096 Dec 21 22:28 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cp myfile.txt myfile_backup.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── myfile_backup.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

4 directories, 4 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat myfile_backup.txt
你好我是小志

# 将多个文件拷贝到指定路径下
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── myfile_backup.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

4 directories, 4 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mkdir dir
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
├── myfile_backup.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

5 directories, 4 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cp *.txt dir # *表⽰通配符,匹配所有.txt结尾的⽂件名
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── myfile_backup.txt
│   └── myfile.txt
├── myfile_backup.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

5 directories, 6 files

# cp如果目标文件存在,就覆盖
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ echo "小志是我">myfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat myfile.txt
小志是我
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cp myfile.txt myfile_backup.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat myfile_backup.txt
小志是我

# 拷贝前询问
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cp -i myfile.txt myfile2.txt
cp: overwrite 'myfile2.txt'? y

# 递归强制拷贝整个目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   ├── myfile_backup.txt
│   └── myfile.txt
├── myfile2.txt
├── myfile_backup.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

7 directories, 8 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cp -rf dir dir_backup
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   ├── myfile_backup.txt
│   └── myfile.txt
├── dir_backup
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   ├── myfile_backup.txt
│   └── myfile.txt
├── myfile2.txt
├── myfile_backup.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

10 directories, 11 files

mv 指令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files,经常用来备份文件或者目录
语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
    常用选项:
    • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    举例:
# 更改名称
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 48
drwxr-x--- 5 xz   xz   4096 Dec 22 11:25 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw------- 1 xz   xz   2369 Dec 22 11:18 .bash_history
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 21 22:56 dir/
-rw------- 1 xz   xz     20 Dec 21 22:37 .lesshst
-rw-rw-r-- 1 xz   xz     13 Dec 21 22:53 myfile2.txt
-rw-rw-r-- 1 xz   xz     13 Dec 22 11:26 myfile.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 2 xz   xz   4096 Dec 21 22:28 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mv myfile.txt yourfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 48
drwxr-x--- 5 xz   xz   4096 Dec 22 11:29 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw------- 1 xz   xz   2369 Dec 22 11:18 .bash_history
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 21 22:56 dir/
-rw------- 1 xz   xz     20 Dec 21 22:37 .lesshst
-rw-rw-r-- 1 xz   xz     13 Dec 21 22:53 myfile2.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 2 xz   xz   4096 Dec 21 22:28 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
-rw-rw-r-- 1 xz   xz     13 Dec 22 11:26 yourfile.txt

# 如果当前路径存在同名文件,改名即覆盖
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 48
drwxr-x--- 5 xz   xz   4096 Dec 22 11:29 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw------- 1 xz   xz   2369 Dec 22 11:18 .bash_history
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 21 22:56 dir/
-rw------- 1 xz   xz     20 Dec 21 22:37 .lesshst
-rw-rw-r-- 1 xz   xz     13 Dec 21 22:53 myfile2.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 2 xz   xz   4096 Dec 21 22:28 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
-rw-rw-r-- 1 xz   xz     13 Dec 22 11:26 yourfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mv myfile2.txt yourfile.txt
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 44
drwxr-x--- 5 xz   xz   4096 Dec 22 11:31 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw------- 1 xz   xz   2369 Dec 22 11:18 .bash_history
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 21 22:56 dir/
-rw------- 1 xz   xz     20 Dec 21 22:37 .lesshst
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 2 xz   xz   4096 Dec 21 22:28 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile
-rw-rw-r-- 1 xz   xz     13 Dec 21 22:53 yourfile.txt

# 如果当前路径存在同名文件,改名前可以添加i选项,让系统提出警告供用户做选择
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mv -i yourfile.txt myfile.txt
mv: overwrite 'myfile.txt'? y
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ ll
total 44
drwxr-x--- 5 xz   xz   4096 Dec 22 12:18 ./
drwxr-xr-x 3 root root 4096 Dec 21 15:31 ../
-rw------- 1 xz   xz   2369 Dec 22 11:18 .bash_history
-rw-r--r-- 1 xz   xz    220 Dec 21 15:31 .bash_logout
-rw-r--r-- 1 xz   xz   3771 Dec 21 15:31 .bashrc
drwxrwxr-x 3 xz   xz   4096 Dec 22 12:16 dir/
-rw------- 1 xz   xz     20 Dec 21 22:37 .lesshst
-rw-rw-r-- 1 xz   xz     13 Dec 21 22:53 myfile.txt
drwxrwxr-x 3 xz   xz   4096 Dec 21 16:52 new_a/
drwxrwxr-x 2 xz   xz   4096 Dec 21 22:28 path1/
-rw-r--r-- 1 xz   xz    807 Dec 21 15:31 .profile

# mv整个目录
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   └── myfile.txt
├── myfile.txt
├── new_a
│   ├── a
│   └── file.txt
└── path1
    └── myfile.txt

7 directories, 5 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ mv path1 ./new_a/a
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   └── myfile.txt
├── myfile.txt
└── new_a
    ├── a
    │   └── path1
    │       └── myfile.txt
    └── file.txt

7 directories, 5 files

cat 指令

语法: cat [选项] [文件]
功能: 查看目标文件的内容 常用选项:
• -b 对非空输出行编号
• -n 对输出的所有行编号
• -s 不输出多行空行
举例:

# 命令行构建多行文本
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cnt=0; while [ $cnt -le 20 ]; do echo "你好,我是小志"; let cnt++; done > temp.txt

# 测试cat基本命令
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat temp.txt
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志

# cat 输出携带行号
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat -b temp.txt
     1	你好,我是小志
     2	你好,我是小志
     3	你好,我是小志
     4	你好,我是小志
     5	你好,我是小志
     6	你好,我是小志
     7	你好,我是小志
	 ...

# 修改temp.txt,使其携带多行空行
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ nano temp.txt

# 测试 -b 对非空输出行编号
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat -b temp.txt
     1	你好,我是小志

     2	你好,我是小志
     3	你好,我是小志


     4	你好,我是小志

     5	你好,我是小志
     6	你好,我是小志
     7	你好,我是小志
	 ...

# 测试-n 对输出的所有行编号
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ clear
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat -n temp.txt
     1	你好,我是小志
     2	
     3	你好,我是小志
     4	你好,我是小志
     5	
     6	
     7	你好,我是小志
	 ...

# 测试 -s 不输出多行空行,多行空行压缩成为一行
     1	你好,我是小志
     2	
     3	你好,我是小志
     4	你好,我是小志
     5	
     6	你好,我是小志
     7	
     8	你好,我是小志
 	 ...

more 指令

语法: more [选项]
功能: more命令,功能类似 cat
常用选项:
• -n 指定输出行数
• q 退出more
举例:

# 命令行构建多行文本
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cnt=0; while [ $cnt -le 20 ]; do echo "你好,我是小志"; let cnt++; done > temp.txt

# -n 指定输出行数
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ more -10 temp.txt
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
--More--(47%)

less 指令

• less 工具也是对文件或其它输出进行分⻚显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大
• less 的用法比起 more 更加的有弹性,在 more 的时候,我们并没有办法向前面翻, 只能往后面看
• 但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容
• 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。 选项:
• -i 忽略搜索时的大小写
• -N 显示每行的行号
• /字符串:向下搜索“字符串”的功能
• ?字符串:向上搜索“字符串”的功能
• n:重复前一个搜索(与 / 或 ? 有关)
• N:反向重复前一个搜索(与 / 或 ? 有关)
• q:quit
举例:

# 命令行构建多行文本
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cnt=0; while [ $cnt -le 2000 ]; do echo "你好,我是小志"; let cnt++; done > temp.txt

# 测试搜索和-N等功能
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ less -N temp.txt

      1 你好,我是小志
      1 你好,我是小志
      2 你好,我是小志
      3 你好,我是小志
      4 你好,我是小志
      5 你好,我是小志
      6 你好,我是小志
      7 你好,我是小志
      8 你好,我是小志
      9 你好,我是小志
     10 你好,我是小志
     11 你好,我是小志
     12 你好,我是小志
     13 你好,我是小志
     14 你好,我是小志
	 ...
# 其他选项也可以直接测试

head 指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
语法: head [参数]... [文件]...
功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
• -n<行数> 显示的行数
举例:

xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ head temp.txt
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ head -5 temp.txt
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志
你好,我是小志

tail 指令

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.
语法: tail 必要参数 [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
• -f 循环读取
• -n<行数> 显示行数
举例:(简单讲解重定向和管道)

# 命令行构建多行文本
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cnt=0; while [ $cnt -le 2000 ]; do echo "hello $cnt"; let cnt++; done > temp.txt
# 基本功能演示
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tail temp.txt
hello 1991
hello 1992
hello 1993
hello 1994
hello 1995
hello 1996
hello 1997
hello 1998
hello 1999
hello 2000
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tail -3 temp.txt
hello 1998
hello 1999
hello 2000

模拟动态⽇志查看功能

# 综合问题
# 如何显示文件的[180,200]行的内容
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ head -200 temp.txt | tail -20
hello 180
hello 181
hello 182
hello 183
hello 184
hello 185
hello 186
hello 187
hello 188
hello 189
hello 190
hello 191
hello 192
hello 193
hello 194
hello 195
hello 196
hello 197
hello 198
hello 199

date 指令

指定格式显示时间: date +%Y:%m:%d
用法: date [OPTION]... [+FORMAT]
1. 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
• %H : 小时(00…23)
• %M : 分钟(00…59)
• %S : 秒(00…61)
• %X : 相当于 %H:%M:%S
• %d : 日 (01…31)
• %m : 月份 (01…12)
• %Y : 完整年份 (0000…9999)
• %F : 相当于 %Y-%m-%d
2. 在设定时间方面
• date -s //设置当前时间,只有root权限才能设置,其他只能查看。
• date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
• date -s 01:01:01 //设置具体时间,不会对日期做更改
• date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
• date -s “01:01:01 20080523″ //这样可以设置全部时间
• date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
• date -s “20080523 01:01:01″ //这样可以设置全部时间
3. 时间戳
• 时间->时间戳:date +%s
• 时间戳->时间:date -d@1508749502
• Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
4. 举例

# 显示常规时间
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date
Sun Dec 22 02:34:03 PM CST 2024
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date +%Y/%m/%d
2024/12/22
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date +%Y/%m/%d-%H:%M:%S
2024/12/22-14:34:53

# 显示时间戳
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date +%s
1734849539

# 时间戳转成可视时间
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date +%Y/%m/%d-%H:%M:%S -d @0
1970/01/01-08:00:00
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date +%Y/%m/%d-%H:%M:%S -d @100000
1970/01/02-11:46:40
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ date +%Y/%m/%d-%H:%M:%S -d @1000000000
2001/09/09-09:46:40

cal 指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式: cal 参数 [年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
• -3 显示系统前一个月,当前月,下一个月的月历
• -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
• -y 显示当前年份的日历
举例:

# 常规样例
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cal
   December 2024      
Su Mo Tu We Th Fr Sa  
 1  2  3  4  5  6  7  
 8  9 10 11 12 13 14  
15 16 17 18 19 20 21  
22 23 24 25 26 27 28  
29 30 31              
                      
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cal 2004
                            2004
      January               February               March          
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  
             1  2  3   1  2  3  4  5  6  7      1  2  3  4  5  6  
 4  5  6  7  8  9 10   8  9 10 11 12 13 14   7  8  9 10 11 12 13  
11 12 13 14 15 16 17  15 16 17 18 19 20 21  14 15 16 17 18 19 20  
18 19 20 21 22 23 24  22 23 24 25 26 27 28  21 22 23 24 25 26 27  
25 26 27 28 29 30 31  29                    28 29 30 31           
...            
                                               
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cal -3
   November 2024         December 2024          January 2025      
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  
                1  2   1  2  3  4  5  6  7            1  2  3  4  
 3  4  5  6  7  8  9   8  9 10 11 12 13 14   5  6  7  8  9 10 11  
10 11 12 13 14 15 16  15 16 17 18 19 20 21  12 13 14 15 16 17 18  
17 18 19 20 21 22 23  22 23 24 25 26 27 28  19 20 21 22 23 24 25  
24 25 26 27 28 29 30  29 30 31              26 27 28 29 30 31     

find 指令

• Linux下find命令在目录结构中搜索文件,并执行指定的操作。
• Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
• 即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
• 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很⻓的时间(这里是指30G字节以上的文件系统)。
语法: find pathname -options
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
常用选项
• -name 按照文件名查找文件
• 其他选项需要在查,这个命令其实比较复杂

# 在指定路径下搜索执行名称的文件
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ find ~ -name myfile.txt
/home/xz/dir/myfile.txt
/home/xz/new_a/a/path1/myfile.txt
/home/xz/myfile.txt

which 指令

功能: 搜索系统指定的命令
举例:

xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ which ls
/usr/bin/ls
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ which pwd
/usr/bin/pwd

whereis 指令

功能: 用于找到程序的源、二进制文件或手册
举例:

xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ whereis libc.so
libc.so: /usr/lib/x86_64-linux-gnu/libc.so

alias 指令

功能: 设置命令的别名
举例:

xz@xzlinux:~/mydir$ alias hello='ls -a -l -n'
xz@xzlinux:~/mydir$ hello
total 28
drwxrwxr-x 4 1000 1000  4096 Dec 22 17:43 .
drwxr-x--- 5 1000 1000  4096 Dec 22 17:43 ..
drwxrwxr-x 4 1000 1000  4096 Dec 22 17:31 a
drwxrwxr-x 3 1000 1000  4096 Dec 22 12:16 dir
-rw-rw-r-- 1 1000 1000 10240 Dec 22 16:04 dir.tar
-rw-rw-r-- 1 1000 1000     0 Dec 21 15:41 file.txt

grep 指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来常用选项:
• -i :忽略大小写的不同,所以大小写视为相同
• -n :顺便输出行号
• -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
举例:

# 文件内容
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ cat myfile.txt
abcd
ABCD
hello
linux
1234
小志是我

#基本查找
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ grep "abcd" myfile.txt
abcd

# 忽略大小写的不同,所以大小写视为相同
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ grep -i "abcd" myfile.txt
abcd
ABCD

# 顺便输出行号
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ grep -n "abcd" myfile.txt
1:abcd
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ grep -ni "abcd" myfile.txt
1:abcd
2:ABCD

# 反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ grep -vn "abcd" myfile.txt
2:ABCD
3:hello
4:linux
5:1234
6:小志是我
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ grep -vin "abcd" myfile.txt
3:hello
4:linux
5:1234
6:小志是我

zip/unzip 指令

语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项
• -r:递归处理,将指定目录下的所有文件和子目录一并处理
举例
将test2目录压缩: zip test2.zip test2/*
解压到tmp目录: unzip test2.zip -d /tmp

xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   └── myfile.txt
├── myfile.txt
├── new_a
│   ├── a
│   │   └── path1
│   │       └── myfile.txt
│   └── file.txt
└── temp.txt

7 directories, 6 files
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ zip -r dir.zip dir #-r路径压缩
  adding: dir/ (stored 0%)
  adding: dir/myfile.txt (stored 0%)
  adding: dir/dir2/ (stored 0%)
  adding: dir/dir2/myfile2.txt (stored 0%)
  adding: dir/dir2/dir3/ (stored 0%)
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ unzip dir.zip -d ./new_a
Archive:  dir.zip
   creating: ./new_a/dir/
 extracting: ./new_a/dir/myfile.txt  
   creating: ./new_a/dir/dir2/
 extracting: ./new_a/dir/dir2/myfile2.txt  
   creating: ./new_a/dir/dir2/dir3/
xz@iZ0jl1bru4u2qsbiioc7s9Z:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   └── myfile.txt
├── dir.zip
├── myfile.txt
├── new_a
│   ├── a
│   │   └── path1
│   │       └── myfile.txt
│   ├── dir
│   │   ├── dir2
│   │   │   ├── dir3
│   │   │   └── myfile2.txt
│   │   └── myfile.txt
│   └── file.txt
└── temp.txt

10 directories, 9 files

关于 rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过拖拽的方式将文件上传过去.
sudo yum/apt install -y lrzlz
windows和Linux互传文件

tar 指令(重要)

打包/解包,不打开它,直接看内容
语法: tar [-cxtzjvf] 文件与目录 ....
参数:
• -c :建立一个压缩文件的参数指令(create 的意思);
• -x :解开一个压缩文件的参数指令!
• -t :查看 tarfile 里面的文件!
• -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
• -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
• -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
• -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
• -C : 解压到指定目录
案例:

xz@xzlinux:~$ tree .
.
├── dir
│   ├── dir2
│   │   ├── dir3
│   │   └── myfile2.txt
│   └── myfile.txt
├── mydir
│   ├── a
│   │   ├── dir
│   │   │   └── dir2
│   │   │       ├── dir3
│   │   │       └── myfile2.txt
│   │   └── path1
│   │       └── myfile.txt
│   └── file.txt
├── myfile.txt
└── temp.txt

10 directories, 7 files

范例一: 将整个./a/mydir 目录下的文件全部打包成为./a/mydir.tar

root@xzlinux:~# tar -cvf ./a/mydir.tar ./a  	//仅打包,不压缩!
root@xzlinux:~# tar -zcvf ./a/mydir.tar.gz ./a   //打包后,以 gzip 压缩
root@xzlinux:~# tar -jcvf ./a/mydir.tar.bz2 ./a  //打包后,以 bzip2 压缩

特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file 〜
如果加 j 参数,则以 .tar.bz2 来作为附档名啊〜
上述指令在执行的时候,会显示一个警告讯息:
tar: Removing leading / from member names』那是关于绝对路径的特殊设定。

范例二:查阅上述./new_a/dir.tar.gz 文件内有哪些文件?

root@xzlinux:~# tar -ztvf ./a/mydir.tar.gz
drwxrwxrwx root/root         0 2024-12-23 11:13 ./a/
-rw-r--r-- root/root     10240 2024-12-23 09:56 ./a/mydir.tar
drwxr-xr-x root/root         0 2024-12-02 12:19 ./a/mydir/
drwxr-xr-x root/root         0 2024-12-02 12:19 ./a/mydir/c/
-rw-r--r-- root/root       237 2024-12-02 12:08 ./a/mydir/c/newfile3.txt
...

由于我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,就得要加上 z 这个参数了!这很重要的!

范例三:将 mydir.tar.gz文件解压缩在 ./a/path1 底下

cd ./a/path1
root@xzlinux:~/a/path1# tar -zxvf /root/a/mydir.tar.gz

在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,我先将工作目录变换到 ./a/path1 底下,并且解开/root/a/mydir.tar.gz ,则解开的目录会在 ./new_a/a 呢!另外,如果您进入 ./a/path1则会发现,该目录下的文件属性与 ./a 可能会有所不同喔!

范例四:在./path1/path2底下,我只想要将 ./mydir.tar.gz 内的 mydir/c 解开而已

root@xzlinux:~/a# tree .
.
├── mydir
│   ├── c
│   │   └── newfile3.txt
│   ├── myfile1.txt
│   ├── myfile2.txt
│   └── newfile.txt
├── mydir.tar
├── mydir.tar.bz2
├── mydir.tar.gz
├── newfile.txt
└── path1
    └── path2

5 directories, 8 files
root@xzlinux:~/a# cd path1/path2
root@xzlinux:~/a/path1/path2# tar -zxvf /root/a/mydir.tar.gz ./mydir/c

我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,就可以透过这个方式来下达!注意到! etc.tar.gz 内的根⽬录 / 是被拿掉了!
范例五:将 ./mydir内的所有文件备份下来,并且保存其权限!

root@xzlinux:~/a/path1# tar zxvpf ../mydir.tar.gz ./mydir
// 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /root/a 当中,比 2005/06/01 新的文件才备份

root@xzlinux:~/a# tar -N "2023/06/01" -zcvf a.tar.gz /root/a

范例七:我要备份 /root/a ,但不要./mydir

root@xzlinux:~/a# tar --exclude ./mydir -zcvf a2.tar.gz ../a

范例八:将 ./mydir/c打包后直接解开在./path1 底下,而不产生文件!

root@xzlinux:~/a# tree .
.
├── a.tar.gz
├── mydir
│   ├── c
│   │   └── newfile3.txt
│   ├── myfile1.txt
│   ├── myfile2.txt
│   └── newfile.txt
├── mydir.tar
├── mydir.tar.bz2
├── mydir.tar.gz
├── newfile.txt
└── path1
    └── path2

5 directories, 9 files
root@xzlinux:~/a/path1# tar -cvf - ../mydir/c | tar -xvf -

这个动作有点像是 cp -r ./mydir/c ./path1 dan依旧是有其有用途的!
要注意的地方在于输出档变成 - 而输入档也变成 - ,又有一个 | 存在 这分别代表 standard output, standard input 与管线命令!

bc 指令

bc命令可以很方便的进行浮点运算

uname ‒r 指令

语法: uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
• -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

重要的几个热键 [Tab], [ctrl]-c, [ctrl]-d

• [Tab]按键—具有『命令补全』和『档案补齐』的功能
• [Ctrl]-c按键—让当前的程序『停掉』
• [Ctrl]-d按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit

关机

语法: shutdown [选项]
常见选项:
• -h:将系统的服务停掉后,立即关机。
• -r:在将系统的服务停掉之后就重新启动
• -t sec:-t 后面加秒数,亦即『过几秒后关机』的意思

以下命令作为扩展

安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
• 将使用者的命令翻译给核心(kernel)处理。
• 同时,将核⼼的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

• 帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你⼼动的MM小花。你看上了小花,但是有不好意思直接表⽩,那就让你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。

• 超级用户:可以再linux系统下做任何事情,不受限制
• 普通用户:在linux下做有限的事情。
• 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令: su [用户名]
功能: 切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

Linux权限管理

1. 文件访问者的分类(人)

• 文件和文件目录的所有者:u—User(中国平民 法律问题)
• 文件和文件目录的所有者所在的组的用户:g—Group(不多说)
• 其它用户:o—Others (外国人)

2. 文件类型和访问权限(事物属性)

• 文件类型:
◦ d:文件夹
◦ -:普通文件
◦ l:软链接(类似Windows的快捷方式)
◦ b:块设备文件(例如硬盘、光驱等)
◦ p:管道文件
◦ c:字符设备文件(例如屏幕等串口设备)
◦ s:套接口文件

• 基本权限:
◦ 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
◦ 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
◦ 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
◦ “—”表示不具有该项权限

文件权限值的表示方法

• 字符表示方法
• 8进制数值表示方法

文件访问权限的相关设置方法

1. chmod

功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名
常用选项:
• R -> 递归修改目录文件的权限
• 说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式:
• 用户表示符+/-=权限字符
◦ +:向权限范围增加权限代号所表示的权限
◦ -:向权限范围取消权限代号所表示的权限
◦ =:向权限范围赋予权限代号所表示的权限

◦ 用户符号:
◦ u:拥有者
◦ g:拥有者同组用
◦ o:其它用户
◦ a:所有用户

◦ 实例:
chmod u+w /home/abc.txt
chmod o-x /home/abc.txt
chmod a=x /home/abc.txt

• 三位8进制数字
◦ 实例:
chmod 664 /home/abc.txt
chmod 640 /home/abc.txt

2. chown

功能: 修改文件的拥有者
格式: chown [参数] 用户名 文件名
实例:
• chown user1 f1
• chown -R user1 filegroup1

3. chgrp

功能: 修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名
常用选项:
-R 递归修改文件或目录的所属组
实例:

chgrp users /abc/f2

4. umask

功能:
• 查看或修改文件掩码
• 新建文件夹默认权限=0666
• 新建目录默认权限=0777
• 但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式: umask 权限值
说明: 将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
实例:
umask 755
umask //查看
umask 044//设置

file 指令

功能说明: 辨识文件类型。
语法: file [选项] 文件或目录…
常用选项:
• -c:详细显示指令执行过程,便于排错或分析程序执行的情形。
• -z:尝试去解读压缩文件的内容。
使用 sudo 分配权限
(1)修改/etc/sudoers 文件分配文件

# chmod 740 /etc/sudoers
# vi /etc/sudoer

格式: 接受权限的用户登陆的主机 =(执行命令的用户) 命令
(2)使用 sudo 调用授权的命令

sudo –u 用户名 命令

实例:

sudo -u root /usr/sbin/useradd u2

目录的权限

• 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
• 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
• 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

于是, 问题来了~~ 换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限.
这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉? 我们用下面的过程印证一下.

root@xzlinux:/home/xz# chmod 0777 /home/
root@xzlinux:/home/xz# ls /home/ -ld
drwxrwxrwx 3 root root 4096 Dec 21 15:31 /home/
root@xzlinux:/home/xz# touch /home/root.c
root@xzlinux:/home/xz# ls -l /home/
total 4
-rw-r--r-- 1 root root    0 Dec 22 22:19 root.c
drwxr-x--- 5 xz   xz   4096 Dec 22 17:43 xz
root@xzlinux:/home/xz# su xz
xz@xzlinux:~$ rm /home/root.c	#litao可以删除root创建的⽂件
rm: remove write-protected regular empty file '/home/root.c'? y
xz@xzlinux:~$ exit
exit

为了解决这个不科学的问题, Linux引入了粘滞位的概念.

关于权限的总结

• 目录的可执行权限是表示你可否在目录下执行命令。
• 如果目录没有 -x 权限,则无法对目录执行任何命令,甚至无法 cd 进入目, 即使目录仍然有 -r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
• 而如果目录具有 -x 权限,但没有 -r 权限,则用户可以执行命令,可以 cd 进入目录。但由于没有目录的读权限
• 所以在目录下,即使可以执行 ls 命令,但仍然没有权限读出目录下的文档。

粘滞位[选学]

xz@xzlinux:/root$ chmod +t /home/ # 加上粘滞位
xz@xzlinux:/root$ ls -ld /home/
drwxrwxrwt. 3 root root 4096 919 16:00 /home/
xz@xzlinux:/root$ su - litao
xz@xzlinux:/root$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
rm: 无法删除"/home/abc.c": 不允许的操作

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

本文地址:https://www.vps345.com/8518.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 javascript 前端 chrome edge 笔记 docker java 容器 阿里云 网络 网络安全 网络协议 llama 算法 opencv 自然语言处理 神经网络 语言模型 ubuntu ssh php 人工智能 deepseek Ollama 模型联网 API CherryStudio 英语 macos windows conda python MCP jellyfin nas centos openvpn server openvpn配置教程 centos安装openvpn nginx 负载均衡 c++ 并查集 leetcode tomcat jenkins gitee spring boot asm RTSP xop RTP RTSPServer 推流 视频 进程 操作系统 进程控制 Ubuntu adb mysql android tcp/ip C# MQTTS 双向认证 emqx debian PVE 安全 学习方法 经验分享 学习 科技 ai 个人开发 机器学习 harmonyos 华为 开发语言 typescript 计算机网络 数据库 oracle 关系型 分布式 开发环境 json Dify vscode dify ui 华为云 华为od HarmonyOS Next unix 前端框架 numpy java-ee 智能路由器 外网访问 内网穿透 端口映射 开源 github 实时音视频 实时互动 架构 云原生 etcd 数据安全 RBAC 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 cron crontab日志 vue3 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 单片机 创意 社区 protobuf 序列化和反序列化 安装 鸿蒙 c# Flask FastAPI Waitress Gunicorn uWSGI Uvicorn mac 游戏程序 ios YOLO 虚拟机 VMware 运维开发 思科 elasticsearch xcode ide MacOS录屏软件 产品经理 agi microsoft vim 嵌入式 linux驱动开发 arm开发 嵌入式硬件 面试 性能优化 jdk intellij-idea 持续部署 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 Linux 进程信号 gnu 物联网 mcu iot 信息与通信 集成学习 集成测试 自动化 spring 媒体 高级IO epoll DevEco Studio 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 Dell R750XS ue5 vr 多线程 vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 计算机外设 电脑 软件需求 ip命令 新增网卡 新增IP 启动网卡 sublime text 编辑器 eureka fstab vnc rust http Docker Hub docker pull 镜像源 daemon.json windows 服务器安装 深度学习 目标检测 计算机视觉 efficientVIT YOLOv8替换主干网络 TOLOv8 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse ip协议 llm transformer Qwen2.5-coder 离线部署 数据结构 c语言 git filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 网络药理学 生信 生物信息学 gromacs 分子动力学模拟 MD 动力学模拟 数据分析 redis 聚类 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 互信 ip pip powerpoint pycharm ssl 大数据 spark hive k8s kubernetes 主从复制 node.js 低代码 爬虫 数据挖掘 网络用户购物行为分析可视化平台 大数据毕业设计 1024程序员节 豆瓣 追剧助手 迅雷 微信 fd 文件描述符 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 键盘 aws googlecloud 云桌面 微软 AD域控 证书服务器 nftables 防火墙 vSphere vCenter 软件定义数据中心 sddc golang 后端 jmeter 软件测试 HCIE 数通 apache ollama C 环境变量 进程地址空间 chatgpt DeepSeek kafka AI大模型 大模型技术 本地部署大模型 gateway Clion Nova ResharperC++引擎 Centos7 远程开发 私有化 本地部署 selenium 测试工具 多线程服务器 Linux网络编程 pytorch Alexnet live555 rtsp rtp html5 firefox sqlserver 大数据平台 政务 分布式系统 监控运维 Prometheus Grafana gpu算力 alias unalias 别名 perf linux内核 pillow 虚拟局域网 系统架构 微服务 设计模式 软件工程 僵尸进程 安卓模拟器 AIGC MQTT协议 消息服务器 代码 https VMware安装Ubuntu Ubuntu安装k8s iperf3 带宽测试 WSL win11 无法解析服务器的名称或地址 tcpdump AI 数据集 websocket list udp 本地环回 bind web安全 Kali Linux 黑客 渗透测试 信息收集 Hive环境搭建 hive3环境 Hive远程模式 Agent flash-attention 报错 ux 程序人生 目标跟踪 OpenVINO 推理应用 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos gitlab Reactor C++ 虚拟现实 代码调试 ipdb 5G 3GPP 卫星通信 机器人 视觉检测 FTP 服务器 DeepSeek-R1 API接口 VMware创建虚拟机 源码剖析 rtsp实现步骤 流媒体开发 Ubuntu Server Ubuntu 22.04.5 大模型 webstorm 中间件 iis CLion 远程连接 IDE dubbo 远程控制 远程看看 远程协助 cpu 内存 实时 使用 缓存 强制清理 强制删除 mac废纸篓 环境配置 firewalld 读写锁 远程工作 串口服务器 linux环境变量 C语言 xml ipython 硬件工程 flutter Hyper-V WinRM TrustedHosts Windsurf DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 .net iftop 网络流量监控 基础环境 YOLOv8 NPU Atlas800 A300I pro asi_bench mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 rag ragflow ragflow 源码启动 压测 ECS spring cloud VMware安装mocOS macOS系统安装 ESP32 camera Arduino 电子信息 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer virtualenv ue4 着色器 虚幻 统信UOS 麒麟 bonding 链路聚合 Ubuntu共享文件夹 共享目录 Linux共享文件夹 课程设计 windows日志 postgresql cuda cudnn anaconda 文件系统 路径解析 springcloud jar gradle qt stm32项目 stm32 飞牛nas fnos react.js 前端面试题 linux上传下载 kylin KylinV10 麒麟操作系统 Vmware OpenManus maven 系统开发 binder 车载系统 framework 源码环境 Samba NAS flask AI编程 DNS 域名服务 DHCP 符号链接 配置 dell服务器 go 代理模式 iBMC UltraISO Linux PID rabbitmq 指令 mq rocketmq docker compose uni-app bcompare Beyond Compare visual studio code Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 深度求索 私域 知识库 设置代理 实用教程 腾讯云大模型知识引擎 Deepseek NFS UOS 统信操作系统 yum kali 共享文件夹 oceanbase rc.local 开机自启 systemd mybatis WebUI DeepSeek V3 权限 linux安装配置 log4j edge浏览器 unity ping++ ddos minicom 串口调试工具 安卓 JAVA Java 中兴光猫 换光猫 网络桥接 自己换光猫 llama3 Chatglm 开源大模型 开发 隐藏文件 隐藏目录 管理器 通配符 zotero WebDAV 同步失败 YOLOv12 ffmpeg 音视频 链表 fpga开发 鸿蒙系统 温湿度数据上传到服务器 Arduino HTTP 向日葵 rpc svn WSL2 Ubuntu22.04 虚拟化 开发人员主页 Linux的权限 迁移指南 ansible playbook 剧本 matplotlib 博客 WLAN rancher windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 工业4.0 prometheus 监控k8s 监控kubernetes sql KingBase 微信分享 Image wxopensdk bash mongodb rime ESXi bug 智能手机 Termux WSL2 上安装 Ubuntu 客户端 express p2p 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 银河麒麟 kylin v10 麒麟 v10 LDAP 模拟实现 QT 5.12.12 QT开发环境 Ubuntu18.04 postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 腾讯云 intellij idea 监控k8s集群 集群内prometheus 无人机 threejs 3D 进程优先级 调度队列 进程切换 html IIS服务器 IIS性能 日志监控 监控 自动化运维 RAGFLOW docker-compose vmware 卡死 .netcore Cline 自动化编程 gcc centos 7 openwrt AI写作 程序员创富 fonts-noto-cjk ollama下载加速 CPU 主板 电源 网卡 ssh漏洞 ssh9.9p2 CVE-2025-23419 selete kamailio sip VoIP 命名管道 客户端与服务端通信 ros2 moveit 机器人运动 ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 wireshark 显示过滤器 ICMP Wireshark安装 安防软件 rust腐蚀 远程 命令 执行 sshpass 操作 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 网络穿透 云服务器 火绒安全 export import save load 迁移镜像 VPS Nuxt.js SSH Xterminal chrome devtools chromedriver prompt zabbix 其他 推荐算法 rustdesk 蓝耘科技 元生代平台工作流 ComfyUI 微信小程序 ArcTS 登录 ArcUI GridItem openEuler arkUI unity3d 实战案例 序列化反序列化 搜索引擎 searxng LLM okhttp CORS 跨域 Kali 雨云 NPS 浏览器自动化 飞书 cd 目录切换 dns 孤岛惊魂4 ruby uniapp vue 程序员 大模型入门 线程 Jellyfin 恒源云 cfssl tcp css Cursor TrueLicense 华为认证 网络工程师 拓扑图 RTMP 应用层 jupyter 致远OA OA服务器 服务器磁盘扩容 OD机试真题 华为OD机试真题 服务器能耗统计 arm opcua opcda KEPServer安装 双系统 GRUB引导 Linux技巧 能力提升 面试宝典 技术 IT信息化 oneapi visual studio 大模型微调 minio open webui android studio apt 国内源 tensorflow MQTT 消息队列 嵌入式系统开发 matlab 传统数据库升级 银行 大语言模型 LLMs P2P HDLC HarmonyOS OpenHarmony 真机调试 sdkman 鲲鹏 技能大赛 pdf redhat 通信工程 毕业 程序 编程 性能分析 Open WebUI 图形渲染 XCC Lenovo RAID RAID技术 磁盘 存储 asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 pygame 小游戏 五子棋 图像处理 3d 交换机 uv 繁忙 服务器繁忙 解决办法 替代网站 汇总推荐 AI推理 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 移动云 MS Materials 昇腾 npu 硬件架构 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 具身智能 AISphereButler 相机 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors lb 协议 shell wps embedding milvus 智能音箱 智能家居 visualstudio nfs echarts 信息可视化 网页设计 c/c++ 串口 部署 SSL 域名 excel skynet nvidia 群晖 conda配置 conda镜像源 c 压力测试 7z LORA NLP x64 SIGSEGV SSE xmm0 稳定性 看门狗 Typore rnn 显卡驱动 Trae AI 原生集成开发环境 Trae AI dba mysql离线安装 ubuntu22.04 mysql8.0 驱动开发 嵌入式实习 ecmascript KVM ocr 源码 毕业设计 OpenSSH 交叉编译 实习 混合开发 环境安装 JDK django web3.py IPv4 子网掩码 公网IP 私有IP 数学建模 URL centos-root /dev/mapper yum clean all df -h / du -sh api web 考研 IM即时通讯 QQ 企业微信 剪切板对通 HTML FORMAT pyqt Linux24.04 deepin 京东云 金融 Kylin-Server 国产操作系统 服务器安装 saltstack 交互 seatunnel 单例模式 命令行 基础入门 EasyConnect RustDesk自建服务器 rustdesk服务器 docker rustdesk 黑客技术 big data opensearch helm 服务器主板 AI芯片 ssrf 失效的访问控制 MI300x WebRTC gpt k8s二次开发 集群管理 游戏引擎 金仓数据库 2025 征文 数据库平替用金仓 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 DBeaver hadoop IPMITOOL BMC 硬件管理 mamba Vmamba 系统安全 图形化界面 xrdp 远程桌面 边缘计算 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 职场和发展 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 SSL证书 MySql adobe elk Python 网络编程 聊天服务器 套接字 TCP Socket webrtc 飞牛NAS 飞牛OS MacBook Pro 云服务 odoo 服务器动作 Server action 雨云服务器 harmonyOS面试题 可信计算技术 密码学 springsecurity6 oauth2 授权服务器 token sas cnn 邮件APP 免费软件 环境迁移 崖山数据库 YashanDB docker run 数据卷挂载 交互模式 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? Google pay Apple pay Ubuntu 24.04.1 轻量级服务器 文件分享 ROS2 lio-sam SLAM VSCode less ubuntu20.04 ros ros1 Noetic 20.04 apt 安装 Node-Red 编程工具 流编程 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 devops ci/cd 银河麒麟操作系统 国产化 npm 直播推流 服务器部署ai模型 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 NLP模型 自动驾驶 sqlite3 自学笔记 小米 澎湃OS Android rsyslog 蓝桥杯 Anolis nginx安装 linux插件下载 多进程 毕设 HiCar CarLife+ CarPlay QT RK3588 yolov8 三级等保 服务器审计日志备份 Ark-TS语言 eNSP 网络规划 VLAN 企业网络 powerbi 宝塔面板无法访问 开机黑屏 微信公众平台 risc-v 安全威胁分析 db curl wget 流式接口 话题通信 服务通信 计算生物学 生物信息 基因组 软件构建 联想开天P90Z装win10 虚拟显示器 Cookie cmos 硬件 bootstrap nextjs react reactjs k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm 软考 make命令 makefile文件 arcgis 重启 排查 系统重启 日志 原因 大文件秒传跨域报错cors 开机自启动 网工 镜像 easyui langchain nlp 宕机切换 服务器宕机 Docker Compose 国产数据库 瀚高数据库 数据迁移 下载安装 智能电视 can 线程池 健康医疗 互联网医院 MCP server C/S yum源切换 更换国内yum源 bot Docker HarmonyOS NEXT 原生鸿蒙 TRAE DOIT 四博智联 ROS Playwright 自动化测试 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 代理 Deepseek-R1 私有化部署 推理模型 nac 802.1 portal idm WebServer 树莓派 VNC 宝塔 thingsboard iDRAC R720xd DeepSeek r1 AI代码编辑器 相差8小时 UTC 时间 netty top Linux top top命令详解 top命令重点 top常用参数 CH340 串口驱动 CH341 uart 485 eclipse IIS .net core Hosting Bundle .NET Framework vs2022 网络结构图 yaml Ultralytics 可视化 XFS xfs文件系统损坏 I_O error RAG 检索增强生成 文档解析 大模型垂直应用 本地部署AI大模型 安全架构 磁盘监控 ceph grafana miniapp 调试 debug 断点 网络API请求调试方法 医疗APP开发 app开发 状态管理的 UDP 服务器 Arduino RTOS 服务器配置 模拟器 教程 gitea FunASR ASR xpath定位元素 bat file server http server web server 卷积神经网络 jina springboot CentOS Stream CentOS 大模型部署 Invalid Host allowedHosts rdp 实验 DIFY 王者荣耀 linux 命令 sed 命令 Wi-Fi 计算机 自动化任务管理 SysBench 基准测试 服务器时间 产测工具框架 IMX6ULL 管理框架 zip unzip 软链接 硬链接 wsl 云电竞 云电脑 todesk Linux的基础指令 飞牛 GameFramework HybridCLR Unity编辑器扩展 自动化工具 设备 GPU PCI-Express 执法记录仪 智能安全帽 smarteye composer notepad yolov5 kvm qemu libvirt 深度优先 图论 并集查找 换根法 树上倍增 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 网络爬虫 Minecraft IO Erlang OTP gen_server 热代码交换 事务语义 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 MNN Qwen mariadb AI-native freebsd 灵办AI 文心一言 gaussdb tar 宝塔面板 单元测试 功能测试 Xinference RAGFlow Redis Desktop Dell HPE 联想 浪潮 banner 免费域名 域名解析 思科模拟器 Cisco 换源 Debian docker命令大全 ubuntu24.04.1 virtualbox DocFlow 测试用例 ruoyi 信号处理 .net mvc断点续传 ubuntu24 vivado24 AI作画 r语言 数据可视化 next.js 部署next.js 聊天室 rclone AList webdav fnOS X11 Xming 智慧农业 开源鸿蒙 团队开发 k8s集群资源管理 云原生开发 磁盘清理 银河麒麟服务器操作系统 系统激活 wsl2 矩阵 网络攻击模型 trae fast 视频编解码 GCC crosstool-ng muduo n8n 工作流 workflow lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 多层架构 解耦 burp suite 抓包 历史版本 下载 axure 富文本编辑器 SSH 密钥生成 SSH 公钥 私钥 生成 etl 社交电子 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 safari Mac 系统 vscode 1.86 网站搭建 serv00 jetty undertow 服务器管理 配置教程 网站管理 大模型面经 大模型学习 AnythingLLM AnythingLLM安装 微信开放平台 微信公众号配置 IPMI 远程登录 telnet SEO 漏洞 分析解读 ShenTong CrewAI 代码托管服务 WebVM 信号 流水线 脚本式流水线 区块链 弹性计算 裸金属服务器 弹性裸金属服务器 Linux 维护模式 统信 UOS1070e vpn 游戏机 hugo 用户缓冲区 Netty 即时通信 NIO firewall SWAT 配置文件 服务管理 网络共享 支付 微信支付 开放平台 ArkTs ArkUI MacMini 迷你主机 mini Apple DeepSeek行业应用 Heroku 网站部署 宠物 免费学习 宠物领养 宠物平台 毕昇JDK 小艺 Pura X 半虚拟化 硬件虚拟化 Hypervisor Mac内存不够用怎么办 Docker Desktop java-rabbitmq micropython esp32 mqtt ssh远程登录 cocoapods 热榜 nuxt3 策略模式 SenseVoice AutoDL 业界资讯 模拟退火算法 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 田俊楠 database 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 code-server mosquitto 渗透 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 办公自动化 自动化生成 pdf教程 算力 版本 输入法 sqlite VR手套 数据手套 动捕手套 动捕数据手套 pgpool openssl hibernate maxkb ARG compose 强化学习 av1 电视盒子 机顶盒ROM 魔百盒刷机 outlook 数据库系统 CosyVoice pyautogui Java Applet URL操作 服务器建立 Socket编程 网络文件读取 大模型教程 neo4j 数据仓库 数据库开发 fork wait waitpid exit dity make remote-ssh 直流充电桩 充电桩 su sudo ukui 麒麟kylinos openeuler W5500 OLED u8g2 TCP服务器 端口测试 chfs ubuntu 16.04 虚拟机安装 网络管理 2024 2024年上半年 下午真题 答案 SSH 服务 SSH Server OpenSSH Server 框架搭建 kind keepalived sonoma 自动更新 同步 备份 建站 trea idea gpt-3 onlyoffice 人工智能生成内容 frp 内网服务器 内网代理 内网通信 netlink libnl3 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 HP Anyware 需求分析 规格说明书 工具 服务网格 istio 知识图谱 openstack Xen deekseek TCP协议 python2 ubuntu24.04 抗锯齿 AD域 反向代理 kotlin iphone 合成模型 扩散模型 图像生成 鸿蒙开发 移动开发 Logstash 日志采集 语法 语音识别 内核 超融合 单一职责原则 代理服务器 北亚数据恢复 oracle数据恢复 极限编程 sequoiaDB 项目部署 安装MySQL 捆绑 链接 谷歌浏览器 youtube google gmail HistoryServer Spark YARN jobhistory ubuntu 18.04 Headless Linux wpf 黑苹果 CDN 自定义客户端 SAS dock 加速 Reactor反应堆 zookeeper flink deep learning 影刀 #影刀RPA# 远程服务 华为机试 镜像下载 prometheus数据采集 prometheus数据模型 prometheus特点 regedit 开机启动 Windows ai工具 java-rocketmq armbian u-boot GIS 遥感 WebGIS 大模型应用 大大通 第三代半导体 碳化硅 网络文件系统 回显服务器 UDP的API使用 ArtTS 项目部署到linux服务器 项目部署过程 机柜 1U 2U lvm 磁盘挂载 磁盘分区 ftp figma 升级 CVE-2024-7347 在线office h.264 容器技术 webgl 本地化部署 查看显卡进程 fuser cpp-httplib 玩机技巧 软件分享 软件图标 K8S k8s管理系统 web3 阿里云ECS seleium vscode1.86 1.86版本 ssh远程连接 open Euler dde nvm whistle glibc LLM Web APP Streamlit 网卡的名称修改 eth0 ens33 GoogLeNet 达梦 DM8 IMM SRS 流媒体 直播 sysctl.conf vm.nr_hugepages React Next.js 开源框架 对比 meld DiffMerge 云耀服务器 Linux环境 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 端口聚合 windows11 System V共享内存 进程通信 ebpf uprobe dash 正则表达式 tidb GLIBC 移动魔百盒 USB转串口 docker desktop image 僵尸世界大战 游戏服务器搭建 远程过程调用 Windows环境 Python基础 Python教程 Python技巧 网络建设与运维 生活 Mac软件 搭建个人相关服务器 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 本地知识库部署 DeepSeek R1 模型 软负载 swoole 图片增强 增强数据 FTP服务器 v10 软件 ldap Claude hosts 无桌面 deepseek r1 大屏端 jvm 端口 查看 ss deployment daemonset statefulset cronjob 架构与原理 多个客户端访问 IO多路复用 TCP相关API 内网环境 word 信创 信创终端 中科方德 开源软件 triton 模型分析 多路转接 沙盒 运维监控 rpa wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 IDEA stable diffusion tailscale derp derper 中转 硅基流动 ChatBox lua vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 navicat Linux find grep 钉钉 DevOps 软件交付 数据驱动 应用场景 Unity Dedicated Server Host Client 无头主机 aarch64 编译安装 HPC Docker快速入门 oracle fusion oracle中间件 欧标 OCPP Attention 常用命令 文本命令 目录命令 python3.11 抓包工具 网易邮箱大师 性能测试 前后端分离 sentinel 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 qt5 客户端开发 es LInux midjourney 李心怡 音乐库 佛山戴尔服务器维修 佛山三水服务器维修 AI员工 react native 匿名管道 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 我的世界服务器搭建 加解密 Yakit yaklang cursor kerberos 干货分享 黑客工具 密码爆破 服务器扩容没有扩容成功 Spring Security docker部署Python 技术共享 我的世界 我的世界联机 数码 线性代数 电商平台 ecm bpm C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 ISO镜像作为本地源 嵌入式Linux IPC EMUI 回退 降级 视频平台 录像 视频转发 视频流 授时服务 北斗授时 clickhouse 音乐服务器 Navidrome 音流 多端开发 智慧分发 应用生态 鸿蒙OS DenseNet Qwen2.5-VL vllm 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 pppoe radius opengl llama.cpp nosql dns是什么 如何设置电脑dns dns应该如何设置 xss 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 H3C 元服务 应用上架 AI agent IO模型 个人博客 Web服务器 多线程下载工具 PYTHON Sealos win服务器架设 windows server uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 软件卸载 系统清理 论文阅读 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 浪潮信息 AI服务器 perl Linux权限 权限命令 特殊权限 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 计算虚拟化 弹性裸金属 Web应用服务器 VS Code Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 Helm k8s集群 grub 版本升级 扩容 Mermaid 可视化图表 MAC SecureCRT 网络搭建 神州数码 神州数码云平台 云平台 游戏开发 hexo 显示管理器 lightdm gdm IMX317 MIPI H265 VCU 状态模式 阻塞队列 生产者消费者模型 服务器崩坏原因 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 UEFI Legacy MBR GPT U盘安装操作系统 PPI String Cytoscape CytoHubba minecraft 小智AI服务端 xiaozhi TTS 电视剧收视率分析与可视化平台 AD 域管理 Zoertier 内网组网 HTTP 服务器控制 ESP32 DeepSeek Carla 智能驾驶 PX4 备选 网站 调用 示例 银河麒麟桌面操作系统 Kylin OS MacOS 增强现实 沉浸式体验 技术实现 案例分析 AR USB网络共享 ELF加载 虚幻引擎 vasp安装 Qualcomm WoS QNN AppBuilder 查询数据库服务IP地址 SQL Server 分布式训练 问题解决 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP ranger MySQL8.0 Radius MVS 海康威视相机 浏览器开发 AI浏览器 samba qt项目 qt项目实战 qt教程 EMQX 通信协议 MDK 嵌入式开发工具 论文笔记 scikit-learn 银河麒麟高级服务器 外接硬盘 Kylin 华为证书 HarmonyOS认证 华为证书考试 离线部署dify 物联网开发 根服务器 proxy模式 烟花代码 烟花 元旦 性能调优 安全代理 g++ g++13 kernel xshell termius iterm2 做raid 装系统 junit copilot 网页服务器 web服务器 Nginx mcp服务器 client close MAVROS 四旋翼无人机 企业网络规划 华为eNSP js es6 qt6.3 g726 输入系统 vmamba ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口服务器 autodl csrutil mac恢复模式进入方法 恢复模式 显示器 蓝桥杯C++组 多产物 wsgiref Web 服务器网关接口 iNode Macos 西门子PLC 通讯 负载测试 ardunio BLE xfce 底层实现 桌面环境 diskgenius ArkTS 移动端开发 vite 高效I/O macOS 联机 僵尸毁灭工程 游戏联机 开服 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 AI Agent 字节智能运维 接口优化 shell脚本免交互 expect linux免交互 粘包问题 CNNs 图像分类 数字证书 签署证书 lighttpd安装 Ubuntu配置 Windows安装 服务器优化 小智 NAT转发 NAT Server AzureDataStudio 解决方案 联网 easyconnect css3 搜狗输入法 中文输入法 端口号 开放端口 访问列表 Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 服务器正确解析请求体 UDP Pyppeteer ShapeFile GeoJSON Chatbox 流量运营 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 带外管理 k8s部署 MySQL8.0 高可用集群(1主2从) 服务器部署 本地拉取打包 Unity插件 iventoy VmWare OpenEuler 代码规范 跨平台 mysql安装报错 windows拒绝安装 yashandb MobaXterm CPU 使用率 系统监控工具 linux 命令 蓝牙 yum换源 zerotier 风扇控制软件 ufw Ardupilot 大模型推理 WINCC NFC 近场通讯 智能门锁 Office scapy cmake SVN Server tortoise svn HAProxy ABAP 免密 公钥 私钥 laravel 存储维护 NetApp存储 EMC存储 Apache Beam 批流统一 案例展示 数据分区 容错机制 ajax 空间 查错 Linux Vim 笔灵AI AI工具 实时内核 nohup后台启动 deepseek-r1 大模型本地部署 内网渗透 靶机渗透 工具分享 一切皆文件 sudo原理 su切换 openjdk VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 VPN wireguard 计算机科学与技术 玩游戏 solidworks安装 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt 智能体开发 错误代码2603 无网络连接 2603 beautifulsoup 终端工具 远程工具 EVE-NG deepseak 豆包 KIMI 腾讯元宝 llamafactory 微调 WireGuard 异地组网 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 网络原理 弹性服务器 分子对接 autodock mgltools PDB PubChem 用户管理 配置原理 管道 iTerm2 华为OD 可以组成网络的服务器 动态规划 GeneCards OMIM TTD 文件传输 fiddler retry 重试机制 pyicu gunicorn 充电桩平台 充电桩开源平台 零售 大版本升 升级Ubuntu系统 Isaac Sim 虚拟仿真 环境搭建 Maven 锁屏不生效 initramfs Linux内核 Grub ftp服务 文件上传 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 动静态库 进程间通信 glm4 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 信息安全 终端 ubuntu安装 linux入门小白 linuxdeployqt 打包部署程序 appimagetool chromium dpi PyQt PySide6 Bug解决 Qt platform OpenCV archlinux kde plasma nacos servlet 大模型训练/推理 推理问题 mindie 服务器ssl异常解决 autoware 机械臂 安全漏洞 SystemV qps 高并发 桌面快捷方式 VGG网络 卷积层 池化层 免费 c/s 跨域请求 env 变量