基础命令
# ls 查看文件 ls [-a] [-l] [-h]
ls -a //-a显示隐藏
ls -l //-l列表显示
ls -al //-al可以混合使用
ls -lh //-h人性化显示,必须和-l组合
# cd和pwd
cd //不写参数回到home
cd / //进入根目录
pwd //打印当前目录
# 相对路径绝对路径和特殊路径符
/ //绝对路径以/开始
lk/xx //相对路径以当前目录为起点,不用/
cd .. //返回上一级
cd . //切换到当前目录下的Desktop
cd ~ //切换到HOME目录
# mkdir命令 mkdir [-p] 路径 注意创建文件夹在home/用户内
mkdir itheima //在当前目录创建itheima
mkdir -p itcast/good/666 //-p代表自动创建不存在的父目录
mkdir -p ~/itcat/itheima/nice/666 //在home目录内创建itcat/itheima/nice/666
# touch,cat,more命令
touch test.txt //创建文件
cat test.txt //查看文件
more /etc/services //查看文件有翻页功能
ctrl c //退出当前命令
# cp,mv,rm
cp test.txt test2.txt //复制文件
cp -r itmeima itmeima2 //复制文件夹
mv test.txt Desktop/ //文件移动到文件夹中
mv test2.txt test3.txt //改名
mv test Desktop/ //文件夹移动到文件夹中
rm test.txt test2.txt //同时删除两个文件
rm -r test //删除文件夹
rm -r -f test //强制删除文件夹
rm test* //用通配符删除
su -root //切换到root用户,输入exit退出
# which,find //which 要查找的命令
which cd //查看我们的cd命令存在哪里
find / -name "test" //在全局搜索test文件 [格式:find 起始路径 -name "被查找的文件名"]
find / -name "test*" //可以使用通配符
find / -size +10k //按文件大小查找大于10kb的文件 [格式:find 起始路径 -size +|-[kMG]]
find / -size -10k //查找小于10kb的文件
# grep,wc,管道符
grep itmeima test.txt //从test.txt文件中过滤出itmeima的文件 [格式:grep [-n] 关键字 文件路径] 从文件中通过关键字过滤文件行
grep -n itmeima test.txt //过滤的时候显示行号
wc -c test.txt //统计test.txt文件中bytes数量 [语法:wc[-c -m -l -w] 文件路径]统计文件行数,单词数量等
wc -m test.txt //统计字符数量
wc -l test.txt //统计行数
wc -w test.txt //统计单词数量
cat test.txt | grep itheima //管道符|将左边的输出作为右边的输入,可以嵌套
#echo,tail,重定向符
echo "输出内容" //在命令行输出指定内容
echo 'pwd' //被''包含的命令会作为命令执行后输出
echo "hello linux" > test.txt //将左侧命令的结果,覆盖写入符号右侧命令中
echo "hello linux" >> test.txt //将左侧命令的结果,追加写入符号右侧命令中
tail test.txt //从文件尾部查看内容 [语法:tail [-f -num] 路径]
tail -5 test.txt //从文件尾部查看5行内容
tail -f -5 test.txt //从文件尾部查看5行内容,持续追踪文件最新更改
# vi\vim编辑文件 vim兼容vi
vim hello.txt //编辑一个新文件,进入命令模式
i //进入输入模式
esc //退出输入模式
: //进入底线模式
:wq //在底线命令输入wq保存并退出
linux用户及权限
# linux的root用户
su - root //切换到超强管理员
su - 普通用户 //不需要密码
exit //退回上个用户,或者ctrl+d
sudo 命令 //这条命令可以是管理员权限
visudo //在管理员进入配置权限
用户 ALL=(ALL) NOPASSWD:ALL //在最后一行输入这行后,配置权限
esc //退回命令模式
:wq //退出保存
[注意:如果发现不用sudo命令也能创建文件,你可能在home目录下]
# 用户,用户组管理 [针对某个文件,可以给用户权限,也可以给一个用户组权限]
groupadd 用户组名 //创建用户组
groupdel 用户组名 //删除用户组
useradd [-g -d] 用户名 //创建用户 -g指定用户组,若不指定,则创建同名用户组并加入 -d指定用户home路径,不指定,默认在/home/用户名
userdel [-r] 用户名 //删除用户 -r删除用户的home目录,不使用-r不删除home目录
id 用户名 //查看用户所属组
usermod -aG 用户组 用户名 //指定用户加入指定用户组
getent passwd //查看系统用户
getent group //查看系统用户组
# 查看权限控制信息 //待总结
https://www.bilibili.com/video/BV1n84y1i7td?spm_id_from=333.788.player.switch&vd_source=23a581c4ac2f85ab69d97318a6624fed&p=26
#chmod命令 修改权限信息
chmod [-R] 权限 文件或文件夹
chmod u=rwx,g=rx,o=x hello.txt //文件权限修改为rwxr-x--x
chmod -R u=rwx,g=rx,o=x test //文件夹以及文件夹内全部权限修改为rwxr-x--x
chmod 751 hello.txt //使用二进制模式rwx(7)r-x(5)--x(1)
# chown命令,修改文件,文件夹的所属用户和用户组
chown [-R] [用户][:][用户组] 文件或文件夹 【注意:只有root执行】
chown root hello.txt //将hello所属用户修改为root
chown :root hello.txt // 将hello所属用户组改为root
chown root:itheima hello.txt // 将hello所属用户改为root,用户组改为itheima
chown -R root test //将文件夹test已经文件夹下的全部内容的所属用户修改为root
linux实用操作
# 各类快捷键
ctrl+c //强制停止
ctrl+d //退出或登出
history //查看历史输入过的命令
!命令前缀 //自动执行上一次匹配前缀的命令,只能用于短暂的
ctrl+r //输入内容去匹配历史命令,如果命令是需要的,回车执行,如果不要,键盘左右键可得到命令
ctrl+a //跳到命令开头
ctrl+e //跳到命令结尾
ctrl+键盘左键 //向左跳一个单词
ctrl+键盘右键 //向右跳一个单词
ctrl+l //清空内容,内容向上跑
clear //清除内容
# 软件安装
yum [-y] [install | remove | search] 软件名称 //-y自动确认,无需手动确认安装或过程,yum需要联网以及root权限
软件安装遇到的问题【写在开头:如果这都不行,我没办法了,3个步骤每次配置完都使用一下yum search wget】
1.输入ifconfig命令发现只有127.0.0.1
- 运行命令
sudo -i
切换到root用户 dhclient -v
之后ifconfig可以找到另外一个ip
2.当你ping某个ip时出现connect:network is unreachable
- 运行
ip addr
找到你的这个文件名称
- 运行命令
cd /etc/sysconfig/network-scripts
进入/etc/sysconfig/network-scripts/目录下,并找到ifcfg-ens33文件:
- 使用命令
vi ifcfg-ens33
修改该文件,将ONBOOT改为yes:【提示:i进入编辑,esc退出编辑,:wq保存并退出】
- 最后执行命令
service network restart
重启就能ping通外网了
3.还是无法使用yum 配置阿里云镜像
- 1.备份原有仓库配置
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 2.1【可以联网】下载阿里云仓库配置文件
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 2.2【无法联网,最好手动配置】手动创建配置文件
sudo vi /etc/yum.repos.d/CentOS-Base.repo
粘贴以下内容:
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=https://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- 3.清理旧缓存并生成新缓存
sudo yum clean all # 清理旧缓存
sudo yum makecache # 生成新缓存片
接linux实用操作
#systemctl命令 启动|关闭|查看状态|开启开机自启|关闭开机自启
systemctl start|stop|status|enable|disable 服务名 【第三方软件可以控制】
NetworkManager //主网络服务
network //副网络服务
firewalld //防火墙服务
sshd //ssh服务,finalshell远程登陆linux使用
# 软链接
ln -s 参数1 参数2 //-s创建软链接 参数1:被链接的文件或文件夹 参数2:要链接去的目的地
ln -s /etc/yum.conf ~/yum.conf //将/etc/yum.conf链接到~/yum.conf 【相当于创建快捷方式】
# 日期和时间
date [-d] [+格式化字符串]
date "+%Y-%m-%d %H:%M:%S"
date -d "+1 day"
date -d "+1 day" "+%Y-%m-%d %H:%M:%S"
rm -f /etc/localtime //删除时间
sudo ln -s /usr/share/zoneinfo/Asia/ShangHai /etc/loacltime //链接新的时间
yum -y install ntp //通过ntp程序自动校准系统时间
systemctl start ntpd //开启服务
systemctl enable ntpd //设置开机自启
# IP地址和主机
IP地址:198.2.2.2
主机名:主机的名称,用于标识一个计算机
域名:www.baidu.com
我们能记住域名,不一定记住ip,所有可以用域名映射ip,每一个联网的主机都有ip
# 固定IP地址
懒
# 网络传输
ping [-c num] ip或主机名 //检查网络是否连通,-c检查次数
wget [-b] url //可以在网络中下载文件,-b后台下载,url下载链接
curl [-O] url //发起网络请求,用于下载文件,获取信息,-O用于下载文件,比如 curl itheima.com ,可以获得网站源码
# 端口
物理端口:
虚拟端口:192.168.88.101:8080 //8080就是端口,锁定进程,1024~49151可以随意使用
yum -y install nmap //下载nmap,nmap可以用来查看端口使用情况
nmap 127.0.0.1 //查看主机有几个端口
yum -y install net-tools //下载这个应用
netstat -anp | grep 111 //查看端口情况,通过grep语法过滤出包含111的
# 进程管理
ps [-e -f] //查看进程,-e显示所有进程,-f格式化显示进程
UID: 进程所属的用户ID
PID: 进程的进程号ID
PPID: 进程的父进程ID(启动此进程的其它进程)
C: 此进程的CPU占用率
STIMTE: 进程的启动时间
TTY: 启动此进程的终端序号,如显示?,表示非终端启动
TIME: 进程占用CPU的时间
CMD: 进程对应的名称或启动路径或启动命令
ps -ef | grep tail //查看指定进程
kill [-9] 进程id //关闭进程,-9强制关闭
# 主机状态监测
top //查看cpu,内存使用情况
df [-h] //查看磁盘信息,-h格式化查看
iostat [-x][num1][num2] //查看cpu,磁盘,-x查看更多信息
sar //网络监控
# 环境变量
env //查看环境变量
echo $PATH //$可以取值
export 变量名=变量值 //临时生效
vim ~/bashrc //编辑这个文件,针对用户生效
export MYNAME=lkl //添加环境变量后退出
source .bashrc //保存这个配置
echo $MYNAME //可以查看使用
vim /etc/profile //编辑这个文件,针对系统生效
export PATH=$PATH:/test/hello //把/test/hello文件添加path
# Linux文件的上传和下载(使用FinalShell)
sz 文件名 //下载
rz 文件名 //上传
# 压缩格式
tar [-c -v -x -f -z -C] 参数1 参数2
-c //创建压缩文件,用于压缩模式
-v //显示压缩过程,解压过程
-f //要创建的文件
-x //解压模式
-z //gzip模式,不使用-z就是普通的tarball格式
-C //选择解压的目的地,用于解压模式
tar -cvf test.tar 1.txt 2.txt //将1,2压缩到test.tar中,没有太多压缩操作,只是简单封装
tar -zcvf test.tar.gz 1.txt 2.txt //将1,2压缩到test.tar.gz中
tar -xvf test.tar -C /home/lkl //将test.tar解压到/home/lkl
tar -zxvf test.tar.gz -C /home/lkl //将test.tar以gzip模式解压到/home/lkl
zip [-r] 参数1 参数2 //zip
unzip [-d] 参数 //-d如同-C
MySQL8.0在CentOS系统中的安装
-
安装步骤
-
更新密钥
rpm -- import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
-
安装Mysql8.x版本 yum库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
-
使用yum安装MySQL
yum -y install mysql-community-server
(如果报错失败的软件包是:mysql-community-server-8.0.41-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
)使用yum -y install mysql-community-server --nogpgcheck
-
启动mysql
systemctl start mysqld
-
设置开机自启动
systemctl enable mysqld
-
配置root密码以及允许root远程登录
-
通过grep命令获得mysql初始密码
grep 'temporary password' /var/log/mysqld.log
,得到的root@localhost: Dsiazo&!o7!V
,就是密码 -
登陆mysql
mysql -uroot -p
,之后输入你的密码 -
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Lkl666666^';
,默认密码规则:必须大于8位,包含大小写字母,有数字有特殊符号 -
配置简单密码:设置安全级别
set global validate_password.policy=0;
,设置密码长度set global validate_password.length=4;
-
允许root远程登陆,并设置密码
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
,后续更改远程登陆密码ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
-
退出mysql
exit
安装redis
- 安装yum包
yum install -y epel-release
- 安装redis
yum install -y redis
- 开机自启动
systemctl enable redis
- 启动
systemctl start redis
- 关闭防火墙
systemctl stop firewalld
- 进入redis服务
redis-cli