首页
关于
Search
1
给你10个市场数据调研报告的免费下载网站!以后竞品数据就从这里找!
182 阅读
2
php接口优化 使用curl_multi_init批量请求
144 阅读
3
《从菜鸟到大师之路 ElasticSearch 篇》
107 阅读
4
2024年备考系统架构设计师
104 阅读
5
PHP 文件I/O
92 阅读
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
登录
Search
标签搜索
php函数
php语法
性能优化
安全
错误和异常处理
问题
vue
Composer
Session
缓存
框架
Swoole
api
并发
异步
正则表达式
php-fpm
mysql 索引
开发规范
协程
dafenqi
累计撰写
786
篇文章
累计收到
28
条评论
首页
栏目
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
副业
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
页面
关于
搜索到
14
篇与
的结果
2024-01-11
5个Linux用户管理命令
在使用多用户系统时,你可能需要一些命令来帮助你管理用户和组,以控制访问权限。下面我们就来介绍一下这些命令。1. useradd – 创建新用户useradd 命令用于创建新用户账户和主目录。它会设置新用户的 UID、组、shell 和其他默认值。useradd 实用选项:-c, --comment COMMENT:为新用户账户添加注释(通常是用户的全名)。示例:useradd -c "John Doe" username-d, --home HOME_DIR:指定用户的主目录路径。示例:useradd -d /home/username username-g, --gid GROUP:指定用户的初始用户组(GID)。示例:useradd -g groupname username-G, --groups GROUPS:将用户添加到其他附属组中。多个组名可以用逗号隔开。示例:useradd -G group1,group2 username-s, --shell SHELL:指定用户的默认登录 Shell。示例:useradd -s /bin/bash username-u, --uid UID:指定用户的用户标识号(UID),要求是一个唯一的数字。示例:useradd -u 1001 username-m, --create-home:创建用户时同时创建主目录。示例:useradd -m username-p, --password PASSWORD:为用户设置密码。注意,密码应以加密形式提供。示例:useradd -p encrypted_password username例子:useradd -m john上述命令将创建一个新用户 “john”,用户名和主目录均为 /home/john。2. usermod – 修改用户账户usermod 命令可修改现有用户账户的设置。这可以更改用户名、主目录、shell、组、有效期等。usermod 参数选项跟useradd一样。3. userdel – 删除用户账户userdel 命令用于删除用户账户、主目录和邮件 spool。例子:userdel -rf johnuserdel 有用选项:-r – 删除用户的主目录和邮件线轴。-f – 即使用户仍在登录,也强制删除。这将强制删除用户 “john”,并删除相关文件。在 userdel 中指定 -r 和 -f 等选项可确保完全删除用户账户,即使该用户仍在登录或有活动进程。4. groupadd – 添加一个组groupadd 命令用于创建一个新的用户组。就权限而言,组代表团队或角色。例子:groupadd -r sysadmin有用的 groupadd 选项:-r – 创建用于核心系统功能的系统组。-g – 指定新组的 GID,而不是使用下一个可用的 GID。上述命令创建了一个具有系统权限的新 “sysadmin” 组。创建新组时, -r 或 -g 有助于正确设置。5. passwd – 更新用户的身份验证令牌passwd 允许您更改用户帐户的密码。首先,它会提示您输入当前密码,然后要求您输入新密码并确认。它类似于您在其他地方看到的任何其他密码更改,但在本例中,它直接在您的终端中:passwd例子:passwd john这会提示用户 “john” 以交互方式输入新密码。如果你丢失了某个账户的密码,可以用 sudo 或 su 权限登录 Linux,然后用同样的方法修改密码。使用时要小心-一不小心可能会混肴用户密码!
2024年01月11日
18 阅读
0 评论
0 点赞
2024-01-11
5个Linux性能监控命令
这些命令提供了宝贵的系统性能统计数据,有助于分析资源利用率、识别瓶颈和优化效率。1. vmstat – 报告虚拟内存统计数据vmstat 命令可打印有关内存、交换、I/O 和 CPU 活动的详细报告。其中包括已用/可用内存、交换入/出、磁盘块读/写和 CPU 进程/闲置时间等指标。例子:vmstat 5其他有用的 vmstat 选项:-a – 显示活动和非活动内存-s – 显示事件计数器和内存统计信息-S – 以 KB 而不是块为单位输出5 – 每 5 秒刷新一次输出。上面的示例每 5 秒输出一次内存和 CPU 数据,直到中断为止,这对监控实时系统性能非常有用。[root@xx web]# vmstat 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 115732 0 952956 0 0 0 2 2 4 0 0 99 0 0每一列代表的意思: procs: 进程统计信息r: 运行队列中正在运行的进程数b: 等待运行的进程数memory: 内存统计信息swpd: 使用的交换空间大小(单位为KB)free: 空闲内存大小(单位为KB)buff: 用于缓冲的内存大小(单位为KB)cache: 用于缓存的内存大小(单位为KB)swap: 交换空间统计信息si: 从磁盘读取到交换空间的数据大小(单位为KB/s)so: 从交换空间写入到磁盘的数据大小(单位为KB/s)io: I/O 统计信息bi: 块设备接收的块数(单位为块/s)bo: 块设备发送的块数(单位为块/s)system: 系统统计信息in: 每秒中断的数量cs: 每秒上下文切换的数量cpu: CPU 统计信息us: 用户进程使用 CPU 的时间百分比sy: 系统进程使用 CPU 的时间百分比id: CPU 处于空闲状态的时间百分比wa: CPU 正在等待 I/O 完成的时间百分比st: 被虚拟化环境(例如虚拟机)偷取的时间百分比2. iostat – 报告 CPU 和 I/O 统计数据iostat 命令监控并显示 CPU 利用率和磁盘 I/O 指标。其中包括 CPU 负载、IOPS、读/写吞吐量等。一些 iostat 选项:c – 显示 CPU 使用率信息t – 为每份报告打印时间戳x – 显示服务时间和等待计数等扩展统计信息d – 显示每个磁盘/分区的详细统计信息,而不是合计总数p – 显示特定磁盘设备的统计信息下面每 5 秒钟显示一次 sda 每个设备的详细 I/O 统计信息。iostat -d -p sda 5iostat 可帮助分析磁盘子系统的性能,找出硬件瓶颈。[root@xx web]# iostat Linux 4.19.188-10.el7.ucloud.x86_64 (10-50-90-250) 01/11/2024 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.41 0.00 0.36 0.00 0.00 99.23 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 0.45 0.10 4.60 433948 19644449每一列参数代表的意思: avg-cpu:这一行统计了 CPU 使用情况的平均值。%user:用户态进程使用 CPU 的百分比。%nice:以较高优先级运行的用户态进程使用 CPU 的百分比(优先级较低的用户态进程)。%system:内核进程使用 CPU 的百分比。%iowait:CPU 等待 I/O 完成的百分比。%steal:当 hypervisor(虚拟化环境中的宿主机)需要让出 CPU 给其他虚拟机时,该 CPU 被偷取的百分比。%idle:CPU 空闲时间的百分比。Device:这一行显示了每个磁盘设备的统计数据。tps:每秒传输的 I/O 请求数。这个值反映了磁盘设备的工作负载。kB_read/s:每秒从设备读取的数据量,以千字节 (KB) 为单位。kB_wrtn/s:每秒写入设备的数据量,以千字节 (KB) 为单位。kB_read:从设备读取的总数据量,以千字节 (KB) 为单位。kB_wrtn:写入设备的总数据量,以千字节 (KB) 为单位。3. free – 显示可用和已用内存量free 命令显示系统中物理内存和交换内存的总量、已用量和空闲量。这将提供可用内存的总体情况。例子:free -hfree 命令的一些选项:b – 以字节为单位显示输出k – 以 KB(而非默认字节)为单位显示输出结果m – 以 MB 为单位显示输出,而不是以字节为单位h – 以 GB、MB 等人类可读格式打印统计数据,而不是字节。以人类可读格式(GB、MB 等)打印内存统计数据。当你想快速了解内存容量时,它非常有用。4. df – 报告文件系统磁盘空间使用情况df 命令显示文件系统的磁盘空间使用情况。它会显示文件系统名称、总/已用/可用空间和容量。常用的参数选项:-h :以人类可读的格式显示磁盘使用情况,以 K、M、G 等单位表示文件系统的大小和可用空间。-T :显示文件系统类型。-i :显示 inode 的使用情况而不是磁盘空间。-a :显示所有文件系统,包括系统特有的文件系统。-x type :排除指定类型的文件系统。例如,-x tmpfs 将排除 tmpfs 类型的文件系统。-hT :同时使用 -h 和 -T 参数,以人类可读的格式显示文件系统以及各个文件系统类型。--total :在最后一行显示所有文件系统的总空间和已使用空间。--help :显示 df 命令的帮助信息,包括所有可用的参数选项和用法示例。例子:df -h上述命令将以人类可读的格式打印磁盘利用率。也可以不带参数运行该命令,以块大小获得相同的数据。[root@xx web]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on devtmpfs devtmpfs 891628 0 891628 0% /dev tmpfs tmpfs 904464 0 904464 0% /dev/shm tmpfs tmpfs 904464 107052 797412 12% /run tmpfs tmpfs 904464 0 904464 0% /sys/fs/cgroup /dev/vda1 xfs 62903276 4308344 58594932 7% / tmpfs tmpfs 180896 0 180896 0% /run/user/0各列的含义:Filesystem:文件系统的名称或挂载点名称。Type:文件系统的类型。1K-blocks:文件系统的总块数(以千字节为单位)。Used:已使用的块数(以千字节为单位)。Available:可用的块数(以千字节为单位)。Use%:已使用空间占总空间的百分比。Mounted on:文件系统的挂载点。5. sar – 收集和报告系统活动sar 工具收集并记录一段时间内 CPU、内存、I/O、网络等系统活动信息。通过分析这些数据,可以发现性能问题。语法:sar [options] [interval [count]]其中,[options] 是可选的命令选项,[interval] 是数据收集的时间间隔(以秒为单位),[count] 是指定收集的次数。一些常用的 sar 参数选项和示例:-u:显示 CPU 使用率统计数据。示例:sar -u-r:显示内存使用情况统计数据。示例:sar -r-b:显示磁盘 I/O 统计数据。示例:sar -b-n DEV:显示网络接口的统计数据,其中 DEV 是网络接口的名称,如 eth0。示例:sar -n DEV-q:显示运行队列和负载平均值的统计数据。示例:sar -q-A:显示所有可用的统计数据。示例:sar -A-s HH:MM:SS:从指定的起始时间开始显示统计数据。示例:sar -s 10:00:00-e HH:MM:SS:显示到指定的结束时间的统计数据。示例:sar -e 12:00:00-f FILE:指定 sar 数据文件的路径,用于读取预先记录的数据。在 Linux 系统上,默认情况下,sar 数据文件存储在 /var/log/sa/ 目录下,文件名以 sa 开头,后面跟着日期的数字表示,如 sa01、sa02 等。每个数据文件包含了特定日期的系统活动报告数据。示例:sar -f /var/log/sa/sa01-o OUTPUT_FILE:将统计数据写入指定的输出文件中,以便后续使用。示例:sar -o output.txt例子:sar -u 5 60每 5 秒采样一次 CPU 使用情况,持续 60 次。sar 提供了实时工具无法提供的详细历史系统性能数据。
2024年01月11日
27 阅读
0 评论
0 点赞
2024-01-10
6个Linux进程管理命令
这些命令允许你查看、监视和控制 Linux 系统上运行的进程。这对确定资源使用情况和停止行为不端的程序非常有用。1. ps – 报告当前进程概览使用ps,您可以查看当前shell会话正在运行的进程。它打印有关正在运行的程序的有用信息,如进程ID、TTY(电传打字机)、时间和命令名。[root@xx web]# ps PID TTY TIME CMD 55558 pts/0 00:00:00 ps 94925 pts/0 00:00:01 bash常用选项:e:显示所有进程,而不仅仅是当前用户的进程。f:显示完整的进程信息,包括进程之间的关系。l:使用长格式显示进程信息,包括更多的列和详细信息。u:显示与指定用户相关的进程。p:显示指定进程ID的进程信息。a:显示终端上的所有进程,包括本地和远程的进程。x:显示没有控制终端的进程。使用案例:查看所有进程:ps aux 命令用于显示所有用户的进程信息,包括进程的PID、用户、CPU使用情况、内存使用情况等。这是最常用的 ps 命令格式之一。查找特定进程:ps -ef | grep <process_name> 命令用于查找特定名称的进程。通过结合 grep 命令,您可以轻松找到与特定进程名相关的信息。查看进程树:ps --forest 命令可显示进程之间的父子关系树形图。如果您想了解进程的层次结构和相互关系,这将非常有用。查看用户进程:ps -u 命令用于列出特定用户的进程信息。这对于管理员监控用户的进程活动和资源消耗非常有帮助。查看特定进程的详细信息:ps -p -f 命令用于获取特定进程的详细信息,包括进程启动时间、父进程ID、CPU使用情况和命令行参数等。怎么使用ps --forest查看整个进程树:ps --forest上述命令将显示整个进程树,以树状图的形式展示父子进程的关系。显示详细信息并展示进程树:ps --forest -f上述命令将显示进程树,并提供完整的进程信息,包括进程状态、资源使用情况等。显示特定用户的进程树:ps --forest -u username将以树状图形式显示指定用户的进程树。定向输出:ps --forest > processes.txt上述命令将将进程树输出到名为 "processes.txt" 的文件中,您可以将其用作后续处理或记录进程信息的参考。结合选项使用:[root@xx web]# ps -ef | grep php-fpm root 19427 94925 0 03:57 pts/0 00:00:00 grep --color=auto php-fpm apache 21847 44389 0 2023 ? 00:00:00 php-fpm: pool www root 44389 1 0 2023 ? 00:02:14 php-fpm: master process (/etc/php-fpm.conf) apache 44390 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44391 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44392 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44393 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44394 44389 0 2023 ? 00:00:00 php-fpm: pool www [root@xx web]# ps --forest -f UID PID PPID C STIME TTY TIME CMD root 94925 94920 0 Jan09 pts/0 00:00:01 -bash root 57259 94925 0 13:37 pts/0 00:00:00 \_ ps --forest -f [root@xx web]# ps --forest -u apache -f UID PID PPID C STIME TTY TIME CMD apache 21847 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44394 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44393 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44392 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44391 44389 0 2023 ? 00:00:00 php-fpm: pool www apache 44390 44389 0 2023 ? 00:00:00 php-fpm: pool www [root@xx web]# ps -p 21847 -f UID PID PPID C STIME TTY TIME CMD apache 21847 44389 0 2023 ? 00:00:00 php-fpm: pool www如果您想要更具交互性的内容,可以使用htop。2. top – 显示 Linux 进程top 命令显示实时 Linux 进程信息,包括 PID、用户、CPU %、内存使用率、运行时间等。与 ps 不同的是,它会动态更新显示内容,以反映当前的使用情况。输入top显示内容如下:第一行:系统时间和运行时间第二行:任务总数第三行:CPU使用率第四行:内存使用情况第五行:交换空间使用情况进程列表:包含进程的详细信息,如进程ID、进程所有者、优先级、虚拟内存大小、物理内存大小、状态、CPU使用率等。[root@xx web]# top -u apache -n 5 top - 04:13:38 up 49 days, 1:25, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 118 total, 1 running, 71 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.2 hi, 0.0 si, 0.0 st KiB Mem : 1808928 total, 118620 free, 749536 used, 940772 buff/cache KiB Swap: 0 total, 0 free, 0 used. 716832 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 21847 apache 20 0 277896 18336 11256 S 0.0 1.0 0:00.55 php-fpm 44390 apache 20 0 278036 18620 11444 S 0.0 1.0 0:00.72 php-fpm 44391 apache 20 0 278040 18688 11508 S 0.0 1.0 0:00.69 php-fpm 44392 apache 20 0 278040 18688 11508 S 0.0 1.0 0:00.70 php-fpm 44393 apache 19 -1 278040 18692 11512 S 0.0 1.0 0:00.71 php-fpm 44394 apache 20 0 278040 18692 11512 S 0.0 1.0 0:00.72 php-fpm 每一行参数代表的意思如下:第一行:系统时间和运行时间top - 04:13:38 up 49 days, 1:25, 1 user, load average: 0.00, 0.00, 0.00top -:表明这是"top"命令的输出。04:13:38:当前系统时间。up 49 days, 1:25:系统已经运行的时间。1 user:当前登录系统的用户数量。load average: 0.00, 0.00, 0.00:分别表示最近 1 分钟、5 分钟和 15 分钟的平均负载。第二行:任务总数Tasks: 118 total, 1 running, 71 sleeping, 0 stopped, 0 zombieTasks: 118 total:表示任务总数为 118。1 running:正在运行的任务数量。71 sleeping:休眠中的任务数量。0 stopped:停止的任务数量。0 zombie:僵尸进程的数量。第三行:CPU使用率%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.2 hi, 0.0 si, 0.0 st%Cpu(s):CPU 使用率的统计信息。0.3 us:用户空间占用 CPU 的时间百分比。0.2 sy:内核空间占用 CPU 的时间百分比。0.0 ni:带有调度优先级的进程占用 CPU 的时间百分比。99.3 id:CPU 空闲的时间百分比。0.0 wa:等待 I/O 完成的时间百分比。0.2 hi:处理硬件中断的时间百分比。0.0 si:处理软件中断的时间百分比。0.0 st:用作虚拟化偷取的时间百分比。第四行:内存使用情况KiB Mem : 1808928 total, 118620 free, 749536 used, 940772 buff/cacheKiB Mem:内存使用情况的统计信息。1808928 total:总内存大小。118620 free:可用内存大小。749536 used:已使用内存大小。940772 buff/cache:缓存和缓冲区使用的内存大小。 拓展:free查看内存大小,以上等同free -k是以KiB(千字节)为单位,free其他选项-h(人类可读)或 -m(以 MiB 为单位)以及 -g(以 GiB 为单位)。第五行:交换空间使用情况KiB Swap: 0 total, 0 free, 0 used. 716832 avail MemKiB Swap:交换空间使用情况的统计信息。0 total:总交换空间大小。0 free:可用交换空间大小。0 used:已使用交换空间大小。716832 avail Mem:可用内存大小。进程列表:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDPID:进程的ID(Process ID)。USER:进程所属的用户。PR:进程的优先级。NI:进程的Nice值。VIRT:进程使用的虚拟内存大小。RES:进程使用的物理内存大小。SHR:进程共享的内存大小。S:进程的状态。R:运行中(Running)S:睡眠(Sleeping)D:不可中断的睡眠(Uninterruptible sleep)Z:僵尸状态(Zombie)T:停止(Stopped)t:跟踪/调试(Tracing/debugging)%CPU:进程的CPU使用率。%MEM:进程的内存使用率。TIME+:进程所使用的CPU时间(即进程占用的CPU时长/CPU核数(如果是多核CPU,时间是累加的))。例子TIME+ 0:00.55,表示该进程和其子进程的累计 CPU 时间为 0 分钟 0.55 秒。COMMAND:进程的命令名称。一些有用的选项:d <秒数>:指定刷新数据的时间间隔。例如,top -d 5 表示每隔5秒更新一次数据。n <次数>:设置 top 命令更新数据的次数,然后自动退出。例如,top -n 10 表示更新数据10次后停止。u <用户名>:只显示指定用户的进程。使用此选项可以仅查看特定用户的进程。例如,top -u myuser 将只显示用户名为 "myuser" 的进程。p <进程ID>:监视指定进程的进程ID(PID)。您可以使用此选项监视单个进程。例如,top -p 1234 将仅监视进程ID为 1234 的进程。o <字段>:按照指定的字段进行排序。使用此选项可以自定义进程排序的方式。例如,top -o %CPU 表示按照 CPU 占用率进行排序。i:忽略空闲进程。使用此选项后,top 命令将仅显示活动进程,过滤掉没有使用 CPU 的空闲进程。例如,top -i。b:以批处理模式运行 top 命令。使用此选项后,top 命令将以无交互方式运行,并将输出保存到文件或通过管道进行处理。例如,top -b > top_output.txt。c:显示完整命令行信息。按下此选项后,top 命令将显示每个进程的完整命令行信息。例如,top -c。s <字段>:以指定字段作为排序依据。使用此选项可以选择另一种排序方式。例如,top -s RES 表示按照内存占用进行排序。E:显示所有线程。按下此选项后,top 命令将显示每个进程及其所有线程的信息。例如,top -E。例子:top -u mysql上述命令只监控 “mysql” 用户的进程。它对识别资源密集型程序很有帮助。3. htop – 交互式进程浏览器htop是一种交互式流程查看器,可让您直接从终端管理计算机的资源。在大多数情况下,默认情况下它并没有安装,所以请确保在下载页面上阅读更多关于它的信息。只需在命令行中输入 htop,即可查看进程。htop其中,右侧参数代表的意思如下:Tasks: 49,6l thr; running Load average: 0.01 0.03 0.00 Uptime: 49 days,05:27:44Tasks: 49,6l thr:表明当前系统上有49个进程,其中6个是线程(多线程)。Load average: 0.01 0.03 0.00:表示系统的平均负载。这通常是一个三个数字的序列,分别代表最近1分钟、5分钟和15分钟内系统的平均负载情况。在这个例子中,系统的平均负载分别为0.01、0.03和0.00。Uptime: 49 days,05:27:44:指示系统的运行时间。在这个例子中,系统已经连续运行了49天、5小时、27分钟和44秒。与 top 相比, htop 的用户界面元素得到了增强,增加了颜色、滚动和鼠标支持,导航更加方便。非常适合调查进程。以下是一些常用的 htop 参数选项:d 或 --delay <秒数>:设置进程列表的更新延迟时间。默认情况下,htop 的刷新频率为每秒一次。使用此参数可以更改刷新间隔。s 或 --sort-key <关键字>:按指定的关键字对进程列表进行排序。常见的关键字包括CPU使用率(%CPU)、内存使用率(%MEM)、进程ID(PID)等。例如,使用 -s %CPU 可以按照CPU使用率对进程进行排序。p 或 --pid <进程ID>:仅显示指定进程ID的信息。使用此参数可以查看特定进程的详细情况。u 或 --user <用户名>:仅显示指定用户名的进程。使用此参数可以过滤显示属于特定用户的进程。t 或 --tree:以树形结构显示进程列表。这将显示进程之间的层级关系,使您可以更好地理解各个进程的关系。h 或 --help:显示 htop 的帮助信息,包括可用参数和其说明。以下是一些常用的 htop 快捷键:F1 或 h:显示 htop 的帮助屏幕,其中包含有关可用快捷键的信息。F2 或 S:进入设置界面,允许您自定义 htop 的各种选项,例如排序方式、颜色方案等。F3 或 /:启用进程过滤功能,让您可以根据进程命令行或名称进行快速搜索。F4 或 O:打开进程筛选器,允许您通过选择特定的进程状态(例如运行、僵尸、睡眠等)来筛选进程列表。F5 或 t:切换进程排序方式,可以按照不同的关键字(如CPU使用率、内存使用率等)对进程进行排序。F6 或 <、>:切换排序字段,允许您在排序模式下更改排序关键字。F7 或 {:减少进程树的显示层级,以便更容易查看并定位特定进程。F8 或 }:增加进程树的显示层级,以显示更详细的进程层次结构。F9 或 k:发送信号给选定的进程,例如终止进程或重新启动进程。F10 或 q:退出 htop。4. kill – 向进程发送信号当一个程序没有响应,并且你不能用任何方法关闭它时,这是很烦人的。幸运的是,kill命令解决了这类问题。简单地说,kill向终止它的进程发送一个TERM或kill信号。您可以通过输入PID(进程ID)或程序的二进制名称来终止进程:kill 533494 kill firefox又如:kill -15 12345上述命令发送 SIGTERM (15) 信号,以优雅地停止 PID 为 12345 的进程。一些常用的信号参数数字包括:1:SIGHUP(挂起进程)2:SIGINT(Ctrl+C 发送的中断信号)3:SIGQUIT(进程退出信号)9:SIGKILL(强制终止进程)15:SIGTERM(正常终止进程,也是默认值)使用此命令时要小心-使用kill时,可能会意外删除您正在执行的工作。5. pkill – 根据名称向进程发送信号pkill 命令通过名称而不是 PID 来杀死进程。这比先找到 PID 更容易。例子:pkill -9 php-fpm[root@xx web]# ps -ef | grep php-fpm root 50615 1 0 08:49 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf) apache 50616 50615 0 08:49 ? 00:00:00 php-fpm: pool www apache 50617 50615 0 08:49 ? 00:00:00 php-fpm: pool www apache 50618 50615 0 08:49 ? 00:00:00 php-fpm: pool www apache 50619 50615 0 08:49 ? 00:00:00 php-fpm: pool www apache 50620 50615 0 08:49 ? 00:00:00 php-fpm: pool www root 50705 94925 0 08:50 pts/0 00:00:00 grep --color=auto php-fpm [root@xx web]# pkill -9 php-fpm [root@xx web]# ps -ef | grep php-fpm root 50843 94925 0 08:51 pts/0 00:00:00 grep --color=auto php-fpm这将强制停止所有带有 SIGKILL (9) 的 php-fpm 进程。pkill 通过匹配名称、用户和其他条件而非 PID 来锁定进程。其他使用参数选项: 使用进程名称终止进程:pkill process_name这将终止所有与给定进程名称匹配的进程。使用正则表达式终止进程:pkill -f "pattern"通过使用 -f 参数,可以使用正则表达式模式匹配进程的命令行参数,从而终止匹配的进程。使用用户名终止进程:pkill -u username这将终止属于特定用户的所有进程。6. nohup – 运行不受挂起影响的命令nohup 命令的使用使命令或脚本可以在后台持续运行,即使用户退出当前终端会话也不会受到影响。它通常用于长时间运行的任务、批量处理作业等。简而言之,它可以使命令在后台运行,并且在终止终端会话后仍然继续运行。下面是一些关于 nohup 命令的用法和示例:基本用法:nohup command & #nohup python script.py & #nohup bash /scripts/inotify.sh &这将使 command 命令在后台运行,并且不会受到终端会话的影响。输出重定向:nohup command > output.log 2>&1 &这将将 command 命令的输出日志重定向到 output.log 文件中。2>&1 表示将标准错误输出(stderr)合并到标准输出(stdout)中。指定日志文件:nohup command > output.log 2> error.log &这将将 command 命令的标准输出重定向到 output.log 文件,并将标准错误输出重定向到 error.log 文件中。取消 nohup 进程:ps -ef | grep command kill process_id使用 ps 命令结合 grep 查找 command 命令的进程ID(process_id),然后使用 kill 命令终止该进程。请注意,nohup 命令不会使命令在后台无限期运行。如果系统重启或发生其他异常情况,nohup 的作用可能会中断。为了更可靠地管理后台进程,您可能要考虑使用其他工具,如 systemd 或守护进程。
2024年01月10日
27 阅读
0 评论
0 点赞
2024-01-09
3个Linux文件权限命令
文件权限命令允许你修改用户的访问权限。这包括设置读/写/执行权限、更改所有权和默认文件模式。1. chmod 命令 – 更改文件模式或访问权限chmod命令允许您快速更改文件的模式(权限)。它有很多可用的选项。文件的基本权限包括:r (只读)w (写入)x (执行)有三组权限–用户、组和公共。 权限使用 0 至 7 的数字模式 设置:7:读、写和执行权限(rwx)6:读和写权限(rw-)5:读和执行权限(r-x)4:只读权限(r--)3:写和执行权限(-wx)2:只写权限(-w-)1:执行权限(--x)0:无权限(---)在 符号模式 下,可以使用以下符号来设置权限:+:添加权限-:移除权限=:仅设置指定的权限chmod最常见的用例之一是使文件可由用户执行。为此,请键入chmod和标志+x,然后键入要修改其权限的文件:chmod +x script您可以使用它使脚本可执行,从而允许您使用./ 符号直接运行它们。怎么修改文件的用户、组和公共权限?0)查看文件的当前权限:您可以使用 ls -l 命令来查看文件或目录的当前权限。在权限列表的第一列,您会看到类似 "-rw-r--r--" 的权限表示法,其中每个部分代表着用户、组和公共的权限设置。例子,要将文件 file.txt 的用户权限设置为读、写和执行,组权限设置为只读,公共权限设置为只读,有以下两种方式实现:1)、使用数字模式修改权限可以使用以下命令:chmod 754 file.txt这将给用户赋予读、写和执行的权限(7),给组赋予读和执行的权限(5),给公共赋予读的权限(4)更详细点说,chmod 754 file.txt 意味着给文件的所有者(文件创建者)赋予读、写和执行的权限,给文件的所属组赋予读的权限,给其他用户赋予只读权限。2)、使用符号模式修改权限chmod u=rwx,g=rw,o=r file.txt2 [root@xx test]# ls -l file.txt2 -rwxr-xr-- 1 root root 0 Jan 9 12:52 file.txt2 [root@xx test]# ls -l ../ total 4 drwxr-xr-x 2 root root 208 Jan 9 12:52 test drwxr-xr-x 2 root root 125 Jan 9 11:36 test2 -rw-r--r-- 1 root root 378 Jan 9 10:14 test.tar.gz权限列表的第一列选项为:-:表示普通文件d:表示目录l:表示符号链接(Symbolic Link)c:表示字符设备文件(Character Device File)b:表示块设备文件(Block Device File)s:表示套接字(Socket)p:表示命名管道(Named Pipe)2. chown – 更改文件所有者和组chown 命令可更改文件或目录的所有权。所有权包括两个部分–所有者用户和所属组。例如:chown john:developers file.txt上述示例命令将所有者用户设置为 “john”,所有者组设置为 “developers”。只有 root 超级用户账户才能使用 chown 更改文件所有者。它可以根据需要修改所有者和组来解决权限问题。3. umask – 设置默认文件权限umask 命令控制给新创建文件的默认权限。它将八进制掩码作为输入,如果 umask 的值为 022(八进制),则新创建的文件将使用默认权限 644(即 666 减去 022),新创建的目录将使用默认权限 755(即 777 减去 022)。umask 022:新创建的文件权限为 644,新创建的目录权限为 755。umask 027:新创建的文件权限为 640,新创建的目录权限为 750。umask 077:新创建的文件权限为 600,新创建的目录权限为 700。怎么看看系统的默认 umask 值?[root@xx test]# umask 0022umask 0022 的含义是:文件默认权限是 644(-rw-r--r--),目录默认权限是 755(drwxr-xr-x)。设置 umask 可以让你配置默认文件权限,而不是依赖系统默认值。umask 命令对于限制新文件的权限非常有用,而不需要别人手动添加限制。
2024年01月09日
31 阅读
0 评论
0 点赞
2024-01-09
5个Linux文件传输命令
文件传输命令允许你通过网络在系统间移动文件。这对于将文件复制到远程服务器或从互联网下载内容非常有用。1. scp – 在主机间安全复制文件scp (安全复制)命令通过 SSH 连接在主机间复制文件。所有数据传输都经过加密,以确保安全。scp 语法可将文件从源路径复制到定义为 user@host 的目的地:scp source user@host:destination例子:scp image.jpg user@server:/uploads/这样就能以 user 身份将 image.jpg 复制到 server 上的 /uploads 文件夹。scp 的工作原理与 cp 命令类似,但用于远程文件传输。它利用 SSH(Secure Shell)进行数据传输,提供加密功能,确保不会在网络上泄露密码等敏感数据。身份验证通常使用 SSH 密钥,但也可以使用密码。文件既可以复制到远程主机,也可以从远程主机复制。2. rsync – 在主机间同步文件rsync 工具可在两个位置之间同步文件,同时使用 delta 编码尽量减少数据传输。这使得同步大型目录树的速度更快。rsync 语法同步源文件到目标文件:rsync [options] source destination例子:rsync -ahv ~/documents user@server:/backups/上述示例命令将 documents 文件夹递归同步到 server:/backups/,并显示冗长的、人类可读的输出。有用的 rsync 选项:a – 归档模式递归同步并保留权限、时间等。h – 人类可读输出。v – 冗余输出。rsync 是将文件和文件夹同步到远程系统并保持分散备份和安全的理想工具。3. sftp – 安全文件传输程序sftp 程序通过 SSH 提供交互式文件传输,与普通 FTP 类似,但已加密。它可以在远程系统之间传输文件。sftp 连接到主机,然后接受以下命令:sftp user@host get remotefile localfile (复制远程文件到本地,此时remotefile可以是文件,也可以是文件夹) put localfile remotefile (把本地文件复制到远程,此时localfile如果是文件夹,前面要加-r)这样就能从服务器上获取 remotefile ,并将 localfile 复制到远程主机上。sftp 有一个交互式 shell,用于浏览远程文件系统、传输文件和目录以及管理权限和属性。4. wget – 从网上检索文件wget(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。有用的 wget 选项:c – 恢复中断的下载,如果下载过程中出现连接中断或下载被取消,你可以使用 -c 选项重新启动下载,它会尝试从上次中断的地方继续下载。r – 递归下载,即下载指定 URL 下的所有链接和资源。它非常有用,特别是当你需要下载一个整个网站或某个目录中的文件时。O – 保存到特定文件名,通过指定 -O 选项和文件名,你可以控制下载文件的保存位置和名称。wget 是编写自动下载脚本和镜像网站的理想工具。以下是您如何从GitHub获取一个Python文件:wget https://example.com/cookies.py #保存为链接尾部名称cookies.py wget -O myfile.py https://example.com/cookies.py #保存为myfile.py5. curl – 从服务器传输数据或向服务器传输数据curl 命令可使用支持的协议与网络服务器之间传输数据。它支持多种常用协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、SMTP、POP3、IMAP、Telnet 和 DICT。通过 curl,我们可以发送请求,获取网页内容、下载文件,以及执行其他网络操作。例子:curl -o example.html https://example.com #该命令会将 https://example.com 的响应保存为名为 example.html 的文件。 curl -L https://example.com #该命令会自动跟踪 https://example.com 的重定向,并获取最终的响应内容。上述命令从 HTTPS URL 获取数据并输出。有用的 curl 选项:o – 将输出写入文件。I – 仅显示响应头。L – 跟踪重定向。curl 旨在以编程方式跨网络传输数据。ps:以上只做粗略介绍,撬开入门的第一块砖,更深入的知识请自行查资料了解。
2024年01月09日
13 阅读
0 评论
0 点赞
1
2
3