日常随笔(持续更新)

随笔(持续更新)

1、某个网络有没有连通

要获取某个网站的ip地址,可以通过ping它的域名就可以得到IP地址

例如:我想获取百度的ip地址(Windows环境)

C:\Users\tq>ping www.baidu.com

正在 Ping www.a.shifen.com [14.119.104.189] 具有 32 字节的数据:
来自 14.119.104.189 的回复: 字节=32 时间=6ms TTL=56
来自 14.119.104.189 的回复: 字节=32 时间=6ms TTL=56
来自 14.119.104.189 的回复: 字节=32 时间=6ms TTL=56
来自 14.119.104.189 的回复: 字节=32 时间=7ms TTL=56

14.119.104.189 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 6ms,最长 = 7ms,平均 = 6ms

如上述cmd终端中所示的14.119.104.189就是百度的一个ip地址

所以直接用命令行ping 14.119.104.189也能ping通

而在Linux环境下要检查是否ping通,除了ping 14.119.104.189这个命令,还可以使用telnet但是要加上本机已经开放的端口号这里使用80端口

kylin@kylin:~/桌面$ telnet 14.119.104.189 80
Trying 14.119.104.189...
Connected to 14.119.104.189.
Escape character is '^]'.
GET / HTTP/1.1
Host:14.119.104.189
Connection closed by foreign host.

我们发现使用虚拟机telnet百度的ip地址会出现以下画面
在这里插入图片描述
我们输入

GET / HTTP/1.1
Host:14.119.104.189

发送一个HTTP 1.1的请求,发现连接会被百度的服务器所关闭,被对方的防火墙拦截了。但是实际上已经是连通了,只是对方把我们拦截住了。

2、如何查看某个端口号是否已开放

2.1 Linux环境下:

可以使用以下几种方法:

  1. 使用 netstat 命令:
    使用 netstat 命令可以列出当前系统上的网络连接和监听端口。你可以运行以下命令,将端口号替换为你要检查的端口:

    netstat -tuln | grep <端口号>
    #例如,要检查端口 80 是否开放,可以运行:
    netstat -tuln | grep 80
    

    如果该端口处于监听状态,表示它是开放的。

    例如:

    kylin@kylin:~/桌面$ netstat -tuln
    激活Internet连接 (仅服务器)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:8751            0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     
    tcp6       0      0 :::139                  :::*                    LISTEN     
    tcp6       0      0 ::1:53                  :::*                    LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    tcp6       0      0 ::1:631                 :::*                    LISTEN     
    tcp6       0      0 :::445                  :::*                    LISTEN     
    ......
    

    根据你的 netstat -tuln 输出,可以看到正在监听的端口以及它们的状态。以下是一些端口和状态的解释:

    • 0.0.0.0:139:::139:这是端口 139,通常用于 NetBIOS 会话服务,用于文件和打印共享。

    • 0.0.0.0:8751:这是一个定制端口(非标准端口),目前不清楚它的具体用途。

    • 127.0.1.1:53127.0.0.1:53:这是端口 53,用于 DNS 服务,但它仅绑定到本地主机(loopback)地址。这表示 DNS 服务仅对本地主机可用。

    • 0.0.0.0:22:::22:这是端口 22,用于 SSH(Secure Shell)服务,用于远程访问和管理主机。

    • 127.0.0.1:631::1:631:这是端口 631,用于 CUPS(Common Unix Printing System)服务,用于打印服务。

    • 0.0.0.0:445:::445:这是端口 445,通常用于 SMB(Server Message Block)文件共享服务,用于 Windows 文件共享。

    根据输出,端口 80 并没有显示在 netstat 结果中,这意味着在默认的配置下,端口 80 当前没有正在监听的服务。如果希望开放端口 80,需要启动或配置一个 Web 服务器(如 Apache 或 Nginx)来监听端口 80。

  2. 使用 ss 命令:
    ss 命令与 netstat 类似,也可以用来列出网络连接和监听端口。运行以下命令来检查端口是否开放,将端口号替换为你要检查的端口:

    ss -tuln | grep <端口号>
    

    例如,要检查端口 80 是否开放,可以运行:

    ss -tuln | grep 80
    

    如果端口处于监听状态,它就是开放的。

  3. 使用 telnet 命令:
    你可以使用 telnet 命令来尝试连接到特定端口。如果连接成功,表示端口是开放的。运行以下命令,将 <IP地址> 替换为目标 IP 地址,<端口号> 替换为要检查的端口号:

    telnet <IP地址> <端口号>
    

    例如,要检查 IP 地址为 192.168.1.100 的主机上的端口 80 是否开放,可以运行:

    telnet 192.168.1.100 80
    

    如果连接成功,表示端口是开放的。

2.2 Windows环境下

可以使用以下方法来查看特定端口是否开放:

  1. 使用 Telnet 命令:

    打开命令提示符(Command Prompt)并运行以下命令,将 <IP地址> 替换为目标 IP 地址,<端口号> 替换为要检查的端口号:

    telnet <IP地址> <端口号>
    

    例如,要检查 IP 地址为 192.168.1.100 的主机上的端口 80 是否开放,可以运行:

    telnet 192.168.1.100 80
    

    如果端口是开放的,你将看到成功的连接消息。如果连接失败,表示端口可能是关闭的或受到防火墙的阻止。

  2. 使用 PowerShell 的 Test-NetConnection 命令:

    打开 PowerShell 并运行以下命令,将 <IP地址> 替换为目标 IP 地址,<端口号> 替换为要检查的端口号:

    Test-NetConnection -ComputerName <IP地址> -Port <端口号>
    

    例如,要检查 IP 地址为 192.168.1.100 的主机上的端口 80 是否开放,可以运行:

    Test-NetConnection -ComputerName 192.168.1.100 -Port 80
    

    该命令将提供关于连接状态的信息,包括是否成功连接到该端口。

这些方法可以帮助你在 Windows 环境中检查特定端口是否开放。请注意,如果你尝试连接到远程主机上的端口,确保你具有适当的权限,并且目标主机处于运行状态。如果连接失败,可能是因为防火墙或网络配置的问题。

3、通过内网拉取其他电脑的文件

笔者这里是kylinV10操作系统

第一点:要将虚拟机的网络适配器改为桥接模式

在这里插入图片描述

第二点:配置内网环境(每个公司的内网网段不一样哦)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第三点:终端连接另一台机器

  1. 在终端输入
ssh 主机名@地址
# 比如我的是
ssh kylin@192.168.0.213
# 然后需要输入你要远程连接的那台主机的虚拟机登陆密码

在这里插入图片描述
2. 然后在你想存放从远程拷贝过来的文件的位置打开终端
在这里插入图片描述
输入命令

scp -r 主机名@地址:需要拷贝的文件的路径 .
# 笔者这里是
scp -r kylin@192.168.0.213:/data/king_check/ .
# 注意最后还有一个点的,指的是当前目录

2023.12.12 更新

4、关闭麒麟系统的 kysec 安全控制

不关闭这个 KylinV10SP1 系统的 kysec 安全控制,编译途中会总是需求手动允许,未允许将会报错。

sudo setstatus disable

1702447153254

想具体了解的看一看着篇文章https://zhuanlan.zhihu.com/p/349663329

5、KylinV10 系统下 VScode 1.85 版本一直闪退问题

以下是笔者的麒麟版本

在这里插入图片描述

一开始笔者直接去官网下载 deb 包版本是 November 2023 (version 1.85) 的 code_1.85.0-1701902998_amd64.deb

# 先卸载系统可能自带的或者以前残留的(也可能没有自带)
sudo apt-get --purge remove code
# 安装
sudo dpkg -i code_1.85.0-1701902998_amd64.deb
# 运行打开试试
code
# 很好,画面一闪而过,网上查了N天资料,试了N种办法,无法解决
# 最后还是选择广撒网,安装旧版本的VScode

其实只要老版本基本都能成功,但是,它不支持 CodeGeeX 插件啊,我要你何用!果断换新一点的版本,最后选择了 code_1.74.3-1673284829_amd64.deb 版本成功!没有闪退啦

这是链接:https://code.visualstudio.com/updates/v1_74

在这里插入图片描述

OK,这个 bug 完结撒花

6、KylinV10下VScode终端显示“[1] + Done…"如何去除

[1] + Done                       "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-qxfiruw4.fji" 1>"/tmp/Microsoft-MIEngine-Out-moepe4ci.c51"

找到launch.json文件

在这里插入图片描述

在这里插入图片描述

# 可能是这种情况(区别就在gdb的路径而已)
"miDebuggerArgs": "-q -ex quit; wait() { fg >/dev/null; }; /bin/gdb -q --interpreter=mi"
# 第一种不行就下面这种
"miDebuggerArgs": "-q -ex quit; wait() { fg >/dev/null; }; /usr/bin/gdb -q --interpreter=mi"
# 还是不行就用 which gdb 看看自己的 gdb 在什么路径下

在这里插入图片描述

然后把自己的路径替换进去就行了,也就 是"miDebuggerArgs":里面的/usr/bin/gdb这里换成你自己的路径

2024.1.10更新

7、kylinV10SP1 的数据盘下执行脚本需要 sudo 如何更改

正常来说,执行脚本,即使脚本里涉及到需要创建文件,而且是在 root 组里的文件创建文件,也不需要加 sudo,在 root 组里加 sudo 创建文件很危险,容易导致整个目录更改。

所以,我们需要更改脚本所属文件的组别,即可以实现在 root 组的目录里含有 用户组的目录文件,效果如下图

data目录本身属于 root 级别的组别,其子目录,直接创建的话一般都是 root 组别,需要使用命令去更改组别

如何查看某个文件是什么组别:

ls -l

在这里插入图片描述

在这里插入图片描述

具体命令如下:

# 在 data 目录下执行以下命令,这里加 sudo 是因为操作在 root 组别目录下
sudo chown -R kylin:kylin king_check/
  • 这条命令的意思是用管理员权限把 king_check 目录(包括其下所有子目录和文件)的所有者和所属组都改为kylin
  • 其中,chown是改变文件所有者的命令,“-R”选项代表级联操作,也就是对目标目录以及其所有子目录和文件进行操作;kylin:kylin表示将所有者和所属组都改为kylin用户;king_check/则是你要操作的目标目录。

chown 命令详解

常见的 chown 命令格式如下:

chown [选项]… [所有者][:[组]] 文件…

这里的 “所有者” 是用户名,“组” 是组名,“文件” 是待修改所有者或所属组的一个或多个文件。你可以只指定所有者,也可以同时指定所有者和所属组。

常用选项有:

  • -R--recursive:递归改变指定目录及其子目录下的所有文件的所有者和组。这是在处理整个目录时常用的选项。
  • -c--changes:类似 --verbose,但只在发生改变时才会显示详细信息。
  • -v--verbose:详细显示执行过程,这对于排查问题非常有用。
  • -f--silent--quiet:屏蔽大部分错误信息。

例如,如果你想把所有者和所属组都改为 kylin,操作文件 file1.txt,则可以这样操作:

# 如果在用户目录下就不用加 sudo 
chown kylin:kylin file1.txt

如果你想递归地改变目录 dir1 及其所有子目录和文件的所有者为 tq,则可以这样操作:

chown -R kylin dir1

2024.1.26更新

8、 从公司 GitLab 拉取部分代码更新项目

8.1 先重定向 ip 地址 GitLab 那里

先查看自己的 ip 地址(192.168.0.177),和网卡(ens33)

在这里插入图片描述

公司 GitLab 地址是 192.168.6.2

比如,笔者这里想更新 usbdesktop 目录的内容,就在这个目录下进行操作

sudo ifconfig ens33:1 192.168.6.177
git pull

ifconfig ens33:1 192.168.6.177 表示为这个别名分配 IP 地址 192.168.6.177

在这里插入图片描述

# 如果显示地址文件已存在,说明 IP 地址冲突了,换一个试试,比如 103 换成 104
sudo ifconfig ens33:1 192.168.6.178

在这里插入图片描述

  • 37
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霜晨月c

谢谢老板地打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值