diff --git "a/\345\274\240\350\265\267\347\221\236/20240610 \350\256\251\347\275\221\347\253\231\344\275\277\347\224\250\344\270\212https\350\257\245\345\246\202\344\275\225\346\223\215\344\275\234.md" "b/\345\274\240\350\265\267\347\221\236/20240610 \350\256\251\347\275\221\347\253\231\344\275\277\347\224\250\344\270\212https\350\257\245\345\246\202\344\275\225\346\223\215\344\275\234.md" new file mode 100644 index 0000000000000000000000000000000000000000..c99ed85b92c7705dfeebbfe1aa2162fe94d4136c --- /dev/null +++ "b/\345\274\240\350\265\267\347\221\236/20240610 \350\256\251\347\275\221\347\253\231\344\275\277\347\224\250\344\270\212https\350\257\245\345\246\202\344\275\225\346\223\215\344\275\234.md" @@ -0,0 +1,96 @@ +让网站使用上https该如何操作: + +1. 有一个服务器:阿里云,华为云这些 +2. 有一个域名:自己买的域名,可以解析ip +3. SSL证书 + 1. 付费,按年支付 + 2. 免费,申请,90天 + 1. 有些申请SSL的网站 + 2. 在服务器所在平台,直接申请 + 1. 搜索SSL证书申请 + 2. 操作申请步骤 + 1. 填写申请的表格 www.taobao.com/a.txt + 2. 验证你的域名 :DNS验证,手动文件验证 a.txt + 3. 提交申请后,待签发,会有审核,几分钟就完成,已签发 + 4. 已签发,就可以下载证书 + 1. 一般会提供多种web服务器对应的证书 + 2. 选择自己Web服务器对应的文件下载(nginx证书) + 3. 是一个压缩包,解压后得到 + 1. www.taobao.com.key + 2. www.taobao.com.pem + 3. www.taobao.com.csr + 4. www.taobao.com.crt + 5. 将解压后的证书文件上传到nginx某个目录下(记得它的绝对路径/etc/nginx/cert/) +4. web服务器(nginx):apache,tomcat ,iis ,默认提供80端口,使用http访问 + +操作: + +1. 修改web服务器(nginx)的配置文件,加载SSL证书 + 1. 在服务器所在平台,直接搜索ssl证书部署,选择自己web服务版本对应的步骤 + 2. 打开你的nginx网站配置文件 /etc/nginx/conf.d/自己域名.conf + 3. 添加ssl对应的server +2. 开放443端口(华为云,阿里云,腾讯云,在安全组开放443) + +## 刚安装完Deiban系统 7步走: + +1. 设置国内软件源镜像 /etc/apt/sources.list +2. 更新软件包列表:apt update +3. 更新系统:apt upgrade -y +4. 安装vim: + 1. apt install vim -y + 2. locate 从数据库中找, find实时从系统中找 + +5. 编辑网卡配置,设置静态IP: +6. 只在虚拟机上操作,不要在云服务器操作 + +```bash +vim /etc/network/interfaces + +# 按如下设置 +# The primary network interface +allow-hotplug ens192 +iface ens192 inet dhcp + +#重新启动网络服务 +sudo systemctl restart networking +``` + +5. 修改SSHD配置,允许root用户远程登录 + +```bash +vim /etc/ssh/sshd_config + +# 取消如下代码的注释,并且将其值设置为yes,以允许root用户的远程登录 +22 +PermitRootLogin yes + + +``` + +6. 配置环境变量,简单化ls的用法 + + +/etc/profile.d /etc/nginx/conf.d/ + +```bash + export LS_OPTIONS='--color=auto' + alias ls='ls $LS_OPTIONS' + alias ll='ls $LS_OPTIONS -l' + alias l='ls $LS_OPTIONS -lA' + +``` + +7. 配置环境变量,设置当前系统字符集,以接受中文 + +/etc/profile.d/lang.sh + +```bash +export LC_ALL=C.utf8 +``` + +要确保设置生效,可以重新加载该文件并检查环境变量 + +```sh +source /etc/profile.d/lang.sh +echo $LC_ALL +``` \ No newline at end of file diff --git "a/\345\274\240\350\265\267\347\221\236/20240612 Deiban\347\263\273\347\273\237 7\346\255\245\350\265\260.md" "b/\345\274\240\350\265\267\347\221\236/20240612 Deiban\347\263\273\347\273\237 7\346\255\245\350\265\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..d627dac08abfcc8acd2b07355b5a0e6b934764b5 --- /dev/null +++ "b/\345\274\240\350\265\267\347\221\236/20240612 Deiban\347\263\273\347\273\237 7\346\255\245\350\265\260.md" @@ -0,0 +1,479 @@ +## 刚安装完Deiban系统 7步走: + +1. 设置国内软件源镜像 /etc/apt/sources.list +2. 更新软件包列表:apt update +3. 更新系统:apt upgrade -y +4. 安装vim: + 1. apt install vim -y + 2. locate 从数据库中找, find实时从系统中找 + +5. 编辑网卡配置,设置静态IP: +6. 只在虚拟机上操作,不要在云服务器操作 + +```bash +vim /etc/network/interfaces + +# 按如下设置 +# The primary network interface +allow-hotplug ens192 +iface ens192 inet dhcp + +#重新启动网络服务 +sudo systemctl restart networking +``` + +5. 修改SSHD配置,允许root用户远程登录 + +```bash +vim /etc/ssh/sshd_config + +# 取消如下代码的注释,并且将其值设置为yes,以允许root用户的远程登录 +22 +PermitRootLogin yes + + +``` + +6. 配置环境变量,简单化ls的用法 + + +/etc/profile.d /etc/nginx/conf.d/ + +```bash + export LS_OPTIONS='--color=auto' + alias ls='ls $LS_OPTIONS' + alias ll='ls $LS_OPTIONS -l' + alias l='ls $LS_OPTIONS -lA' + +``` + +7. 配置环境变量,设置当前系统字符集,以接受中文 + +/etc/profile.d/lang.sh + +```bash +export LC_ALL=C.utf8 +``` + +要确保设置生效,可以重新加载该文件并检查环境变量 + +```sh +source /etc/profile.d/lang.sh +echo $LC_ALL +``` + + + +几个常用命令 + +以下是一些常见的 Linux 命令,包括它们的使用场景、核心术语讲解以及示例: + +### 1. `time` + +**使用场景**:用于测量命令的执行时间。 + +**核心术语**: + +- **real**:总的时间(墙上时钟时间)。 +- **user**:用户态 CPU 时间。 +- **sys**:内核态 CPU 时间。 + +**示例**: + +```bash +time ls +``` + +输出: + +```plaintext +real 0m0.003s +user 0m0.001s +sys 0m0.002s +``` + +### 2. `date` + +**使用场景**:显示或设置系统日期和时间。 + +**核心术语**: + +- **%Y**:四位数的年份。 +- **%m**:两位数的月份。 +- **%d**:两位数的日期。 + +**示例**: + +```bash +date "+%Y-%m-%d %H:%M:%S" +``` + +输出: + +```plaintext +2024-06-10 15:30:00 +``` + +### 3. `timedatectl` + +**使用场景**:查看和设置系统时间和日期,时区和 NTP(网络时间协议)设置。 + +**核心术语**: + +- **NTP**:网络时间协议,用于同步时间。 +- **RTC**:实时时钟。 + +**示例**: + +```bash +timedatectl status +``` + +输出: + +```plaintext +Local time: Mon 2024-06-10 15:30:00 UTC +Universal time: Mon 2024-06-10 15:30:00 UTC +RTC time: Mon 2024-06-10 15:30:00 +Time zone: Etc/UTC (UTC, +0000) +System clock synchronized: yes +NTP service: active +``` + +### 4. `reboot` + +**使用场景**:重新启动系统。 + +**核心术语**: + +- **systemd**:系统和服务管理器。 + +**示例**: + +```bash +sudo reboot +``` + +### 5. `poweroff` + +**使用场景**:关闭系统电源。 + +**核心术语**: + +- **halt**:停止系统所有的 CPU 功能。 + +**示例**: + +```bash +sudo poweroff +``` + +### 6. `wget` + +**使用场景**:从网络上下载文件。 + +**核心术语**: + +- **URL**:统一资源定位符。 +- **HTTP/HTTPS**:超文本传输协议。 + +**示例**: + +```bash +wget https://example.com/file.txt +``` + +### 7. `curl` + +**使用场景**:从网络上获取或发送数据。 + +**核心术语**: + +- **URL**:统一资源定位符。 +- **GET/POST**:HTTP 请求方法。 + +**示例**: + +```bash +curl -O https://example.com/file.txt +``` + +### 8. `ps` + +**使用场景**:查看当前运行的进程。 + +**核心术语**: + +- **PID**:进程标识符。 +- **TTY**:终端类型。 + +**示例**: + +```bash +ps aux # 显示所有用户的所有进程 一般会结合。grep,awk等过滤数据 +``` + +### 9. `kill` + +**使用场景**:向进程发送信号(通常用于终止进程)。 + +**核心术语**: + +- **SIGTERM**:请求中止进程。 +- **SIGKILL**:强制终止进程。 + +**示例**: + +```bash +kill 1234 # kill 进程号,用pidof 进程名。来查看具体的进程的进程号 +``` + +### 10. `killall` + +**使用场景**:向指定名称的所有进程发送信号。 + +`先安装psmisc` + +1. 安装psmisc 后,就会有pstree和killall + +**核心术语**: + +- **signal**:信号,通知进程执行某种操作。 + +**示例**: + +```bash +killall firefox +``` + +### 11. `ip` + +**使用场景**:显示和操作网络接口和路由。 + +**核心术语**: + +- **address**:IP 地址。 +- **route**:路由信息。 + +**示例**: + +```bash +ip addr show +``` + +### 12. `ss` + +**使用场景**:显示套接字统计信息。旧版是netstat + +**核心术语**: + +- **TCP**:传输控制协议。 +- **UDP**:用户数据报协议。 + +**示例**: + +```bash +ss -tuln # 可以查看哪些端口开放着 +``` + +### 13. `uname` + +**使用场景**:显示系统信息。 + +**核心术语**: + +- **kernel**:操作系统内核。 +- **OS**:操作系统。 + +**示例**: + +```bash +uname -a +``` + +### 14. `uptime` + +**使用场景**:显示系统运行时间和负载。 + +**核心术语**: + +- **load average**:系统平均负载。 + +**示例**: + +```bash +uptime +``` + +### 15. `who` + +**使用场景**:显示当前登录用户信息。 + +**核心术语**: + +- **login**:用户登录信息。 +- **TTY**:终端类型。 + +**示例**: + +```bash +who +``` + +### 16. `last` + +**使用场景**:显示系统上最近的登录信息。 + +**核心术语**: + +- **wtmp**:记录登录和注销事件的文件。 + +**示例**: + +```bash +last +``` + +### 17. `ping` + +**使用场景**:测试网络连通性。 + +- **ICMP**:互联网控制消息协议。 +- **echo request**:回显请求。 + +**示例**: + +```bash +ping example.com +``` + +### 18. `traceroute` + +**使用场景**:显示到达网络主机的路径。 + +**核心术语**: + +- **hop**:从一个网络节点到另一个的跳转。 +- **TTL**:生存时间。 + +**示例**: + +```bash +traceroute example.com +``` + +### 19. `history` + +**使用场景**:显示命令历史记录。 + +**核心术语**: + +- **bash history**:记录用户输入的命令历史。 + +**示例**: + +```bash +history +``` + +`top` 命令用于显示系统的运行进程信息,包括 CPU 占用情况、内存占用情况、进程列表等。通过 `top` 命令可以实时监控系统的运行状态,了解系统的负载情况。 + +`pidof` 命令用于根据进程名查找对应的进程ID(PID)。例如,如果你知道某个进程的名字,但不知道它的PID,你可以使用 `pidof` 命令来查找。语法通常是 `pidof <进程名>`,比如 `pidof python` 会返回所有名为 `python` 的进程的PID。 + + + +`free` 和 `df -h` 是两个用于查看系统资源利用情况的常用命令: + +1. **`free`**:该命令用于显示系统内存的使用情况,包括物理内存和交换空间(swap)。执行 `free` 命令时,会显示系统的内存信息,包括总内存、已使用内存、空闲内存以及缓冲区和缓存等情况。 + + 示例输出: + + ``` + total used free shared buff/cache available + Mem: 8081256 2133468 3458604 430300 2488184 5261632 + Swap: 0 0 0 + ``` + + 输出中的字段含义如下: + + - `total`: 总内存量 + - `used`: 已使用的内存量 + - `free`: 空闲的内存量 + - `shared`: 用于共享的内存量 + - `buff/cache`: 用于缓存的内存量 + - `available`: 可用的内存量 + +2. **`df -h`**:该命令用于显示文件系统的磁盘空间利用情况。执行 `df -h` 命令时,会显示系统中每个挂载的文件系统的磁盘使用情况,包括总容量、已使用空间、剩余空间以及挂载点等信息。 + + 示例输出: + + ``` + Filesystem Size Used Avail Use% Mounted on + /dev/sda1 20G 15G 3.6G 81% / + /dev/sda2 30G 20G 8.8G 70% /home + ``` + + 输出中的字段含义如下: + + - `Filesystem`: 文件系统设备 + - `Size`: 文件系统总容量 + - `Used`: 已使用的空间 + - `Avail`: 可用空间 + - `Use%`: 使用百分比 + - `Mounted on`: 挂载点 + +通过这两个命令,你可以快速了解系统的内存和磁盘空间使用情况,以便进行系统资源管理和监控。 + + + +`du` 命令用于估算文件或目录的磁盘使用情况。它可以显示指定文件或目录的磁盘使用量,以及每个子目录的磁盘使用量,帮助用户了解文件系统上的空间分布情况。以下是 `du` 命令的一些常见使用场景: + +1. **查看当前目录的磁盘使用情况**: + + ``` + 复制代码 + du -h + ``` + + 这将以人类可读的格式显示当前目录及其所有子目录的磁盘使用情况。 + +2. **查看特定目录的磁盘使用情况**: + + ``` + du -h /目录名 + ``` + + 这将显示指定目录及其所有子目录的磁盘使用情况。 + +3. **显示文件或目录的总磁盘使用量**: + + ``` + du -sh /path/to/file_or_directory + ``` + + 这将显示指定文件或目录的总磁盘使用量, `-s` 参数表示仅显示总和, `-h` 表示以人类可读的格式显示。 + +4. **显示目录中每个文件的磁盘使用量**: + + ``` + 复制代码 + du -ah /path/to/directory + ``` + + 这将显示指定目录中每个文件的磁盘使用量, `-a` 参数表示包括所有文件。 + +5. **按照磁盘使用量排序显示目录**: + + ``` + du -h | sort -h + ``` + + 这将按照磁盘使用量从小到大排序显示当前目录及其所有子目录的磁盘使用情况。 + +6. **限制显示的深度**: + + ``` + du -h --max-depth=1 /path/to/directory + ``` + + 这将仅显示指定目录的直接子目录的磁盘使用情况, `--max-depth` 参数用于指定显示的深度。 \ No newline at end of file