admin 管理员组

文章数量: 887500

目录

一. 基础知识

1.1 Linux操作系统概述

1.2 Linux环境搭建方法

1.2.1 使用VMware虚拟组件

1.2.2 远程访问Linux服务器

1.3 Linux目录结构

1.4 Linux文件相关常用命令

1.4.1 Linux命令格式

1.4.2 查看命令的帮助信息

1.4.3 ls命令

1.4.4 cd命令

1.4.5 pwd命令和clear命令

1.4.5 创建文件或文件夹命令

1.4.6 rm命令

1.4.7 文件的复制和移动

1.4.8 文件内容查看相关命令


一. 基础知识

1.1 Linux操作系统概述

        计算机一般分为个人计算机(笔记、台式机)与 企业级服务器(1U、2U、机柜、塔式、刀片)两种形式,而计算机又由硬件和软件组成,其中硬件一般使用冯-诺依曼体系结构,其中的五大部件为:输入设备、输出设备、运算器、控制器、存储器,软件包括系统软件(操作系统)和应用软件(各种浏览器、播放器等app)。

        操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行,操作系统起了承上启下的作用,是硬件和应用软件之间的桥梁,常见操作系统有window、mac、linux等等。

        1991年芬兰学生Linus Torvalds(林纳斯-托瓦兹)发布Linux系统第一个版本,开源免费。Linux是一个类似Unix的操作系统,其初衷就是要替代Unix,并在功能和用户体验上进行优化,所以Linux模仿了Unix(但并没有抄袭Unix的源码),使得Linux在外观和交互上与Unix非常类似。Linux选择企鹅图案作为Logo,其含义是:开放源代码的Linux像企鹅一样为全人类共同所有。

        操作系统的核心部分简称内核,Linux第一版本独立内核由Linus Torvalds开发实现,约10000行代码,后续Linus Torvalds公开了Linux内核代码,并邀请他人一起完善Linux。Linux发行版就是由Linux内核与各种常用软件的集合产品,如今全球大约有数百款的Linux发行版本。 从大的方面来说,Linux发行版可大致分为个人桌面版和企业服务器版。个人桌面版中,Ubuntu成熟度颇高较受欢迎,而Redhat(红帽系列)及其延伸版本(Centos)凭借稳定的性能在企业服务器中占比很大。

1.2 Linux环境搭建方法

1.2.1 使用VMware虚拟组件

       虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统,我们可以使用VMware虚拟机软件在本地电脑上虚拟出一个使用Linux操作系统的虚拟机。

        VMware的核心功能就是:通过对硬件资源的虚拟,在一台PC上运行其他隔离操作系统,隔离出来的操作系统虽然是虚拟的,但是硬件组成与功能上与物理实体机完全一致。

        VMware虚拟组件包括:网卡、交换机、网桥、DHCP设备、NAT服务器、PC主机虚拟网卡,它们各自的功能如下:

        网卡又叫网络适配器,通常可分为有线、无线两种网卡,是计算机接入网络的硬件设备; 每个计算机可以拥有多个网卡,每个网卡都有自己的唯一身份标识即MAC地址。

        PC主机虚拟网卡:在安装Vmware软件的时候,会在PC主机上安装两块虚拟网卡,以便PC作为一个节点和多个虚拟机组成一个局域网。虚拟网卡主要分为:NAT模式(虚拟机将你的Windows电脑当做路由器上网,也就是借助Windows电脑上网)、桥接模式:(虚拟机将自己接入你Windows电脑所在的网络中,也就是借助你Windows电脑用的路由器上网)以及仅主机模式:(虚拟机无法上网,只能和你的Windows电脑互通)。

        交换机:用于光(电)信号的转发,是组建局域网的核心设备。VMware会自带20个交换机,常用的交换机是VMnet8,对应VMware的NAT网络模式。

        DHCP即动态主机配置协议,DHCP设备能够为局域网内部的网络自动分配IP地址,此外,还能够作为中央来管理局域网内所有的计算机。

        NAT(Network Address Translation)即网络地址转换,NAT服务器能够把在内部网络中使用的IP地址转换成外部网络中使用的IP地址,把不可路由的IP地址转化成可路由的IP地址,从而对外部网络隐蔽内部网。 

        扩展:DNS(Domain Name Server,域名服务器)是进行域名和与之相对应的IP地址转换的服务器。域名可以理解成就是ip地址的别名,例如www.baidu就是域名,对应的ip地址是14.119.104.254或者157.148.69.80等。

1.2.2 远程访问Linux服务器

        服务器通常位于远程机房中,它们放置在机架机柜上,通过网线共同插入交换机组建成局域网,整个局域网内网络环境(网段、IP等信息)由交换机设定控制,服务器之间可通过交换机互相通信,最后多个局域网之间可以再通过交换机连接,形成具有网络拓扑结构的广域网,我们不方便直接在机房登录操作,因此可以使用支持SSH协议的软件,通过远程登录操作访问服务器。

        SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。 在Linux中,SSH的主要用途有:用户加密实现远程登录、服务器之间的免密登录。 SSH协议默认采用RSA算法实现非对称加密,需要两个密钥:公开密钥(public key:简称公钥)和私有密钥(private key:简称私钥),公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,因此可以实现对传输内容的加密,具体原理如下图所示:  

1.3 Linux目录结构

        Linux中的目录结构是一种从 / 根目录开始的树型结构,Linux系统只有一个根目录 /,所有文件或子目录都在它下面,而Windows系统可以拥有多个根目录,如 C:/、D:/、E:/,从根目录开始,路径具有唯一性。

        注意:Linux系统的绝对路径中,第一个 / 代表根目录,后面其他的 / 代表两个目录之间的间隔符。

        常见的系统目录如下:

目录作用
/binBinaries (二进制文件) 的缩写,这个目录存放着最经常使用的命令
/boot系统引导程序所需要的文件目录,存放的是启动 Linux 时使用的一些核心文件
/devDevice(设备) 的缩写,该目录下存放的是 Linux 的外部设备,磁盘,光驱
/etc用来存放所有的系统管理所需要的配置文件和子目录,系统配置,启动程序
/home普通用户的家目录,在 Linux 中,每个普通用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/libLibrary(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/mnt临时挂载储存设备的挂载点,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了
/optoptional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个MySQL数据库则就可以放到这个目录下。默认是空的。
/proc存储的是当前内核运行状态的一系列特殊文件。操作系统运行时,进程信息和内核信息存放在这里。
/rootLinux超级权限用户root的家目录
/sbin管理系统相关的命令【超级管理员用】
/tmp临时文件目录,这个目录被当作回收站使用
/usr用户或系统软件应用程序目录,类似于 windows 下的 program files 目录。

1.4 Linux文件相关常用命令

1.4.1 Linux命令格式

        Linux命令格式为:command [-options] [parameter],其中command表示命令名即相应功能的英文单词或单词的缩写,[-options]表示相应命令的选项,可用来对命令进行控制,也可以省略,parameter表示传给命令的参数,可以是 零个、一个或者多个。

        在Linux中,按tab键可以实现自动补全和提示,要合理使用;history命令可以显示历史执行过的命令记录,使用方向键可以切换前后执行过的命令。

1.4.2 查看命令的帮助信息

        在Linux中查看命令的帮助信息的方法主要有以下两种:

        help命令,格式为command --help,用于显示命令的帮助文档,提供简要的帮助信息,通常包含常用选项和用法。

        man命令,格式为man command,用于显示命令的详细手册,提供详细的帮助信息。

1.4.3 ls命令

        ls(list files)命令:用于显示指定工作目录下的文件以及子目录。

        ls命令可以添加的参数为path,即工作目录的相对路径或者绝对路径,绝对路径是以根目录 / 做起点,描述路径的方式,路径需以 / 开头,相对路径是以当前目录做起点,描述路径的方式,路径不需以 / 开头,如果不添加path参数默认查看当前工作目录下的子目录和文件,示例:ls path。

        ls命令可以添加的常用选项有-a、-l以及-h,具体介绍如下:      

        ls -a path,用于查看所有文件,包括以 . 为开头的隐藏文件。

        ls -l path可以简写为ll path,用于查看文件及其详细信息,包括文件的权限、类型、大小等。

        -h选项通常与-l选项一同使用,即 ls -lh path(也可以写为ls -l -h path)可以简写为ll -h  path,用于以更人性化方式的显示文件信息,具体显示区别如下:

        使用ll命令的部分显示如下:

        使用ll -h命令的部分显示如下:

1.4.4 cd命令

        cd(change directory)命令:用于切换当前工作目录,可以添加的参数为path,用于指定需要切换到的绝对路径或相对路径,若path参数省略,则默认变换至使用者的home目录,例如:cd path或者cd,通常 ~ 符号也表示为使用者的home目录的意思。

        此外,我们通常使用 . 表示当前目录,例如:cd . 或者cd ./ 当前目录下的子目录名;.. 表示上一级目录,例如:cd .. 表示返回上一级目录或者cd ../.. 表示返回上上一级目录。

1.4.5 pwd命令和clear命令

        pwd(print working directory)命令用于查看当前路径(也称为当前工作目录)。

        clear命令用于清屏,也可以使用快捷键ctrl + L完成清屏操作。

1.4.5 创建文件或文件夹命令

        mkdir(make directory)命令,用于创建目录,需要添加的参数为目录名,表示所创建的目录名称,示例:mkdir 目录名,我们可以同时创建多个同级目录,示例:mkdir 目录名1  目录名2 ...,多个目录名中间使用空格分隔

        常用可以添加的选项为 -p,用于在创建连续多级嵌套目录时,自动创建不存在的父目录,示例:mkdir -p 父目录名1/父目录名2/...。

        touch命令,用于创建文件,需要添加的参数为文件名,表示所创建的文件名称,示例:touch 文件名,我们可以同时创建多个同级文件,示例:touch 文件名1  文件名2 ...,多个文件名中间使用空格分隔。

1.4.6 rm命令

        rm(remove)命令,用于删除一个文件或者目录,需要添加的参数为目录名或者文件名,表示需要删除的目录名称或者文件名称,示例:rm 文件名,我们可以同时删除多个目录或者文件,示例:rm  文件名1  文件名2 ...,多个名称中间使用空格分隔,注意:如果不添加-r选项则只能删除文件。

        常用可以添加的选项有-f、-r,具体介绍如下:

        -f,表示强制直接删除,无需用户进行确认。     

        -r,表示将目录及以下子目录或文件所有递归地逐一删除。

1.4.7 文件的复制和移动

        cp(copy file)命令:用于复制文件或目录到指定的目标位置,具体格式为:

        cp 要复制的文件或者文件夹  目标位置,其中常用可以添加的选项为:-r,当给出的源文件是一个目录时,必须添加此参数,此时将会复制该目录下所有的子目录和文件。

        注意: cp复制文件后,源文件依然存在

        mv(move file)命令:用来为文件或目录改名或将文件或目录移入其它位置,具体格式为:

        mv 要移动的文件或者文件夹  目标位置,mv命令有以下四种情况:

        1. mv source_file(文件) dest_file(文件),若目标文件不存在,则将source_file改名为dest_file;如目标文件存在则提示是否要将源文件的内容写入目标文件,选择是则会将源文件的内容写入目标文件并删除源文件,选择否则mv命令失效,文件保持原状。

        2. mv source_file(文件) dest_directory(目录) ,若目录dest_directory存在,则将source_file移动到目录dest_directory中;若目录dest_directory不存在,则将source_file改名为dest_directory。

        3. mv source_directory(目录) dest_directory(目录) ,若目录dest_directory存在,则将 source_directory移动到目录dest_directory中;若目录dest_directory不存在,则将source_directory改名为dest_directory。

        4.mv source_directory(目录) dest_file(文件),若文件dest_file存在,则出错;若文件dest_file不存在,则将source_directory改名为dest_file。

        注意: 使用mv命令移动文件后,源文件就会消失。

1.4.8 文件内容查看相关命令

        cat(concatenate)命令:格式为cat 文件名,用于连接文件并打印到标准输出设备如console控制台上。适合小文件内容查看。

        more命令:格式为more 文件名,类似cat命令,不过会以一页一页的形式显示,更方便使用者逐页阅读,翻页结束自动退出,适合大文件查看,可以按space键翻下一页、按b(back)向上翻一页、按enter键翻下一行、按q退出。

        less命令:格式为less 文件名,与more命令类似,less可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页,且结束不会自动退出,less的功能比起more更强大,可使用 /搜索内容,来进行搜索,搜索完成后可以按n:查看下一个搜索结果,按N:查看上一个搜索结果,与more一样也可以按space键翻下一页、按b向上翻一页、按enter键翻下一行、按q退出。

        head命令:格式为head 文件名,用于查看文件的开头部分的内容。常用的可添加选项为-n ,用于表示所显示的行数,默认为10,即显示10行的内容。

        tail命令:格式为tail 文件名,用于查看文件的结尾部分的内容。常用的可添加选项为-n,用于表示所显示的行数,默认为10,即显示10行的内容;-f用于实时显示文件动态追加的内容,添加该选项后会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要文件有更新,就可以看到最新的文件内容。

本文标签: 带你 基础知识 入门 Linux