引言
Linux是一个开源的Unix-like操作系统。它是由芬兰计算机科学家Linus Torvalds于1991年首次发布。Linux以其稳定性,安全性和灵活性而受到欢迎,并被广泛用于服务器,超级计算机,嵌入式系统和许多其他平台。在某些领域,例如智能手机和平板电脑(主要是Android操作系统),Linux的衍生品也非常流行。
Linux操作系统的主要组成部分是Linux内核,它负责管理系统的硬件。Linux操作系统的一大特点是其高度的可定制性。用户可以根据自己的需要选择安装不同的软件包,以适应各种用途,从基本的命令行界面到带有各种现代桌面环境的全功能操作系统。另一个Linux的重要特性是其开源许可证。Linux的源代码对公众开放,任何人都可以自由地查看,修改,和分发代码,只要他们遵守GNU通用公共许可证(GPL)。
Linux的主要发行版包括Ubuntu,Debian,Fedora,CentOS,和Arch Linux等。每个发行版都有自己独特的特点和优势,满足不同类型的用户需求。
1. 认识Linux
我们现在常用的系统为Windows系统和macOS系统,这两个都属于个人桌面操作系统,而本文章所要讨论的Linux则为服务器操作系统。
1.1 操作系统概述
我们所熟知的计算机是由:硬件和软件所组成。
硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。
硬件和软件:
软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。
而操作系统,就是软件的一类。
一个完整的计算机:
操作系统:
操作系统是计算机软件的一种,它主要负责:
作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作。
而计算机,如果没有操作系统,就是一堆无法使用的塑料而已。
当计算机拥有了操作系统,就相当于拥有了灵魂,操作系统可以:
- 调度CPU进行工作
- 调度内存进行工作
- 调度硬盘进行数据存储
- 调度网卡进行网络通讯
- 调度音响发出声音
- 调度打印机打印内容
- …
常见操作系统:
PC端:Windows、Linux、MacOS
移动端:Android、IOS、鸿蒙系统
不管是PC操作系统
还是移动操作系统
其功能都是:调度硬件进行工作
充当用户和硬件之间的桥梁
1.2 认识Linux
Linux创始人: 林纳斯 托瓦兹
Linux 诞生于1991年,作者上大学期间
因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。
Linux内核:
Linux系统的组成如下:
Linux系统内核
系统级应用程序
两部分组成。
内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:
文件管理器、任务管理器、图片查看、音乐播放等。
比如,播放音乐,无论用户使用自带音乐播放器或是自行安装的第三方播放器均是由播放器程序,调用内核提供的相关功能,由内核调度CPU解码、音响发声等。
可以看出,内核是Linux操作系统最核心的所在,系统级应用程序只是锦上添花。
Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改。
可以通过:https://www.kernel.org 去下载Linux内核
Linux发行版:
内核是免费、开源的,这也就代表了:
- 任何人都可以获得并修改内核,并且自行集成系统级程序
- 提供了内核+系统级程序的完整封装,称之为Linux发行版
- 任何人都可以封装Linux,目前市面上由非常多的Linux发行版
1.3 虚拟机介绍
借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。
这样,就可以在电脑中,虚拟出一个完整的电脑,以供我们学习Linux系统。
可以通过提供虚拟化的软件来获得虚拟机。
本文选用VMware WorkStation软件来提供虚拟机。
下载地址:https://www.vmware.com/cn/products/workstation-pro.html
首先,我们需要下载操作系统的安装文件,此文章使用CentOS7.6版本
下载地址:https://vault.centos.org/7.6.1810/isos/x86_64/
1.4 远程连接Linux操作系统
图形化、命令行:
对于操作系统的使用,有2种使用形式:
图形化页面使用操作系统
以命令的形式使用操作系统
不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式。
图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。
命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。
我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:
内容的复制、粘贴跨越VMware不方便
文件的上传、下载跨越VMware不方便
也就是和Linux系统的各类交互,跨越VMware不方便
我们可以通过第三方软件,FinalShell,远程连接到Linux操作系统之上。并通过FinalShell去操作Linux系统。这样各类操作都会十分的方便。
FinalShell的下载地址为:http://www.hostbuf.com/downloads/finalshell_install.exe
1.5 WSL
WSL作为Windows10系统带来的全新特性,正在逐步颠覆开发人员既有的选择。
传统方式获取Linux操作系统环境,是安装完整的虚拟机,如VMware
使用WSL,可以以非常轻量化的方式,得到Linux系统环境
目前,开发者正在逐步抛弃以虚拟机的形式获取Linux系统环境,而在逐步拥抱WSL环境。
所以,为什么要用WSL,其实很简单:
开发人员都在用,大家都用
方便,简单、好用、轻量化、省内存
WSL:Windows Subsystem for Linux,是用于Windows系统之上的Linux子系统。
作用很简单,可以在Windows系统中获得Linux系统环境,并完全直连计算机硬件,无需通过虚拟机虚拟硬件。简而言之:Windows10的WSL功能,可以无需单独虚拟一套硬件设备就可以直接使用主机的物理硬件,构建Linux操作系统并不会影响Windows系统本身的运行
1.6 虚拟机快照
我们有时无法避免的可能损坏Linux操作系统。
如果损坏的话,重新安装一个Linux操作系统就会十分麻烦。
VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。
通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。
2. Linux基础命令
2.1 Linux的目录结构
Linux的目录结构是一个树型结构
Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘
Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面
Linux路径的描述方式:
- 在Linux系统中,路径之间的层级关系,使用:/ 来表示
- 在Windows系统中,路径之间的层级关系,使用: \ 来表示
目录名 | 作用 |
/bin | 存放最经常使用的命令 |
/boot | 存放启动Linux操作系统的时候的一些核心文件 |
/etc | 存放系统管理和配置文件 |
/dev | 用于存放设备文件 |
/home | 存放的用户的目录,每个用户都有一个属于自己的目录 |
/opt | 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。 |
/usr | 用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录 |
/var | 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。 |
2.2 命令入门
1. 目录的切换(change directory)
cd /test: 切换到 /test目录下进行操作。
cd -: 切回到上一此编辑的目录。
cd ~: 切回到当前用户的家目录。
cd …: 切到当前目录的上一级目录。
2. 文件内容的查看
cat:查看文件的全部内容
head: 默认查看文件内容的前10行
tail:默认查看文件内容的后10行
more:分页查看文件内容,使用空格键向下翻页,但是只能向下翻页。
less:分页查看文件内容,使用空格键向下翻页,也可使用PgUp和PgDown实现向上、向下翻页。
3. 查看文件夹中的内容
ls(list):查看文件夹中的内容
ls -a: 查看文件夹中的内容,包括隐藏文件
ls -l(可以简写成ll): 查看文件夹中的内容的详细信息
查看到文件夹的详细信息后,会看到有七栏,那么我们分别来解释一下是什么意思:
第一栏:有10个符号,第一个符号表示表示文件的属性,-表示是文件,d是目录,l是连接文件;后面9为分别分三组,每组均为rwx,r是可读,w是可写,x是可执行,第一组表示当前的用户的权限,第二组是用户组的权限;第三组是其他用户的权限。
第二栏:是文件或者文件夹的个数,如果说文件就为1,如果目录的情况下就是该目录下文件夹的个数,其中包括当前目录和上级目录。
第三栏:当前文件或者文件夹所属的用户。
第四栏:当前文件或者文件夹所属的用户组。
第五栏:当前文件或者文件夹的大小,单位为KB。
第六栏:创建的时间。
第七栏:文件或者文件夹或者链接的名字。
4. 相对路径、绝对路径
要高清相对路径首先要搞清楚.和…的这两个概念,一个点表示当前目录,即我们当前操作所处的目录;两个点表示上一级目录。
相对路径,所谓相对就必须要有一个参照物,例如两个同学A和他的同桌B,并且他们两个此时此刻正坐在一起。假如现在有人问A:“B在哪里?”,A回答道:“B就在我身边呀。”,那么此时A的回答就是以自己为参照物,B就在他身边。
绝对路径,就是以一个顶级的地址,而且这个地址我们都知道,例如“宇宙”、“地球”、“中国”、“北京”等都可以选择作为我们的顶级地址,我们同样以上面提到过的A和B这两个同桌为例,A还有另外一种回答:“他在地球上中国北京市昌平区区XX路XX楼X层XX房第X排第X个”,那么A这种回答的方式就是以地球作为顶级目录,然后逐层往下找。
那么我们在Linux操作系统中,相对路径所选择的参照物就是我们当前执行操作所处的目录;绝对路径所选择的顶级目录就是我们的根(/)目录。
5. 文件夹、文件的创建
touch test: 创建一个名为test的文件。
mkdir test: 创建一个名为test的文件夹。
mkdir -p /a/b: 创建目录a, 然后在目录a下创建目录b.
6. 文件、文件夹的删除
rm test: 删除名为test的文件或者空的文件夹,会出现询问是否要删除。
rm -f test: 删除名为test的文件或者空的文件夹,不会出现提示。
rm -rf test: 删除名为test的文件或者文件夹,-r是recursion,递归的意思。
7. 文件或者文件夹的拷贝
cp ./test /data: 将当前目录下的test文件拷贝到 /data目录下。
cp /test/a.txt /datas: 将/test目录下的a.txt文件靠别到/datas目录下。
cp -r /test /datas: 将/test目录拷贝到/datas目录下,-r是recursion,递归的意思,无论/test文件夹是否为空。
cp -r /test/* /datas/: 将/test目录下的所有内容拷贝到/datas目录下。
8.文件、文件夹的移动
mv test /datas: 将当前目录下的test文件或者文件夹移动到/datas目录下。
mv /test/* /datas: 将/test目录下的所有内容移动到/datas目录下。
9.文件、文件夹的重命令
mv test test1: 将test目录或者文件重命名为test1。
五. 文件、文件夹的上传、下载
我们可以直接使用xshell提供的工具实现文件的上传与下载。
六. vi、vim的使用
vi为linux操作系统自带的文本编辑器,其功能非常的强大,我们必须要掌握其使用,为我们修改各种配置或者编写脚本文件奠定基础。其快捷键命令如下:
标签:文件夹,文件,操作系统,详解,Linux,test,目录 From: https://www.cnblogs.com/R-bear/p/17706258.html