星期四, 一月 11, 2024

ulimit常见用法和注意事项

星期四, 一月 11, 2024 0 Comments

ulimit常见用法和注意事项

ulimit 用法

一、查看和修改

ulimit -a  # 显示所有限制的当前值
ulimit -n 4096 # 设置最大打开文件数限制为 4096
ulimit -u 1000 # 设置最大用户进程数限制为 1000

二、影响和作用范围

更改 ulimit 的限制值通常只影响当前 shell 会话及其子进程。这些更改不会影响其他用户或系统全局设置,除非进行了系统级别的永久更改。

三、永久修改

永久修改需要更改系统配置文件,通常是 /etc/security/limits.conf。这需要 root 或有足够权限的用户来编辑这个文件。例如,添加下面的行来修改最大打开文件数限制。

*    hard    nofile    4096
*   soft   nofile   2048

用户可以打开的limits.conf文件进行自己查看和添加。limits.conf 有详细的文件解释。

limits.conf文件截图

四、注意事项

在使用 ulimit 命令时,有一些常见的注意事项需要考虑:

用户权限

设置 ulimit 的限制值通常需要足够的权限。对于某些限制(如最大打开文件数),可能需要 root 或者具有特定权限的用户才能修改。

软限制和硬限制

软限制(soft limit)是用户在运行时可以自由修改的限制值。硬限制(hard limit)是软限制的最大允许值,超出硬限制的修改通常需要更高的权限。

软限制可以设置为小于或等于硬限制。软限制可以由用户通过 ulimit -S 命令调整,而硬限制则需要特权用户进行更改。

永久修改

对系统资源限制进行永久修改需要编辑系统配置文件,如 /etc/security/limits.conf。修改这些配置文件可能会对整个系统的行为产生影响,应当小心操作。

限制值的合理性

修改限制值时应确保其合理性。设置过高或过低的限制值可能会影响系统的稳定性和性能。

星期一, 一月 08, 2024

强烈推荐下一代远程登录工具windTerm

星期一, 一月 08, 2024 0 Comments

概述

强烈推荐windTerm 远程登录工具,我强烈推荐的原因有以下几点

1.性能好,windTerm 具有详细的实测对比,内存占用和性能表现

2.历史命令,windterm在命令补充方面不仅仅支持多平台和历史查询,方便好用

3.基本功能齐全

详细解释

跨平台支持

WindTerm远程登录终端截图

https://github.com/kingToolbox/WindTerm/releases/tag/2.5.0

支持window、MAC、以及Linux 平台支持,永不不需要担心跨平台问题,同时它是linux开源的,不用担心收费问题。

历史命令

用户不在需要配置什么Zsh /bash-it fish 等等,命令提示,各种插件支持,各种命令提示和历史命令,WindTerm全部搞定,既有历史命令,又有直接提示,方便易用。

用户输入!就会显示历史命令

而用输入任何命令,都会自动提示

WindTerm 能够自动补全的命令非常全面,支持:

  • Linux Shell 命令。
  • MacOS Shell 命令。
  • Windows Cmd 命令。
  • PowerShell 命令。
  • 任何命令行程序的命令,例如 Git

对比其他的命令行工具,windTerm的命令提示实在是太好用了。而且相对来说,也比较简单化使用。

基本功能齐全

与其他类似工具同样的支持多种功能:

SSH, Telnet, Tcp, Shell, SerialSSH,Telnet,Tcp,Shell,Serial协议

用户协议支持同样广泛用户不需要担心。


推荐带有命令行提示(auto complete)以及AI智能的远程登录工具

星期一, 一月 08, 2024 0 Comments

推荐带有命令行提示(auto complete)以及AI智能的远程登录工具

命令行提示(auto complete)的远程登录工具

概述

推荐带有历史命令和AI智能的命令行,随着人工智能大火,本文推荐目前正在商业化的带有命令行提示和人工智能的命令行远程登录工具。

windTerm

WindTerm支持多种命令提示

WindTerm 能够自动补全的命令非常全面,支持:

  • Linux Shell 命令
  • MacOS Shell 命令
  • Windows Cmd 命令
  • PowerShell 命令
  • 任何命令行程序的命令,例如 Git

WindTerm 支持的平台很多包括:windows /MAC/Linux 三个平台的工具

WindTerm 界面截图

缺点

1.不稳定,由于长期没有更新,存在不稳定的情况发生

2.历史命令,重启后,历史命令记录消失

3.长时间使用变得卡顿,可能是由于命令和命令行提示变多

4.不支持AI

Termius

AI版本他的历史命令和命令提示不直观

使用人工智能训练,会出现大量直观提示,使用英文提示语句

Termius工具截图

可以看到这里命令行提示,不仅仅是语句,同样包含智能提示。

这是由于人工智能训练的结果。它包含大量的智能提示结果,以及各个参数的提示。

缺点:

1.目前处于Beta版本,由于只是单纯的支持AI,对于命令提示和历史命令的支持并不是很友好。

2.界面不友好

3.历史命令支持不太好,全面支持AI训练的智能提示,使得不够直观

Fig

Fig 是一个可以在你的终端中添加自动补全命令的提示工具,当你在操作终端的时候,Fig 可以在你的终端中弹出子命令、选项和上下文相关的参数。Fig 并不是一个独立的终端,而是与你现有的终端工具进行集成。

Fig Githubs Readme截图

下载:https://www.warp.dev/terminal-autocomplete

缺点:

不支持windows 平台以及linux 平台

终端集成其实并不适合开箱即用

Warp

下载:https://app.warp.dev/get_warp

无处不在的 tab 键,既能补全命令,又能给出提示。这些细节的堆积,让我们对 tab 键产生了一个隐形的认知,即 tab 好像是命令的小助手一般存在。

Warp 的AI加持,是通过特定键触发的,Control + ~

Warp 的商业计划目前是对任何个人免费使用,对企业特性包括协作和其他基于云的功能做收费。目前 Warp 仍然处于早期建设阶段,因此对于后期的付费策略,用户还是得始终保持谨慎态度。

Warp 工具官网截图

Warp 目前正在计划推出的windows和Linux 支持

Subscribe to our Github issues to get notified when we release the Linux and Windows distributions.

缺点:

1.使用上有学习难度,有一点学习门槛,不支持开箱即用

2.计划推出windows和Linux平台

星期日, 一月 07, 2024

从实用角度出发看懂和使用diff、git diff的合并格式

星期日, 一月 07, 2024 0 Comments

diff 合并格式

读懂diff - 阮一峰的网络日志 (ruanyifeng.com) diff 的用法有很多,默认的格式有三种,这不是本文的重点。本文将详细介绍Git中默认的合并格式的diff用法。

概述

本片文章将会从实战的角度出发,从用户的实际使用的角度出发,学习如何读懂和使用diff的合并格式。不建议用户去使用和学习diff其他格式。diff 合并格式是git以及GitHub的默认显示格式。

格式

我们知道diff 有三个格式,读懂diff - 阮一峰的网络日志 (ruanyifeng.com) 有详细的说明,这里不再重复。

合并格式(unified diff)

本文重点描述的了diff的合并格式,用户并不需要学习其他格式,因为过去的格式不好用才发展处今天的合并格式。

合并格式的diff

diff -u 文件1 文件2  #-u 表示unified 使用合并格式

如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间。1990年,GNU diff率先推出了"合并格式"的diff,将f1和f2的上下文合并在一起显示。

它的使用方法是加入u参数(代表unified)。

  $ diff -u f1 f2

显示结果如下:

  --- f1 2012-08-29 16:45:41.000000000 +0800   +++ f2 2012-08-29 16:45:51.000000000 +0800   @@ -1,7 +1,7 @@    a    a    a   -a   +b    a    a    a

它的第一部分,也是文件的基本信息。

  --- f1 2012-08-29 16:45:41.000000000 +0800   +++ f2 2012-08-29 16:45:51.000000000 +0800

"---"表示变动前的文件,"+++"表示变动后的文件。

第二部分,变动的位置用两个@作为起首和结束。

  @@ -1,7 +1,7 @@

前面的"-1,7"分成三个部分:减号表示第一个文件(即f1),"1"表示第1行,"7"表示连续7行。合在一起,就表示下面是第一个文件从第1行开始的连续7行。同样的,"+1,7"表示变动后,成为第二个文件从第1行开始的连续7行。

第三部分是变动的具体内容。

   a    a    a   -a   +b    a    a    a

除了有变动的那些行以外,也是上下文各显示3行。它将两个文件的上下文,合并显示在一起,所以叫做"合并格式"。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。

GitHub(Git) diff

我们知道Git 提供了diff,那么如何看懂了呢?和linux中git的不同之处在哪里呢?

Git diff 对比的提交前和提交后,或者 add 前和add 后的文件对比。

Git 使用了主流的Git 合并格式

在查看Git 提交的时候,默认显示的提交前对比提交后的变动情况。

可以看见,提交前和提高后文件的对比diff 显示情况,很是一目了然。

总结

本文结合 diff的用法,在读懂diff - 阮一峰的网络日志 (ruanyifeng.com) 文章基础上进一步阐释git diff 等系列命令的输出结果。以及在Github 输出结果的表示,其本质都是diff 合并格式的扩展结果。用户只需要学习使用diff的合并格式用法即可。


原创内容,禁止抄袭!二〇二四年一月七日 13:38:23 

如何解决osboxes ubuntu 服务器版本没有网络问题

星期日, 一月 07, 2024 0 Comments

如何解决osboxes ubuntu server 无网络问题

osboxes 解决了vmware虚拟机安装过程,但是在使用osboxes ubuntu server 这个版本系统时候,发现无网络问题,众所周知,无服务器版本在安装过程中需要用户自己配置网络。

一、具体的现象分析

osboxeseosboxes :~ ifconfig
lo       Link encap:Local Loopback
        inet addr:127.0.0.1 Mask:255.0.0.0
        inet6 addr: ::1/128 Scope:Host
        UP LOOPBACK RUNNING MTU:65536 Metric:1
        RX packets:176 errors:0 dropped:0 overruns:0 frame:0
        TX packets:176 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1
        RX bytes:13296 (13.2 KB) TX bytes:13296 (13.2 KB)

检测网卡

检查系统是否可以检查出网卡,

可以检出出网卡,说明系统只是没有配置网络

osboxeseosboxes :~ ip a
1: lo: <LOOPBACK,uP ,LOuER_UP> ntu 65536 qdisc noqueue state UNKNOMN group default qlem 1
link/ loopback 00:00:00:00:00:00 brd 00:00:00:00: 00:00
inet 127.0.0.1/8scope host lo
ua lid_lft forever preferred_lft foreuerinet6 ::1/128scope host
ualid_lft foreuer pref erred_lft foreuer
2: ens33: 《<BROADCAST,MULTichST> ntu 1500 qdisc noop state DOMN group def ault qlen 1000
link/ether 00:0c:29:3e:2?:5e brd ff :ff :ff :ff :ff :ff

开启网卡(不一定需要执行,一般DHCP自动分配会包含启动)

ip link set ens33 up

二、使用DHCP配置网络

根据分析情况,系统中有网卡,但是没有分配ip,用户可以使用HDCP服务来自动获取分配ip地址。

编辑配置文件 /etc/network/interface,开启DHCP分配请求给自己自动分配网络

auto interface_name
iface interface_name inet dhcp

interface_name 改为网卡 ens33 名称

重启机器 reboot或者重启网络

sudo systemctl restart networking

注意:如果网络中有DHCP服务,我们可以使用DHCP来自动配置网络(vmware 虚拟机网络中会自动包含一个DCP服务器,这里就不演示自己查看了)

三、手动分配网络

除了使用DHCP分配用户也可自己手动建立ip地址。

这里涉及到各种顾虑,比如私有网络段,比如不和已有IP地址冲突等。不太适合新手,一般熟悉网络的用户可以自己配置Linux 网络,这是基本的Linux网络配置。

vim /etc/network/interfaces

编辑网卡配置文件,添加静态配置

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

192.168.1.10 :配置自己私有网络地址

255.255.255.0:子网掩码

192.168.1.1 :网关

用户不知道如何配置,用户可以查看其它机器上相关配置,粘贴复制过来。

修改一个私有网络地址即可,其它保持相同即可。

举例子

边上类似机器的地址

auto eth0
iface eth0 inet static
address 192.168.1.9
netmask 255.255.255.0
gateway 192.168.1.1

自己的地址可以修改为

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1