1、熟悉哪些Linux命令
答:
- 文件操作:
ls
:列出目录内容。cd
:改变当前目录。pwd
:显示当前工作目录。cp
:复制文件或目录。mv
:移动或重命名文件。rm
:删除文件或目录。touch
:创建空文件或更新文件时间戳。
- 文件内容查看:
cat
:查看文件内容。head
:查看文件的前几行。tail
:查看文件的后几行,常用于查看日志文件。
- 文件编辑:
vi
或vim
:强大的文本编辑器。
- 权限管理:
chmod
:更改文件或目录的访问权限。chown
:更改文件或目录的所有者和/或所属组。
- 磁盘管理:
df
:查看磁盘空间使用情况。
- 网络管理:
ifconfig
或ip addr
:查看和配置网络接口。ping
:测试网络连接。netstat
:查看网络状态和统计信息。ssh
:安全远程登录。
- 进程管理:
ps
:查看当前运行的进程。kill
:发送信号给进程。
- 软件包管理(根据Linux发行版不同,命令可能有所不同):
apt-get
(Debian/Ubuntu):安装、更新和删除软件包。
2、Linux中如何查看一个进程,如何杀死一个进程,如何查看某个端口有没有被占用
答:
- 查看进程: 用 ps 命令查看当前运行的进程,比如 ps aux 可以列出所有进程及其详细信息。
- 杀死进程: 首先用 ps 或 top 命令找到进程的PID(进程ID)。 然后用 kill 命令加上进程ID来结束进程,例如 kill -9 PID。"-9" 是强制杀死进程的信号。
- 查看端口占用: 使用 lsof -i:端口号 可以查看占用特定端口的进程。 或者用 netstat -tulnp | grep 端口号,这会显示监听在该端口的服务及其进程ID。
3、说一下 select、poll、epoll
答:
I/O多路复用通常通过select、poll、epoll等系统调用来实现。
- select: select是一个最古老的I/O多路复用机制,它可以监视多个文件描述符的可读、可写和错误状态。然而,但是它的效率可能随着监视的文件描述符数量的增加而降低。
- poll: poll是select的一种改进,它使用轮询方式来检查多个文件描述符的状态,避免了select中文件描述符数量有限的问题。但对于大量的文件描述符,poll的性能也可能变得不足够高效。
- epoll: epoll是Linux特有的I/O多路复用机制,相较于select和poll,它在处理大量文件描述符时更加高效。epoll使用事件通知的方式,只有在文件描述符就绪时才会通知应用程序,而不需要应用程序轮询。
总结:select
是最早的 I/O
多路复用技术,但受到文件描述符数量和效率方面的限制。poll
克服了文件描述符数量的限制,但仍然存在一定的效率问题。epoll
是一种高效的I/O多路复用技术,尤其适用于高并发场景,但它仅在 Linux
平台上可用。一般来说,epoll
的效率是要比 select
和 poll
高的,但是对于活动连接较多的时候,由于回调函数触发的很频繁,其效率不一定比 select
和 poll
高。所以 epoll
在连接数量很多,但活动连接较小的情况性能体现的比较明显。