走进 Linux(三):常用 linux 命令

本贴最后更新于 586 天前,其中的信息可能已经时异事殊

1. linux 怎么查看程序打开了那些文件,使用程序的 pid 查询


可以使用 lsof 命令来查看指定进程的打开文件列表,其中-P 参数用于显示进程 PID 而非进程名,例如:

lsof -P -p <pid>

其中,为目标进程的 PID。执行该命令后,会列出目标进程打开的所有文件、目录、管道等信息。

2. centos 给指定端口打开防火墙,例如 8899


在 CentOS 中,可以使用防火墙管理工具 firewall-cmd 来开启和关闭端口。在命令行中执行以下命令可以开启 8899 端口:

sudo firewall-cmd --zone=public --add-port=8899/tcp --permanent

解释一下这个命令:

  • sudo:以管理员权限执行命令。
  • firewall-cmd:防火墙管理工具。
  • --zone=public:指定开启的端口所在的区域为 public,也可以是其他区域,例如 homework 等。
  • --add-port=8899/tcp:添加 8899 端口,并指定传输协议为 TCP。
  • --permanent:将该规则永久性添加到防火墙中,重启系统后该规则仍然有效。

执行完上述命令后,需要重新加载防火墙规则,使其生效:

sudo firewall-cmd --reload

如果需要关闭该端口,可以使用以下命令:

sudo firewall-cmd --zone=public --remove-port=8899/tcp --permanent
sudo firewall-cmd --reload

以上命令中的 --remove-port 参数与 --add-port 参数使用方法类似,用于移除指定端口的防火墙规则。执行完该命令后,再次使用 --reload 参数重新加载防火墙规则即可。

3. 复制文件,并且强制覆盖


在 CentOS 系统中使用 cp 命令强制覆盖已存在的文件,可以使用-i 选项并设置其值为"yes",这样 cp 命令就会自动回答"yes",如下所示:

cp -i /home/a.txt /home/20230414/ <<< yes

或者使用 echo 命令将"yes"作为输入传递给 cp 命令,如下所示:

echo yes | cp -i /home/a.txt /home/20230414/

这两种方法都可以强制覆盖已存在的文件,而不需要手动输入"yes"。

如果想保留 a.txt 文件的属性,可以加上 -p,如下所示:

echo yes | cp -ip /home/a.txt /home/20230414/

专题

走进 Linux(一):VM VirtualBox 安装 Centos
走进 Linux(二):第三方工具连接 Centos
走进 Linux(三):常用 linux 命令

  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    169 引用 • 506 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    943 引用 • 943 回帖
  • 教程
    143 引用 • 602 回帖 • 8 关注
1 操作
yexuejc 在 2023-04-14 22:22:58 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...