Linux概述及命令使用

文章详细介绍了Linux操作系统的发展历程、系统特点,包括开放性、多用户、多任务等,并对比了Linux与Windows的区别,如内核、价格、软件支持和易用性。此外,还涵盖了Linux在服务器、嵌入式、桌面和移动领域的应用,以及Linux命令的使用,如基本命令、文件操作、压缩解压缩等。文章还讨论了文件权限和YUM包管理器的使用。
摘要由CSDN通过智能技术生成

1.Linux概述

Unix系统

  • Linux操作系统可以追溯到1969年,Unix是较早被广泛使用的计算机系统之一,第一版于1969年由肯汤普森实现,1973年肯汤普森和丹尼斯里奇用c语言重写了unix的第三版内核。
  • Unix是个强大的多用户、多任务操作系统
  • Unix的商标权由国际开放标准组织所拥有
  • Unix操作系统商业版,收费

Linux发展历史

  • Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日,也是第一次正式向外公布,由芬兰学生Linus 和后来陆续加入的众多爱好者共同开发完成

  • Linux这个词本身只表示Linux内核,但人们习惯用Linux形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

  • 那么GNU计划是什么呢

  • GNU计划和自由软件基金会FSF是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似UNIX并且是自由软件的完整操作系统。

  • GPL协议

  • 即GNU通用公共许可协议,是 GNU General Public License 的简写。它是由自由软件基金会(FSF)公布的自由软件许可证。

  • 规定了使用遵循了GPL协议软件时,使用者的权力和义务如下

  • 权力:获取源码的权力;修改源码的权利;自由处理衍生作品的权利。

  • 义务:

  • (1)使用了遵循GPL协议发布的软件,自身也必须遵守GPL协议。这也是GPL被人称为有传染性的原因。

  • (2)必须开放源代码;允许使用者自由获取(复制)、修改、发布的产品,即拥有获取源码、修改源码、分发软件的自由。

系统特点

(1)开放性:系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准;

(2)多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响;

(3)多任务:指计算机同时执行多个程序,而且各个程序的运行相互独立;

(4)良好的用户界面:Linux向用户提供了两种界面(用户界面和系统调用)。Linux还为用户提供了图形用户界面。它可利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面;

(5)设备独立性:指操作系统将所有外部设备统一当作文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力。

(6)提供了丰富的网络功能:完善的内置网络是Linux一大特点。

(7)可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境的用户提供了必要的安全保障。

(8)良好的可移植性:是指将操作系统从一个平台转移到另一个平台,使它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。

(9)支持多文件系统:linux系统可以把许多不同的文件系统以挂载形式连接到本地主机上,包括Ext2/3、FAT32、NTFS、OS/2等文件系统,以及网络上其他计算机共享的文件系统NFS等,是数据备份、同步、复制的良好平台。

Linux和Windows的区别

(1)内核不同
Linux操作系统使用Linux内核,Windows操作系统使用NT内核。Linux操作系统是开放源码系统,可以对其程序进行编辑修改。而微软的windows系统受微软版权保护,只允许微软内部进行开发及修改。

(2)价格
Linux是免费的,Windows是收费的,不过不代表所有Linux都是免费的,有一部分进行商业运作的Linux是收费的,比如Redhat Linux。

(3)支持软件
Windows软件支持丰富,而Linux软件支持就很少了,因为Windows硬件驱动厂商支持全面,Linux驱动这块不如Windows全面,比如百分之九十九的游戏都可以在Windows上运行,而Linux上只有很简陋的游戏。

(4)易用性
Windows易用性高,Linux操作系统有一定的门槛,Linux使用命令行字符模式为主要操作方式,Windows使用窗口、图标、鼠标点击形象化的方式为主要操作方式,如果不懂命令行,基本使用Linux是寸步难行的。

(5)操作方式
windows操作主要以图形界面为主,linux操作主要以命令行为主。
linux命令行区分大小写,windows在dos界面命令下不区分大小写。

(6)市场和安全性
Linux系统主攻服务器市场,Windows系统主打桌面市场,Linux主要应用于网络,而Windows操作系统最开始应用于打印服务。Linux安全性比Windows安全性高,要求它更加可靠。

应用领域

(1)服务器系统
Web应用服务器、数据库服务器、游戏服务器、接口服务器、DNS、FTP;

(2)嵌入式系统
路由器、防火墙、手机、PDA、IP分享器、交换器、家电用品的微电脑控制器;

(3)高性能运算、计算密集型应用
Linux有强大的运算能力。IBM的Watson超级计算机就是使用了Linux系统;

(4)桌面应用系统
很多桌面操作系统的底层也是Linux;

(5)移动手持系统
安卓系统就是基于Linux;

版本

介绍

继承了Unix的版本定制规则

分类

(1)内核版本
内核就是一个核心,其他软件都基于这个核心,不能直接使用,该版本统一在 http://www.linux.org发布

分类
稳定版——偶数
开发版——奇数
区分方式:根据此版本的奇偶判定

(2)发行版本
由Linux发行商发布,Linux发行商有权选择Linux的内核版本。

常见
Debian——运行极其稳定,非常适合用于服务器。

redhat——第一款面向商业市场的Linux发行版,有服务器版本,支持众多处理器架构。全球最大的linux发行厂商,功能全面、稳定。

ubuntu是Debian的一款衍生版,侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行的移动设备上常见。

centos——一款企业级Linux发行版,使用红帽企业级linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。

Fedora——发行版,有庞大用户论坛,软件库中还有为数不少的软件包,同样使用YUM管理软件包。

2.虚拟机

概述:通过软件模拟的具有完整硬件功能的运行在一个完全隔离环境中的完整计算机系统;

常用虚拟机
(1)VMware Workstation
VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86相容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机;

(2)VirtualBox
一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBo;

(3)Virtua* PC
是Microsoft 最新的虚拟化技术。主要适合做微软自己产品的服务

图示
在这里插入图片描述

3.Linux命令的使用

基本命令的使用

(1)常用的快捷键

键位作用
tab键命令或者路径提示及补全
ctrl+c放弃当前输入,终止当前任务或程序
ctrl+l清屏
ctrl+insert复制
鼠标右键粘贴
alt+c断开连接
ctrl+shift+R重新连接
alt+1/2/3/4/5…切换会话窗口
上下键查找执行过的命令,或者history命令

(2)终端命令格式
command [-options] [parameter]
command——命令名,相应功能的英文单词或者单词的缩写
[-options]——选项,可用来对命令进行控制,也可省略
[parameter]——传给命令的参数,可以是零个、一个或者多个

(3)帮助命令
帮助命令
介绍:因为一个命令有很多可选项,可借助手册查阅

–help 帮助信息

命令说明
command --help显示command命令的帮助信息

缺点——虽然可查询命令的帮助信息,但没有提供翻页、搜索功能

man 手册

命令说明
man command查询command命令的使用手册
man是manual的缩写,是linux提供的一个手册,包含了大部分的命令、函数的详细使用说明

操作键
在这里插入图片描述

其他常用命令
在这里插入图片描述

目录操作命令

Linux中没有文件夹的概念,应该叫目录;

切换目录

命令说明
pwd查看当前所在路径
cd …切换到上级目录
cd -后退到上一次所在目录
cd /去根目录

绝对路径:/ 开始的目录,从根目录开始;
相对路径: 直接目录,从当前目录开始;

查看目录内容

命令说明
ls查看目录下内容
ls -a查看全部内容,包含隐藏文件
ls -l查看内容的详细信息,效果等同于 ll 命令
ls -lh显示文件大小

创建目录命令

命令说明
mkdir [-p] 要创建的目录parent,可递归创建目录

rmdir删除一个空的目录
rmdir 要删除的空目录,remove即移除
注意:若该目录中存在文件或其他目录时该命令是不能删除的

文件操作命令

touch创建文件
touch 文件名称
注意:touch 文件名1,文件名2… 可创建多个文件

rm删除文件
rm [-参数] 文件/目录 (递归删除目录中所有内容)
在这里插入图片描述
在这里插入图片描述

复制拷贝命令

通过cp实现将指定文件或目录复制到一个文件或目录中;

命令说明
cp source dest复制source文件到 dest
cp -r sourceFolder targetFolder递归复制整个文件夹
-rrecursive,递归复制目标目录的内容

mv(move)
通过mv命令可以用来移动文件或目录,也可以为其重命名;

命令说明
mv oldNameFile newNameFile重命名
mv /temp/movefile /targetFolder递归复制整个文件夹

cat查看文件内容

查看文件内容,从第一行开始显示;
cat [选项] 要查看的文件

选项
在这里插入图片描述

more查看文件内容

查看文件内容,一页一页显示文件内容

more 要查看的文件

功能说明
在这里插入图片描述

less查看文件内容

les的作用与more相似,都可以浏览文字档案的内容,不同的是less允许使用[pageup] [pagedown]往回滚动;

less 要查看的文件

功能说明
在这里插入图片描述

head查看文件内容
查看文件内容,只看头几行

优点:对于大文件不必都加载,只显示头几行即可

命令说明
head 文件名查看前10行
head -n 3 文件名查看文件的前3行
head -c 3 文件名查看文件的前3个字符

tail查看文件内容
查看文件内容,只看尾巴几行;

优点:可以查看文件实时追加的内容

命令说明
tail -n 10查看文件头(从末尾开始数) 10行内容,10可以是任意行行数
tail -f 文件实时追加的内容

组合命令

一共有三种
(1)重定向输出 > 和 >>
在这里插入图片描述

(2)管道 |
作用:将一个命令的输出作为另一个命令的输入;

配合使用的命令
ps(Proces Status) 进程状态 ps-ef

grep(Global Regular Expression Print) 全局正则表达式版本(搜索)

在这里插入图片描述

(3)逻辑控制 &&
在这里插入图片描述

举例:因为 启动软件通常不会打印启动的日志信息, 所以需要再打开对应的日志信息查看.

tail -100f catalina.out
./startup.sh

使用合并指令
./startup.sh && tail -100f catalina.out

history查看所敲命令历史

压缩、解压缩命令

打tar包
概述:类似将 冬天的衣服 放到 袋;打包之后的大文件 需要以 .tar 结尾

命令格式
tar -cvf 打包名.tar 被打包的目录
tar -cvf 打包名.tar 被打包的文件1 被打包的文件2 被打包的文件3

选项说明
ccreate ,生成档案文件,创建打包文件
vverbosely,像唐僧一样报告进度
ffile,指定档案的文件名称,f后面一定是.tar文件,所以须放到最后

解压tar包
概述:类似将 冬天的衣服 从 袋子里取出来

命令格式
tar -xvf 打包名.tar
将一个打包后的 分解成 一系列小文件,分解位置为当前目录

tar -xvf 打包名.tar -C 解包路径位置

选项说明
xextract(提取),解包
Cdirectory(目录),默认保存到当前目录,通过-C更改解压目录,注意解压目录必须存在

gzip格式 压缩 和 解压缩
概述:打包 和 压缩 是两件事;
类似与 先将冬天衣服放到压缩袋, 再抽取里面的空气;在 Linux 中, 最常用的压缩文件格式是 xxx.tar.gz;
在 tar 命令中有一个选项 -z 可以调用 gzip , 从而可以方便的实现压缩和解压缩的功能

命令说明
tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录压缩文件
tar -zxvf 打包文件名.tar.gz解压缩文件
tar -zxvf 打包文件.tar.gz -C 目录路径解压缩到指定路径
选项说明
zgzip,使用gzip压缩和解压缩
jbzip2,使用bzip2压缩和解压缩

bzip2 格式 压缩 和 解压缩

命令说明
tar -jcvf 打包压缩文件名.tar.bz2 被压缩的文件/目录压缩文件
tar -jxvf 打包文件名.tar.bz2解压缩文件
tar -jxvf 打包文件.tar.bz2 -C 目录路径解压缩到指定路径

注意
如果报错tar (child): bzip2:无法 exec: 没有那个文件或目录,要安装bzip2的包
yum install -y bzip2

搜索查找

find查找文件或者目录
介绍
根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

基本格式——find path [options]

三种方式查找
(1)按照文件名查找

命令说明
find /etc -name yum.conf在/etc目录下文件yum.conf
find /etc -name ‘yum’使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘yum’的文件
find . -name ‘yum*’表示当前目录下查找文件名开头是字符串‘yum’的文件

(2)按照文件特征查找

命令说明
find / -atime -2查找系统中最后48小时访问的文件(Access Time 文件读取访问时间)
find / -empty查找系统中为空的文件或者文件夹
find / -group susan查找系统中属于group为susan的文件
find -mtime -1查找在系统中最后24小时里修改过的文件 (modify time)
find /user susan查找在系统中属于susan这个用户的文件
find / -size +10000c查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size -1000k查找出小于1000KB的文件

(3)使用混合查找方式查找
参数
! -and(-) -or(-o)

命令说明
find /tmp -size +10c -and -mtime +2在/tmp目录下查找大于10字节并在最后2分钟内修改的文件
find / -user root -or -user susan在/目录下查找用户是root或者susan的文件文件
find /tmp ! -user suan在/tmp目录中查找所有不属于susan用户的文件

grep过滤查找
根据文件的内容进行查找,对文件的每一行按照给定模式进行匹配查找。

基本格式——grep [options] 范围

主要参数

参数说明
-c只输出匹配行的计数
-i不区分大小写
-n显示匹配行及行号
-w显示整个单词
-r递归查询

举例
统计jdbc的个数
grep -c jdbc applicaton.xml

vi编辑器

介绍
在Linux下一般使用vi编辑器来编辑文件;
vi既可以查看文件也可以编辑文件;
而vim是vi的升级版本,具备更多的功能;
vi如果目标文件不存在,会创建新的文件;
但是如果新文件没做编辑,退出后还会消失。

在这里插入图片描述
在这里插入图片描述

vi的三种模式
(1)编辑模式(插入模式)
对文本进行输入和修改

具体:
i——光标不动
o——另起一行
a——光标到下一个字符

命令模式下按下i、o、a进入编辑模式;
按ESC退出编辑模式,进入命令模式;

(2)底行模式
退出vim或者查找、替换功能

具体:
命令模式下,按 :或者 / 进入底行模式,可以输入命令;

五种
退出vim

命令说明
:q未编辑时退出vim
:q!编辑后,退出并且不保存
:wq编辑后,退出且保存
:x编译后保存

撤销上次操作

命令说明
u撤销上一次操作(ctrl + z windows操作)
ctrl + r恢复上一次被撤销的操作 (ctrl + y windows操作)

设置行号

命令说明
:set nu显示行号
:set nonu不显示行号

替换文本

命令说明
: s/old/new/用new替换old,替换当前行的第一个匹配
: s/old/new/g用new替换old,替换当前行的所有匹配
:%s/old/new/用new替换old,替换所有行的第一个匹配
:%s/old/new/g用new替换old,替换整个文件的所有匹配

查找

命令说明
/文本搜索指定文本,高亮显示,按n显示下一个,按N显示前一个
:整数快捷跳转到指定行

(3)命令模式(一般模式)
通过快捷命令操作数据,打开vi默认就是命令模式

分类

命令说明
p(pause)将之前dd或yy的数据粘贴到光标位置
yy复制光标所在行
5yy复制光标及下面共5行
dd剪切当前行
5dd剪切光标及下面共5行

文件权限

概述
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限;
为了保护系统的安全性Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定;
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

在这里插入图片描述

在这里插入图片描述

权限分段
每一段代表不同用户
(1)属主权限——当前文件所属用户的权限,在linux中每一个文件都有所属的用户;

(2)属组权限——当前文件的用户所在组的其他成员的权限

(3)其他用户权限——跟文件所属用户不再同组的其他用户的权限

样式:

权限说明
rwx 7具备所有权限(421)
rw- 6具备读写权限(420)
r-x 5具备读和执行权限(401)
r-- 4具备只读权限(400)
-wx 3具备写和执行权限(021)
-w- 2具备写权限(020)
–x 1具备执行权限(001)
— 0000

举例
777
所属用户具有 读写执行权限, 所属同组用户具有 读写执行权限, 其他人具有 读写执行权限

644
所属用户具有 读写权限, 所属同组用户具有 读权限, 其他人具有 读权限

755
所属用户具有 读写执行权限, 所属同组用户具有 读执行权限, 其他人具有 读执行权限

chmod修改文件权限
在这里插入图片描述

chown改变所有者
语法
chown 最终用户
改变文件或者目录的所有者
案例
[root@linux121 test]# chown hadoop test1.txt
[root@linux121 test]# ls -al

chgrp改变所属组
语法
chgrp 最终用户组
改变文件或者目录的所属组
案例
[root@linux121 test]# chgrp hadoop test1.test
[root@linux121 test]# ls -al
-rwxr-xr-x. 1 root hadoop 551 4月 23 13:02 test1.java

YUM使用

全称Yellow dog Updater , Modified,本质上也是一个软件包管理器;

特点:基于RPM包管理,能够从指定的服务器自动下载,自动安装,自动处理依赖性关系。

原理
在这里插入图片描述

常用命令
在这里插入图片描述

测试安装httpd
安装httpd——yum -y install httpd;
启动httpd服务——service httpd start;
测试——http://192.168.80.100:80
关闭防火墙——systemctl stop firewalld 查看防火墙状态

发现无法访问这个地址,是因为linux的防火墙禁止他人 访问自己的80端口,我们需要 通知 防火墙放行

参考(侵删):
1.
https://blog.csdn.net/weixin_45941099/article/details/122612110
2.
https://blog.csdn.net/qq_45439217/article/details/104742678
3.
https://blog.csdn.net/zyqyz520/article/details/108575173
4.
https://blog.csdn.net/qq_25414997/article/details/127336208
5.
https://blog.csdn.net/dark_souls/article/details/90522855

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值