linux系统
文章平均质量分 79
Linux是一种免费使用和自由传播的类Unix操作系统,其内核由Linus Benedict Torvalds于1991年10月5日首次发布。是基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,它主要受到Minix和Unix思想的启发,并继承了Unix以网络为核心的设计思想。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
109702008
数字人-幺洞勾拐洞两洞洞八
展开
-
linux常用命令
目录1. 查找当前目录底下的文件夹的子目录中的某个文件2. 查看当前用户3. 查看所有用户组4. 添加用户到已存在的组5. 实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器6. 查看所有服务端口7. 查看文件二进制:8. 新建并写字符串123到文件1.txt,文件最后有换行符。9. 显示文件内容10. 显示目录总占用空间11. 查看磁盘使用情况12. CentOS关闭防火墙13. 在shell中使用find结合grep进行文件字符串的替换14. locate命令15. cd命令16.原创 2018-01-18 10:18:20 · 6481 阅读 · 3 评论 -
【C语言】fork函数使用
fork() 创建的子进程会继承父进程的几乎所有资源和状态,包括打开的文件描述符、信号处理器、环境变量等。- 不同进程对同一个变量拥有独立的地址空间,任何一个进程对变量的修改不会影响另一个进程。- 为什么会看到重复的 Hello,则涉及到标准 I/O 缓冲行为,这些调用是按行和全缓冲机制工作的。......// 计时标志............// Mbps} else {return 1;// 子进程ID// 创建第一个子进程return 1;原创 2024-09-23 09:40:11 · 402 阅读 · 0 评论 -
查看VSFTPD配置的服务器路径和linux系统有哪些用户
要查看VSFTPD (Very Secure FTP Daemon)配置中定义的服务器路径,需要检查VSFTPD的配置文件。这通常可以在配置文件中找到并有不同的选项来设置路径。原创 2024-09-19 11:29:49 · 566 阅读 · 2 评论 -
linux c应用如何获取连续物理地址空间的内存?
1. 使用 /dev/mem 和 mmap:- 优点:直接操作物理内存,适合嵌入式开发。- 缺点:在现代系统上存在安全问题和稳定性风险。2. 使用 CMA (Contiguous Memory Allocator):- 优点:内核提供的机制,分配连续的物理内存,安全可靠。- 缺点:需要编写内核模块,增加复杂度。3. 使用 hugetlbfs(大页内存):- 优点:可以减少 TLB 缺失,提高内存访问性能,适合需要大块连续内存的应用。原创 2024-09-19 08:37:25 · 779 阅读 · 1 评论 -
如何查看vsftpd是否已启动
上述方法都可以帮助查看Linux系统中有哪些用户。常用的命令有`cat`、`getent`、`cut`以及`awk`,并且通过查看`/etc/passwd`文件可以得到最详细的信息。启动 vsftpd(很可能是“Very Secure FTP Daemon”)的方法取决于使用的操作系统及其版本。原创 2024-09-17 07:14:47 · 490 阅读 · 0 评论 -
查看有多少个终端用户当前登录
如果是在特定的应用环境中(比如萤石云、服务器管理界面等),那么应该参考对应应用的管理界面或文档来查看当前登录的用户数量。通过统计这个命令的输出行数,可以知道有多少个终端登录。命令会显示当前登录的所有用户的信息,包括用户名、登录的终端、登录时间等。这样会统计登录用户的数量,因为`users`命令输出每个用户名一次,用`wc -w`来统计单词数即可。同样地,为了得到登录用户的数量,可以查看命令输出的结果并手动计数,或者编写一个小脚本来自动化这个过程。实际上会查看所有与登录相关的记录文件,包括当前登录的用户。原创 2024-09-15 07:20:35 · 260 阅读 · 0 评论 -
samba提速
进行以下几项优化工作,包括增大 SMB 服务器端缓存并调整网络内核参数。原创 2024-09-15 07:07:07 · 240 阅读 · 0 评论 -
Debian命令行设置samba共享目录
Samba 是一个用于在 Unix/Linux 系统上实现 SMB/CIFS 网络协议的软件套件,使这些系统能够与 Windows 网络共享文件和打印机。在 Debian 10 上安装和配置 Samba 可以实现 Linux 和 Windows 之间的无缝文件共享。原创 2024-09-12 08:41:36 · 443 阅读 · 0 评论 -
smbclient/curl应用和库的使用
在Linux上,可以使用`smbclient`工具来测试SMB共享是否可以访问。`smbclient`是一个类似于FTP客户端的命令行工具,用于访问SMB/CIFS共享。首先,确保安装了`smbclient`工具。可以通过包管理器进行安装。其中:- 是服务器的主机名或IP地址。- 是访问SMB共享所需的用户名称。系统会提示你输入密码。输入正确的密码后,可以列出服务器上的共享列表。其中:- //hostname/share 是要访问的共享资源。原创 2024-09-11 08:37:29 · 369 阅读 · 0 评论 -
pthread_cond_wait 和 pthread_cond_signal的实现细节
pthread_cond_wait 使线程等待条件变量,并释放关联的互斥锁。- pthread_cond_signal 唤醒一个等待在条件变量上的线程。- 如果条件变量上没有线程在等待,信号会被丢弃。等待线程依然需要新的信号来唤醒自己。原创 2024-09-07 04:22:09 · 202 阅读 · 1 评论 -
curl_easy_setopt函数CURLOPT_BUFFERSIZE设置为16KB,size * nmemb会超过16KB吗?接收数据的内存大小设置多少才能不溢出?
例如,可以开始时分配一个 16KB 的缓冲区,然后每次缓冲区不够用时,将其大小加倍,直到达到某个最大限制。我们可以假设一个值,例如 64KB,来设置每个队列项的缓冲区,这应该足够处理大多数情况下的单个数据块。,你应该准备好释放旧的内存,尽管这通常是不必要的,因为在失败的情况下,旧的内存通常保持不变。例如,如果指定了零个元素,成功,它会返回一个新的指针,这个指针可能与原来的指针相同,也可能不同,具体取决于实现。结合这些观点,一个合理的扩展策略是设置缓冲区大小为足够大的值,以处理潜在的最大数据块。原创 2024-09-07 04:20:39 · 204 阅读 · 0 评论 -
Linux系统性能调优技巧
在Linux系统中进行性能调优是一项复杂而重要的任务,它可以帮助你最大限度地利用系统资源,提高服务或应用程序的运行效率。以下是一些常用的Linux性能调优技巧:CPU性能调优1. 设置CPU调度策略:- 使用`chrt`或`taskset`命令更改进程的调度优先级。- 可以使用`nice`和`renice`命令来调整进程的优先级,从而影响CPU的分配。原创 2024-09-06 05:23:11 · 1033 阅读 · 2 评论 -
【C语言】SQLite 库
SQLite 是一个轻量级的嵌入式关系型数据库库。与客户端-服务器数据库管理系统不同,SQLite引擎不作为单独的进程运行。相反,它直接链接到应用程序并作为库与之集成。- libsqlite3.so: 这是一个共享库,动态链接的对象文件。- libsqlite3.a: 这是一个静态库,应用程序在编译期间将其与之链接。原创 2024-08-25 21:39:02 · 286 阅读 · 2 评论 -
libcurl 库curl_easy_setopt()函数CURLOPT_WRITEDATA和CURLOPT_BUFFERSIZE选项
CURLOPT_BUFFERSIZE 设置的是 libcurl 内部读数据的缓冲区大小。- 回调函数的 size 和 nmemb 是实际读取的数据块大小,无法直接通过 libcurl 控制每次回调函数的数据大小。- 要控制数据处理机制,可以通过 libcurl 提供的其他设置或者在回调函数中自行处理。要更灵活地控制数据处理机制,可以借助 libcurl 提供的自定义回调函数,以及其他相关设置选项。这些方法允许你在数据传输的不同阶段进行自定义处理。原创 2024-08-24 14:48:08 · 409 阅读 · 1 评论 -
libcurl 库CURLOPT_WRITEFUNCTION 选项
在使用 libcurl 库进行网络请求时,`curl_easy_setopt()` 函数允许我们设置各种选项,其中包括指定数据接收的回调函数。具体到 CURLOPT_WRITEFUNCTION 选项,它设置了一个回调函数,该函数将在 libcurl 接收到数据时被调用。在 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);语句中,我们定义了这个回调函数。让我们详细解释一下回调函数的每个参数及其含义。原创 2024-08-24 14:17:13 · 312 阅读 · 0 评论 -
snprintf和sprintf的区别
sprintf 不检查缓冲区大小,容易导致缓冲区溢出。- snprintf 检查缓冲区大小,可以防止缓冲区溢出,提供更安全的字符串处理。- 如果格式化后的字符串长度小于 size,实际复制的长度就是格式化后字符串的长度。snprintf和sprintf安全性方面sprintf不进行缓冲区长度检查,可能导致缓冲区溢出错误,存在安全风险。snprintf会对目标缓冲区的大小进行检查,防止缓冲区溢出,更加安全。返回值不同sprintf返回实际写入的字符数(不包括终止符'\0'原创 2024-08-23 12:15:39 · 200 阅读 · 1 评论 -
linux C语言strcat函数及相关函数
这些函数是 C 语言中非常基础且重要的字符串处理函数。在实际开发中,确保正确地使用它们以避免潜在的安全漏洞和程序错误。对于更高级或更安全的操作,可以考虑使用strncat()snprintf(), 或者使用 C99 标准中的安全替代品如strlcpy()和strlcat()。在Linux下使用C语言进行字符串操作时,尽管strcat函数简单直接,但应优先考虑使用更安全的函数,如strncat,以避免缓冲区溢出等安全问题。同时,对于任何涉及字符串操作的代码,都应仔细考虑字符串的长度和缓冲区的大小。原创 2024-08-18 12:08:47 · 194 阅读 · 0 评论 -
access函数
在C编程语言中,`access` 函数用于检查调用进程是否可以访问指定文件或路径,并执行特定的操作(例如,检查文件是否存在、是否可读、是否可写等)。它定义在 <unistd.h> 头文件中。以下是 access 函数的详细说明:参数- pathname: 指向需要检查的文件或路径名的指针。- mode: 检查文件访问权限的模式。其值可以是以下常量的组合: - F_OK: 检查文件是否存在。 - R_OK: 检查文件是否可读。 - W_OK: 检查文件是否可写。 - X_OK: 检原创 2024-08-13 09:10:59 · 169 阅读 · 1 评论 -
flock 函数
flock 函数在许多编程语言中都用来管理文件锁定,以确保多个进程/线程不会同时访问同一个文件。原创 2024-08-12 11:25:59 · 349 阅读 · 2 评论 -
struct stat介绍和使用
struct stat 是在 C 和 C++ 语言中使用的一种结构体,通常用于存储文件的各种属性信息。它是 POSIX 标准的一部分,广泛应用于 Unix 和 Unix-like 操作系统(如 Linux 和 macOS)。原创 2024-08-12 11:09:18 · 231 阅读 · 0 评论 -
fd_set介绍和使用
fd_set是Linux系统编程中一个重要的数据结构,主要用于在I/O多路复用模型中管理一组文件描述符(File Descriptor)。在Linux中,一切皆文件,包括socket、管道等,文件描述符是用来标识这些文件和其他I/O对象的整数。fd_set通过位数组的形式来存储这些文件描述符,每个位代表一个文件描述符的状态。fd_set的具体实现可能因不同的系统和库而异,但基本上,它是一个足够大的位数组,以容纳系统中可能打开的最大文件描述符数量。原创 2024-08-11 09:18:13 · 410 阅读 · 2 评论 -
inotify介绍和使用
inotify是Linux内核从2.6.13版本开始引入的一个子系统,它提供了一种监控文件系统(基于inode的)事件的机制。inotify可以监控文件系统的变化,如文件的增加、删除、修改等,并将这些事件实时通知给应用程序。这种机制比传统的基于cron任务的轮询方式更加高效,因为它避免了不必要的资源消耗和延迟。原创 2024-08-10 10:27:46 · 209 阅读 · 0 评论 -
ubuntu系统AMD w7900下运行OpenDevin
中的配置,使得 Vite 开发服务器监听所有网络接口(0.0.0.0)。可以通过网络访问服务,而不仅仅局限于。修改后,当重新启动 Vite 开发服务器时,它会监听所有接口,使得其他设备可以通过 frontend\ 访问它。中的1. Requirements。修改 frontend/原创 2024-08-03 13:51:44 · 237 阅读 · 0 评论 -
vsftpd搭建FTP服务器 - 虚拟用户
这是vsftpd出于安全考虑的一项限制。chroot_local_user=YES 是一个在 vsftpd 配置文件中的选项,它的作用是将本地用户(即登录系统的用户)限制在其主目录(Home Directory)内。通过将文件目录的拥有者和组设置为`ftp`用户和`ftp`组,可以确保虚拟用户的文件操作权限在FTP服务器内部可控,并避免使用实际系统用户权限,从而提高安全性。chroot用户在FTP服务器中的主要目的是出于安全考虑,限制用户只能在特定目录中操作,以保护系统的其他部分和其他用户的文件安全。原创 2024-07-25 00:05:08 · 1651 阅读 · 2 评论 -
dd命令参数
在Linux操作系统中,dd命令是一个非常强大的工具,它允许用户在底层进行数据拷贝和转换操作。命令是一个在 Unix 和类 Unix 系统中广泛使用的命令行工具,用于转换和复制文件,同时也常用于磁盘镜像的创建与恢复、数据格式转换等工作。命令及其参数的作用之后再使用,尤其是在处理磁盘或分区的时候。命令参数的一个小部分,这个命令非常强大,但同时也需要谨慎使用,因为如果不正当使用,可能会导致数据丢失。命令在Linux系统中是一个非常强大的工具,它可以用指定大小的块来拷贝一个文件,并在拷贝的同时进行指定的转换。原创 2024-07-22 08:14:42 · 1116 阅读 · 2 评论 -
为什么vim是程序员最喜欢的文本编辑器之一?
Vim之所以成为程序员最喜欢的文本编辑器之一,主要是因为它的高效操作方式、模式化编辑、高度定制化能力、强大的插件生态、轻量级和高效、强大的搜索与替换功能、跨平台支持以及强大的社区支持。综上所述,Vim 凭借其高效的编辑能力、高度的可定制性、轻量级和跨平台的特点、强大的插件生态系统以及内置的文本处理能力,成为了程序员最喜欢的文本编辑器之一。综上所述,Vim因其强大的编辑功能、高效的导航和操作、高度可定制性、跨平台支持以及活跃的社区和资源,成为了许多程序员首选的文本编辑器。原创 2024-07-13 00:43:31 · 1029 阅读 · 2 评论 -
Linux Vim最全面的教程
编辑~/.vimrc文件来配置Vim。使用Vim脚本语言(Vimscript)编写自定义功能。安装和管理插件以增强功能。原创 2024-07-12 07:31:02 · 1151 阅读 · 3 评论 -
FUSE(用户空间文件系统)命令参数
这些参数有些是通用的,可以在大多数 FUSE 文件系统中使用,而有些则是特定于某个 FUSE 文件系统实现的。FUSE(Filesystem in Userspace,用户空间文件系统)是一种在用户空间实现文件系统的框架,它允许你通过编写用户空间程序来创建自己的文件系统。需要注意的是,并不是所有FUSE文件系统都支持同样的选项,因为这些参数可以由文件系统的实现者决定如何处理和解释。要查看所有可用的挂载选项,最好是参考特定 FUSE 文件系统的文档,因为它们会提供更详细的信息和可能的选项列表。原创 2024-07-10 00:05:59 · 2237 阅读 · 5 评论 -
分割文本文件
分割一个`.txt`文件,可以选择在命令行中使用`split`指令,或者编写一段脚本进行操作。此脚本会以每100行为单位将原始文件分割到新的.txt文件中,新文件将以“file_part_{number}.txt“的方式命名,其中{number}是文件的分割部分索引。为了运行这个脚本,需要在Python环境下操作,并确保具有适当的文件读写权限。这行指令会将源文件`yourfile.txt`每1000行拆分成一部分。原创 2024-05-25 05:40:08 · 768 阅读 · 0 评论 -
Docker和Kubernetes之间的关系
需要注意的是,Docker的商业化收费只针对Docker桌面版本,而在Docker Engine、上游开源Docker和Moby项目上则没有变化,这些仍然是开源和免费的。因此,如果对Docker有更深入的需求,比如构建大规模的容器化应用程序或者需要更高级的功能和支持,可以考虑使用Docker的其他产品或者服务,并根据需要进行付费。但是,如果需要管理大规模的容器集群,或者需要更高级的功能和更好的支持,那么Kubernetes可能是更好的选择。当然,也可以根据实际需求将两者结合使用,以获得最佳的效果。原创 2024-05-13 07:50:57 · 1892 阅读 · 0 评论 -
linux C语言Makefile
在Linux环境下,编写C语言项目的Makefile是为了自动化编译和链接过程,确保项目中的源文件按照正确的顺序和依赖关系编译成可执行文件或库文件。在Linux环境下,使用C语言进行项目开发时,Makefile是一个常用的工具,它定义了一套规则来指定如何编译和链接程序。这个Makefile定义了一些变量,例如CC为C编译器,CFLAGS为编译器选项,以及执行文件、源文件和对象文件的名称。all 目标是一个默认目标,它依赖于 $(TARGET),所以当你运行 make 命令时,会构建可执行文件。原创 2024-04-28 07:53:02 · 917 阅读 · 0 评论 -
curlftpfs和fusermount
curlftpfs 是一种 Linux 系统下用来将 FTP 服务器挂载为文件系统的工具,这意味着可以通过本地目录来访问和操作 FTP 服务器上的文件。原创 2024-04-20 22:02:46 · 1576 阅读 · 3 评论 -
lftp客户端
请替换`username`, password, ftp.server.com, /path/to/local/file.txt, 和 /path/to/remote/file.txt 为自己的FTP用户名,密码,服务器地址,本地文件路径,和目标文件路径。如果通过设置`LANG`和`LC_ALL`环境变量为`en_US.UTF-8`后仍然出现乱码,可能是因为FTP客户端或服务器端并不完全支持UTF-8编码,或者环境变量没有正确生效。如果目录不存在,需要先创建它,通常可以使用`mkdir`命令实现。原创 2024-04-20 14:28:19 · 1052 阅读 · 1 评论 -
Kubernetes
Docker是一个开源的应用容器引擎,它的主要作用是帮助开发者打包他们的应用及其依赖项到一个可移植的容器中,并发布到任何流行的Linux或Windows机器上。这使得从研发到测试、生产能提供一致环境。Docker提供了容器化的基础,而Kubernetes则在此基础上提供了容器编排和管理的强大功能,两者共同构成了现代云原生应用的核心技术栈。总的来说,Kubernetes为容器化应用提供了高效、自动化的部署、扩展和管理能力,使得应用能够在不同的云环境和操作系统间无缝迁移,大大提高了应用的可靠性和可维护性。原创 2024-04-19 08:19:32 · 807 阅读 · 2 评论 -
Docker in Docker原理与实战
Docker in Docker是一种强大的容器管理技术,它通过在容器内部嵌套运行Docker引擎,提供了更深层次的容器化应用部署和管理的灵活性。尽管存在一些资源和稳定性方面的挑战,但它在简化部署、提高安全性和可移植性方面具有明显优势。随着容器技术的不断发展,预计未来将出现更多高效、安全且易于管理的容器管理工具2。原创 2024-04-18 08:07:23 · 1234 阅读 · 3 评论 -
Docker
每次使用 docker run 命令运行新的容器时,默认情况下 Docker 都会为该容器自动生成一个随机的名称,该名称是由两个单词组合而成,通常一个形容词和一个名词,例如 nostalgic_morse。如果曾经给一个镜像添加了标签,然后构建了一个新版本的镜像并再次使用了同样的标签,那个原先的镜像会丢失其标签并被显示为``。通常情况下,`docker system prune` 命令应该能够清理不再使用的悬空镜像,但如果镜像是被某个容器所使用,或者被标记为需要保留,那它们将不会被删除。原创 2024-04-18 07:45:34 · 1059 阅读 · 0 评论 -
AMD ROCm平台从源代码构建HIP
上面的命令会读取<hip>/include/hip/hip_runtime_api.h文件,并在<hipamd>/src目录中查找源文件,然后使用这些信息来生成新的性能分析头文件。旧的头文件是<hipamd>/include/hip/amd_detail/hip_prof_str.h,而新的头文件会被保存到<hipamd>/include/hip/amd_detail/hip_prof_str.h.new。在做出更改后,使用位于hipamd/src目录下的hip_prof_gen.py工具来生成头文件。原创 2024-04-16 08:18:57 · 1512 阅读 · 1 评论 -
Ubuntu 22.04进行远程桌面连接
打开Remmina,选择RDP(远程桌面协议)作为连接类型,输入Windows 10机器的IP地址,然后点击“连接”(Connect)。打开VNC客户端,输入目标Ubuntu 22.04机器的IP地址以及后面的VNC会话端口(如:`192.168.1.100:5901`),然后连接。Ubuntu 22.04进行远程桌面连接,无论是连接到Windows 10还是另一个Ubuntu 22.04,都可以通过不同的方式实现。注意,基于VNC的远程桌面不是加密的,建议通过SSH隧道进行连接以提高安全性。原创 2024-04-09 00:27:48 · 6451 阅读 · 1 评论 -
Ubuntu22.04修改默认窗口系统为X11
Ubuntu22.04安装默认窗口系统为Wayland(通过设置->关于可以看到)。原创 2024-04-08 08:50:47 · 8616 阅读 · 1 评论 -
Ubuntu系统同时使用AMD和NVIDIA GPU出现的问题及解决
然而,这种配置也带来了一系列的技术挑战。最后,请注意,由于硬件和驱动可能存在的不兼容问题,特别是在混合不同厂家的GPU时,您可能需要尝试不同的方法和配置来找到最稳定的设置。如果你需要在Ubuntu 22系统中使用两个GPU,并且不依赖于同时运行两个GPU的功能,一个可能的解决方案是禁用其中一个GPU,以避免潜在的兼容性和性能问题。4. **潜在冲突**:有可能在安装和配置过程中遇到库文件冲突,特别是在图形应用程序或游戏中,系统可能无法预知应当使用哪一个GPU,有时可能需要在应用程序级别设定使用哪个GPU。原创 2024-04-07 08:50:07 · 1737 阅读 · 0 评论