0基础Linux自学之路

举报
赵KK日常技术记录 发表于 2023/06/26 15:00:50 2023/06/26
【摘要】 操作系统的发展史 Unix在计算机操作系统的发展史上,Unix是一个重要的里程碑。Unix操作系统最早由贝尔实验室于1969年开发,并在1971年发布。Unix操作系统以其简洁、灵活和可扩展的设计理念而受到广泛的赞誉。它基于分时操作系统的思想,允许多个用户同时访问计算机系统,并提供了许多功能强大的工具和命令行界面。Unix的设计被广泛采用,并成为后来操作系统的重要影响因素。 MinixMi...

操作系统的发展史

Unix

在计算机操作系统的发展史上,Unix是一个重要的里程碑。Unix操作系统最早由贝尔实验室于1969年开发,并在1971年发布。Unix操作系统以其简洁、灵活和可扩展的设计理念而受到广泛的赞誉。它基于分时操作系统的思想,允许多个用户同时访问计算机系统,并提供了许多功能强大的工具和命令行界面。Unix的设计被广泛采用,并成为后来操作系统的重要影响因素。

Minix

Minix操作系统是由安德鲁·坦恩鲍姆教授开发的一个教学用途的操作系统。Minix基于Unix的设计原理,并在1987年发布。Minix的目标是为学生提供一个理解操作系统设计原理的平台。虽然Minix在学术界广受好评,但在商业应用上并没有取得太大的成功。

Linux

Linux是一个自由和开放源码的类Unix操作系统。它是由芬兰的林纳斯·托瓦兹在1991年创建的,受到Minix和Unix思想的启发。Linux的设计思想是基于Unix的哲学,注重简洁、灵活和可扩展性。Linux内核是Linux操作系统的核心部分,它负责管理计算机的硬件资源和提供系统调用接口。

Linux操作系统的开放源码使得许多人能够贡献代码和改进,使其变得更加稳定、安全和功能强大。基于Linux内核的各种发行版,如Ubuntu、CentOS、Debian等,提供了不同的用户界面和软件包管理工具,满足了不同用户的需求。

Minix没有火起来的原因

尽管Minix在学术界受到了广泛的认可,但它并没有在商业应用领域取得太大的成功。其中原因包括:

  1. 商业应用需求:Minix的设计初衷是作为教学用途的操作系统,而不是为商业应用而设计。它在功能和性能上不能满足商业用户的需求。
  2. 开放源码的竞争:Linux作为一个开放源码的操作系统,吸引了众多开发者的关注和贡献。相比之下,Minix的开发者和贡献者相对有限。
  3. 软件生态系统的不完善:Minix的软件生态系统并不像Linux那样丰富和完善。商业用户在选择操作系统时,更倾向于能够满足各种需求的操作系统。
  4. 市场定位:Minix定位于教学用途,没有投入太多的精力在商业市场上推广和竞争。

Linux介绍

Linux是一个自由和开放源码的类Unix操作系统。它具有以下特点:

  1. 自由和开放源码:Linux操作系统可以自由使用、复制、修改和传播。任何人都可以访问、修改和贡献代码。
  2. 多用户和多任务:Linux支持多个用户同时访问,并允许多个程序并发运行。
  3. 稳定和可靠:Linux的内核设计稳定可靠,能够长时间运行而不出现崩溃和故障。
  4. 安全性:Linux有强大的安全性,可以通过配置和权限管理来保护系统和用户数据的安全。
  5. 可移植性:Linux可以在各种硬件平台上运行,包括个人计算机、服务器、移动设备等。
  6. 多样的发行版:基于Linux内核的各种发行版提供了不同的用户界面和软件包管理工具,适应了不同用户的需求。

Linux内核&发行版

Linux内核是Linux操作系统的核心部分,它负责管理计算机的硬件资源和提供系统调用接口。Linux内核具有以下特点:

  1. 硬件抽象:Linux内核提供了对计算机硬件的抽象,使得上层应用可以独立于硬件平台进行开发。
  2. 设备驱动:Linux内核包含了大量的设备驱动程序,用于与各种硬件设备进行交互。
  3. 系统调用接口:Linux内核提供了一组系统调用接口,允许用户程序与内核进行通信。

Linux发行版是基于Linux内核的操作系统,它包含了用户界面、系统工具和应用软件。常见的Linux发行版有Ubuntu、CentOS、Debian等。不同的发行版提供了不同的用户界面和软件包管理工具,以满足不同用户的需求。

Linux内核版本

Linux内核的版本号是由三个部分组成:主版本号、次版本号和修订号。例如,Linux内核的版本号可以是5.3.0。主版本号表示Linux内核的大版本更新,次版本号表示小的功能更新,修订号表示错误修复和小的改进。

Linux内核版本的更新是由内核开发团队负责,每个版本的发布都会带来新的功能和改进。用户可以根据自己的需求选择适合的Linux内核版本。

Linux发行版本

Linux发行版是基于Linux内核的操作系统,它包含了用户界面、系统工具和应用软件。常见的Linux发行版有:

  1. Ubuntu:基于Debian的Linux发行版,以易用性和稳定性而闻名。
  2. CentOS:基于Red Hat Enterprise Linux(RHEL)的Linux发行版,被广泛用于服务器环境。
  3. Debian:一个稳定而成熟的Linux发行版,具有强大的软件包管理工具。
  4. Fedora:由Red Hat公司支持的Linux发行版,注重最新的软件和技术。
  5. Arch Linux:一个滚动更新的Linux发行版,提供了简单而灵活的操作和软件包管理。

不同的Linux发行版适用于不同的用户需求和场景,用户可以根据自己的需求选择适合的发行版。

类Unix系统目录结构

Linux系统遵循类Unix系统的目录结构,这种目录结构具有层次清晰、易于管理文件和程序的优点。下面是一些常见的类Unix系统目录:

  1. /:根目录,包含了系统中的所有文件和子目录。
  2. /bin:存放常用的二进制可执行文件,如ls、cp等。
  3. /boot:存放启动时所需的文件,如内核和引导管理器。
  4. /dev:存放设备文件,用于访问系统中的硬件设备。
  5. /etc:存放系统配置文件,如网络配置、用户配置等。
  6. /home:存放用户的个人文件和目录。
  7. /lib:存放系统所需的共享库文件。
  8. /media:用于挂载可移动设备,如光盘、U盘等。
  9. /mnt:用于挂载其他文件系统或网络共享。
  10. /opt:存放第三方软件包的安装目录。
  11. /usr:存放用户程序和文件,如系统命令、应用程序等。
  12. /var:存放系统运行时的状态信息和日志文件。

类Unix系统的目录结构是按照一定的规范组织的,这有助于用户快速定位和管理文件和程序。

Linux目录

在Linux系统中,目录是用来组织文件和子目录的容器。下面是一些常见的Linux目录:

  1. /bin:存放系统中常用的命令和可执行文件。
  2. /dev:存放设备文件,用于访问系统中的硬件设备。
  3. /etc:存放系统配置文件,如网络配置、用户配置等。
  4. /home:存放用户的个人文件和目录。
  5. /lib:存放系统所需的共享库文件。
  6. /mnt:临时挂载目录,用于挂载其他文件系统或网络共享。
  7. /opt:存放第三方软件包的安装目录。
  8. /tmp:临时文件目录,用于存放临时文件。
  9. /usr:存放用户程序和文件,如系统命令、应用程序等。
  10. /var:存放系统运行时的状态信息和日志文件。

这些目录的结构是按照类Unix系统的设计原则组织的,方便用户进行文件和目录的管理。

用户目录

在Linux系统中,每个用户都有一个独立的用户目录。用户目录用于存放用户的个人文件和配置文件。在用户目录中,通常包含以下一些常见的子目录:

  1. /home/username/Desktop:用户的桌面目录,用于存放桌面上的快捷方式和文件。
  2. /home/username/Documents:用户的文档目录,用于存放文档文件。
  3. /home/username/Downloads:用户的下载目录,用于存放下载的文件。
  4. /home/username/Pictures:用户的图片目录,用于存放图片文件。
  5. /home/username/Music:用户的音乐目录,用于存放音乐文件。
  6. /home/username/Videos:用户的视频目录,用于存放视频文件。

用户可以根据自己的需求创建和管理用户目录下的子目录,以方便对个人文件的整理和管理。

命令行基本操作

在Linux系统中,命令行是进行系统操作和管理的主要方式。下面是一些常见的命令行基本操作:

  1. 命令使用方法:在命令行中输入命令,按下Enter键执行该命令。
  2. 查看帮助文档:使用命令名后加上–help选项,可以查看命令的帮助文档。
  3. help命令:使用help命令可以查看内置命令的帮助文档。
  4. man命令:使用man命令可以查看命令的详细手册。
  5. tab键自动补全:在命令行中输入命令的部分内容,按下Tab键可以自动补全命令。
  6. history命令:使用history命令可以查看之前执行的命令历史记录。
  7. 命令行中的ctrl组合键:在命令行中使用ctrl组合键可以实现各种快捷操作,如ctrl+C用于中断当前的命令,ctrl+D用于退出当前的终端会话。

Linux命令

Linux操作系统提供了丰富的命令行工具,用于进行系统操作和管理。下面是一些常见的Linux命令:

  1. 列出目录的内容:使用ls命令可以列出当前目录或指定目录的内容。
  2. 显示inode的内容:使用stat命令可以显示文件或目录的详细信息,包括文件的inode信息。
  3. 文件访问权限:使用ls -l命令可以查看文件的访问权限和所有者信息。
  4. 修改文件权限:使用chmod命令可以修改文件或目录的访问权限。
  5. 修改文件所有者:使用chown命令可以修改文件或目录的所有者。
  6. 修改文件所属组:使用chgrp命令可以修改文件或目录的所属组。
  7. 文件内容查看:使用cat和tac命令可以查看文件的内容。
  8. 显示行号:使用nl命令可以显示文件的行号。
  9. 分屏显示:使用more和less命令可以分屏显示文件的内容。
  10. 取首尾n行:使用head和tail命令可以取文件的头部和尾部n行。

文件管理

在Linux系统中,文件管理是非常重要的一部分。下面是一些常见的文件管理命令:

  1. 输出重定向:使用>符号可以将命令的输出结果重定向到文件中。
  2. 管道:使用|符号可以将一个命令的输出结果作为另一个命令的输入。
  3. 清屏:使用clear命令可以清空终端屏幕的内容。
  4. 切换工作目录:使用cd命令可以切换当前的工作目录。
  5. 显示当前路径:使用pwd命令可以显示当前所在的路径。
  6. 创建目录:使用mkdir命令可以创建新的目录。
  7. 删除文件:使用rm命令可以删除文件。
  8. 建立链接文件:使用ln命令可以创建链接文件。
  9. 文本搜索:使用grep命令可以在文件中搜索指定的文本。
  10. 查找文件:使用find命令可以查找文件。
  11. 拷贝文件:使用cp命令可以复制文件。
  12. 移动文件:使用mv命令可以移动文件或将文件重命名。
  13. 归档管理:使用tar命令可以创建和管理归档文件。
  14. 文件压缩解压:使用gzip、bzip2、zip和unzip命令可以进行文件的压缩和解压缩。
  15. 查看命令位置:使用which命令可以查找命令的位置。

用户和用户组管理

在Linux系统中,用户和用户组的管理是非常重要的。下面是一些常见的用户和用户组管理命令:

  1. 查看当前用户:使用whoami命令可以查看当前登录的用户。
  2. 查看登录用户:使用who命令可以查看当前登录系统的用户。
  3. 退出登录账户:使用exit命令可以退出当前登录的账户。
  4. 添加用户账号:使用useradd命令可以添加新的用户账号。
  5. 修改用户:使用usermod命令可以修改用户的属性。
  6. 设置用户密码:使用passwd命令可以设置用户的密码。
  7. 删除用户:使用userdel命令可以删除用户账号。
  8. 切换用户:使用su命令可以切换用户身份。
  9. 以root身份执行指令:使用sudo命令可以以root身份执行指令。
  10. 添加、删除组账号:使用groupadd和groupdel命令可以添加和删除组账号。
  11. 用户组管理:使用groupmod命令可以修改用户组的属性。

系统管理

在Linux系统中,系统管理是保证系统正常运行的关键。下面是一些常见的系统管理命令:

  1. 查看当前日历:使用cal命令可以查看当前的日历。
  2. 显示或设置时间:使用date命令可以显示或设置系统的时间。
  3. 查看网络状态:使用netstat命令可以查看网络的状态信息。
  4. 查看进程信息:使用ps命令可以查看系统中运行的进程信息。
  5. 以树状图显示进程关系:使用pstree命令可以以树状图的形式显示进程的关系。
  6. 动态显示进程:使用top命令可以动态地显示系统中的进程情况。
  7. 终止进程:使用kill命令可以终止指定的进程。
  8. 关机重启:使用reboot、shutdown和init命令可以实现关机和重启操作。
  9. 检测磁盘空间:使用df命令可以检测磁盘的空间使用情况。
  10. 检测目录所占磁盘空间:使用du命令可以查看目录所占用的磁盘空间。
  11. 查看或配置网卡信息:使用ifconfig命令可以查看或配置网卡的信息。
  12. 测试远程主机连通性:使用ping命令可以测试网络上远程主机的连通性。

Linux 磁盘管理

在Linux系统中,磁盘管理是非常重要的。下面是一些常见的Linux磁盘管理命令:

  1. df:使用df命令可以查看文件系统的磁盘使用情况。
  2. du:使用du命令可以查看指定目录的磁盘使用情况。
  3. fdisk:使用fdisk命令可以对磁盘进行分区管理。
  4. 磁盘格式化:使用mkfs命令可以对磁盘进行格式化操作。
  5. 磁盘检验:使用fsck命令可以对文件系统进行检验和修复。
  6. 磁盘挂载与卸除:使用mount和umount命令可以挂载和卸载文件系统。

Linux管道命令

在Linux系统中,管道命令是一种非常强大的功能,可以将一个命令的输出作为另一个命令的输入。下面是一些常见的管道命令:

  1. wc:使用wc命令可以统计文件的字数、行数和字符数。
  2. cut:使用cut命令可以列选取文件的指定列。
  3. grep:使用grep命令可以行选取文件中匹配指定模式的行。
  4. sort:使用sort命令可以对文件进行排序。
  5. uniq:使用uniq命令可以去除文件中的重复行。
  6. tee:使用tee命令可以同时输出命令的结果到多个文件。
  7. tr:使用tr命令可以替换指定的字符。
  8. join:使用join命令可以将两个文件按行连接。
  9. paste:使用paste命令可以将多个文件的对应行链接在一起。
  10. split:使用split命令可以将文件切割为多个部分。
  11. xargs:使用xargs命令可以将命令的参数代换为标准输入的内容。

这些管道命令可以通过组合和嵌套使用,实现更复杂的数据处理和操作。

Linux命令练习

熟练掌握常用的Linux命令对于学习和使用Linux系统非常重要。下面是一些常见的Linux命令练习:

  1. 常用命令:掌握一些常用的Linux命令,如cd、ls、pwd等。
  2. 系统命令:了解系统管理方面的命令,如top、ps、netstat等。
  3. 用户和组:学习用户和用户组管理的命令,如useradd、usermod、passwd等。
  4. 权限:了解文件和目录权限管理的命令,如chmod、chown、chgrp等。
  5. 帮助文档:学习查看命令的帮助文档的命令,如help、man等。
  6. VIM:学习使用Vim编辑器的命令,如编辑、保存和退出等。
  7. 查找:学习文件和文本的查找命令,如grep、find等。
  8. 打包与压缩:学习文件的打包和压缩命令,如tar、gzip、bzip2、zip等。
  9. 正则表达式:学习使用正则表达式进行文本匹配和替换的命令,如sed和awk等。
  10. 输入输出重定向:学习使用输入输出重定向的命令,如>、>>、<等。
  11. 进程控制:学习控制进程的命令,如kill、ps、top等。
  12. 其他命令:学习其他有用的命令,如scp、locate、which、echo等。

通过实际操作和练习,可以更好地理解和掌握这些命令,提高在Linux系统中的工作效率。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。