【Linux系统】基础知识点总结!(概念,命令,vim,shell...)

文章目录

  • 1、UNIX和Linux发展史
  • 2、Linux的版本
  • 3、开源的软件简介
  • 4、Linux的应用领域
  • 5、Linux注意事项
  • 6、Linux服务器端的维护
  • 7、Linux命令
    • 文件处理
    • 权限管理
    • 文件搜索
    • 帮助命令
    • 用户管理
    • 压缩解压
    • 网络命令
    • 关机重启
  • 8、vim
  • 9、软件包管理
    • 简介
    • RPM包管理 -rpm命令管理
    • RPM包管理 -yum在线管理
    • 源码包管理
    • 脚本安装包与软件包选择

1、UNIX和Linux发展史

UNIX是爸爸
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第1张图片

Linux儿子(由unix发展而来)
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第2张图片

tcp/ip协议也是应运而生的!

linux是天生的网络操作系统

2、Linux的版本

内核版本:https://www.kernel.org/ 定期更新

  • 内核版本下载来,自己加工以后就成了发行版本

发行版本:redhat,centos,ubuntu,红旗Linux…等等

  • 这些发行版本的内核都是一样的

3、开源的软件简介

Apache是一个基金会,里面有很多开源的项目

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第3张图片

开源不代表免费(仅仅是开放源代码),但开源软件绝大多数都是免费的,可自由传播,改良,甚至销售

开源带来的好处:产品越来越优秀,越来越安全(因为,有更多的人参与进来。)

4、Linux的应用领域

1、各种网站的后台操作系统:

比如:https://searchdns.netcraft.com
这个网站可以查看,某个网站使用的系统
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第4张图片
2、嵌入式应用

智能家电,航空系统,智能卡,手机,相机…等等

5、Linux注意事项

  • Linux的命令严格区分大小写(Linux中的所有字母都是区分大小写的)
  • Linux的所有东西都是文件;包括硬件
    • 硬盘文件:/dev/sd[a-p]
    • 光盘文件:/dev/sr0等
  • Linux文件都是“没有”后缀名的,是靠 文件权限来区分的
    • 但是有一些压缩包文件(tgz,tar,bz2,gz…),脚本文件(sh),配置文件(conf),网页文件(html,css,php,java),这些所谓的扩展名,都仅仅是为了方便管理员来管理文件,没有扩展名照样使用。
  • Linux的所有存储设备都得挂载(分配盘符)以后用户才能使用,比如,硬盘,光盘,U盘
  • windows下的程序不能直接在Linux中安装运行的

6、Linux服务器端的维护

各个目录的功能(大部分都是一种规范约定)

目录名 目录作用
/bin 存放系统命令的目录,普通用户和超级用户都可以执行,不过放在/bin下的命令在单用户模式下也可以执行
/sibn 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令镜像系统环境的设置,但有些命令可以允许普通用户查看
/uer/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行,这些命令和系统启动无关,在单用户模式下不能执行
/usr/sbin/ 存放根文件系统不必要的系统管理命令,例如多数服务程序,只有超级用户可以使用,其实,在Linux中,在sbin目录中的命令只有超级用户能用,bin下的所有用户都可以用
/boot/ 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序文件(grub)等
/dev/ 设备文件保存位置,一些硬件文件,硬盘等等
/etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部在这个目录保存,如:用户账号密码,服务启动脚本,一些服务的配置文件
/home/ 普通用户的家目录,每个用户都要有一个默认登录位置,这个位置就是该用户的家目录,所有普通用户的家目录就是在/home下建立一个和用户名相同的目录,如:用户user的家目录:/home/user
/lib/ 系统调用的函数库保存位置
/lost+found/ 当系统意外崩溃或者机器意外关机,而产生的一些文件碎片放在这里,当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统,这个目录只在每个分区中出现,例如 /lost+found/就是根分区的备份恢复目录,/boot/lost+found/ 就是/boot分区的备份恢复目录
/media/ 挂载目录,系统建议是用来挂载媒体设备的,例如软盘和光盘
/mnt/ 挂载目录,早起Linux中只有这一个挂载目录,并没有细分,现在这个目录系统建议挂载额外设备,例如,u盘,移动硬盘和其他系统的分区
/misc/ 挂载目录,系统建议用来挂载NFS服务的共享目录
/opt/ 第三方安装的软件保存位置,这个目录就是防止和安装其他软件的位置,比如 jdk,tomcat…,但也不强迫,有的人喜欢放到usr下也是可以的
proc 虚拟文件系统,该目录中的数据并不保存到硬盘中,而是保存在内存中,主要保存系统的内核,进程,外部设备状态和网络装填灯
/sys/ 虚拟文件系统,和/proc目录相似,保存在内存中,保存内核相关信息
/root/ 超级用户的家目录,即 /
/srv/ 服务数据目录,一些系统服务启动之后,可以在这个目录中保存所需要的的数据
/tmp/ 临时目录,系统存放临时文件的目录,该目录下所有用户都可以访问和写入,我们建议此目录中不能重要数据,每次开机最好清空此目录
/usr/ 系统软件资源目录,注意usr不是user的缩写,而是“Unix Software Resource”的缩写,所以不是存放用户数据,而是存放系统软件资源的目录,系统中安装的软件大多保存这里
/var/ 动态数据保存位置,主要保存缓存和日志以及软件运行所产生的的文件

proc和sys是存放在内存中的两个目录,重启会消失。不要往里面写东西,东西一来不会保存,而且当你写满以后就会系统就会出错

usr,系统软件资源目录(system,software,resource)类似于windows的windows目录

注意事项:

1、远程服务器不允许关机,只能重启

2、重启服务应该关闭运行着的服务!!

3、不要在服务器访问高峰运行高负载命令:高负载命令:进行大数据的操作,压缩,扫描复制等等

4、远程配置防火墙的时候记得对自己开放,防火墙甄别是通过:ip地址,端口号,net地址,包数据

5、数据和日志的定时备份,权限的合理分配(最小分配,够用就行),密码的强壮性和定时更新,系统启动的服务越少越好

7、Linux命令

命令的基本格式:

命令 -选项 参数 比如:ls -la /etc

简化选项和完整选项:-a --a,单杠和双杠

个别命令可能不遵循此格式

文件处理

每一个文件都有一个i节点号,每个进程都有一个进程号,每个用户都有一个标识号码

`ls`						ls ->(类比于) list ,查看当前目录的所有文件 
`ls -a` 					所有文件 -> list -all,包括隐藏文件
`ls -l`						l -> long 文件的完整信息
`ls -ld` 					查看某个目录的详细信息,比如 ls -ld /etc
`ls -h`						人性化的显示数据,比如文件大小,不加h显示的是字节数
`ls -i`						查看文件的inode号(inode存储文件的详细信息),即i节点

完整信息7个部分,分别是:文件类型和权限,文件基数,文件所属者,文件所属组,文件大小,文件最后更新时间,文件名
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第5张图片

`mkdir`		创建目录
`mkdir -p`	递归创建目录,即同时创建多个目录
`cd` 		切换目录
`pwd` 		显示当前目录
`.` 		当前目录
`..` 		上级目录
`rmdir` 	[目录名] 删除空目录
`cp 文件目录或文件`	 (-p保留的文件属性,比如时间等等)
`touch [文件名]` 	  创建文件,文件名可以含有空格(加双引号),但尽量不要这样做。

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第6张图片

`cat [文件]` 		查看文件内容
`cat -n [文件]` 	显示行号
`tac [文件]` 		倒叙查看

`more [文件]` 		来查看很多内容的文件这时进入查看文件的状态,
					空格或者f来翻页,回车一行行的浏览找到以后,使用q退出浏览状态

`less [文件]` 		less不仅含有more的所有功能,而且可以使用↑来向上翻行,
					pageUp向上翻页,在浏览状态下输入 /log  ,
					这样他就会在这个文件中搜索log,并且高亮显示。(即可搜索关键字)

`head -n [文件]` 		查看文件的前n行内容(n为数字)

`tail -n [文件]` 		查看文件的末尾n行内容(n为数字)

`tail -f [文件]` 		动态显示文件最后一行的内容,常用来查看日志动态的变化

`ln -s [软链接名]` 	    ln -s /tmp/sjt 在tmp目录下创建sjt软链接(软链接即快捷方式),
						软链接的权限都是rwx rwx rwx,不加 -s 生成的是硬链接,
						硬链接不可以跨分区,不允许生成指向目录的快捷方式

权限管理

只有所有者和管理员才能更改权限

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第7张图片

{ugoa}
u:所属者,g:所属组,o:其他人,a:所有人

{±=}
+:增加权限,-:减少权限,=:重新授予权限(不管原来是什么,现在就是我授予的权限)

{rwx}
r:可读权限(4) ,w:可写权限(2) ,x:可执行权限(1)

最前面的一个字符含义:

  • l是链接(link)
  • d是目录(directories)
  • c是字符设备文件(char)
  • b是块设备(block)
  • -是文件
    【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第8张图片

可以同时对几个用户来分配权限,用逗号隔开即可

在这里插入图片描述

只有管理员才能改变文件或者目录的所有者

`chown [用户] [文件或者目录]`		 更改所属者
`chgrp [用户组] [文件或者目录]`		     更改所属组

文件搜索

find [搜索范围] [匹配条件]

`find / -name init`		在根目录下按照文件名来搜索名叫init的文件
`find / -iname init`  	-iname,不区分大小写查询,* 可以模糊匹配,?可以匹配单个字母	   

在/etc目录下搜索
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第9张图片

#按文件大小来查找
`find / -size +204800`		在根目录下查找文件大于100M的文件
`find / -size -204800`		在根目录下查找文件小于100M的文件

在linux中,文件的大小要换算成“数据块”

一个数据块	512字节	0.5k
即 1k=2个数据块
100M=102400K=204800个数据块

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第10张图片

`find / -user [username]`		根据所有者查找
`find / -group [groupname]`		根据所属组查找

超过5分钟的可以用+
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第11张图片
多条件查询:
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第12张图片
根据文件类型查找:
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第13张图片
find找到的结果,可以再追加命令-exec或者-ok,在追加你想要的命令,这样就可以把你find出来的东西,执行你的命令,-exec是立刻执行,-ok是一一确认。

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第14张图片

`locate [文件名]` 	查找系统文件,但要注意一些临时目录是查不着的,要定期维护更新数据,

`updatedb`			更新数据表

`which [命令]`		查看命令所在的目录

帮助命令

maninfo 是大同小异的

`man ls`	使用命令man查看 ls 命令的解释
`whatis [命令]`
`whereis [命令]`
`apropos [配置文件]`		查看配置文件的帮助信息,(不写配置文件的绝对路径)

进入以后有些ls的信息,按q退出
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第15张图片
Linux中数字1代表命令的帮助,5代表配置文件的帮助,两者都有的话优先显示命令的帮助,你也可以man 5 passwd

`[命令] --help`		查看该命令的一些选项
`help umask`		查看一些内置命令的帮助

什么是内置命令,你使用whichwhatis的时候,显示不出来帮助的一些信息
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第16张图片

用户管理

`useradd [用户名]`	这一步其实只是创建了一些文件,想要登录系统,还需要设置密码
`passwd [用户名]` 	这里就设置了密码,即用户可登录你的系统。

`who`		查看登录的用户

用户,登录终端(tty表示本机,pts表示虚拟终端),时间(系统ip地址)
在这里插入图片描述
w命令
在这里插入图片描述
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第17张图片

压缩解压

Linux中的压缩格式,.gz
.zip文件格式,Linux和windows中都可以识别

`gzip [文件名]`		压缩该文件,注意,gzip只能压缩文件,不能压缩目录
`gunzip [压缩的文件]`		解压该文件 
`gzip -d [压缩的文件]`		解压该文件
`tar [参数] [目录]`			打包(压缩)目录,比如 `tar -zcf [目录]`
`tar -xf [目录]`			解包(解压缩)目录,和上面的压缩,只有 `-c``-x`(解包)的区别

tar命令的可选参数【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第18张图片
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第19张图片

`zip sjt.zip sjt`		压缩文件sjt
`zip -r sjtD.zip sjtD`	压缩目录sjtD
`unzip [文件或者目录]`   解压缩

bzip2的压缩度很高,一般用来压缩大文件,bunzip2解压缩
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第20张图片
总结如下:
在这里插入图片描述

网络命令

`w`		查看当前在线用户 ,who也可以
`write [用户名]`		给该在线用户发送一条消息,写错了,`ctrl+backspace`来删除,直接删除,删除不掉。写完以后`Ctrl+D`来保存发送。

`wall [内容]`	广播一些东西,所有在线用户都可以收到

`ping [ip地址]`		查看地址是否通畅
`ping -c 4 [ip地址]`	ping4次目标地址
`ifconf`		查看当前计算机的网卡信息

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第21张图片

`mail [用户名]`		发送邮件给用户,在线与否都可以
`mail`			接收查看当前的邮件,然后直接输入邮件的序列号,就可以查看该邮件,h查看邮件列表,`d [序列号]` 删除邮件,`q` 退出

`last`		查看所有用户的登录情况,包括多次登录的用户,只要来过就会记录
`lastlog`	查看所有用户的最后一次登录情况
`lastlog -u [用户的id]` 		查看指定用户最后一次登录的信息
`traceroute [ip地址或者域名]`	显示数据包到主机间的路径
`netstat -anop`			查看监听的地址及其端口和状态

netstat命令的选项和常用示例
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第22张图片
mount命令来挂载光盘
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第23张图片

关机重启

关机之前需要注意,停止机器上的服务

`shutdown [选项] [时间]`			选项 -c,-r,-h
`shutdown -r now`				立即重启
`shutdown -r 20:30`				晚上八点半重启
`shutdown -h now`				立即关机
`shutdown -h 20:30`				晚上八点半关机
`shutdown -c`					取消上一个关机命令

`logout`						退出登录

还有一些其他的关机重启操作,但是shutdown更加安全

8、vim

vim是功能强大的全屏幕文本编辑器,它的作用是建立,编辑,显示查看文本文件

vim没有菜单,只有命令
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第24张图片
定位命令和删除命令是在编辑模式进行的
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第25张图片
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第26张图片
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第27张图片
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第28张图片
命令模式下
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第29张图片

常见命令总结:
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第30张图片
vim的使用技巧

编辑模式下:

:r [文件的绝对路径]			可以将该文件的内容导入到光标处
:r ![命令]					可以将命令的执行结果写入到本文件的光标处


k							向上(↑)移动光标
j							向下(↓)移动光标
h							向左(←)移动光标
l							向右(→)移动光标		

9、软件包管理

简介

软件包分类:

  • 源码包(脚本安装包)
    • 优点:开源,可自由选择所需的功能;软件是编译安装,所以更适合自己的系统,更加稳定效率也更高;卸载方便(直接删除安装目录即可)
    • 缺点:安装步骤较多,尤其安装大型软件时,它还依赖了其他的环境;编译时间过长;编译安装出错,对新手很不友好
  • 二进制包(rpm包,系统默认包),二进制包是目前使用最多的,二进制包是经过编译的。即机器可以识别的代码包(即010101…),这样做的优点是安装快,缺点是无法看到源代码,功能选择不灵活,依赖性强

RPM包管理 -rpm命令管理

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第31张图片
名字中,硬件or软件平台缺失的话,说明适合任意平台

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第32张图片
安装命令:
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第33张图片
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第34张图片
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第35张图片
总之用rpm处理的时候,依赖会很头疼。。。

RPM包管理 -yum在线管理

使用yum命令来管理rpm包,自动下载依赖的rpm包
【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第36张图片
这样就会自动下载依赖并且自动确认安装该包

yum -y undate [包名] 			升级对应的包名
yum -y update					更新所有的软件包,包括Linux的内核,这样可能会导致系统宕机

yum -y remove [包名]			卸载对应的包名,卸载包的时候,要注意,卸载这个包时,这个包的依赖也都会卸载,其他包(甚至系统)										
								也可能依赖已经卸载的这个包的依赖包,这样就会导致其他软件不可用或者系统崩溃,
								所以用这个命令一定要小心,最好不要使用...

源码包管理

【Linux系统】基础知识点总结!(概念,命令,vim,shell...)_第37张图片
源码包的安装位置一般是:/usr/local/软件名/

service

脚本安装包与软件包选择

你可能感兴趣的:(#,操作系统)