Linux概括

Linux简介

(1)Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍,现在很多的企业级的项目都部署到Linux/unix服务器运行

(2)目前主要的操作系统有Windows、android、Mac、iOS、车载系统、Linux等

(3)Linux的主要发行版有:centose、Redhat(红帽)、Ubuntu(乌班图)、Suse、红旗unux

Linux目录介绍

在Linux世界里,一切皆文件,文件系统是采用级层式的树状目录结构,各个目录存放的内容是规划好的,不要乱放文件

目录简介
/bin存放着最经常使用的命令
/home用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/etc用来存放所有的系统管理所需要的配置文件和子目录
/usr非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin系统用户使用的应用程序。
/usr/sbin超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src内核源代码默认的放置目录。
/usr/local另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序
/boot这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/medialinux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt系统提供该目录是为了让用户临时挂载别的文件系统,可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容
/var非常重要的目录,系统上跑了很多程序,存放每个程序产生的日志,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
/sbin存放的是系统管理员使用的系统管理程序。
/devdev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/lib存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库。
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/opt主机额外安装软件所摆放的目录,默认是空的。
/root该目录为系统管理员,也称作超级权限者的用户主目录。
/selinux这个目录是Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙, 这套机制比较复杂,这个目录存放selinux相关的文件。
/tmp来存放一些临时文件。
/run是一个临时文件系统,存储系统启动以来的信息。 当系统重启时,这个目录下的文件应该被删掉或清除。 如果你的系统上有 /var/run 目录,应该让它指向 run。
/proc非必要别乱动,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件, 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件, 比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/srv非必要别乱动, 该目录存放一些服务启动之后需要提取的数据。
/sys非必要别乱动,这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。 sysfs 文件系统集成了下面3种文件系统的信息: 针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

虚拟机

(1)虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统

(2)使用虚拟机可以体验不同版本的操作系统,如Linux、Mac等,例如可以使用虚拟机在Windows操作系统创建多个不同操作系统的虚拟计算机,每个虚拟计算机可以独立运行,可以安装各种软件与应用等

(3)目前流行的虚拟机软件有VMware(VMWare ACE)、Virtual Box和Virtual PC

vi和vim编辑器

编辑器简介
vi所有的Linux系统都会内建vi文本编辑器
vim可以看做是vi的增强版本,提供字体颜色辨别语法和其他好用的功能

vi和vim的三种常见模式

模式简介
正常模式正常模式下,不能输入内容,可以使用快捷键
可以使用上下左右按键来移动光标
可以使用删除字符或删除整行来处理档案内容
可以使用复制、粘贴来处理文件数据
插入模式/编辑模式插入模式下,可以输入内容
按下i、I、o、O、a、A、r、R等任意一个字母之后才会进入编辑模式,一般来说i即可
命令行模式命令行模式下,可以执行相关指令 例如:完成读取、存盘、替换、离开vim、显示行号等

vi和vim的常规用法

vi、vim常用命令
i进入编辑模式
esc退出编辑模式
:进入末行模式
wq保存退出
q!不保存强制退出

vi和vim的常用快捷键

快捷键简介
yy复制当前行(命令模式下) 例:复制当前行向下的5行:5yy 粘贴:p
dd删除当前行(命令模式下) 例:删除当前行向下的5行:5dd
/+关键字在文件中查找某个单词,回车查找,输入n查找下一个(命令模式下)
set nu打开文件显示行号(末行模式)
set nonu取消文件的行号(末行模式)
G进入文档末行(命令模式下)
gg进入文档末首行(命令模式下)
u撤销刚刚输入的(命令模式下)

网络配置

计算机网络配置

(1)打开设置—>高级网络设置—>更改适配器选项—>选中VMnet8右键属性

(2)选择Internet协议版本4(TPC/IPv4),配置属性

虚拟网络配置

编辑—>虚拟网络编辑器—>VMnet8—>NAT设置、DHCP设置

Linux网络配置

(1)修改ens33配置文件,设置Linux获取IP地址(编辑网络配置文件)

1
vi /etc/sysconfig/network-scripts/ifcfg-ens33
配置项简介
ONBOOT=yes表示启动这块网卡
BOOTPROTO=static表示静态路由协议,可以保持路由固定
IPADDR=192.168.10.100表示虚拟机的IP地址,这里设置的IP地址要与前面IP映射配置时的IP地址一致,否则无法通过主机名找
GATEWAY=192.168.10.2表示虚拟网关,通常都是将IP地址最后一个数字变为2
NETMASK=255.255.255.0表示虚拟机子网掩码,通常都是255.255.255.0
DNS1=192.168.10.2表示域名解析器,此处采用pc端电脑对应的DNS(也可以设置为Goodle提供的免费DNS服务器8.8.8.8)

(2)修改主机名为linux

1
vim /etc/hostname

(3)设置主机名称映射为192.168.10.100 linux

1
vim /etc/hosts

(4)重启网络服务加载修改配置生效 或者执行 reboot重启

1
systemctl restart network

(5)查看IP地址是否生效

1
2
3
4
# 方式一
ifconfig
# 方式二
ip addr

(6)测试外部网络连接(保证宿主机Windows可以上网前提)

1
2
# ping是一种网络检测检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。
ping www.baidu.com

防火墙

(1)CentOS6防火墙是iptables,CentOS7防火墙是firewalld

(2)CentOS6防火墙启停服务是service,CentOS7防火墙启停是systemctl

(3)常用命令

命令简介
systemctl status firewalld.service查看防火墙状态
systemctl stop firewalld暂时关闭防火墙
systemctl disable firewalld.service设置开机禁用防火墙(永久关闭防火墙)
systemctl start firewalld.service启动防火墙
systemctl enable firewalld重启防火墙
systemctl enable firewalld.service设置开机启用防火墙

运行级别

级别简介
0关机
1单用户【可用于找回丢失密码】
2多用户状态投有网络服务
3多用户状态有网络服务
4系统未使用保留给用户
5图形界面
6系统重启

切换到指定运行级别的命令

1
init 指定级别

用户、组、权限管理

用户管理

添加用户

Linux系统是一个多用户多任务的操作系统,一个用户需要至少属于一个组

语法简介
useradd -d 指定目录 新的用户名给新创建的用户指定家目录
useradd -g 用户组 用户名增加用户并指定组
useradd -d 指定目录 新的用户名给新创建的用户指定家目录

删除用户

删除用户时,一般不会删除家目录

语法简介
userdel 用户名删除用户,保留家目录
userdel -r 用户名删除用户以及用户主目录

切换用户

su命令可用于在不注销的情况下切换到系统中的另一个用户

语法简介
su - 用户名切换用户
exit返回默认用户

查询用户

当用户不存在时,返回无此用户(uid代表用户id号、gid代表所在组id号、组代表所在组名称)

语法简介
id 用户名查询用户信息
whoami查看当前用户
who am I查看登录用户

修改密码

指定密码时,界面看不到输入的密码,工作中密码必须复杂点

语法简介
passwd [选项] 用户名给用户指定或修改密码
passwd -d 用户名删除已命名账户的密码
passwd -l 用户名锁定指名账户的密码
passwd -u 用户名解锁指名账户的密码
passwd -e 用户名终止账户的密码
passwd -f 用户名强制执行操作

用户组

增加组

语法简介
groupadd 组名增加组
useradd -g 用户组 用户名增加用户并指定组

删除组

语法简介
groupdel 组名删除组
usermod -g 用户组 用户名修改用户的组

改变用户所在的组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组

语法简介
usermod -g 组名 用户名改变用户所在组
usermod -d 目录名 用户名改变该用户登陆的初始目录

权限管理

rwx权限详解

(1)作用到文件

字母简介
r(read)可读,查看
w(write)可修改,不一定可以删除,如果该文件所在的目录有写权限,才能删除该文件
x(exexute)可执行

(2)作用到目录

字母简介
r(read)可读,
w(write)可写,可以修改,目录内创建+删除+重命名目录
x(exexute)可执行,可以进入该目录

(3)rwx用数字表示(rwx=4+2+1=7)

字母数字
r(read)4
w(write)2
x(exexute)1

文件信息简介

执行ls -l 后显示的内容:-rwxrw-r– 1 root root 1213 Feb 2 09:39 abc.txt

位置简介
第一列第0位确定文件类型:文件(-),目录(d),链接(l) 第1—3位确定所有者(该文件的所有者)拥有该文件的权限。—User 第4—6位确定所属组(同用户组的)拥有该文件的权限。—Group 第7—9位确定其他用户拥有该文件的权限。—Other
第二列表示链接数,表示有多少个文件链接到inode号码
第三列表示拥有者(用户)
第四列表示所属群组(组)
第五列表示文件大小,单位字节
第六列表示文件最后修改时间,注意不是文档的创建时间
第七列表示文件名称。以点(.)开头的是隐藏文档

u、g、o、a简介

字母简介
u表示该文件的所有者(user)
g表示与该文件的所有者属于同一组,所在组(group)
o表示其他以外的人,其他组(other)
a表示这三者皆是,u、g、o的总和(all)

+、-、=简介

符号简介
+增加权限
-撤销权限
=设置权限

相关命令

语法简介
chmod [选项] 文件目录名修改文件或者目录的权限
chown 用户名 文件名修改文件所有者
chown 用户名:所在组 文件名修改文件所有者和所在组
chgrp 组名 文件名修改文件所在组

文件管理

文件及目录显示类命令

命令简介
pwd显示当前工作目录的绝对路径
ls或ll显示目录文件
cd改变当前工作目录
stat显示文件或文件系统状态信息

文件内容的显示和处理

命令简介
cat [选项] 要查看的文件名查看文件内容(只能浏览不能修改)
more 要查看的文件名逐页显示文件中的内容
less 要查看的文件名逐页显示文件中的内容(可向上,向下翻页)
echo [选项] [输出内容]输出内容到控制台
head [选项] 文件名查看文件开头部分内容(默认前10行)
tail [选项] 文件名查看文件的尾部内容(默认后10行)
tac 文件名反向显示文件内容

文件及目录操作类命令

命令简介
mkdir [选项] 要创建的目录创建新目录
rmdir [选项] 要删除的空目录删除目录
rm [选项] 要删除的文件或目录删除文件或目录
touch 要创建的文件名称创建文件或修改文件的存取时间
cp [选项] source dest复制文件或目录(source表示需要复制的目录,dest表示想要复制到的地方)
mv 文件名 新文件名文件改名
mv 文件名 目录名文件移动

压缩和解压缩

tar压缩解压文件

命令简介
tar [选项] xxx.gz打包,归档文件或目录(类似Windows系统中 压缩工具)
tar -zxvf xxxx.tar.gz 要打包压缩的文件或目录打包并压缩文件(可多个)
tar -zxvf xxxx.tar.gz解包到当前目录
tar -zxvf xxxx.tar.gz -C 指定目录解包到指定目录中
tar -cvf xxx.tar 要打包的文件或目录打包不压缩
tar -xvf aaaa.tar解不压缩的包

gzip压缩解压文件

命令简介
gzip 文件用于压缩文件
gunzip 文件.gz用于解压文件

zip文件压缩解压

命令简介
zip [选项] xxx.zip 将要压缩的内容压缩文件和目录的命令
unzip [选项] xxx.zip解压缩文件

上传下载

(1)lrzsz是一款程序,在linux中可以代替ftp的上传和下载

(2)安装lrzsz工具包

1
yum install -y lrzsz

(3)使用lrzsz工具包

1
2
3
4
# 使用lrzsz上传文件(默认上传到当前目录)
rz
# 使用lrzsz将文件上传到本地
sz 文件名

进程管理

显示进程

命令简介
ps [选项]显示系统执行的进程,一般使用ps -aus
pastree [选项]可以直观的来查看进程信息(进程树)

终止进程

命令简介
kill -9 进程号表示强迫进程立即停止
killall 进程名称通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

动态监控进程

命令简介
top [选项]动态显示进程
netstat [选项]监控网络状态

包管理

yum包管理

(1)yum是一个Shell前端软件包管理器

(2)yum源最设置成国内的

1
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)基于yum包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包

1
2
3
4
# 查询yum服务器是否有需要安装的软件
yum list | grep xx软件列表
# 安装指定的yum包
yum install xxx下载安装

rpm包管理

(1)一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中

(2)rpm包名基本格式:firefox-45.0.1-1.el6.centos.x86_64.rem

参数简介
firefox软件名称
45.0.1-1版本号-发布次数
el6.centos.x86_64适用操作系统64位系统,i686、i386表示32位系统
rpm扩展名

(3)安装rpm包语法:rpm -ivh rpm包全路径名称

参数简介
-i、–install安装软件包 (安装)
-v、–verbose提供更多的详细信息输出 (提示)
-h、–hash软件包安装的时候列出哈希标记(进度条)
–nodeps强制删除,一般不推荐这样做,因为依赖于该软件包的程序可能无法运行

(4)常用命令

命令简介
rpm -qa | grep xx查询已安装的rem列表
rpm -qa查询所安装的所有rpm软件包
rpm -qa | more分页查看所安装的所有rpm软件包
rpm -qi 软件包名查询软件包信息
rpm -ql 软件包名查询软件包中的文件
rpm -qf 文件全路径名查询文件所属的软件包
rpm -e RPM包的名称卸载rpm包
rpm -ivh RPM包全路径名称安装rpm包