基础
1 介绍
1.1 什么是Linux
Linux是一套免费使用和自由传播的操作系统。与windows和mac相似
1.2Linux简介
1.2.1 主流操作系统
不同领域的主流操作系统,主要分为以下这么几类: 桌面操作系统、服务器操作系统、移动设备操作系统、嵌入式操作系统。接下来,这几个领域中,代表性的操作系统是那些?
1). 桌面操作系统
操作系统 | 特点 |
---|---|
Windows | 用户数量最多 |
MacOS | 操作体验好,办公人士首选 |
Linux | 用户数量少(桌面操作系统,Linux使用较少) |
2). 服务器操作系统
部署应用软件的操作系统:
操作系统 | 特点 |
---|---|
Unix | 安全、稳定、付费 |
Linux | 安全、稳定、免费、占有率高 |
Windows Server | 付费、占有率低 |
3). 移动设备操作系统
操作系统 | 特点 |
---|---|
Android | 基于 Linux 、开源,主要用于智能手机、平板电脑和智能电视 |
IOS | 苹果公司开发、不开源,用于苹果公司的产品,例如:iPhone、 iPad |
4). 嵌入式操作系统
操作系统 | 特点 |
---|---|
Linux | 机顶盒、路由器、交换机 |
1.2.2 Linux系统版本
Linux系统的版本分为两种,分别是: 内核版 和 发行版。
1). 内核版
-
由Linus Torvalds及其团队开发、维护
-
免费、开源
-
负责控制硬件
2). 发行版
-
基于Linux内核版进行扩展
-
由各个Linux厂商开发、维护
-
有收费版本和免费版本
我们使用Linux操作系统,实际上选择的是Linux的发行版本。在linux系统中,有各种各样的发行版本,具体如下:
发行版本 | 特点 |
---|---|
Ubuntu | 以桌面应用为主 |
CentOS | RedHat的社区版、免费 |
2 安装
下面以虚拟机安装centos7 64位为例
虚拟机软件为:VMware Workstation Pro 16
2.1 安装过程
1). 选择创建新的虚拟机
2). 选择"典型"配置
3). 选择安装程序光驱映像文件
Centos7_x64
官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/
4). 选择"Linux"操作系统,"CentOS7 64位"版本
5). 设置虚拟机的名称及系统文件存放路径
官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/
阿里镜像下载
https://mirrors.aliyun.com/centos/7/isos/x86_64/
6). 设置磁盘容量
7). 自定义硬件信息
默认完成即可
8). 启动上述创建的新虚拟机
9). 选择"Install CentOS7"
10). 选择语言为 “简体中文”
注意 : 在Linux系统中,在命令行中输入密码信息,为了保证安全性,密码是不显示的(看似没有输入,实际已经输入了);
2.2 配置过程
2.2.1 分区配置
1). 选择"自动配置分区"
2.2.2 开发配置
1). 选择"基础网页服务器"
2.2.3 网络配置
1).设置外网网卡打开 很重要
2).设置网卡自动连接
注意:这里一定要将可用时自动链接到这个网络(A)勾选上。否则系统装好之后网卡不会开启。勾选上之后网卡就会自动开启。网卡启动之后就可以连接外网了。
3).网络配置完成
2.2.4 密码配置
1).复制文件的过程中可以设置root管理员密码
2).密码设置为123456,因为密码太短,点完成两次
3 命令
3.1文件目录操作命令
3.1.1 ls
作用: 显示指定目录下的内容 list
语法: ls [-al] [dir]
说明:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)-all
-l 除文件名称外,同时将文件型态(d表示目录,-表示文件, l表示软件连的文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
常见用法:
ls -al 查看当前目录的所有文件及目录详细信息
ls -al /etc 查看/etc目录下所有文件及目录详细信息
ll 查看当前目录文件及目录的详细信息
注意:无论是window或者linux,目录以.开头,则默认隐藏
3.1.2 cd
change directory
作用: 用于切换当前工作目录,即进入指定目录
语法: cd [dirName]
特殊说明:
~ 表示用户的home目录
如果当前用户是root,则切换到root用户下,普通用户则切换到home目录下
. 表示目前所在的目录
.. 表示目前目录位置的上级目录
举例:
cd .. 切换到当前目录的上级目录
cd ~ 切换到用户的home目录
cd /usr/local 切换到/usr/local目录
3.1.3 cat
作用: 用于显示文件内容
特点:一次性全量查看文件内容
使用场景:一般用在小文件读取的场景(大文件不适用)
语法: cat [-n] fileName
说明:
-n: 由1开始对所有输出的行数编号(显示行号-number)
举例:
cat /etc/profile 查看/etc目录下的profile文件内容
cat -n /etc/profile
3.1.4 more
作用: 以分页的形式显示文件内容
语法: more fileName
特点:独占一个命令终端窗口,并且适合读取大的文件内容,且按照百分比加载展示;
使用场景:读取一些大文件,且从头开始读取的场景
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
3.1.5 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文件末尾内容并显示
一旦使用-f后,命令会独占一个终端窗口;
使用ctrl+c退出
echo 内容 >> 文件名称 :将指定内容写在指定文件的末尾;
3.1.6 mkdir
作用: 创建目录
语法: mkdir [-p] dirName
说明:
-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
mkdir itcast 在当前目录下,建立一个名为itcast的子目录
mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个
3.1.7 rmdir
作用: 删除空目录 (remove directory)
语法: rmdir [-p] dirName
说明:
-p: 当子目录被删除后使父目录为空目录的话,则一并删除
反之,如果父目录不为空,则不删除
举例:
rmdir itcast 删除名为itcast的空目录
rmdir -p itcast/test 删除itcast目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir itcast* 删除名称以itcast开始的空目录
3.1.8 rm
作用: 删除文件或者目录
语法: rm [-rf] name
说明:
-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除
-f: 无需确认,直接删除(force)
举例:
rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件
可删除一切的目录和文件,无需确认
rm -f hello.txt 无需确认,直接删除hello.txt文件
rm -rf *.log 删除当前路径下以log结尾的目录或者文件
3.2 拷贝移动命令
3.2.1 cp
作用: 用于复制文件或目录(copy)
语法: cp [-r] source dest
-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目录下所有文件复制到itheima目录下
注意事项:在linux下的文件中没有后缀,我们一般自己添加一个后缀是为了可读性;例如hi.txt 这个文件,一看就是普通文件了。 .txt 也是文件名的一部分。再比如123.c显然这里面很可能写的是c代码。
3.2.2 mv
作用: 为文件或目录改名、或将文件或目录移动到其它位置(move)
语法: mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt(移动hello.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目录中
3.3 打包压缩命令
作用: 对文件进行打包、解包、压缩、解压
语法: tar [-zcxvf] fileName [files]
约定:
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c: c代表的是create,即创建新的包文件(打包)--》(如果c与z参数配合,则表示打包并压缩)
-x: x代表的是extract,实现从包文件中还原文件(拆包)-->(如果x与z参数配合,则表示解压并拆包)
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称
注意点:命令中x与c二选一,如果z配合c一块使用,表示打包并压缩
如果z配合x一块使用,表示解压并拆包
举例:
打包
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
打包:
tar -cf ziliao.tar a.txt b.txt
tar -cvf ziliao.tar a.txt b.txt
tar -zcvf ziliao.tar.gz a.txt b.txt **************
解压:
tar -xf ziliao.tar
tar -zxf ziliao.tar.gz
tar -zxvf ziliao.tar.gz **************
注意:
指令f一定放到最后
3.4 查找命令
3.4.1 find
作用: 在指定目录下根据文件的名称递归查找文件
find [目录名][-name '查询字符串'] | 功能 |
---|---|
无参名 | 搜索当前目录下所有的文件和子目录 |
目录名 | 搜索指定目录下所有的文件和子目录 |
-name ‘查询字符串’ | 指定要搜索的字符串 ***** 匹配多个字符 |
作用: 在指定目录下根据文件的名称递归查找文件
语法: find dirName -option fileName
举例:
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /itcast -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件
3.4.2 grep
grep是一种强大的文本搜索工具,它能使用字符串搜索文本,并把匹配的行和行号打印出来。
- find命令:查找文件或目录(搜索文件夹和整个文件)
- grep命令:搜索文件内容的字符串
语法格式
grep [参数] 字符串 文件名 | 参数说明 |
---|---|
作用 | 从指定的文件中搜索指定的字符串 |
-n | 显示行号 |
-v | 显示不匹配的行 |
-i | 忽略大小写查找 |