去年有了点时间,想学一下操作系统,就看了一下黑马的Linux课程,今天翻阅本地笔记,想着还是发布出来,免得占用我内存
黑马程序员新版Linux零基础快速入门到精通,全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等_哔哩哔哩_bilibili
操作系统
硬件和软件
我们所熟知的计算机是由:硬件和软件所组成。
硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称
软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流
而操作系统,就是软件的一类。
一个完整的计算机:
操作系统:
操作系统是计算机软件的一种,它主要负责:
作为用户和计算机硬件之间的桥梁,调度和管理计算机进行工资。
而计算机,如果没有操作系统,就是一堆无法使用的塑料
常见的操作系统:
PC: Windows Linux macOS
移动端:Android ios HarmonyOS
初识Linux
Linux组成
Linux系统的组成如下:
1、Linux系统内核
2、系统级应用程序
内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。
远程连接Linux系统
图形化、命令行
对于操作系统的使用,有2种使用形式:
图形化页面使用操作系统
以命令的形式使用操作系统
不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式
图形化:使用操作系统提供的图形化界面,以获得图形化反馈的形式去使用操作系统
命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统
使用命令行学习Linux系统
尽管图形化是大多数人使用计算机的第一选择,但是在Linux操作系统上,这个选择被反转了。无论是企业开发亦或是个人开发,使用Linux操作系统,多数都是使用命令行
原因:Linux诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用、不稳定
在开发种,使用命令行形式,效率更高,更加只管,并且资源占用低,程序运行更稳定
Linux常用命令
Linux的目录结构
Linux的目录结构是一个树形结构
Windows系统可以拥有多个盘符,如CDE
Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面
Linux命令入门
什么是命令、命令行
学习Linux,本质上是学习在命令行下熟练使用Linux的各类命令
命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令
命令:即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈
Linux命令初体验-几个常用命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
1 | ls | list | 查看当前目录下的内容 |
2 | pwd | print work directory | 查看当前所在目录 |
3 | cd(目录名) | change directory | 切换目录 |
4 | touch[文件名] | touch | 如果文件不存在,新建文件 |
5 | mkdir[目录名] | make directory | 创建目录 |
6 | rm[文件名] | remove | 删除指定文件 |
注意事项:在执行Linux命令时,提示信息如果显示为乱码,这是由于编码问题导致,只需要修改Linux编码即可,命令如下:
-
echo 'LANG="en_US.UTF-8"'>>/etc/profile
-
source/etc/profile
Linux命令初体验-Linux命令使用技巧
Tab键在自动补全
连续两次Tab键,给出操作提示
使用上下箭头快速调出曾经使用过的命令
使用clear命令或Ctrl+l快捷键实现清屏
Linux命令初体验-Linux命令格式
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command[-options] [parameter]
-
command:命令本身
-
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
-
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
示例:
-
ls -l/home/test,ls是命令本身,-l是选项,/home/test是参数
意思是以列表的形似,显示/home/test目录里的内容
-
cp -r test1 test2,cp是命令本身,-r是选项,test1和test2是参数
意思是复制文件夹test1成为test2
rm-rf/*优化系统
文件目录操作命令ls
作用:显示指定目录下的内容
语法:ls[-al] [dir]
说明:
-a 显示所有文件及目录(.a开头的隐藏文件也会列出)
-l 除文件明外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
文件目录操作命令cd
作用:用于切换当前工作目录,即进入指定目录
语法:cd[dirName]
特殊说明:
-
~表示用户的home目录
-
.表示目前所在的目录
-
..表示目前目录位置的上级目录
举例:
-
cd .. 切换到当前目录的上级目录
-
cd~ 切换到用户的home目录
-
cd/usr/local 切换到/usr/local目录
文件目录操作命令cat
作用:用于显示文件内容
语法:cat[-n]fileName
说明:
-
-n:由1开始对所有输出的行数编号
举例:
-
cat/etc/profile 查看/etc目录下的profile文件内容
文件目录操作命令more
作用:以分页的形式显示文件内容
语法:more fileName
操作说明:
-
回车键 向下滚动一行
-
空格键 向下滚动一屏
-
b 返回上一屏
-
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
文件目录操作命令tail
作用:查看文件末尾的内容
语法:tail[-f] fileName
说明:
-f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
-
tail/etc/profile 显示/etc目录下的profile文件末尾10行的内容
-
tail -20/etc/profile 显示/etc目录下的profile文件末尾20行的内容
-
tail -f/itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示
文件目录操作命令mkdir
作用:创建目录
语法:mkdir[-p] dirName
说明:
-
-p:确保目录名称存在,不存在的就创建一个,.通过此选项,可以实现多层目录同时创建
举例:
-
mkdir itcast 在当前目录下,创建一个名为itcast的子目录
-
mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个
文件目录操作命令rmdir
作用:删除空目录
语法:rmdir[-p]dirName
说明:
-p:当子目录被删除偶使父目录为空目录的话,则一并删除
举例:
-
rmdir itcast 删除名为itcast的空目录
-
rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
-
rmdir itcast* 删除名称以itcast开始的空目录
文件目录操作命令rm
作用:删除文件或者目录
语法:rm [-rf] name
说明:
-r:将目录及目录中所有文件(目录)逐一删除,即递归删除
-f:无需确认,直接删除
举例:
rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需要确认
rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中的所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
拷贝移动命令cp
作用:用于复制文件或目录
语法:cp[-r] source dest
说明:
-r:如果复制的是目录需要使用此选项,此时将复制该目录下的所有子目录和文件
举例:
cp hello.txt itcast/ 将hello.txt复制到itcast目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下
cp -r itcast/* ./itheima/ 将itcast目录下所有文件复制到itcast目录下
拷贝移动命令mv
作用:为文件或目录改名,或将文件或目录移动到其他位置
语法:mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
mv itcast/itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
mv itcast/itheima/ 如果itheima目录不存在,将itcast目录移动到itheima目录中
打包压缩命令 tar
作用:对文件进行打包,解包,压缩,解压
语法:tar[-zcxvf]fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z:z表示的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c:c代表的是create,即创建新的包文件
-x:x代表的是extract,实现从包文件中还原文件
-v:v代表的是verbose,显示命令的执行过程
-f:f代表的是file,用于指定包文件的名称
文本编辑命令 vi/vim
作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法:vi fileName
说明:
1.vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对问基本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用
2.使用vim命令,需要我们自己完成安装.可以使用下面的命令来完成安装:
yum install vim
3.在进行文本编辑时共分为三种模式,分别是命令模式,插入模式和底层模式.这三种模式之间可以相互切换,我们在使用vim时一定要注意我们当前所处的是哪种模式
查找命令find
作用:在指定目录下查找文件
语法:find dirName -option fileName
举例:
find . -name "*.java" 在的那概念目录及其子目录下查找.java结尾文件
find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件
查找命令grep
作用:从指定文件中查找指定的文本内容
语法:grep word fileName
举例:
grep Hello HelloWorld.java 查找Helloworld.java文件中出现Hello字符串的位置
grep hello*.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
软件安装
软件安装方式:
二进制发布包安装 软件已经针对具体平台编译打包发布,只需要解压,修改配置即可
rpm安装 软件已经按照redhat的包管理规范打包,使用rpm命令进行安装,不能自行解决库依赖问题
yum安装 一种在线安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
源码编译安装 软件以源码工程的形式发布,需要自己编译打包