linux基础快速回顾
网络连接的三种方式
-
桥接模式
- 先要记住物理机的ip段、网关、DNS(两者需在同一网段,网关,DNS)
- 设置完虚拟机后需要重启网络服务,才能生效
- 测试时需要分别对联网和两者的通信进行测试
-
nat模式(端口映射技术)
-
主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。
-
编辑网卡配置文件
-
配置文件修改如下
-
NAT模式,利用虚拟的NAT设备以及虚拟DHCP服务器来使虚拟机连接外网,而VMware Network Adapter VMnet8虚拟网卡是用来与虚拟机通信的。
-
-
主机模式
目录介绍
/bin 存放经常使用的命令
/boot 存放启动linux的核心文件,包括一些连接文件和镜像文件
/dev dev是Device的缩写,存放linux的外部设备,在linux中访问设备的方式和访问文件的方式是相同的
/etc 存放所有的系统管理需要的配置文件和子目录
/home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名
/lib 存放基本的动态连接共享库,类似windows下的dll文件
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/media linux自动识别的一些设备,u盘,光驱等,识别后会挂载到这个目录
/mnt 让用户临时挂载别的文件系统
/opt 主机额外安装软件所摆放的目录
/proc 虚拟目录,系统内存的映射,可以直接访问这个目录获得系统信息
/root 该目录为系统管理员
/sbin 系统管理员使用的系统管理应用程序
/srv 服务启动后需要提取的一些数据
/sys 2.6内核新出现的一个文件系统sysfs
/tmp 存放临时文件
/usr 非常重要的目录,用户的很多应用程序和文件都放在这个目录,类似windows下的program files
/usr/bin 系统用户使用的应用程序
基础命令
mkdir -p test/test1/test2 递归创建目录
rmdir 删除空目录
rm 删除文件或目录,rm -rf强制删除,-r代表递归删除,-f代表强制 -i代表交互,提示询问
cp 拷贝文件 cp 文件名 目标地址
mv移动文件或目录,-f表示强制移动 -u表示只替换已更新的。当mv后跟两个相同的参数时代表重命名
touch 创建文件 touch 文件名
echo 内容值 > 文件名 创建文件。两个>>代表文件追加写
cat > 文件名,打开文件进入编辑模式,ctrl+z退出文件并自动保存
cat 文件名 查看文件内容
文件属性相关
前面十个字符,第一个代表文件类型,后面三个一组,分别是属主权限、属组权限、其他用户权限
-
文件类型
当为d是代表目录,-代表文件 ,l代表链接文档(类似快捷方式),b代表装置文件里面的可供存储的接口设备(可随机存取装置),c代表装置文件里的串行端口设备,例如键盘,鼠标(一次性读取装置)
-
文件权限
r代表可读,w代表可写,x代表可执行。权限的位置不会改变,-代表没有权限
-
文件命令操作
chown 修改文件属主(文件所有者) chown 属主名 文件名 #只能修改为已存在的用户 chgrp 修改文件属组 chgrp 属组名 文件名 chmod 修改文件属性 r代表4 w代表2 x代表1 chmod 777 文件名(貌似root用户在所有用户组里,权限很高)
-
文件内容查看
cat 从第一行开始显示文件内容 tac 从最后一行开始显示文件内容 nl 显示文件内容的时候,顺道输出行号 more 和less 对长文件进行翻页操作,通过空格进行翻页,回车或者上下键只能向下移动一行,通过Q键退出,:f显示当前第几行, /字符串 向下查找字符串,?字符串向上查找字符串(应用于less) head -n 只显示前几行,对应命令tail
-
硬链接与软链接
硬链接通过ln 源文件 生成文件,会同步数据,删除源文件不影响生成的文件
软链接通过ln -s 源文件 生成文件,类似windows下的快捷方式,删除源文件,生成文件直接失效
-
vim编辑器
打开文件后首先进入命令模式,通过i进入编辑模式,esc退出编辑模式,通过:进入底线命令模式,底线命令模式wq是保存退出,u是撤销,set nu显示行号。在命令模式可以通过/字符串进行字符串查找。
用户管理
useradd 创建用户 useradd -m username ,自动创建用户目录在/home/username,对应在etc/passwd文件查看信息
userdel -r 删除用户
usermod 修改用户 usermod -d 目录名 用户名,切换目录。更改etc配置里信息,具体home/下名字不会改变
su 切换用户,exit返回root用户
passwd sxj 更改用户密码
passwd -l sxj 账号加锁
passwd -u sxj 账号解锁
groupadd 新建用户组 -g参数后加id表示赋予组id值
groupdel 组名 删除用户组
groups 查看用户的所属组
id 产看用户的信息
usermod -g 组名 用户名,修改用户的主组
usermod -G 组名 用户名,修改用户的数组
磁盘管理
df -h 查看磁盘空间,-m显示大小信息
du -a 查看目录及子目录
进程管理
进程有两种运行方式,后台运行和前台运行,一般的话服务都是后台运行的
ps -a查看当前终端运行的所有进程的信息
ps -u以用户的信息显示进程
ps -x显示后台运行的进程参数
ps -aux|grep mysql 查看系统中mysql进程信息
ps -ef|grep 进程名 查看父进程
pstree -pu 显示用户组和父id,进程树方式显示
kill -9进程id 杀死进程 -9表示强制
安装应用
-
解压缩安装
需要配置环境变量(/etc/profile)
环境变量配置
java_home=/usr/java/jdk* classpath=%java_home%/lib:%java_home%/jre/lib path=$java_home/bin:$java_home/jre/bin export path classpath java_home source /etc/profile 文件生效
-
rpm安装
rpm -qa查看所有已安装的软件包,可以结合grep进行过滤 rpm -ivh安装指定软件包并显示进度 rpm -e --nodeps强制卸载 rpm -qi列出软件的详细信息 rpm -qf 文件名,找出该文件属于哪一个已安装的软件
-
yum安装
-
yum是在线rpm包管理,可以下载某个软件包的所有依赖
yum list 查看所有可以下载的软件包,可以结合管道符进行过滤 yum remove 移除软件包 yum install 安装软件
防火墙相关
确保Linux防火墙是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的
systemctl status firewalld 查看firewall状态
systemctl start firewalld 开启防火墙服务
systemctl stop firewalld 关闭防火墙服务
systemctl restart firewalld 重启防火墙服务
firewall-cmd --list-all 查看全部信息
firewall-cmd --list-ports 查看所有开放端口信息
firewall-cmd --zone==public --add-port=80/tcp --permanent 开启端口 --zone作用域
--add-port=80/tcp 端口/通信协议 --permanent 永久生效 没有此参数重启后失效 --remove-port 移除端口
tar zxvf 压缩包(tar.gz)解压命令 -z表示解压.gz文件 -x解压c压缩 -v显示执行过程 -f指定备份文件
xz -dk 解压.xz文件 -d表示解压xz文件 -k表示保留源文件,xz解压后为tar文件,还需通过tar xvf进行解压成普通文件
安装nginx
解压缩安装,解压后执行configure文件,然后执行make命令,默认安装在usr/local/nginx目录下,在sbin目录下有可执行文件
安装mysql
-
官网搜索下载,然后进行解压缩
注意下载后缀为.xz的话可先用xz -dk进行解压
-
创建mysql用户组和mysql用户(具体命令不在介绍)
-
根目录下递归创建data/mysql目录用于存放数据文件
-
移动解压后的MySQL目录到/usr/local目录
-
编辑/etc/my.cnf文件(mysql配置文件,没有手动创建)
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true [client] default-character-set=utf8 [mysql] default-character-set=utf8
-
初始化数据库,进入mysql解压后bin目录执行 ./mysqld --default-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --initialize
-
查看root用户密码
/data/mysql/mysql.err 里查看
-
启动mysql服务,启动服务之前别忘开启3306端口 启动命令 service mysql start
-
登录mysql并更改初始密码
alter user 'root'@'localhost' identified by 'password' | alter user 'root'@'localhost' identified with mysql_native_password by 'password'
-
修改user表host字段实现任意ip登录,并赋予用户权限
update mysql.user set host = '%' where user = 'root' grant all on *.* to 'root'@'%' flush privlleges
-
数据库导出sql文件
mysqldump -u root -p database > *.sql mysql -u root -p -D数据库 < sql文件 执行sql文件