一起聊聊linux操作系统的常用命令及环境变量

本篇文章给大家带来了linux操作系统基础知识,其中包括程序开发环境、常用命令以及环境变量的相关知识,希望对大家有帮助。

一起聊聊linux操作系统的常用命令及环境变量

1、Linux简介与程序开发环境

1.1 什么是Linux?

Linux是一个可以自由发布的类UNIX内核实现,它是一个操作系统的底层核心。Linux是由芬兰赫尔辛基大学的Linus开发,期间得到了网上广大UNIX程序员的帮助。它最初是受其教授的Minix(一个小型的类UNIX系统)启发而开发的程序,纯属个人的爱好,但是后来它自身逐步发展成为一个完整的系统

要理解什么是Linux,首先要了解在Linux之前诞生的系统和应用程序——UNIX和GNU软件。

1.1.1 什么是UNIX?

UNIX操作系统最初是由贝尔实验室开发的,当时的贝尔实验室是电信巨头AT&T(美国电报电话公司)旗下的一员。如今,它已经成为一种非常流行的多用户、多任务操作系统。UNIX操作系统可以运行在大量不同种类的硬件平台上,其适用范围从PC机到多处理器服务器和超级计算机。

在UNIX上进行程序开发有些典型的风格和特点:

1)简单性:许多很有用的UNIX工具是非常简单的。“小而简单”是一种值得学习的技术。越大、越复杂的系统注定会包含越大、越复杂的错误。

2)集中性:让一个程序很好地执行一项任务好过把所有功能都堆在一起。功能臃肿的程序难于使用和维护,单一目标的程序更容易随着更好的算法被开发出来而得到改进。在UNIX中,当用户出现新的需求时,我们通常是把小工具组合起来完成更复杂的任务,而不是试图将一个用户期望的所有功能放在一个大程序里。

3)可重用的组件:将应用程序的核心实现为库。具有简单而灵活的编程接口的库可以帮助其他人开发出同类程序,或者把这些技术应用到新的应用领域。

1.1.2 GNU项目和自由软件基金会

有了操作系统内核还不够,Linux能够发展到今天是无数人共同努力的结果。操作系统内核本身仅仅是可用开发系统的一小部分。一般的UNIX系统还包括提供系统服务和工具的应用程序,对于Linux系统,这些程序是由许多程序员编写并自由发布的。

Linux社区支持自由软件的概念,即软件本身不应受限,它们遵守GNU(GNU是GNU’s Not UNIX的递归缩写)通用公共许可证(GPL)。

自由软件基金会(Free Software Foundation)是由Richard Stallman创立,其宗旨是:试图创建一个与UNIX系统兼容,但并不受UNIX名字和源代码私有权限制的操作系统和开发环境。

GNU项目已经为软件社区提供了许多UNIX系统上应用程序的仿制品。例如大名鼎鼎的:

GCC:GNU编译器集,它包括GNU C编译器。

G++:G++编译器,是GCC的一部分。

GDB:源代码级的调试器。

GNU make

bash:命令解释器(shell的一种)

有了这些可用的自由软件,再加上Linux内核,我们可以说:创建一个GNU的、自由的类UNIX系统的目标已经通过Linux系统实现了。由于GNU软件做出的贡献,现在许多人通常把Linux系统称为GNU/Linux。

1.2 程序开发环境

工欲善其事必先利其器,想要进行Linux程序开发需要先搭建开发环境。

1.2.1 Linux环境安装

进行 Linux 开发需要安装一个 linux 系统环境,一般使用 VMWare 安装Ubuntu 系统进行开发。具体安装过程大家可以参考以下帖子https://zhuanlan.zhihu.com/p/38797088这里我就不做过多介绍。

1.2.2 SSH

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。传统的网络服务程序,如 FTP、 Pop 和 Telnet 其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人攻击方式的攻击。
SSH 分为客户端 openssh-client 和服务器 openssh-server,我们需要在 ubuntu 系统下安装 ssh 服务器,以便使用 ssh 客户端登录到系统。

1)安装ssh

sudo apt update

sudo apt install openssh-server

2)启动ssh

sudo service ssh start

3)使用ip addr show命令查看 ubuntu 系统 ip

在这里插入图片描述

可以看出,当前 ubuntu IP 地址为 192.168.176.148

4)测试 ssh 登录

在 Ubuntu 上安装完成 ssh 服务器后,接下来在 Windows 系统下使用 MobaXterm 进行连接,测试 ssh 服务器是否安装成功。 操作步骤如下:
运行 Xterm 软件,选择“Session”,如下图所示:
在这里插入图片描述

点击“SSH”并进行设置,如下图所示:
在这里插入图片描述

在该对话框中,选择“协议”为“SSH”, “主机名”为 ubuntu 的 IP 地址,用户名为当前用户名。端口号使用默认值 22。 设置完成后,点击”OK”,出现如下命令行终端,表示已经连接上虚拟机的ubuntu系统。
在这里插入图片描述

通过这种方法,确定主机和开发板之间网络通讯正常后,即可以登录到开发板上。

5)安装 Visual Studio Code

Visual Studio Code(简称 VSCode)是微软出的一款免费的编辑器,有 Windows、 Linux 和 macOS 三个版本,是一款跨平台编辑器。 安装过程大家可以自行搜索,这里主要介绍用于C/C++程序开发的扩展包,安装步骤见下图:
在这里插入图片描述

常用的有如下插件需要安装:

C/C++。

C/C++ Snippets,即 C/C++重用代码块。

C/C++ Advanced Lint,即 C/C++静态检测 。

Code Runner,即代码运行。

Include AutoComplete,即自动头文件包含。

Rainbow Brackets,彩虹花括号,有助于阅读代码。

One Dark Pro, VSCode 的主题。

GBKtoUTF8,将 GBK 转换为 UTF8。

ARM,即支持 ARM 汇编语法高亮显示。

Chinese(Simplified),即中文环境。

vscode-icons, VSCode 图标插件,主要是资源管理器下各个文件夹的图标。

compareit,比较插件,可以用于比较两个文件的差异 

DeviceTree,设备树语法插件。

Markdown Preview Enhanced, markdown 预览插件。

Maridown pdf,将.md 文件转换成其他格式。

2、Linux常用命令

Linux的命令有几百个,对于初学者来说,常用的并不多,并不需要全部掌握。在平时的学习和工作过程中,遇到了陌生的Linux命令,多查资料,日积月累,自然就记住了。下面为大家介绍Linux最基础的17个命令。

1、清屏

clear

2、查看服务器ip地址

ip addr

3、查看时间

date

4、目录和文件

文件系统像一棵树,树干是/(根)目录,树枝是子目录,树枝后面还有树枝(子目录中还有子目录),目录的最后是文件。
在这里插入图片描述

目录和文件的路径分为绝对路径和相对路径,绝对路径是从根(/)算起,例如/usr/etc/readme.txt。相对路径是从当前工作目录算起,如果当前工作目录是/usr,etc/readme.txt等同于/usr/etc/readme.txt。此外,需要注意的是:一个圆点.表示当前工作目录;两个圆点…表示当前工作目录的上一级目录。
下面为大家简单介绍Linux系统目录结构,为了避免诸多使用者对 Linux 系统目录结构天马行空,Linux 基金会发布了 FHS 标准。多数 Linux 发行版系统都遵循这一标准。注:FHS(Filesystem Hierarchy Standard),文件系统层次化标准,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件。

1)Linux 根目录(/)

FHS 认为,Linux 系统的根目录(/)最为重要,其原因有以下 2 点:
1. 所有目录都是由根目录衍生出来的;
2. 根目录与系统的开机、修复、还原密切相关;
因此,根目录必须包含开机软件、核心文件、开机所需程序、函数库、修复系统程序等文件,如下表所示。
在这里插入图片描述

2)Linux /usr目录

usr(注意不是 user),全称为 Unix Software Resource,此目录用于存储系统软件资源。FHS 建议开发者,应把软件产品的数据合理的放置在 /usr 目录下的各子目录中,而不是为他们的产品创建单独的目录。
Linux 系统中,所有系统默认的软件都存储在 /usr 目录下,/usr 目录类似 Windows 系统中 C:Windows + C:Program files 两个目录的综合体。
FHS 建议,/usr 目录应具备下表所示的子目录。
在这里插入图片描述

3)Linux /var 目录

/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。通常,此目录下建议包含如表 4 所示的这些子目录。
在这里插入图片描述

5、查看当前目录

pwd

6、改变当前工作目录

cd 目录名

示例:

1)进入/tmp目录

cd /tmp

2)进入上一级目录

cd ..

3)进入用户的主目录

cd

7、列出目录和文件信息

ls是list的缩写,通过 ls 命令不仅可以查看目录和文件信息,还可以查看目录和文件的权限、大小、主人和组等信息。
选项 -l 列出目录和文件的详细信息。
示例:

1)列出当前工作目录下全部的目录和文件名信息

ls
在这里插入图片描述

2)列出当前工作目录下全部的目录和文件名详细的信息

ls -l
在这里插入图片描述

3)正则表达式

正则表达式又称规则表达式、通配符,目录和文件名都支持正则表达式,正则表达式的规则比较多,在这里我们只需要掌握最常用的两种:星号 “*” 。

星号 “*” :匹配任意数量的字符。

例如:ls open*.zip
在这里插入图片描述

8、创建目录

1)在当前工作目录下创建aaa目录

mkdir aaa

2)在当前工作目录下创建aaa目录,并在aaa目录下创建bbb目录

mkdir aaa/bbb -p

9、删除目录和文件

rm [-rf]目录或文件

选项-r可以删除目录,如果没有-r只能删除文件。

选项-f表示强制删除,不需要确认。

1)删除aaa目录

rm aaa -r

2)强制删除当前工作目录下的ccc.c文件

rm -f ccc.c

9、移动目录和文件

mv 旧目录或文件名 新目录或文件名

1)把当前工作目录中的 book.c 文件重命名为 book1.c

mv book.c book1.c

2)如果OPC/test3是一个已经存在的目录,以下命令将把当前工作目录下的 book.c 文件移动到 OPC/test3 目录中。

mv book.c OPC/test3

3)如果 OPC/test3目录不存在,以下命令将把当前工作目录下的 book.c 文件改名为 OPC/test3。

mv book.c OPC/test3

10、复制目录和文件

cp [-r] 旧目录或文件名 新目录或文件名

注:-r 是递归的意思,英文 recursion

选项-r可以复制目录,如果没有选项-r只能复制文件。

示例:

1)把当前工作目录下的book1.c文件复制为book2.c

cp book1.c book2.c

2)把当前工作目录下的aaa目录复制为bbb

cp aaa bbb -r

3)把当前工作目录下的book1.c文件复制为aaa/book1.c

cp book1.c aaa/book1.c

cp book1.c aaa/.

以上两个命令的效果相同。

4)把当前工作目录下的aaa目录复制为/tmp/aaa

cp -r aaa /tmp/aaa

cp -r aaa /tmp/.

以上两个命令的效果相同。

11、判断网络是否连通

ping -c 包的个数 ip地址或域名

ping用于确定本地主机是否能与另一台主机成功交换数据包,判断网络是否通畅。

1)向本地主机(127.0.0.1)ping五个包

ping -c 5 127.0.0.1
在这里插入图片描述

2)向百度 www.baidu.com.cn 的服务器ping五个包

ping -c 5 www.baidu.com.cn
在这里插入图片描述

可以看出百度的服务器是可以ping通的。

3)向谷歌 www.google.com 的服务器ping五个包。

ping -c 5 www.google.com
在这里插入图片描述

可以看出谷歌的服务器是ping不通的。

12、显示文本文件的内容

显示文本文件的内容有三个命令:catmoretail

1)cat 命令

cat 文件名

cat命令一次显示整个文件的内容。

cat main.cpp

2)more 命令

more 文件名

为了方便阅读,more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。

3)tail 命令

tail -f 文件名

tail -f用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。对程序员来说,tail -f极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。

13、统计文本文件的行数、单词数和字节数

wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出

wc 文件名
在这里插入图片描述

14、搜索文件中的内容

grep "内容" 文件名

注意,如果内容中没有空格等特殊字符,可以不用双引号括起来。

一键职达 一键职达

AI全自动批量代投简历软件,自动浏览招聘网站从海量职位中用AI匹配职位并完成投递的全自动操作,真正实现’一键职达’的便捷体验。

一键职达 79 查看详情 一键职达

示例:

1)在main.cpp文件中搜索signal

grep signal main.cpp
在这里插入图片描述

15、搜索文件

1)find

find 目录名 -name 文件名

参数说明:
目录名:待搜索的目录,搜索文件的时候,除了这个目录名,还包括它的各级子目录。
文件名:待搜索的文件名匹配的规则。
示例:
从 OPC 目录开始搜索,把全部的 *.cpp 文件显示出来。

find OPC -name *.cpp

2)locate

locate 文件名

示例:
搜索open62541.c文件

locate open62541.c
在这里插入图片描述

注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.

find多用于在某个目录下进行模糊搜索,而locate则是进行全盘准确定位。

16、chmod命令

用于改变linux文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

举例:ls -l example
在这里插入图片描述

第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。

   常用参数:

   -c 当发生改变时,报告处理信息

   -R 处理指定目录以及其子目录下所有文件

   权限范围:

   u :目录或者文件的当前的用户

   g :目录或者文件的当前的群组

   o :除了目录或者文件的当前用户或群组之外的用户或者群组

   a :所有的用户及群组

   权限代号:

   r :读权限,用数字4表示

   w :写权限,用数字2表示

   x :执行权限,用数字1表示

   – :删除权限,用数字0表示

   s :特殊权限

示例:

1)删除文件 example 所有用户可执行权限

chmod a-x example
在这里插入图片描述

2)给 example 的属主分配读、写、执行(7)的权限,给 example 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

chmod 751 example -c
在这里插入图片描述

3)将aaa目录及其子目录所有文件添加可读权限

chmod u+r,g+r,o+r -R text/ -c
在这里插入图片描述

17、查看系统磁盘空间

df [-h] [-T]

选项-h以方便阅读的方式显示信息:

df -h
在这里插入图片描述

选项-T列出文件系统类型:

df -h -T
在这里插入图片描述

3、Linux环境变量讲解

3.1 环境变量的概念

3.1.1 什么是环境变量?

程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。

3.1.2 环境变量的分类

1)按生效的范围分类。

系统环境变量:公共的,对全部的用户都生效。

用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。

2)按生存周期分类。

永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。

临时环境变量:使用时在Shell中临时定义,退出Shell后失效。

3)Linux环境变量

Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。

3.2 常用的环境变量

3.2.1 查看环境变量

1)env命令

在Shell下,用env命令查看当前用户全部的环境变量。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZjeYzjJh-1609830692292)(/uploads/knowledge-space/images/m_7b716fdfaf10a18ce41b49f9f3a50739_r.png)]

上图只截取了部分环境变量,并非全部。

注:用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。

env|grep 环境变量名

例如查看环境变量名中包含PATH的环境变量。

env|grep PATH
在这里插入图片描述

2)echo命令

echo $环境变量名

例如:echo $LANG

3.2.2 常用的环境变量

1)PATH

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序,PATH变量的具体用法本文后面的章节中有详细的介绍。

2)LANG

Linux系统的语言、地区、字符集。

echo $LANG
在这里插入图片描述

3)HOSTNAME

服务器的主机名。

echo $HOSTNAME

4)SHELL

用户当前使用的Shell解析器。

echo $SHELL
在这里插入图片描述

5)HISTSIZE

保存历史命令的数目。

6)USER

当前登录用户的用户名。

echo $USER

7)HOME

当前登录用户的主目录。

echo $HOME

8)PWD

当前工作目录。

echo $PWD
在这里插入图片描述

9)LD_LIBRARY_PATH

C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。

3.3 设置环境量

export 变量名='值'

如果环境变量的值没有空格等特殊符号,可以不用单引号包含。

示例:

export PATH=$PATH:.

以上命令为当前shell的环境变量PATH添加.目录(是.)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

以上命令为当前shell的环境变量LD_LIBRARY_PATH添加.目录

采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在登录脚本文件中配置。

3.3.1 系统环境变量

系统环境变量对全部的用户生效,设置系统环境变量有三种方法。

1)在/etc/profile文件中设置。

用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。

2)在/etc/profile.d目录中增加环境变量脚本文件,这是Linux推荐的方法。

/etc/profile在每次启动时会执行 /etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除 /etc/profile.d下对应的 shell 脚本即可。

/etc/profile.d目录下有很多脚本文件,例如:

ls /etc/profile.d
在这里插入图片描述

3)在/etc/bashrc文件中设置环境变量。

该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。

3.3.2 用户环境变量

用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。

在用户的主目录,有几个特别的文件,用ls是看不见的,用ls .bash*可以看见。
在这里插入图片描述

1).bash_profile(推荐首选)

当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。

2).bashrc

当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。

3).bash_logout

当每次退出系统(退出bash shell)时执行该文件。

4).bash_history

保存了当前用户使用过的历史命令。

3.3.3 环境变量脚本文件的执行顺序

环境变量脚本文件的执行顺序如下:

/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc

同名的环境变量,如果在多个脚本中有配置,以最后执行的脚本中的配置为准。

3.4 重要环境变量的详解

1、PATH环境变量

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。

1)PATH环境变量存放的是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录。

export PATH=目录1:目录2:目录3:…目录n:.

2)PATH缺省包含了Linux系统命令所在的目录(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含这些目录,Linux的常用命令也无法执行(要输入绝对路径才能执行)。

示例:

ls /bin/ls 可以查看到ls命令位于/bin目录下
在这里插入图片描述

此时我们执行命令 export PATH= 将PATH变量清空,再执行ls命令,系统会提示找不到ls命令。
在这里插入图片描述

采用绝对路径就可以使用,/bin/ls
在这里插入图片描述

为环境变量PATH添加/bin目录后,ls也可以执行了。
在这里插入图片描述

3)如果PATH变量中没有包含圆点.,执行当前目录下的程序需要加./或使用绝对路径。

示例:
在当前目录下执行 example 命令,提示无法执行。
在这里插入图片描述

将圆点.添加到环境变量PATH之后,便可以执行了。

export PATH=$PATH:.
在这里插入图片描述

2、LD_LIBRARY_PATH环境变量

C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。

LD_LIBRARY_PATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。

export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.

这个环境变量我们会在下次课讲解Linux静态库与动态库时详细介绍。

3.5 环境变量的生效

1)在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。

2)在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:

source /etc/profile

3.6 应用经验

虽然设置环境变量的方法有多种,但是建议大家系统环境变量在/etc/profile.d目录中配置,用户环境变量在用户的.bash_profile中配置,不建议在其它脚本文件中配置环境变量,会增加系统运维的麻烦,容易出错。

相关推荐:《Linux视频教程》

以上就是一起聊聊linux操作系统的常用命令及环境变量的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/545117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
票房大卖王如何打造高票房神剧本-票房大卖王高票房神本大全
上一篇 2025年11月9日 17:08:43
《绝区零》博物馆参观护照任务快速完成方法指南
下一篇 2025年11月9日 17:08:46

相关推荐

  • VSCode如何运行终端命令 VSCode内置终端的使用指南

    在VSCode里运行终端命令,最直接、最核心的方式就是利用它内置的集成终端。这玩意儿简直是开发者工作流的“心脏”,你可以在不离开编辑器界面的情况下,直接敲入并执行各种命令行操作,无论是跑测试、安装依赖,还是启动项目,都方便得要命。它把代码编辑和命令执行无缝衔接起来,大大减少了上下文切换的开销。 解决…

    2026年9月24日
    100
  • 解决AWS S3 PHP SDK中SSL连接失败问题:证书验证与文件句柄限制

    本文旨在帮助开发者解决在使用AWS S3 PHP SDK时遇到的SSL连接失败问题,错误信息包括“fopen(): SSL operation failed with code 5”和“certificate verify failed”。文章将深入分析错误原因,并提供修改php.ini配置,指定证…

    2026年9月24日
    100
  • 前端的设计模式系列-基本原则

    在完成对二十三个经典设计模式的讲解后,我们再来回顾一下一些基本原则,以便在日常开发中更好地理解和应用这些概念。 单一职责原则(SRP,Single Responsibility Principle)定义:一个类或模块应该有且仅有一个改变的原因。在 JavaScript 中,这更多地应用于对象和函数。…

    2026年9月24日
    100
  • 宝塔面板使用`Navicat`或其他工具连接数据库

    宝塔面板使用`Navicat`或其他工具连接数据库宝塔面板使用`Navicat`或其他工具连接数据库宝塔面板使用`Navicat`或其他工具连接数据库宝塔面板使用`Navicat`或其他工具连接数据库

    在linux系统上配置环境确实可能有些复杂,因此许多用户选择安装一个可视化面板,如宝塔面板。然而,当使用sql管理工具如navicat连接数据库时,可能会遇到连接问题。以下是如何解决这些问题的详细步骤,以navicat为例。 果不其然,直接无法连接上。 首先,我们需要检查服务器是否开放了3306端口…

    2026年9月24日 用户投稿
    900
  • Linux SSH配置文件sshd_config详解

    修改SSH配置可提升安全性与连接体验。1. Port 2222减少攻击;2. ListenAddress指定监听IP;3. Protocol 2禁用不安全的SSH-1;4. PermitRootLogin no禁止root直连;5. PasswordAuthentication no关闭密码登录;6…

    2026年9月24日
    100
  • 如何在Linux中处理只读文件系统?

    文件系统变只读主因是硬件故障或文件系统错误触发保护机制,需先用mount命令检查挂载状态,若显示ro则尝试remount,rw;2. 若失败应排查dmesg日志中的I/O错误,并在未挂载时用fsck修复文件系统;3. 使用smartctl检测磁盘健康,若硬盘已损坏需及时更换;4. 检查/etc/fs…

    2026年9月23日
    600
  • 如何在mysql中优化存储引擎参数

    优化MySQL存储引擎需根据业务场景调整参数。1. InnoDB:设innodb_buffer_pool_size为内存50%~70%,合理配置日志参数提升I/O性能,选用O_DIRECT减少缓存冲突,按磁盘性能设置io_capacity;2. MyISAM:分配足够key_buffer_size,…

    2026年9月23日
    100
  • 如何检测Linux网络丢包率 ping统计信息分析技巧

    如何检测Linux网络丢包率 ping统计信息分析技巧如何检测Linux网络丢包率 ping统计信息分析技巧如何检测Linux网络丢包率 ping统计信息分析技巧如何检测Linux网络丢包率 ping统计信息分析技巧

    使用ping命令检测linux网络丢包率时,应先看“% packet loss”数值,再分析rtt和mdev变化;排查问题需按步骤进行:1. ping 127.0.0.1确认系统是否正常;2. ping网关检查局域网或路由器问题;3. ping外网ip判断isp或中间路由问题;结合mtr/trace…

    2026年9月23日 用户投稿
    800
  • 如何在Linux中配置SELinux进行安全控制?

    SELinux通过强制访问控制提升Linux安全性,需掌握主体、客体、安全上下文和策略等概念;使用ls -Z和ps -Z查看上下文,通过/etc/selinux/config设置enforcing、permissive或disabled模式,临时切换用setenforce命令;管理文件上下文时可用r…

    2026年9月23日
    200
  • 如何预防单点故障?VIP高可用搭建解决步骤

    如何预防单点故障?VIP高可用搭建解决步骤如何预防单点故障?VIP高可用搭建解决步骤如何预防单点故障?VIP高可用搭建解决步骤如何预防单点故障?VIP高可用搭建解决步骤

    单点故障是系统稳定性最大威胁,因为其一旦发生将导致服务瞬间瘫痪。解决核心在于消除“唯一”组件,通过构建高可用集群实现冗余备份。具体步骤包括:1. 使用虚拟ip(vip)配合keepalived工具实现自动漂移;2. 配置至少两台服务器组成集群并通过心跳机制监测状态;3. 设置track_script…

    2026年9月23日 用户投稿
    500
  • 为什么硬盘数据恢复不完整?如何提高数据完整性?

    硬盘数据恢复不完整主要因数据覆盖、物理损伤、文件系统损坏、加密问题及恢复软件局限所致;一旦发生数据丢失且伴随异响、无法识别等情况,应立即停止操作并寻求专业服务,因其具备无尘环境、专用设备与技术经验,可最大限度避免二次损伤并提升恢复成功率。 硬盘数据恢复不完整,这事儿说起来挺让人沮丧的,往往是数据在丢…

    2026年9月23日
    700
  • 如何查看Linux磁盘SMART信息 smartctl健康检测

    如何查看Linux磁盘SMART信息 smartctl健康检测如何查看Linux磁盘SMART信息 smartctl健康检测如何查看Linux磁盘SMART信息 smartctl健康检测如何查看Linux磁盘SMART信息 smartctl健康检测

    使用smartctl工具可有效查看linux系统下磁盘的smart信息。首先安装smartmontools包,在debian/ubuntu上用apt命令,在centos/rhel上用yum命令安装;接着检查磁盘smart状态,若未启用则手动开启;然后通过sudo smartctl -h /dev/s…

    2026年9月23日 用户投稿
    1100
  • VSCode极简配置Docker:容器管理、中文终端、镜像调试

    安装docker、remote – containers及语言包等必要插件;2. 编写dockerfile定义开发环境;3. 配置.devcontainer/devcontainer.json指定构建参数与扩展;4. 使用“reopen in container”命令自动构建并连接容器;…

    2026年9月23日
    100
  • 从单片机到ARM Linux驱动——Linux驱动入门篇

    大家好,又见面了,我是你们的朋友全栈君。 嵌入式Linux操作系统具有:开放源码、所需容量小(最小的安装大约需要2MB)、不需著作权费用、成熟与稳定(经历这些年的发展与使用)、良好的支持等特点。因此被广泛应用于移动电话、个人数码等产品中。嵌入式Linux开发主要包括:底层驱动、操作系统内核、应用开发…

    2026年9月23日
    100
  • VSCode如何配置RISC-V开发环境 VSCode嵌入式开发的特殊设置

    解决方案的核心是选择合适的risc++-v gnu toolchain并将其bin目录添加到系统path,确保vscode能调用交叉编译器;2. 安装c/c++扩展和cortex-debug等调试扩展,通过c_cpp_properties.json配置头文件路径、宏定义和编译器路径,实现准确的智能感…

    2026年9月23日
    800
  • VSCode 如何设置文件自动备份 VSCode 文件自动备份功能的设置技巧​

    vscode文件自动备份通过配置files.autosave和files.backupinterval实现;2. files.autosave设为afterdelay、onfocuschange或onwindowchange可启用自动保存,配合files.autosavedelay设置延迟时间(毫秒…

    2026年9月23日
    500
  • SpringBoot 配置 ELK 环境

    SpringBoot 配置 ELK 环境SpringBoot 配置 ELK 环境SpringBoot 配置 ELK 环境SpringBoot 配置 ELK 环境

    为什么要使用elk?简单来说,elk栈(elasticsearch、logstash、kibana)是一个强大的日志分析和管理工具组合,可以帮助我们高效地收集、存储、搜索和可视化日志数据。下面我将简单地介绍一下elk的架构,并详细说明如何在mac和linux系统上配置elk环境。windows系统的…

    2026年9月23日 用户投稿
    500
  • 如何从Linux命令行直接执行MySQL/MariaDB查询

    如何从Linux命令行直接执行MySQL/MariaDB查询如何从Linux命令行直接执行MySQL/MariaDB查询如何从Linux命令行直接执行MySQL/MariaDB查询如何从Linux命令行直接执行MySQL/MariaDB查询

    如果您负责管理数据库服务器,可能需要定期执行查询并仔细检查其结果。虽然您可以在mysql/mariadb shell中执行这些操作,但本文介绍的技巧将使您能够直接在linux命令行中运行mysql/mariadb查询,并将输出保存到文件中,以便日后检查。这在查询返回大量记录时尤为有用。 让我们从一些…

    2026年9月23日 用户投稿
    200
  • 如何在Linux中列出所有用户?

    最直接的方法是读取/etc/passwd文件,使用cat /etc/passwd查看所有用户信息,cut -d: -f1 /etc/passwd提取用户名,getent passwd推荐用于LDAP/NIS环境,awk -F: ‘$3 >= 1000 && $3 &…

    2026年9月23日
    1500
  • 如何linux删除文件夹,linux删除文件夹,教您电脑的linux怎么样删除文件夹

    如何linux删除文件夹,linux删除文件夹,教您电脑的linux怎么样删除文件夹如何linux删除文件夹,linux删除文件夹,教您电脑的linux怎么样删除文件夹如何linux删除文件夹,linux删除文件夹,教您电脑的linux怎么样删除文件夹如何linux删除文件夹,linux删除文件夹,教您电脑的linux怎么样删除文件夹

    大家好,很高兴再次与大家见面,我是你们的朋友全栈君。 许多热爱学习的用户在操作linux软件程序时,经常会遇到需要删除文件夹的情况。然而,当尝试删除一个非空文件夹时,系统会提示无法删除,这对于初学者来说确实是一个挑战。今天,小编将与大家分享在linux中删除文件夹的具体操作方法。 首先,有人可能会问…

    2026年9月23日 用户投稿
    800

发表回复

登录后才能评论
关注微信