diff --git "a/\345\221\250\346\235\216\351\230\263/.keep" "b/\345\221\250\346\235\216\351\230\263/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.16-Pm2.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.16-Pm2.md" new file mode 100644 index 0000000000000000000000000000000000000000..7a9615f0050dcf749e650420476c55fc5c730665 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.16-Pm2.md" @@ -0,0 +1,14 @@ +## pm2 是一个流行的 Node.js 进程管理器,它允许用户在后台运行 Node.js 应用程序,并提供了以下主要功能: + +1. 进程管理:pm2 可以管理和监控多个 Node.js 进程,包括启动、重启、停止、重启失败的服务等。 + +2. 高可用:pm2 支持集群模式,可以自动重启失败的服务,保证应用的高可用性。 + +3. 日志管理:pm2 自带日志管理功能,可以实时查看和管理应用的输出日志,方便调试和监控。 + +4. 自动重启:当 Node.js 应用程序因错误崩溃时,pm2 可以自动重启,根据配置设置重启策略。 + +5. 进程生命周期钩子:pm2 支持自定义钩子,允许在应用程序启动、停止、重启等关键阶段执行额外操作。 + +6. 命令行工具:pm2 提供了简洁的命令行界面,使得管理和操作 Node.js 应用变得简单。 + diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.20-Debian\345\256\211\350\243\205.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.20-Debian\345\256\211\350\243\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..f8c2cda6761e204e544354eec1c2160ae6c01dc9 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.20-Debian\345\256\211\350\243\205.md" @@ -0,0 +1,53 @@ +## 在VMware Workstation上安装Debian操作系统涉及到创建一个新的虚拟机并配置其硬件和软件设置。 + +### 安装准备 + +1. 下载Debian镜像:前往Debian官方网站下载最新的Debian镜像文件,通常有DVD镜像或者网络安装镜像。 + +2. 安装VMware Workstation:如果你还没有安装VMware Workstation,你需要先下载并安装它。 + +### 创建虚拟机 + +1. 启动VMware Workstation,点击“新建虚拟机”。 + +2. 选择虚拟机类型,这里选择“自定义(高级)”。 + +3. 选择操作系统,选择“Linux”,然后选择“Debian”。 + +4. 输入虚拟机名称,选择安装位置。 + +5. 分配资源:为虚拟机分配CPU和内存。 + +6. 选择虚拟硬盘文件,设置虚拟硬盘的大小。 + +7. 创建虚拟硬件:添加网络适配器、硬盘、光驱等。 + +### 安装操作系统 + +1. 插入下载的Debian DVD镜像或者ISO文件。 + +2. 启动虚拟机,并选择“安装Debian”。 + +3. 按照屏幕上的指示进行操作,选择语言、地区等信息。 + +4. 在安装过程中,选择手动分区,并根据自己的需求进行分区设置。 + +5. 设置root用户和普通用户密码。 + +6. 完成安装后,重启虚拟机。 + +### 配置网络 + +1. 编辑虚拟机设置:在VMware Workstation中,右键点击Debian虚拟机,选择“编辑虚拟机设置”。 + +2. 网络适配器:确保网络适配器设置为NAT模式,以便虚拟机可以访问外部网络。 + +3. 安装后配置: + + 更新软件包:登录到Debian系统后,使用以下命令更新软件包: + + sudo apt update + + sudo apt upgrade + +4. 安装必要的软件:根据需要安装额外的软件包,例如文本编辑器、开发工具等。 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.22-Linux\344\273\213\347\273\215.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.22-Linux\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..9c91db45b0e05a8ff1b9df7c4be6f9c023b8a1d3 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.22-Linux\344\273\213\347\273\215.md" @@ -0,0 +1,21 @@ +## Linux 是一个开源的类 Unix 操作系统,Linux 操作系统因其稳定性、安全性、灵活性和免费开源的特性而被广泛应用于服务器、个人电脑、嵌入式系统等多个领域。 + +### Linux 的特点包括: + +1. 开源免费:Linux 遵循 GNU 通用公共许可证(GPL),用户可以自由地使用、修改和分发。 + +2. 多用户和多任务:Linux 支持多用户同时使用,每个用户可以同时运行多个程序。 + +3. 稳定性:Linux 系统非常稳定,可以长时间运行而不需要重启。 + +4. 安全性:Linux 提供了强大的安全特性,包括用户权限管理、防火墙等。 + +5. 广泛的硬件支持:Linux 支持大量的硬件设备,包括各种处理器架构。 + +6. 丰富的软件支持:有大量的开源软件可以在 Linux 上运行。 + +7. 可定制性:用户可以根据自己的需要定制 Linux 系统,包括桌面环境、启动脚本等。 + +Linux 的发行版众多,如 Ubuntu、Fedora、Debian、CentOS、Red Hat Enterprise Linux 等,每个发行版都有其特定的目标用户和用途。 + +Linux 的学习和使用对于计算机科学和信息技术领域的专业人士来说是非常重要的,它不仅提供了深入理解操作系统的机会,也是许多服务器和网络应用的基础。 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.23-Linux\347\233\256\345\275\225.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.23-Linux\347\233\256\345\275\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..0f72cdd43cf76634e474d6e08ffb946d7e4bbdeb --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.23-Linux\347\233\256\345\275\225.md" @@ -0,0 +1,27 @@ +## 目录 + +### Linux系统中的目录结构是文件系统的组织方式,它为用户和程序提供了一个层次化的文件存储位置。 + +在Linux中,所有的文件和目录都组织在一个树状的结构中,以根目录/开始。 + +--- + +**下面是Linux系统中常见的目录及其简要说明:** + +- / - 根目录,整个文件系统的起始点。 +- /bin - 用于存放最常用的命令行工具,如ls、cp、mv等。 +- /sbin - 存放系统管理的命令行工具,如fsck、init、ip等。 +- /etc - 存放系统配置文件。 +- /dev - 存放设备文件,用于与硬件设备通信。 +- /proc - 虚拟文件系统,用于提供内核信息和系统状态。 +- /var - 用于存放易变的文件,如日志、缓存和临时文件。 +- /tmp - 用于存放临时文件。 +- /usr - 用于存放用户程序和文件,以及大多数应用程序和文件都安装在这里。 +- /home - 用户的主目录,每个用户都有自己的子目录。 +- /root - root 用户的的主目录。 +- /boot - 存放启动Linux系统时使用的文件,如vmlinuz(内核映像)。 +- /lib - 存放系统核心库和模块。 +- /opt - 第三方应用程序包通常安装在这里。 +- /mnt - 用于临时挂载文件系统。 +- /media - 用于挂载可移动媒体,如CD-ROM、USB驱动器等。 +- /srv - 存放服务相关的数据。 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.24-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.24-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" new file mode 100644 index 0000000000000000000000000000000000000000..82a9483a66926e96f202e89f910270ce0fed03eb --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.24-Linux\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -0,0 +1,25 @@ +### 目录管理常用命令 + +- cd:切换工作目录(change directory):cd 路径 + +- pwd:显示当前工作目录的路径 + +- ls:列出当前目录中的文件和子目录 + +- tree:以树形结构列出指定路径下的内容 + +- mkdir:创建文件夹,创建嵌套目录 + +- rmdir:删除空文件夹 + +- rm:删除文件,搭配-r选项可以删除目录,和-f搭配时慎用 + +- cp:复制某个,些对象 + +- mv:移动某个,些对象 + +- more/less:逐页显示文本文件内容 + +- head/tail:显示文件的前几行或后几行 + +- cat:由第一行开始显示文件内容 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.27-Linux\345\270\270\347\224\250\345\221\275\344\273\2442.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.27-Linux\345\270\270\347\224\250\345\221\275\344\273\2442.md" new file mode 100644 index 0000000000000000000000000000000000000000..5d092ee59363de39f509ced415b1b7e65afbf918 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.27-Linux\345\270\270\347\224\250\345\221\275\344\273\2442.md" @@ -0,0 +1,9 @@ +### 目录管理常用命令 + +1. find:用于在文件系统中搜索符合指定条件的文件,并可以执行相应的操作,如打印、删除等。 + +2. locate:快速定位文件,它会搜索一个数据库而不是实时搜索文件系统。因此,它的搜索速度比find快,但可能不够准确。 + +3. whereis:用于定位指定命令的位置。它会显示命令的二进制文件、源文件和man手册页的位置。 + +4. which:与whereis类似,用于定位指定命令的位置。它只会显示命令的二进制文件的位置。 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.29-vim.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.29-vim.md" new file mode 100644 index 0000000000000000000000000000000000000000..47e0e0d5cfc6e45ac3044ff38c5a10bee5aeedcf --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.29-vim.md" @@ -0,0 +1,46 @@ +## Vim + +是一个从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 + +## vi/vim 的使用 +基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。 + +### 1. 命令模式 + +用户刚刚启动 vi/vim,便进入了命令模式。 + +此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。 + +### 普通模式常用的几个命令: + +i -- 切换到输入模式,在光标当前位置开始输入文本。 + +x -- 删除当前光标所在处的字符。 + +: -- 切换到底线命令模式,以在最底一行输入命令。 + +a -- 进入插入模式,在光标下一个位置开始输入文本。 + +o:在当前行的下方插入一个新行,并进入插入模式。 + +O -- 在当前行的上方插入一个新行,并进入插入模式。 + +dd -- 剪切当前行。 + +yy -- 复制当前行。 + +p(小写) -- 粘贴剪贴板内容到光标下方。 + +P(大写)-- 粘贴剪贴板内容到光标上方。 + +u -- 撤销上一次操作。 + +Ctrl + r -- 重做上一次撤销的操作。 + +:w -- 保存文件。 + +:q -- 退出 Vim 编辑器。 + +:q! -- 强制退出Vim 编辑器,不保存修改。 + +**若想要编辑文本,只需要启动 Vim,进入了命令模式,按下 i 切换到输入模式即可。** \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.30-vim\345\205\211\346\240\207.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.30-vim\345\205\211\346\240\207.md" new file mode 100644 index 0000000000000000000000000000000000000000..05e6d46a3a0e3e19a2584470e213b08711b5e0c6 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.30-vim\345\205\211\346\240\207.md" @@ -0,0 +1,73 @@ +## 移动光标 + +用于删除和复制文本的命令包括 x(删除字符)、dd(删除整行)、yy(复制整行) + +--- + +u:撤销最后的操作 + +Ctrl + r:重做操作(撤销的反操作) + +ctrl+f: 下翻一屏 + +ctrl+b: 上翻一屏 + +ctrl+d: 下翻半屏 + +ctrl+u: 上翻半屏 + +ctrl+e: 向下滚动一行 + +ctrl+y: 向上滚动一行 + +n%: 到文件n%的位置 + +zz: 将当前行移动到屏幕中央 + +zt: 将当前行移动到屏幕顶端 + +zb: 将当前行移动到屏幕底端 + +g$: 移动光标所在屏幕行行尾 + +n|: 把光标移到递n列上 + +nG: 到文件第n行 + +:n 移动到第n行 + +### 单位级 + +h:向左移动一个字符 + +j:向下移动一个字符 + +k:向上移动一个字符 + +l:向右移动一个字符 + +### 单词级 + +w:向前移动到下一个单词的开头 + +b:向后移动到前一个单词的开头 + +e:光标跳到下个字的字尾【单词】 + +### 块级 + +0:移动到行首 + +^:移动到行的第一个非空白字符 + +$:移动到行尾 + +gg:移动到文件的开头 + +G:移动到文件的结尾 + +H:移动到当前窗口的首行 + +M:移动到当前窗口的中间位置 + +L:移动光标到当前窗口的最后一行 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.05.31-vim\347\274\226\350\276\221.md" "b/\345\221\250\346\235\216\351\230\263/2024.05.31-vim\347\274\226\350\276\221.md" new file mode 100644 index 0000000000000000000000000000000000000000..3aba352d720c4c1d05f1623f6a02c52f8f772bef --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.05.31-vim\347\274\226\350\276\221.md" @@ -0,0 +1,83 @@ +## 文档修改和保存 + +### 插入 + +i 当前字符前插入 + +I 当前行首插入 + +a 当前字符后插入 + +A 当前行尾插入 + +o 在下一行插入 + +O 在上一行插入 + +### 删除 + +x 删除当前字符,相当于 insert 模式下的 Delete + +X 删除前一个字符,相当于 insert 模式下的 Backspace + +d 删除指定内容并保存到 Vim 剪贴板 + +dd 删除当前行,并将删除的内容保存到 Vim 剪贴板 + +cc 删除当前行并保存到 Vim 剪贴板,同时进入 INSERT 模式 + +c 删除指定内容并保存到 Vim 剪贴板,同时进入 INSERT 模式 + +### 复制 + +y 复制指定字符串到粘贴板 + +yy 复制整行到粘贴板 + +### 粘贴 + +p 在当前位置后粘贴 + +P 在当前位置前粘贴 + +### 合并 + +J 合并当前行和下一行 + +### 替换 + +r 将当前字符替换为 X + +gu 将指定的文本转换为小写 + +gU 将指定的文本转换为大写 + +:%s/// 查找 search 内容并替换为 replace 内容(常用) + +### 缩进 + +向右缩进当前行 + +<< 向左缩进当前行 + +### 撤销与重做 + +u 撤销 + +Ctrl-r 重做 + +. 重复上一个动作,3.重复上次动作3次 + +### 保存修改 + +:w 保存当前文件 + +:wa 保存全部文件 + +:wq or ZZ 保存并退出 + +:q! or ZQ 强制退出,不保存 + +:saveas 文件另存为 + +:w 文件另存一份名为 的副本并继续编辑原文件 \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.06.03-Linux\347\224\250\346\210\267\347\256\241\347\220\206.md" "b/\345\221\250\346\235\216\351\230\263/2024.06.03-Linux\347\224\250\346\210\267\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..b122f2e8c4a9d80e0c4e73ba546cd4275d6beecc --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.06.03-Linux\347\224\250\346\210\267\347\256\241\347\220\206.md" @@ -0,0 +1,73 @@ +## 文档修改和保存 + +批量插入:先进入块模式(ctrl+v),再按Shift+i,按ESC + +### 用户管理 + +新增用户: + +useradd 更适合脚本自动化操作--->useradd 用户名 + +-m(家目录):useradd -m 用户名 -p 密码 + +adduser:会引导用户一步步填写这些信息,提供更简单、交互式的用户创建过程 + +-c comment 指定一段注释性描述 + +-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录 + +-g 用户组 指定用户所属的用户组 + +-G 用户组,用户组 指定用户所属的附加组 + +-s Shell文件 指定用户的登录Shell + +-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号 + +### 删除帐号 + +userdel 选项 用户名 + +userdel -r sam (常用的选项是 -r,它的作用是把用户的主目录一起删除) + +### 修改帐号 + +usermod 选项 用户名 + +### 用户口令的管理 + +passwd 选项 用户名 + +-l 锁定口令,即禁用账号 + +-u 口令解锁 + +-d 使账号无口令 + +-f 强迫用户下次登录时修改口令 + +### Linux系统用户组的管理 + +增加一个新的用户组使用groupadd命令 + +groupadd 选项 用户组:# groupadd group1 + +-g GID 指定新用户组的组标识号(GID) + +-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同 + +如果要删除一个已有的用户组,使用groupdel命令 + +groupdel 用户组 + +修改用户组的属性使用groupmod命令 + +groupmod 选项 用户组 + +-g GID 为用户组指定新的组标识号 + +-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同 + +-n新用户组 将用户组的名字改为新名字 + +如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限 diff --git "a/\345\221\250\346\235\216\351\230\263/2024.06.05-Linux\347\224\250\346\210\267\347\256\241\347\220\2062.md" "b/\345\221\250\346\235\216\351\230\263/2024.06.05-Linux\347\224\250\346\210\267\347\256\241\347\220\2062.md" new file mode 100644 index 0000000000000000000000000000000000000000..3f44a3ae9d88fc33cd5c5d49c84f67d168fb9be0 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.06.05-Linux\347\224\250\346\210\267\347\256\241\347\220\2062.md" @@ -0,0 +1,55 @@ +## 用户账户创建和删除 + +### 1 创建用户账户 + +在Linux中,可以使用useradd命令创建用户账户。例如,要创建名为"john"的用户账户,可以运行以下命令: + +useradd john + +### 2 删除用户账户 + +要删除用户账户,可以使用userdel命令。例如,要删除名为"john"的用户账户,可以运行以下命令: + +userdel john + +### 3 设置用户账户的属性 + +可以使用usermod命令来设置用户账户的属性,如用户主目录、登录Shell等。例如,要将用户"john"的主目录设置为"/home/john",可以运行以下命令: + +usermod -d /home/john john + +## 用户登录和注销 + +### 1 远程登录 + +要通过SSH进行远程登录,可以使用ssh命令。例如,要从本地计算机登录到远程主机"example.com",可以运行以下命令: + +ssh username@example.com + +### 2 本地登录 + +要在本地登录Linux系统,可以使用登录管理器(如GDM或LightDM)或文本模式登录。在登录界面上输入用户名和密码即可登录。 + +### 3 强制用户注销 + +如果需要强制注销用户,可以使用pkill命令。例如,要强制注销用户"john",可以运行以下命令: + +pkill -KILL -u john + +## 用户密码管理 + +### 1 密码策略 + +为了保护用户账户安全,应采用合理的密码策略。可以通过修改/etc/login.defs文件来设置密码策略,如最小密码长度、密码过期时间等。 + +### 2 修改用户密码 + +要修改用户密码,可以使用passwd命令。例如,要修改用户"john"的密码,可以运行以下命令: + +passwd john + +### 3 重置用户密码 + +如果用户忘记密码或需要管理员重置密码,可以使用passwd命令。管理员可以用以下命令重置用户"john"的密码: + +sudo passwd john \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.06.07-Linux\346\235\203\351\231\220\347\256\241\347\220\206.md" "b/\345\221\250\346\235\216\351\230\263/2024.06.07-Linux\346\235\203\351\231\220\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..d2b047f3637a3cd20936587eb480c536746ec5bb --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.06.07-Linux\346\235\203\351\231\220\347\256\241\347\220\206.md" @@ -0,0 +1,30 @@ +# 特殊权限 + +## 隐藏权限 + +在 Debian 系统中,`i` 和 `a` 是两种用于文件和目录的隐藏权限,分别是 immutable(不可变) 和 append-only(仅追加)。这些权限不能通过常规的 `chmod` 命令设置,而是需要使用 `chattr` 命令。 + +### `chattr` 命令 + +- `i`(immutable): + - 设置 `i` 属性的文件或目录是不可变的。不可变的文件不能被修改、删除、重命名,也不能链接到其他文件。 + - 设置方法:`chattr +i 文件名` + - 取消方法:`chattr -i 文件名` +- `a`(append-only): + - 设置 `a` 属性的文件只能追加内容,不能删除或修改现有内容。这通常用于日志文件。 + - 设置方法:`sudo chattr +a 文件名` + - 取消方法:`sudo chattr -a 文件名` + +```shell +# 设置 immutable 属性 +chattr +i example_file + +# 设置 append-only 属性 +chattr +a example_file + +# 设置 immutable 属性到目录 +chattr +i example_dir + +# 设置 append-only 属性到目录 +chattr +a example_dir +``` diff --git "a/\345\221\250\346\235\216\351\230\263/2024.06.12-\345\221\250\346\234\237\344\273\273\345\212\241.md" "b/\345\221\250\346\235\216\351\230\263/2024.06.12-\345\221\250\346\234\237\344\273\273\345\212\241.md" new file mode 100644 index 0000000000000000000000000000000000000000..ef4d160ba4b62b72783db025b56229448ae923f0 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.06.12-\345\221\250\346\234\237\344\273\273\345\212\241.md" @@ -0,0 +1,56 @@ +## 在Debian系统中,周期任务通常是通过cron服务来实现的。cron是一个在后台运行的守护进程,它会根据用户在crontab文件中设置的时间表来执行任务。 + +### 以下是一些基本的cron命令和语法: + +1. 查看crontab文件 +crontab -e +这会编辑当前用户的crontab文件。 + +2. 列出当前用户的crontab任务 +crontab -l + +3. 删除当前用户的crontab任务 +crontab -r + +4. 基本语法 +minute hour day month day_of_week command + +minute:0到59之间的整数 + +hour:0到23之间的整数 + +day:1到31之间的整数(如果月份中没有这一天,则该任务不会执行) + +month:1到12之间的整数(或者用名字,如jan、feb等) + +day_of_week:0到7之间的整数(0和7都代表星期天,或者用名字,如sun、mon等) + +command:要执行的命令或脚本 + +### 示例 +每小时执行一次: + +0 * * * * /path/to/command + +每天凌晨1点执行: + +0 1 * * * /path/to/command + +每月1号凌晨1点执行: + +0 1 1 * * /path/to/command + +每周六凌晨1点执行: + +0 1 * * 6 /path/to/command + +编辑crontab文件 在crontab文件中,你可以设置多个任务,每个任务占据一行。例如: + +0 * * * * /path/to/command1 +0 1 * * * /path/to/command2 + +启动、停止和重启cron服务 + +service cron start +service cron stop +service cron restart \ No newline at end of file diff --git "a/\345\221\250\346\235\216\351\230\263/2024.06.13-\347\216\257\345\242\203\345\217\230\351\207\217.md" "b/\345\221\250\346\235\216\351\230\263/2024.06.13-\347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..f5fdad1150e8ea233ed91edb0883ed8d03fb6c11 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.06.13-\347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,40 @@ +## Linux环境变量是一组由操作系统维护的动态命名值对,它们可以影响系统的行为和进程的运行环境。 + +### 环境变量: + +HOME:用户的主目录路径。 + +PATH:定义了shell查找可执行文件的目录列表。 + +PWD:当前工作目录的绝对路径。 + +USER:当前登录的用户名。 + +SHELL:当前用户使用的shell类型,如bash或zsh。 + +TERM:终端类型,用于确定终端的特性和功能。 + +DISPLAY:用于图形界面的显示服务器地址。 + +EDITOR:默认的文本编辑器。 + +LANG:语言环境,影响程序输出的语言和字符集。 + +LC_*:特定语言环境的变量,如LC_TIME、LC_MONETARY等 +。 + +PAGER:默认的分页程序,用于显示长文本。 + +PS1、PS2:主提示符和次提示符的格式。 + +### 环境变量可以通过多种方式设置和修改: + +在shell中临时设置:使用export命令。 + +在启动文件中永久设置:如~/.bashrc、~/.profile、/etc/profile等。 + +使用set命令显示或设置环境变量。 + +使用printenv命令显示环境变量。 + +使用env命令运行一个程序,并指定特定的环境变量。 diff --git "a/\345\221\250\346\235\216\351\230\263/2024.06.14\350\277\233\347\250\213\347\256\241\347\220\206.md" "b/\345\221\250\346\235\216\351\230\263/2024.06.14\350\277\233\347\250\213\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..99ceede4f9b45367f21c01883e6f13200014b7e6 --- /dev/null +++ "b/\345\221\250\346\235\216\351\230\263/2024.06.14\350\277\233\347\250\213\347\256\241\347\220\206.md" @@ -0,0 +1,56 @@ +## 进程管理 + +### ps +ps命令用于查看当前运行的进程。 +ps -a: 列出当前终端所有的进程,不包括系统进程。 +ps -e: 列出所有的进程,等同于-A。 +ps -f: 显示不包含资源使用率的相关信息。 +ps -H: 以进程层级格式显示进程相关信息。 +ps -w: 显示加宽可以显示较多的信息。 +ps -u: 显示较详细的信息。 +ps -x: 显示其他使用者的行程。 +ps -l: 使用详细格式显示程序状态 + +### top +top命令用于动态显示系统中进程和其他系统信息。 +top: 默认显示,按Ctrl+C结束。 +top -b: 以批处理模式运行。 +top -n: 指定更新次数。 + +### pstree +pstree命令以树状结构显示进程之间的关系。 +pstree: 默认显示。 +pstree -p: 显示进程ID。 +pstree -u: 显示用户名称。 + +### systemctl +systemctl命令用于管理系统和服务。 +systemctl start/stop/restart/status: 启动、停止、重启、查看服务状态。 +systemctl enable/disable: 开机自启、取消开机自启。 + +### kill +kill命令用于发送信号给进程。 +kill PID: 发送默认的SIGTERM信号给指定进程ID。 +kill -9 PID: 发送SIGKILL信号,强制终止进程。 + +### 其他命令 + +pgrep: 根据名称查找进程ID。 + +pkill: 根据名称终止进程。 + +jobs: 查看当前shell后台运行的进程。 + +bg: 将进程置于后台运行。 + +fg: 将后台进程置于前台运行。 + +### 实例: + +查看所有进程:ps -e + +查看进程树:pstree -p + +启动服务:systemctl start nginx + +终止进程:kill -9 1234