文章目录
分为三大部分【1.基础理论】【2.常用指令】【3.Shell编程】1 Linux定义版本2 Linux安装3 Linux目录结构4 Linux远程操作工具5 Linux系统管理5.1 vi和vim的使用5.2 Linux用户管理5.3 Linux组管理5.4 Linux的系统操作6 Linux常用指令⭐⭐⭐7 Linux网络配置8 Linux进程管理9 Linux软件包管理分为三大部分【1.基础理论】【2.常用指令】【3.Shell编程】
菜鸟教程:
/linux/linux-vim.html
本文为第一部分【基础理论】
第二部分👉【常用指令】
第三部分👉【Shell编程】
1 Linux定义版本
定义:
linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发能力已经得到业界的认可,目前大多数企业级应用甚至是集群项目都部署运行在linux操作系统之上,很多软件公司考虑到开发成本都首选linux,在中国软件公司得到广泛的使用。
Linux主要的发行版本
Ubuntu(乌班图)RedHat(红帽)CentOSDebain(蝶变)FedoraSuSEOpenSUSE红旗Linux(国产)
2 Linux安装
虚拟机安装Linux系统电脑安装Linux系统3 Linux目录结构
Linux没有炫目的可视化操作界面,它的操作大部分都是直接执行命令,而可执行文件都是保存在相应的目录中的,所以我们对linux的操作大多数时候都是查找和执行这些可执行文件的。
linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
在Linux世界里,一切皆文件。
root : 该目录为系统管理员目录,root是具有超级权限的用户。bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。etc: 这个目录存放所有的系统管理所需要的配置文件。home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。tmp: 这个目录是用来存放一些临时文件的。
4 Linux远程操作工具
在软件公司中,无论是测试服务器还是正式服务器都是部署在公司Linux系统上的,而Linux系统通常是各开发小组共享的,因此程序员需要远程登录到centos进行项目管理或者开发。远程登录客户端有Xshell、Xftp等多种工具 , 我们学习使用Xshell和Xftp , 其它的远程工具大同小异。
Xshell
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。它通过互联网到远程系统的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
Xshell 是目前最好的远程登录到Linux操作系统的软件,流畅的速度并且完美解决了中文乱码的问题,是目前程序员首选的软件。下载:安装和使用:参考 “Xshell安装手册.docx”
Xftp
是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp 以后,windows 用户能安全地在UNIX/Linux和Windows PC 之间传输文件。下载:安装和使用:参考“Xftp安装手册.docx”
5 Linux系统管理
5.1 vi和vim的使用
vi和vim定义:
vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
vim是vi的增强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。
Vi和vim三种常见模式:
一般模式: 以vi/vim 命令打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』快捷键来处理档案内容,也可以使用『复制、贴上』快捷键来处理你的文件数据。
编辑模式:按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式, 一般来说按i即可。
命令行模式:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim 、显示行号等的动作则是在此模式中达成的 !
Vi和vim常用快捷键
一般模式拷贝当前行(yy
) , 拷贝当前行向下的5行(5yy
),并粘贴(p
)。一般模式删除当前行(dd
) , 删除当前行向下的5行(5dd
)。一般模式下,在文件中查找某个单词,[命令模式下:(/关键字
),回车查找, 输入(n
) 就是查找下一个]。一般模式下,使用快捷键到达文档的最首行[gg
]和最末行[G
]。一般模式下,在一个文件中输入"xxxx" ,然后又撤销这个动作(u)。一般模式下,并将光标移动到10行shift+g
第一步:输入10
第二步:输入shift+g
第三步:回车命令行模式下,设置文件的行号,取消文件的行号.[命令行下(: set nu
) 和(:set nonu
)]。其它快捷键:
5.2 Linux用户管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。root用户是系统默认创建的管理员账号。
添加用户:
useradd [选项] 用户名
useradd zhangsan:
创建一个账号叫zhangsan,此时会创建账号、创建一个组zhangsan并且把zhangsan分到此组中、还会在/home下创建一个目录叫zhangsan作为新创建用户的根目录。
useradd -d /home/ls lisi:
创建一个账号叫lisi,并且给lisi指定家目录/ls。
passwd zhangsan:
给zhangsan设置密码。
删除用户:
userdel[选项] 用户名
userdel zhangsan:
删除用户zhangsan,保留zhangsan的主目录。
userdel –r lisi:
删除用户lisi,并且把lisi的主目录也删除。
查询用户信息:
id 用户名
id zhangsan:
查看用户zhangsan的信息。
切换用户:
su 用户名
su zhangsan:
切换到zhangsan用户。
注意:从高权限用户切换到低权限用户时,不需要输密码;否则,需要输密码。
另:exit命令可以回到原来的用户。
5.3 Linux组管理
Linux的组简介:
Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。每一个用户都至少属于一个组,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。
添加组:
groupadd 组名
groupadd devgroup:
创建一个组devgroup。
删除组:
groupdel 组名
groupdel devgroup:
删除组devgroup。
添加用户时指定组:
useradd –g 组名 用户名
useradd –g devgroup zhangsan:
添加用户zhangsan,并且指定zhangsan属于组devgroup。
将用户添加到组/从组中移除:
gpasswd –a/-d 用户名 组名
gpasswd –a zhangsan test
gpasswd –d zhangsan test
5.4 Linux的系统操作
shutdown now:
立刻进行关机
shudown -h 1:
1小时后会关机了
shutdown –r now:
现在重新启动计算机
reboot:
现在重新启动计算机
sync:
把内存的数据同步到磁盘.
6 Linux常用指令⭐⭐⭐
重点内容,另起一篇,详情跳转另一篇博客总结。
博客
7 Linux网络配置
修改文件:/etc/sysconfig/network-scripts/ifcfg-eth33
重启网络服务(service network restart)或者重启linux(reboot)即可。
Linux终端查看配置后的IP地址:
8 Linux进程管理
进程介绍
在Linux中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。每一个进程,都会对应一个父进程。
进程有两种运行方式:前台和后台。前台方式是目前用户可以在前台操作的,后台方式是实际在运行,但用户在前台看不见。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。
查看系统运行的进程
基本语法:
ps 参数
参数说明:
ps –a:
显示当前终端下的所有进程信息
ps –u:
以用户的格式显示进程信息
ps –x:
显示后台进程运行的参数
ps –e:
显示所有进程信息
ps –f:
以全格式显示进程信息
结果说明:
USER:用户名称PID:进程号%CPU:进程占用CPU的百分比%MEM:进程占用物理内存的百分比VSZ:进程占用的虚拟内存大小(单位:KB)RSS:进程占用的物理内存大小(单位:KB)TT:终端名称,缩写.STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等STARTED:进程的启动时间TIME:CPU时间,即进程使用CPU的总时间COMMAND:启动进程所用的命令和参数,如果过长会被截断显示PPID 父进程的IDC CPU使用的资源百分比PRI指进程的执行优先权(Priority的简写),其值越小越早被执行SZ 使用掉的内存大小
终止进程
基本语法:
kill 选项 进程ID
killall 进程名称(支持通配符)
选项说明:
-9:
表示强迫进程立即停止。
服务管理
服务是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。守护进程通常默默地运行在后台,为应用程序提供必要支撑,比如sshd、防火墙等。
服务管理指令
基本语法:
systemctl [start、stop、restart、reload、status、enable] 服务名称
CentOS7之前,使用命令service 服务名称 [start、stop、restart、reload、status、enable]
功能描述:开启、关闭、重启、重新加载、查看服务状态、开机启动
查看网路服务
netstat命令基本语法:
netstat 选项
选项说明:
-an
按一定顺序排列输出
-p
显示哪个进程在调用
ping命令基本语法:
ping 选项 目标主机
功能描述:是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。
curl命令基本语法:
curl 选项 url
功能描述:用来发送HTTP请求。
-X
参数:指定请求方式
-v
参数:显示响应结果
-u
参数:携带用户名/密码
-H
参数:携带请求消息头信息
9 Linux软件包管理
RPM包的管理
RPM介绍
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。Linux的分发版本都有采用(suse,redhat, centos等等),可以算是公认的行业标准了。
RPM包的查询指令
rpm –qa :
查询所安装的所有软件包
rpm –qa|more:
分页查询所安装的所有软件包
rmp –qa|grep xxx:
过滤查询安装的指定软件包
RPM包的卸载指令
rpm –e 选项 软件包名称
选项说明:
--nodeps
表示强制删除,用于被删除的软件包有依赖的情况
RPM包的安装指令
rpm 选项 RPM包全路径名
选项说明:
-i=install
安装
-v=verbose
提示
-h=hash
进度条
YUM包的管理
YUM介绍
Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器(在公网上)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
注意:使用YUM的前提是可以连接外网。
YUM包的查询指令
yum list[ installed]|grep xx
功能描述:查询YUM服务器上的[已经安装到本地的]软件包
YUM包的安装指令:
基本语法:
yum install 包名
下载安装
YUM包的卸载:yum remove firefox.x86_64