当前位置: 首页 > ai >正文

快速入门Linux操作系统(一)

目录

前言

Linux概述

接触Linux和初体验

        在虚拟机上安装linux操作系统

真正入门Linux

 一、几个常见指令

 二、目录简介

1、目录概要

2、目录的详细说明

3、相对路径与绝对路径

4、Linux文件系统注意事项

三、文本编辑器vi

        1、创建/打开文件

        2、vi的两种模式

四、用户管理

        1、组管理

        2、用户管理

        3、修改用户的密码

        4、切换用户

五、目录和文件操作

1、列出目录和文件的详细信息

2、创建目录

3、创建文件

4、删除目录和文件

5、复制目录和文件

6、移动目录和文件

未完待续


前言

        读者朋友们好,在这篇文章中,我将带您用两到三篇左右的文章的篇幅,快速入门掌握Linux操作系统,所以话不多说,让我们开始吧!

Linux概述

        Linux是一套开源的类Unix操作系统内核及基于该内核的操作系统集合,核心功能是实现硬件资源(如CPU、内存、外设)的抽象管理与软件进程的调度,为上层应用提供稳定的运行环境。         其起源可追溯至1991年:芬兰程序员林纳斯·托瓦兹(Linus Torvalds)因不满当时Unix系统的商业闭源限制,以GNU通用公共许可证(GPL)为基础,开发了一款可自由传播、修改的内核程序,并公开源代码。此后,全球开发者基于该内核,结合GNU项目的工具链(如编译器、shell等),逐步构建出完整的操作系统发行版(如Debian、Red Hat等),形成了庞大的Linux生态。         如今,Linux凭借开源性带来的高定制性、稳定性和安全性,已成为服务器领域的主导系统(占据全球超70%的服务器市场),也是嵌入式设备(智能家电、汽车电子)、移动设备(Android系统基于Linux内核)、超级计算机(全球Top500超算中90%以上采用Linux)的核心支撑,同时在云计算、容器技术(如Docker)等新兴领域发挥着基石作用,成为现代信息技术体系中不可或缺的一部分。


接触Linux和初体验

        在虚拟机上安装linux操作系统

                在你的 Windows 或 Mac 电脑上装一个虚拟机软件(如免费的 VirtualBox、VMware Workstation Player),然后下载 Ubuntu 或者centos的镜像文件(.iso),在虚拟机里 “假装” 装系统,像玩一个 “模拟电脑” 一样操作 Linux,即使搞崩了也能重来。这里不详细介绍怎么安装,但是提供一篇非常有参考价值的如何安装虚拟机的教程链接。

 如何安装虚拟机:安装虚拟机(VMware)保姆级教程(附安装包)_vmware虚拟机-CSDN博客

         本文之后的教程都是在安装了centos 7的条件下进行操作。

当您出现类似于下图的界面的时候,便可以跟着本文一起操作了。

        

真正入门Linux

        一、几个常见指令

                1、查看当前目录 pwd

                2、切换目录 cd 

                3、显示当前目录下有什么内容 ls

                4、列出指定目录中的目录和文件 ls 目录名

                5、清屏 clear

        二、目录简介

        1、目录概要

        切换到 /(根目录)后,输入指令 ls 后会显示如下的内容。

在Linux操作系统中,一切都是文件,而管理这些文件就需要目录,他们就像大树和枝叶的关系一样,不过目录多是树干的分支,而目录的最后是叶子,也就是文件,如下图。

2、目录的详细说明

/bin

bin是Binaries二进制文件的缩写这个目录存放经常使用的系统命令。

/boot

这里存放启动Linux时的核心文件。

/dev

dev是Device设备的缩写该目录下存放的是Linux的外部设备。

/etc

etc是Etcetera等等的缩写这个目录用来存放系统管理所需要的配置文件。

/home

用户的主目录,在Linux中每个用户都有一个自己的目录,创建用户后,在/home目录中创建一个子目录,专用于该用户。

/lib

lib是Library 的缩写这个目录里存放着系统最基本的静态和动态链接库。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media

linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt上,然后进入该目录就可以查看光驱里的内容了。

/opt

opt是optional可选的缩写,这是给主机额外安装软件所摆放的目录。Oracle数据库系统安装后的文件可以放在这个目录中。

/proc

proc是Processes进程的缩写,/proc是伪文件系统(虚拟文件系统),存放了当前内核运行状态的特殊文件,它是系统内存的映射,读取这个目录下的文件可以获取系统运行的信息。

/root

该目录为系统管理员的主目录。

/sbin

s是Super User的意思,是Superuser Binaries超级用户的二进制文件的缩写,/sbin存放系统管理员使用的系统管理程序。

/selinux

这个目录是RedhatCentOS特有的目录,selinux 是一安全机制,类似于Windows的防火墙但是这套机制比较复杂,这个目录写了与selinux相关的文件。

/srv

该目录存放服务启动之后的数据。

/sys

该目录挂载了sysfs文件系统,存放了系统设备信息,包含所有系统硬件层次的视图

/tmp

tmp是temporary临时的缩写这个目录是用来存放一些临时文件的。

/usr

usr是unix shared resources共享资源的缩写,这是一个非常重要的目录,很多应用程序和文件放在这个目录下,类似Windows的Program Files目录。

/var

var是variable变量的缩写,存放经常变动的文件,如缓存文件、日志文件、程序运行时产生的文件等。

/run

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

3、相对路径与绝对路径

基本概念

在Linux/Unix系统中,完整的文件名由目录路径和文件名组成。以/usr/include/stdio.h为例:

  • stdio.h是文件名

  • /usr/include/是该文件所在的目录路径

绝对路径

绝对路径具有以下特点:

  • 从根目录(/)开始的全路径

  • 在任何工作目录下都指向同一位置

  • 示例:/usr/include/stdio.h

  • 无歧义,明确指定文件位置

相对路径

相对路径具有以下特点:

  • 从当前工作目录开始计算

  • 路径解析依赖于当前所在目录

  • 示例:

    • 当前目录为/usr时,include/stdio.h等同于/usr/include/stdio.h

    • 当前目录为/usr/include时,stdio.h就指向/usr/include/stdio.h

特殊目录表示

  • . 表示当前目录

  • .. 表示父目录(上一级目录)

使用建议

  • 日常操作中可混合使用绝对路径和相对路径

  • 编程时推荐使用绝对路径,确保路径解析的确定性

  • 系统操作时优先考虑绝对路径以避免错误

4、Linux文件系统注意事项

  1. 一切皆文件原则:

    • 所有硬件设备(内存、磁盘、打印机、网卡等)都以文件形式表示

    • 文件名只是系统资源的抽象表示

  2. 文件系统管理:

    • 磁盘分区称为"文件系统"

    • 文件系统通过挂载到目录来使用(使用df命令查看)

  3. 系统目录注意事项:

    • 避免修改非自己创建的目录和文件

    • /tmp为临时目录,安全性不受保障

    • 系统目录操作需谨慎,不当修改可能导致系统故障

三、文本编辑器vi

vi是最强大的文本编辑器,没有之一。

1、创建/打开文件

vi 文件名

打开一个文件,如果文件不存在,就创建它。

示例:

vi abc.txt

2、vi的两种模式

vi 有两种模式,命令模式和编辑模式,在命令模式下,键盘输入是命令,在编辑模式下,键盘输入的才是字符。

进入vi时,缺省是命令模式。

这里打开了一个名字叫demo.c的文件,缺省为命令模式,可以输入如下的很多指令。

k 		类似方向键上。
j 		类似方向键下。          
h 		类似方向键左。
l 		类是方向键右。
i 		在光标所在位置前面开始插入。
a 		在光标所在的位置后面开始插入。
o 		在光标所在位置的下面插入空白行。
O 		在光标所在位置的上面插入空白行。
I 		在光标所在位置的行首开始插入。
A 		在光标所在位置的行末开始插入。Esc 	从编辑模式切换到命令模式。Ctrl+u 	上翻半页。
Ctrl+d 	下翻半页。Ctrl+insert  相当于Ctrl+c。
Shift+insert 相当于Ctrl+v。
以上两个命令在windows和UNIX中是通用的。Ctrl+g	显示光标所在位置的行号和文件的总行数。
nG 	光标跳到文件的第n行的行首。
G 		光标跳到文件最后一行。
:5回车	光标跳到第5行。
:n回车	光标跳到第n行。0 	 	光标跳到当前行的行首。
$ 	 	光标跳到当前行的行尾。w 	 	光标跳到下个单词的开头。
b 	 	光标跳到上个单词的开头。
e   	光标跳到本单词的尾部。x 	 	每按一次,删除光标所在位置的一个字符。
nx 	 	如"3x"表示删除光标所在位置开始的3个字符。
dw  	删除光标所在位置到本单词结尾的字符。
D   	删除本行光标所在位置后面全部的内容。dd   	删除光标所在位置的一行。
ndd  	如"3dd"表示删除光标所在位置开始的3行。yy 	 	将光标所在位置的一行复制到缓冲区。
nyy 	将光标所在位置的n行复制到缓冲区。
p 	 	将缓冲区里的内容粘贴到光标所在位置。r		替换光标所在位置的一个字符。
R 		从光标所在位置开始替换,直到按下Esc。
cw 		从光标所在位置开始替换单词,直到按下Esc。u 		撤销命令,可多次撤销。J   	把当前行的下一行文本拼接到当前行的尾部。/abcd  在当前打开的文件中查找文本内容“abcd”。
n      查找下一个。
N      查找上一下。.    	重复执行上一次执行的vi命令。~   	对光标当前所在的位置的字符进行大小写转换。:w回车	  	存盘。
:w!回车	  	强制存盘。
:wq回车 	存盘退出。
:w 文件名	把当前文件另存为……
:x回车	  	存盘退出。
:q回车  	不存盘退出。
:q!回车  	不存盘强制退出。:g/aaaaaaaaa/s//bbbbbb/g回车    把文件中全部的aaaaaaaaa替换成bbbbbb。vi *.cpp *.h	打开全部后缀为*.cpp和*.h的文件。
:n 				切换到下一个文件。

四、用户管理

1、组管理

Linux的用户属于组(角色),系统可以对一个组中的全部用户进行集中管理(权限)。

创建组:groupadd 组名

删除组: groupdel 组名 

的信息保存在文件/etc/group中

2、用户管理

创建用户:useradd -n 用户名 -g 组名 -d 用户的主目录

删除用户: userdel 用户名 

用户的信息保存在文件/etc/passwd中

3、修改用户的密码

创建用户后,必须设置它的密码,否则无法登录。

root用户可以修改任何用户的密码: passwd 用户名 

普通用户只能修改自己的密码:passwd

用户密码保存在 文件/etc/shadow 中

这里创建的MySQL用户的密码有显示,但是会以乱码的形式呈现。

4、切换用户

root用户可以免密码切换到任何用户:su - 用户名

普通用户切换到其它用户:su - 或su - 用户名,然后输入目标用户的密码。

五、目录和文件操作

1、列出目录和文件的详细信息

ls命令还可以列出目录和文件权限、大小、用户和组等信息。

选项-l列出目录和文件的详细信息。

选项-lt列出目录和文件的详细信息,按时间降序显示。

示例:


第1列:文件类型(第1个字符)

  • d:目录(Directory)

  • -:普通文件(Regular file)

  • l:符号链接(Symbolic link)

  • p:管道文件(Named pipe)

  • b:块设备文件(Block device),如硬盘

  • c:字符设备文件(Character device),如终端、打印机

  • s:套接字文件(Socket)

文件权限(第2-10个字符)

权限分为三组,每组三个字符:

  1. 所有者权限(第2-4个字符)

  2. 同组用户权限(第5-7个字符)

  3. 其他用户权限(第8-10个字符)

权限表示:

  • r:读权限(Read)

  • w:写权限(Write)

  • x:执行权限(eXecute)

  • -:无相应权限

第2列:链接/子目录计数

  • 文件:表示硬链接数量,新建文件默认为1

  • 目录:表示第一级子目录数量

    • 空目录显示为2(包含隐藏目录...

    • 使用ls -a可查看隐藏目录

第3列:文件所有者

显示拥有该文件的用户账户名

第4列:文件所属组

显示拥有该文件的用户组名

第5列:文件大小

  • 文件:以字节为单位显示大小

  • 目录:仅显示目录本身的大小(不包含其内容)

    • 使用du命令查看目录实际占用空间

第6-8列:最后修改时间

显示文件或目录内容最后一次被修改的时间戳

第9列:名称

显示文件或目录的名称

2、创建目录

mkdir 目录名

示例:

1)在当前目录中创建aaa目录。

mkdir aaa

2)在当前目录的aaa目录中创建bbb目录。

mkdir aaa/bbb

3)创建/tmp/aaa目录。

mkdir /tmp/aaa

4)一次创建多个目录。

mkdir /tmp/aaa1 /tmp/aaa2

3、创建文件

1)创建空文件

touch 文件名

2)把屏幕显示的内容输出到文件,如果文件已存在,将清空原有的内容。

任意可以屏幕输出内容的命令 > 文件名

3)把屏幕显示的内容追加到文件

任意可以屏幕输出内容的命令 >> 文件名

4、删除目录和文件

rm -rf 目录和文件列表

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

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

目录和文件列表之间用空格分隔。

5、复制目录和文件

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

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

如果第二个参数是已经存在的目录,则把第一个参数(旧目录或文件名)复制到该目录中。

6、移动目录和文件

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

如果第二个参数是已经存在的目录,则把第一个参数(旧目录或文件名)移动到该目录中。

未完待续

        本文目前介绍到目录和文件操作,日后随着深入学习我会更新更多相关内容,本文的学习资料来源主要来源自一位程序员技术博主,可以关注B站up码农论坛。如果觉得本文对您有所帮助,就请点赞转发收藏吧,您的支持也是我继续学习和更新的动力,感谢您的支持。

http://www.xdnf.cn/news/16272.html

相关文章:

  • 立式加工中心X-Y轴传动机械结构设“cad【6张】三维图+设计说明书
  • 进阶数据结构:用红黑树实现封装map和set
  • 学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装
  • 数据中心-时序数据库InfluxDB
  • 掌握Gemini-2.5:现代AI开发中实用应用的综合指南
  • 二次函数图像动画展示
  • 在Power Automate Desktop中执行PowerShell获取SharePoint online某个文件夹的用户权限列表
  • excel删除重复项场景
  • 算法竞赛阶段二-数据结构(35)数据结构单链表模拟实现
  • Node.js 模拟 Linux 环境
  • 【每天一个知识点】GAN(生成对抗网络,Generative Adversarial Network)
  • Whisper语音转文字
  • 【洛谷】单向链表、队列安排、约瑟夫问题(list相关算法题)
  • 互联网应用主流框架整合 Spring Boot开发
  • Linux DNS 服务器正反向解析
  • 【IMMCKF】基于容积卡尔曼滤波(CKF)的多模型交互的定位程序,模型为CV和CT,三维环境,matlab代码|附下载链接
  • Nestjs框架: 基于Mongodb的多租户功能集成和优化
  • 算子推理是什么
  • 电脑开机后网络连接慢?
  • (Python)文件储存的认识,文件路径(文件储存基础教程)(Windows系统文件路径)(基础教程)
  • 【17】C# 窗体应用WinForm ——【文本框TextBox、富文本框RichTextBox 】属性、方法、实例应用
  • C++:list(2)list的模拟实现
  • Java中配置两个r2db连接不同的数据库
  • JavaScript:现代Web开发的核心动力
  • Mistral AI开源 Magistral-Small-2507
  • C++查询mysql数据
  • Codeforces Round 181 (Rated for Div. 2)
  • Bert项目--新闻标题文本分类
  • DAY31 整数矩阵及其运算
  • 告别镜像拉取慢!CNB无痛加速方案,一键起飞