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

Linux实用操作

终端快捷键

1. ctrl + c 强制停止

2. ctrl + d 退出登出

3. history 查看历史命令

4. !命令前缀,自动匹配上一个命令

5. ctrl + r,搜索历史命令 

6. ctrl + a | e,光标移动到命令开始或结束

7. ctrl + ← | →,左右跳单词

8. ctrl + l 或 clear命令 清屏

apt

在 Linux 系统中,apt(全称 Advanced Package Tool)是一套用于包管理的命令行工具,主要用于基于 Debian 的 Linux 发行版(如 Ubuntu、Debian、Linux Mint 等),用于便捷地安装、卸载、更新软件包,并自动处理软件包之间的依赖关系。

apt是在底层工具dpkg(Debian Package)之上的 “高层工具”,它简化了软件包的管理流程:

  • dpkg负责实际安装 / 卸载.deb格式的软件包,但无法自动处理依赖关系;
  • apt则整合了依赖分析、远程仓库同步、包缓存管理等功能,让用户无需手动处理复杂的依赖问题。

常用apt命令

以下是最常用的apt命令(大部分需要root权限,需前缀sudo):

1. 更新软件包列表(必做)

从配置的软件源(仓库)中获取最新的软件包信息(版本、依赖等),不实际更新软件

sudo apt update
2. 升级已安装的软件
  • 普通升级:升级所有可更新的软件包,不删除已有包,不处理 “需要移除旧包才能升级” 的情况:

    sudo apt upgrade
    
  • 全面升级:会智能处理依赖关系,可能移除旧包以完成升级(适合系统大版本更新):

    sudo apt full-upgrade
    
3. 安装软件包

安装指定的软件包(可同时安装多个,用空格分隔):

sudo apt install <软件包名1> <软件包名2> ...

如果需要安装特定版本的软件包,可指定版本号:

sudo apt install <软件包名>=<版本号>
4. 卸载软件包
  • 保留配置文件:仅卸载软件,保留其配置文件(方便后续重新安装时复用配置):

    sudo apt remove <软件包名>
    
  • 彻底删除:卸载软件并删除所有配置文件:

    sudo apt purge <软件包名>
    
5. 清理无用依赖和缓存
  • 删除无用依赖:自动移除 “已卸载软件的残留依赖”(这些依赖已无实际作用):

    sudo apt autoremove
    
  • 清理缓存apt会缓存下载的.deb包,清理可释放磁盘空间:

    • sudo apt clean:删除所有缓存的.deb包;
    • sudo apt autoclean:仅删除 “过时的缓存包”(保留最新版本的缓存)。
6. 搜索软件包

根据关键词搜索可用的软件包(包括名称和描述):

apt search <关键词>

例如,搜索与 “文本编辑器” 相关的包:

apt search text editor
7. 查看软件包信息

显示指定软件包的详细信息(版本、依赖、描述、安装大小等):

apt show <软件包名>
8. 列出已安装 / 可升级的包
  • 列出所有已安装的软件包:

    apt list --installed
    
  • 列出所有可升级的软件包:

    apt list --upgradeable

systemctl

systemctl 是 systemd 系统和服务管理器的核心命令行工具,用于管理 Linux 系统中的服务(后台进程)、系统状态(如开机、关机、重启)、运行级别(target)等。

核心作用

systemd 是 Linux 系统的初始化系统(init),负责启动系统进程、管理服务生命周期、处理系统事件(如开机、关机)等;而 systemctl 是操作 systemd 的命令行接口,通过它可以:

  • 启动、停止、重启、重载系统服务(如 nginxsshmysql 等);
  • 设置服务是否开机自启;
  • 查看服务运行状态、日志;
  • 控制系统状态(关机、重启、休眠等);
  • 管理系统运行级别(通过 target 机制)。
一、管理服务状态

服务(service)是系统中运行的后台进程(如 sshdnginx),通过 systemctl 可直接控制其生命周期。

命令作用示例(以 nginx 服务为例)
sudo systemctl start <服务名>启动指定服务sudo systemctl start nginx
sudo systemctl stop <服务名>停止指定服务sudo systemctl stop nginx
sudo systemctl restart <服务名>重启指定服务(先停止再启动)sudo systemctl restart nginx
sudo systemctl reload <服务名>重载服务配置(不中断服务,推荐)sudo systemctl reload nginx
sudo systemctl status <服务名>查看服务详细状态(运行 / 停止、日志等)sudo systemctl status nginx
二、设置服务开机自启

控制服务是否在系统开机时自动启动。

命令作用示例
sudo systemctl enable <服务名>启用服务开机自启sudo systemctl enable nginx
sudo systemctl disable <服务名>禁用服务开机自启(开机不启动)sudo systemctl disable nginx
sudo systemctl is-enabled <服务名>查看服务是否已设置开机自启sudo systemctl is-enabled nginx
三、查看服务列表

查看系统中所有服务的状态或安装情况。

命令作用
systemctl list-units --type=service列出当前已加载的所有服务(含状态)
systemctl list-unit-files --type=service列出系统中所有已安装的服务(含开机自启状态)
systemctl list-units --type=service --state=running只列出正在运行的服务
四、管理系统状态
命令作用
sudo systemctl reboot重启系统
sudo systemctl poweroff关闭系统
sudo systemctl halt停止系统(类似关机,但不切断电源)
sudo systemctl suspend挂起系统(休眠到内存,快速恢复)
sudo systemctl hibernate休眠系统(数据写入硬盘,省电)
sudo systemctl rescue进入救援模式(修复系统时用)
sudo systemctl emergency进入紧急模式(最小化系统,仅基础功能)
五、管理运行级别

systemd 用 target 替代了传统的运行级别,每个 target 是一组服务的集合。

命令作用
systemctl get-default查看当前默认的 target(启动级别)
sudo systemctl set-default <target名>设置默认 target(如设置开机进入命令行)
sudo systemctl isolate <target名>立即切换到指定 target(临时生效)

常见 target:

  • multi-user.target:多用户命令行模式;
  • graphical.target:图形界面模式;
  • poweroff.target:关机状态;
  • reboot.target:重启状态。
六、其他实用命令
  • 查看服务的依赖关系:systemctl list-dependencies <服务名>
  • 屏蔽服务(禁止手动 / 自动启动,比 disable 更严格):sudo systemctl mask <服务名>
  • 取消屏蔽服务:sudo systemctl unmask <服务名>

软连接

在 Linux 系统中,软连接(Soft Link,也叫符号链接,Symbolic Link)是一种特殊的文件,类似于 Windows 中的 “快捷方式”,用于指向另一个文件或目录。它本身不存储实际数据,只记录目标文件 / 目录的路径,通过它可以间接访问目标资源。

软连接的特点
  1. 依赖路径:软连接本质是 “路径指针”,它存储的是目标文件 / 目录的路径(绝对路径或相对路径),访问软连接时会自动跳转到该路径。
  2. 独立文件:软连接是一个独立的文件,有自己的 inode(文件系统中的唯一标识)和权限(通常默认是 lrwxrwxrwx,权限对访问目标文件无影响,目标文件的权限才起作用)。
  3. 可跨文件系统:可以指向不同分区、不同磁盘的文件 / 目录(硬链接不行)。
  4. 目标删除后失效:如果原目标文件 / 目录被删除,软连接会变成 “无效链接”(用 ls -l 查看时会显示红色或闪烁),访问时会提示 “No such file or directory”。
  5. 可指向目录:软连接可以指向文件,也可以指向目录(硬链接在多数 Linux 系统中不支持指向目录)。
如何创建软连接?

使用 ln 命令(link 的缩写),加上 -s 选项(s 即 symbolic),语法:

ln -s <源文件/目录的路径> <软连接的路径>

示例 1:给文件创建软连接

假设当前目录有一个文件 document.txt,想在桌面创建一个软连接快速访问它:

# 源文件路径:/home/user/docs/document.txt
# 软连接路径:/home/user/Desktop/doc_link
ln -s /home/user/docs/document.txt /home/user/Desktop/doc_link

此时,访问 ~/Desktop/doc_link 就等同于访问 ~/docs/document.txt

示例 2:给目录创建软连接

假设系统中有一个很深的目录 /var/www/html/project,想在当前目录创建一个软连接 myproject 指向它:

ln -s /var/www/html/project myproject

之后,cd myproject 就会进入 /var/www/html/project 目录。

如何查看软连接?

用 ls -l 命令可以查看文件 / 目录的详细信息,软连接会显示为:

lrwxrwxrwx 1 user user 24 11月  6 10:00 doc_link -> /home/user/docs/document.txt
  • 开头的 l 表示这是一个软连接(link);
  • 末尾的 -> 后面是它指向的目标路径。
如何删除软连接?

直接用 rm 命令删除软连接文件即可,注意不要加 /(否则可能误删目标目录下的内容):

# 删除文件软连接
rm doc_link# 删除目录软连接(同样不加/)
rm myproject

网络传输

ping:测试网络连通性

作用:通过向目标主机发送 ICMP 数据包并接收响应,判断目标主机是否可达、网络延迟等。

语法:

ping [选项] 目标主机(IP地址或域名)

常用选项:

  • -c <次数>:指定发送测试包的次数(默认会持续发送,直到按 Ctrl+C 终止)。
  • -s <字节数>:指定发送的数据包大小(默认 56 字节,加上头部共 64 字节)。
  • -i <间隔秒数>:指定发送数据包的间隔时间(默认 1 秒,root 用户可设小于 1 秒的值)。
  • -W <超时秒数>:指定等待响应的超时时间(默认 2 秒)。

示例:

# 测试与百度的连通性,发送 4 个数据包
ping -c 4 www.baidu.com# 向 192.168.1.1 发送 3 个数据包,每个包大小 100 字节,间隔 2 秒
ping -c 3 -s 100 -i 2 192.168.1.1
wget:网络文件下载工具

作用:非交互式地从网络(支持 HTTP、HTTPS、FTP 等协议)下载文件,适合在命令行或脚本中使用。

语法:

wget [选项] 下载链接(URL)

常用选项:

  • -b:后台下载(程序转入后台运行,输出日志到当前目录的 wget-log 文件)。
  • -O <文件名>:指定下载文件的本地保存名称(默认使用远程文件原名)。
  • -P <目录>:指定文件保存的目录(默认保存到当前目录)。
  • -c:断点续传(如果下载中断,再次运行可从断点继续,避免重复下载)。
  • -r:递归下载(用于下载整个网站目录,慎用,可能导致大量文件)。

示例:

# 后台下载一个安装包,日志保存到 wget-log
wget -b https://example.com/software.tar.gz# 下载文件并指定保存到 /tmp 目录,命名为 app.tar.gz
wget -P /tmp -O app.tar.gz https://example.com/software.tar.gz# 断点续传之前未下载完的文件
wget -c https://example.com/large_file.iso
curl:多功能网络请求工具

作用:发起 HTTP/HTTPS/FTP 等网络请求,可用于下载文件、提交表单、测试 API 等(功能比 wget 更灵活)。

语法:

curl [选项] URL

常用选项:

  • -O:下载文件,保存为远程服务器上的文件名(与远程文件名一致)。
  • -o <文件名>:下载文件,并指定本地保存的文件名(自定义名称)。
  • -X <方法>:指定 HTTP 请求方法(如 GET、POST、PUT、DELETE 等,默认 GET)。
  • -d <数据>:发送 POST 数据(如表单提交,curl -X POST -d "name=test" http://example.com)。
  • -H <头部>:添加 HTTP 请求头(如 curl -H "Content-Type: application/json" http://example.com)。
  • -L:跟随 HTTP 重定向(如果目标 URL 跳转,自动跟随新地址)。
  • -I:只获取目标 URL 的响应头(不下载内容,用于查看状态码、服务器信息等)。

示例:

# 用 -O 下载文件,保存为远程文件名(如 remote_file.zip)
curl -O https://example.com/remote_file.zip# 用 -o 下载文件并命名为 local_file.zip
curl -o local_file.zip https://example.com/remote_file.zip# 发送 POST 请求,提交表单数据
curl -X POST -d "username=admin&password=123" https://example.com/login# 查看目标 URL 的响应头(如状态码、服务器类型)
curl -I https://www.baidu.com

  • ping:专注于网络连通性测试,核心是判断目标是否可达。
  • wget:专注于文件下载,支持后台、断点续传,适合批量或后台下载场景。
  • curl:功能更全面的网络请求工具,不仅能下载,还能模拟各种 HTTP 请求(适合 API 测试、数据提交等)。

端口

在计算机网络中,端口(Port) 是用于区分同一台设备上不同网络服务的 “逻辑通道”。它本质上是一个 16 位的数字(范围 0-65535),用于标识网络通信中发送方或接收方的具体服务 / 进程。

为什么需要端口?

一台服务器(或电脑)可能同时运行多个网络服务(比如 Web 服务、SSH 远程服务、邮件服务等)。当外部设备(如客户端)向这台服务器发送数据时,仅通过 IP 地址只能定位到服务器本身,而端口则用于指定数据应该交给服务器上的哪个服务处理

例如:

  • 你用浏览器访问www.baidu.com时,数据会发送到百度服务器的80 端口(HTTP 服务默认端口);
  • ssh远程登录服务器时,数据会发送到服务器的22 端口(SSH 服务默认端口)。
端口的分类(按编号范围)

端口编号范围是 0-65535(共 2¹⁶=65536 个),按用途分为三类:

  1. 知名端口(Well-Known Ports)编号:0-1023用途:预留给系统级或常用服务,由 IANA(互联网号码分配机构)统一分配,一般固定对应特定服务。常见例子:

    • 20/21:FTP(文件传输协议,20 数据端口,21 控制端口)
    • 22:SSH(远程登录)
    • 80:HTTP(超文本传输协议,网页服务)
    • 443:HTTPS(加密的 HTTP,安全网页服务)
    • 53:DNS(域名解析服务)
    • 3306:MySQL 数据库服务
    • 6379:Redis 缓存服务
  2. 注册端口(Registered Ports)编号:1024-49151用途:由 IANA 注册给特定的应用程序或服务,用于非系统级的服务,避免端口冲突。常见例子:

    • 8080:常用的 HTTP 替代端口(如开发环境的 Web 服务)
    • 3389:Windows 远程桌面服务(RDP)
  3. 动态 / 私有端口(Dynamic/Private Ports)编号:49152-65535用途:不固定分配给任何服务,主要用于客户端临时发起连接时随机使用(客户端端口)。例如:你的电脑浏览器访问www.baidu.com:80时,浏览器会随机从这个范围选一个端口作为 “源端口”,与百度服务器的 80 端口(目标端口)建立连接。

端口的状态

在服务器中,端口的状态反映了它的通信状态,常用工具(如ssnetstat)查看时会显示:

  • LISTEN:端口处于 “监听” 状态,服务已启动并等待客户端连接(如nginx启动后,80 端口会显示 LISTEN)。
  • ESTABLISHED:已与客户端建立连接(如浏览器成功访问网页后,服务器端对应端口会显示此状态)。
  • TIME_WAIT:连接已关闭,处于等待状态(确保数据传输完成)。
  • CLOSED:端口未被任何服务占用,处于关闭状态。
查看端口的常用命令(Linux)

1. ss

  • 查看所有监听的 TCP/UDP 端口:

    ss -tuln  # -t: TCP, -u: UDP, -l: 监听状态, -n: 显示端口号(不解析服务名)
    
  • 查看指定端口(如 80)的占用情况:

    ss -tuln | grep 80
    
端口与防火墙

服务器的端口是否能被外部访问,还受防火墙控制。即使服务监听了某个端口,若防火墙未开放该端口,外部也无法连接。

例如,在 Linux 中开放 80 端口(允许外部访问 HTTP 服务):

  • firewalld

    sudo firewall-cmd --add-port=80/tcp --permanent  # 永久开放80端口(TCP)
    sudo firewall-cmd --reload  # 重载配置
    
  • iptables

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许外部访问80端口(TCP)
    

环境变量

环境变量(Environment Variable) 是一种存储系统或应用程序配置信息的 “键值对” 变量,用于在不同程序之间传递共享信息。它相当于系统的 “全局参数”,程序启动时会自动读取这些变量,从而获取运行所需的配置(如路径、语言、临时目录等)。

环境变量的核心特点

  1. 键值对形式:每个环境变量由 “变量名 = 值” 组成(例如 PATH=/usr/bin)。
  2. 全局可见性:在当前会话或系统中,所有运行的程序都能访问环境变量(除非被限制)。
  3. 动态性:可以随时修改,修改后新启动的程序会使用新值(已有程序可能需要重启才生效)。
  4. 大小写敏感:在 Linux/macOS 中区分大小写(如 PATH 和 path 是两个不同变量),Windows 中不敏感。
Linux 中常见的环境变量

系统预设了许多环境变量,用于控制基础功能,以下是最常用的几个:

环境变量作用
PATH程序搜索路径:系统执行命令时(如 lspython),会从 PATH 包含的目录中查找可执行文件。
HOME当前用户的主目录路径(如 /home/ubuntu 或 ~)。
USER当前登录的用户名(如 rootuser1)。
PWD当前工作目录的绝对路径(等同于 pwd 命令的输出)。
LANG系统默认语言和编码(如 zh_CN.UTF-8 表示中文 UTF-8 编码)。
TEMP/TMP临时文件存储目录(通常是 /tmp)。
SHELL当前使用的 shell 程序路径(如 /bin/bash/bin/zsh)。

如何操作环境变量(Linux 命令行)

1. 查看环境变量

  • 查看单个变量:用 echo $变量名$ 是变量引用符号):

    echo $PATH  # 查看程序搜索路径
    echo $HOME  # 查看当前用户主目录
    
  • 查看所有环境变量

    • env:列出所有环境变量(简洁输出)。
    • printenv:功能同 env,支持指定单个变量(如 printenv PATH)。
    • set:除环境变量外,还会列出当前 shell 的本地变量(更详细)。

2. 设置 / 修改环境变量

环境变量的生效范围分为 “临时生效” 和 “永久生效”:

(1)临时生效(仅当前 shell 会话有效)

用 export 命令定义或修改,关闭终端后失效:

# 定义一个新的环境变量(例如 MY_APP_PATH)
export MY_APP_PATH="/opt/myapp"# 修改已有变量(例如在 PATH 中添加新目录)
export PATH="$PATH:/opt/newbin"  # 保留原有 PATH 内容,追加新目录

(2)永久生效(重启后仍有效)

需将变量定义写入 shell 的配置文件,根据适用范围分为 “用户级” 和 “系统级”:

  • 用户级:仅对当前用户生效,配置文件在用户主目录(~):

    • bash shell:~/.bashrc 或 ~/.bash_profile(推荐 ~/.bashrc)。
    • zsh shell:~/.zshrc

    示例:在 ~/.bashrc 中添加变量

    # 编辑配置文件
    vim ~/.bashrc# 在文件末尾添加(例如设置自定义路径)
    export MY_VAR="hello"
    export PATH="$PATH:/home/user/bin"# 保存后,让配置立即生效(无需重启)
    source ~/.bashrc  # 或 . ~/.bashrc
    
  • 系统级:对所有用户生效,配置文件为系统级路径(需 root 权限):

    • /etc/profile:所有 shell 的全局配置(登录时加载)。
    • /etc/environment:纯环境变量配置(不执行命令,仅定义 KEY=VALUE)。

    示例:修改 /etc/profile(谨慎操作,影响所有用户)

    sudo vim /etc/profile
    # 添加变量(例如系统级路径)
    export SYSTEM_PATH="/usr/local/common"
    # 生效
    source /etc/profile
    

3. 删除环境变量

用 unset 命令删除已定义的环境变量(临时删除,重启或重新加载配置后可能恢复):

unset MY_VAR  # 删除 MY_VAR 变量

环境变量的典型用途

  1. 控制程序路径PATH 变量让系统无需输入完整路径即可执行命令(例如直接输入 python 而非 /usr/bin/python)。
  2. 配置应用参数:许多程序通过环境变量读取配置(如 JAVA_HOME 指定 Java 安装目录,NODE_ENV 控制 Node.js 运行环境)。
  3. 临时切换设置:例如临时修改 LANG=en_US.UTF-8 切换系统语言,无需修改永久配置。
  4. 脚本传参:在 shell 脚本中,环境变量可作为全局参数传递给多个命令或子脚本。

压缩格式及特点

格式特点典型文件后缀
tar仅归档(将多个文件 / 目录打包成一个文件,不压缩体积),速度快。.tar
tar+gziptar归档后用gzip压缩(兼具归档和压缩功能,压缩率较高),Linux 最常用。.tar.gz 或 .tgz
zip同时支持归档和压缩,跨平台(Windows/Linux/macOS 通用),压缩率中等。.zip
tar 命令(处理 .tar 和 .tar.gz 格式)

tar 是 Linux 中最常用的归档工具,本身仅打包不压缩,结合 -z 选项可调用 gzip 进行压缩,生成 .tar.gz 格式(压缩后的归档文件)。

核心选项(你提到的关键参数):

  • -c创建归档 / 压缩文件(打包模式)。
  • -x解压归档 / 压缩文件(解压模式)。
  • -v显示过程(verbose,显示打包 / 解压的文件列表,方便查看进度)。
  • -f指定文件(后跟文件名,必须放在选项组的最后,否则会报错)。
  • -z启用 gzip 压缩(处理 .tar.gz 格式,需放在选项组开头)。
  • -C指定解压路径(单独使用,解压时将文件放到指定目录,不指定则解压到当前目录)。

常用场景示例:

1. 创建归档 / 压缩文件(-c 模式)

  • 仅归档(不压缩):将文件 / 目录打包成 .tar

    # 将 file1.txt、dir1 打包成 archive.tar(不压缩)
    tar -cvf archive.tar file1.txt dir1  
    # 说明:-c(创建)、-v(显示过程)、-f(指定文件 archive.tar)
    
  • 归档并压缩(gzip):生成 .tar.gz(最常用)

    # 将 file2.txt、dir2 打包并压缩成 archive.tar.gz
    tar -zcvf archive.tar.gz file2.txt dir2  
    # 说明:-z(gzip压缩)、-c(创建)、-v(显示过程)、-f(指定文件,必须在最后)
    

2. 解压文件(-x 模式)

  • 解压到当前目录

    # 解压 .tar 文件
    tar -xvf archive.tar  # 解压 .tar.gz 文件(需加 -z)
    tar -zxvf archive.tar.gz  
    
  • 解压到指定目录(-C

    # 将 archive.tar.gz 解压到 /tmp 目录
    tar -zxvf archive.tar.gz -C /tmp  
    # 说明:-C 后跟目标路径,必须在文件名之后单独使用
    
zip 命令(处理 .zip 格式)

zip 是跨平台的压缩工具,可同时打包和压缩文件 / 目录,生成的 .zip 文件在 Windows 中也能直接解压。

核心选项(你提到的 -r):

  • -r递归压缩目录(压缩文件夹时必须加,否则只会压缩目录本身,不包含子文件 / 子目录)。

常用场景示例:

  • 压缩单个文件

    # 将 file.txt 压缩成 file.zip
    zip file.zip file.txt  
    
  • 压缩目录(必须加 -r

    # 将 dir3 及其子内容压缩成 dir3.zip
    zip -r dir3.zip dir3  
    
  • 压缩多个文件 / 目录

    # 同时压缩 file.txt 和 dir3 到 all.zip
    zip -r all.zip file.txt dir3  
    
unzip 命令(解压 .zip 格式)

unzip 用于解压 .zip 文件,配合 -d 选项可指定解压路径。

核心选项(你提到的 -d):

  • -d指定解压目录(不指定则解压到当前目录)。

常用场景示例:

  • 解压到当前目录

    # 解压 dir3.zip 到当前目录
    unzip dir3.zip  
    
  • 解压到指定目录(-d

    # 将 all.zip 解压到 /home/user/docs 目录
    unzip all.zip -d /home/user/docs  
    
  • 查看压缩包内容(不解压)

    # 查看 all.zip 里的文件列表
    unzip -l all.zip  
    

总结

需求场景推荐命令示例
Linux 内归档 + 压缩(常用)tar -zcvf 压缩包名.tar.gz 源文件/目录tar -zcvf data.tar.gz data/
解压 .tar.gz 到指定目录tar -zxvf 压缩包名.tar.gz -C 目标路径tar -zxvf data.tar.gz -C /tmp
跨平台压缩(含 Windows)zip -r 压缩包名.zip 源文件/目录zip -r docs.zip documents/
解压 .zip 到指定目录unzip 压缩包名.zip -d 目标路径unzip docs.zip -d /home/user
http://www.dtcms.com/a/579384.html

相关文章:

  • 网站域名免费注册深圳宝安房价
  • 如何搜索网站微信公众号平台登陆
  • 销售外包团队搜索关键词排名优化技术
  • 常见网站推广方式莱芜吧重汽怎么样
  • 网站维护怎么学视频制作软件手机版
  • 怎么看到网站开发时间永嘉高端网站建设效果
  • 怎么建一个网站卖东西咸宁有做网站的吗
  • 抚州做网站wordpress菜单页面未找到
  • 注册域名的网站有哪些有没有网站
  • 上海做网站的小公司有哪些网站接入支付宝需要网站备案吗
  • 商品网站开发需求表企业定制网站建设公司
  • 二手表网站2012版wordpress
  • 怎么做付款链接网站中国公路建设行业协会网站上
  • Redis缓存“防坑指南”:从“缓存穿透”到“分布式锁”,3个案例讲透实战用法
  • seo网站排名如何查看网站流量
  • 网站优化的基本思想百度发布信息怎么弄
  • 什么专业可以做网站编辑游戏软件开发培训
  • 北大荒建设集团有限公司网站求一个手机能看的2022
  • 免费建站并且绑定域名怎么在网上做外贸
  • 本地wordpress站点上传下载 app
  • 深圳网站设计制海口 网站建设
  • 网站订单系统模板淘宝美工做倒计时图片网站
  • 上海的网站开发公司电话电脑广告设计软件
  • 深圳布吉建网站公司小程序运营主要做什么
  • 企业大型网站开发建站教程详解大悟建设局网站
  • leetcode 860 柠檬水找零
  • 八埏网站开发网站建设的活动方案
  • 沈阳男科医院去哪里广州网站优化平台
  • 山东省城乡与建设厅网站首页有什么网站做投标设计
  • Linux应用开发-10-管道