linux的常用命令

  • linux的常用命令
    • 第一部分 常见的系统提示指令
      • 1.查询文件位置的指令
      • 2.查询文件的介绍信息
      • 3.查询当前登录中的用户
      • 4.查询当前使用的用户
      • 5.返回系统的信息
      • 6.显示当前所在位置
      • 7.清屏
      • 8.返回输入 指令的历史记录
      • 9.打印信息
    • 第二部分 常见的系统符号
    • 第三部分 路径问题
    • 第四部分
      • 1.文件夹操作的指令
        • cd
      • 2.文件操作的指令
    • 第五部分
      • find 当你忘记文件放在哪里 可以记性范围性的查找文件
    • 第六部分
      • vi 编辑器的使用
      • 1.使用 vi 打开要编辑的文件
      • 2.按下 i 或是 a可以进行编辑 去使用键盘输入信息
      • 3.输入完后 怎么保存退出呢
    • 第七部分
      • 文件在电脑之间传递
        • 1.window-----linux 之间传递数据
          • 第一种啊方式
          • 方式二
          • Centos8 de yum 存在问题 不再支持了
        • linux------linux的之间通讯
          • scp 进行传输
      • 第八部分
        • df --查看文件的空间占比
      • 第九部分
        • 文件的压缩
        • 文件的解压
        • zip和unzip
      • 第十部分
        • 网络的管理指令
          • ifconfig
          • ip addr 效果差不多
          • netstat
          • ping
          • telnet 可以检测 ip的 端口开发情况
    • 第十一:防火墙
      • 查看防火墙的状态
      • 关闭防火墙 当前
      • 禁止开机自启动
      • 完全关闭防火墙
      • 防火墙的另种配置
      • 开启和关闭端口
    • 第十二部分 密码 加密
      • 不可逆的加密
      • 对称加密
      • 非对称加密
      • linux之间免密码通讯链接
        • 1.通过ssh ip 去连接其他电脑
        • 2.使用非对称加密方式
      • 主机名和host校验
    • 第十三部分 时间
      • data 时间 cal 日历
      • 修改时间
      • 时间同步
    • 第十四 用户
      • 用户的添加
      • 用户删除
      • 修改用户信息
      • 用户信息的查看
    • 第十五 用户组
      • 用户组的添加
      • 用户组的删除
      • 修改用户组
      • 查看用户组
      • 修改用户所属的组
      • 权限
    • 第十六 管道 >>
      • 管道 |
      • 重定向 >>
    • 第十七 进程
      • 进程信息
      • 查询进程
      • 查看线程的详细占比
      • 后台进程
    • 第十八 环境变量
      • 环境变量
      • 常见软件安装的方式
      • linux 常用的 rpm安装
      • rmp常见指令
        • 安装
      • java环境的配置
        • 第一步下载 jdk文件
        • 第二步上传到linux
        • 第三步 rpm 安装
        • 第四步 rpm 查看安装的文件位置
        • 第五步 配置环境变量
        • 第六步 重启资源
        • 第七步 检测
    • 第十九tar包安装软件
      • 第一步使用tar 指令加压就行
      • 第二步 进入软件 找到bin
      • 第三步执行 开启
      • 第四步 检测
    • 第二十 yum的安装
      • yum是什么
      • yum指令
      • yum 的安装
      • yum源的更换
    • 第二十一 mysql安装
      • 下载依赖
      • 删除 centos自带的 mariadb
      • 下载mysql的安装包tar
      • 把安装的mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar上传到linux上面
      • 解压文件
      • 按顺序安装mysql 解压后的的 rpm包
      • 启动mysql
      • mysql的配置
      • 获得mysql的root 密码
      • 登录mysql
      • 修改mysql的密码

linux的常用命令

第一部分 常见的系统提示指令

1.查询文件位置的指令

 whereis cd            返回指令的文件位置
[root@CentOS7 /]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

2.查询文件的介绍信息

file 文件位置          根据文件返回描述
[root@CentOS7 /]# file /usr/bin/cd
/usr/bin/cd: POSIX shell script, ASCII text executable这是一个shell的脚本文件

3.查询当前登录中的用户

who      返回当前登录的用户数据
[root@CentOS7 /]# who
root     pts/0        2022-09-30 04:00 (192.168.188.1)

4.查询当前使用的用户

whoami         显示自己的用户
[root@CentOS7 /]# whoami
root

5.返回系统的信息

uname -a
[root@CentOS7 /]# uname -a
Linux CentOS7 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

6.显示当前所在位置

pwd
[root@CentOS7 /]# pwd
/
[root@CentOS7 /]# cd /etc
[root@CentOS7 etc]# pwd
/etc

7.清屏

clear

8.返回输入 指令的历史记录

historyhistory -c  清除

9.打印信息

echo 信息
[root@CentOS7 etc]# name='张三'
[root@CentOS7 etc]# echo $name
张三
[root@CentOS7 etc]# echo '加减'
加减

第二部分 常见的系统符号

1.点 .

. 表示当前文件
.. 表示上一级的文件

2.$

$  表示变量
$path

3.*

*   通配符   类似于模糊匹配

4.空格

空格  一般用来区分指令   指令之间 空格区分参数

5./

/   根目录

6.~

~  家目录

7.- –

-   参数的标志
-- 参数的标志
- 一般用于缩写
-- 一般用于单词

第三部分 路径问题

1.相对路径

相对于当前pwd 所在的路径  进行 .. .的查找

2.绝对路径

绝对路径
从盘符出发去寻找文件
/etc/profile
在 linux下面 / 就是盘符

第四部分

1.文件夹操作的指令

cd

cd  切换文件夹

ls

ls 查看文件夹里面的文件ll 查看文件夹里面的文件
ls -a 显示隐藏的文件

创建文件夹

mkdir 文件的名字mkdir -p  多层创建mkdir -p gushi{libai,dufu,wanganshi,liqingzhao}
同层下创建拼接的文件gushilibai,gushidufu....mkdir -p gushi/{libai,dufu,wanganshi,liqingzhao}
下一层级层下创建拼接的文件gushilibai,gushidufu....
[root@CentOS7 app]# mkdir gushi
[root@CentOS7 app]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 30 04:39 gushi[root@CentOS7 app]# mkdir -p gushi/libai/jingyeshi
[root@CentOS7 app]# ll
total 0
drwxr-xr-x. 3 root root 19 Sep 30 04:42 gushi
[root@CentOS7 app]# cd gushi
[root@CentOS7 gushi]# ll
total 0
drwxr-xr-x. 3 root root 23 Sep 30 04:42 libai
[root@CentOS7 gushi]# cd libai
[root@CentOS7 libai]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 30 04:42 jingyeshi[root@CentOS7 app]# mkdir -p gushi{libai,dufu,wanganshi,liqingzhao}
[root@CentOS7 app]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 30 04:39 gushi
drwxr-xr-x. 2 root root 6 Sep 30 04:41 gushidufu
drwxr-xr-x. 2 root root 6 Sep 30 04:41 gushilibai
drwxr-xr-x. 2 root root 6 Sep 30 04:41 gushiliqingzhao
drwxr-xr-x. 2 root root 6 Sep 30 04:41 gushiwanganshi[root@CentOS7 app]# mkdir -p gushi/{libai,dufu,liqingzhao}
[root@CentOS7 app]# ll
total 0
drwxr-xr-x. 5 root root 49 Sep 30 04:45 gushi
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushidufu
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushilibai
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushiliqingzhao
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushiwanganshi
[root@CentOS7 app]# cd gushi
[root@CentOS7 gushi]# ll
total 0
drwxr-xr-x. 2 root root  6 Sep 30 04:45 dufu
drwxr-xr-x. 3 root root 23 Sep 30 04:42 libai
drwxr-xr-x. 2 root root  6 Sep 30 04:45 liqingzhao

文件夹的删除

rmdir   只能删除空的文件夹可以使用rm -rf 文件夹 ---之后详解

2.文件操作的指令

cp 文件的复制

cp 要拷贝的文件   拷贝到的地方拷贝文件夹  需要  -r
cp -r 文件夹   位置
[root@CentOS7 app]# ll
total 0
drwxr-xr-x. 5 root root 49 Sep 30 04:45 gushi
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushidufu
drwxr-xr-x. 3 root root 22 Sep 30 04:50 gushilibai
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushiliqingzhao
drwxr-xr-x. 2 root root  6 Sep 30 04:41 gushiwanganshi
drwxr-xr-x. 2 root root  6 Sep 30 04:52 jingyesi
[root@CentOS7 app]# cp -r  jingyesi ./gushi
[root@CentOS7 app]# ll ./gushi
total 0
drwxr-xr-x. 2 root root  6 Sep 30 04:45 dufu
drwxr-xr-x. 2 root root  6 Sep 30 04:53 jingyesi
drwxr-xr-x. 3 root root 23 Sep 30 04:42 libai
drwxr-xr-x. 2 root root  6 Sep 30 04:45 liqingzhao

文件的移动|重命名

mv

mv 用两种功能当操作的文件 在同层目录下 且移动的名字不存在对应的文件夹 就是重新命名mv /li /yang   在 /中找到 li  看看yang 是否存在 不存在就是 li重命名yang  存在就是移动
当操作在非同层下  就是移动mv 要移动的文件   移动到的位置
[root@CentOS7 app]# ll
drwxr-xr-x. 6 root root 65 Sep 30 04:53 gushi[root@CentOS7 app]# mv gushi tangshi
[root@CentOS7 app]# ll
drwxr-xr-x. 6 root root 65 Sep 30 04:53 tangshi

文件的删除

rm 文件  这样删除会提示
rm -r 文件夹   -r 表示递归删除
rm -f 文件   -f 表示强制删除  不用提示rm -rf /*   删库跑路   注意不要使用  知道就好

文件的创建

echo

echo -> file   创建空白文件
[root@CentOS7 app]# echo -> file
[root@CentOS7 app]# ll
total 4
-rw-r--r--.  1 root root   2 Sep 30 05:05 file

touch文件

touch 文件
[root@CentOS7 app]# touch hello
[root@CentOS7 app]# ll
total 4
-rw-r--r--.  1 root root   2 Sep 30 05:05 file
-rw-r--r--.  1 root root   0 Sep 30 05:07 hello

查看文件的状态

stat 文件

[root@CentOS7 app]# stat helloFile: helloSize: 0            Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 52075210    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-09-30 05:07:05.828698759 +0800     访问
Modify: 2022-09-30 05:07:05.828698759 +0800    变化
Change: 2022-09-30 05:07:05.828698759 +0800   变动 chmod通过touch 就能统一时间了

文件的信息查看

cat   正看所有信息tac  反向查看信息head​  head -7 hello  查看前7行tail​  tail -7 hello  查看后7行-f 可以监听文件  的inode-F 可以监听文件的名字ping www.baidu.com >> baidu在进行 tail -f baidu 监听数据的输出more​    more helloless​ less hello进入查看模式的时候  h可以提示操作  q退出

第五部分

find 当你忘记文件放在哪里 可以记性范围性的查找文件

find 范围 -name 文件的名字
[root@CentOS7 app]# find / -name tangshi
/root/app/tangshi
[root@CentOS7 app]# find /root/app -name h*
/root/app/hello

第六部分

vi 编辑器的使用

  • 1.使用 vi 打开要编辑的文件

    vi /etc/profile
    打开后就会进入到  文件中  但是不能输入信息vi +6 /etc/profile 打开后默认光标在6行
  • 2.按下 i 或是 a可以进行编辑 去使用键盘输入信息

    按下  i  你就会发现可以输入信息了
    
  • 3.输入完后 怎么保存退出呢

    按下esc  就会进入退出
    在输入:wq  回车 就可以保存推出了
    
  • 细节介绍

    vi 打开文件 输入编辑状态  可以通过某些快捷键操作常见操作回到首行 gg回到末尾 G回到某行 数字 + gg按单词选择 w  3 w删除一行 dd  2 dd撤回   u反撤回 .复制  yy  2 yy粘贴 p  2p剪切 x   20 x替换  r快捷保存  zz按下 esc输入 :之后常见操作:set nu 显示行数:set nonu 取消行数:wq 写入退出:q!   不保存直接退出:s/李白/李清照/g  找到光标所在行的李白 换成李清照

第七部分

文件在电脑之间传递

1.window-----linux 之间传递数据

第一种啊方式

​ 使用xftp的软件 记性数据传递

方式二

​ 使用工具 lrzsz

yum install lrzsz -y
Centos8 de yum 存在问题 不再支持了

解决

第1步:进入 /etc/yum.repos.d/ 目录。[root@server ~]# cd /etc/yum.repos.d/
第2步:运行如下两条命令更换镜像。[root@server ~]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
[root@server ~]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
第3步:再次运行 yum update 命令。[root@server ~]# yum update -y

输出 rz 可以进行上传

Installed:lrzsz-0.12.20-43.el8.x86_64                                                                                         Complete!
[root@CentOS7 app]# rz之后会打开window的文件 然选择  之后就会上传上去

输入sz 文件 就能把linux 的文件下载到本机

[root@CentOS7 app]# ll
total 32
-rw-r--r--.  1 root root 11281 Sep 30 05:22 baidu
[root@CentOS7 app]# sz baidu之后会打开文件的提示窗 选择要下载的位置

linux------linux的之间通讯

scp 进行传输
//把当前主机的文件 传送到  对用ip的位置下面
scp 文件 root@主机ip:/位置
//把别的主机文件 拿过老
scp root@ip:/文件位置  本主机的位置
scp linux的常用命令.md   root@192.168.188.101:/root/appThe authenticity of host '192.168.188.101 (192.168.188.101)' can't be established.
ECDSA key fingerprint is SHA256:atM0f9IoVuwDMLmChUHE/HNDxsvLIJ5machxlnRxoHA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added '192.168.188.101' (ECDSA) to the list of known hosts.
root@192.168.188.101's password:
linux的常用命令.md                                                                        100% 7491     4.3MB/s   00:00

第八部分

df --查看文件的空间占比

df -h
[root@CentOS7 app]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             368M     0  368M   0% /dev
tmpfs                397M     0  397M   0% /dev/shm
tmpfs                397M   12M  386M   3% /run
tmpfs                397M     0  397M   0% /sys/fs/cgroup
/dev/mapper/cl-root   18G  4.2G   14G  24% /
/dev/sda1            240M  192M   32M  86% /boot
tmpfs                 80M  1.2M   79M   2% /run/user/42
tmpfs                 80M  4.0K   80M   1% /run/user/0

第九部分

文件的压缩

tar -zcf 压缩后的名字  源文件
[root@CentOS7 app]# ll
drwxr-xr-x. 10 root root   145 Sep 30 05:02 tangshi
[root@CentOS7 app]# tar -zcf tangshi.tar.gz tangshi
[root@CentOS7 app]# lldrwxr-xr-x. 10 root root   145 Sep 30 05:02 tangshi
-rw-r--r--.  1 root root   292 Oct  1 21:42 tangshi.tar.gz

文件的解压

tar -zxvf 解压的文件
[root@CentOS7 app]# tar -zxvf tangshi.tar.gz
tangshi/
tangshi/libai/
tangshi/libai/jingyeshi/
tangshi/dufu/
tangshi/liqingzhao/

zip和unzip

yum install zip unzip -y

压缩

zip 压缩后的名字  源文件
[root@CentOS7 app]# zip baidu.zip baiduadding: baidu (deflated 91%)
[root@CentOS7 app]# ll
total 40
-rw-r--r--.  1 root root 11281 Sep 30 05:22 baidu
-rw-r--r--.  1 root root  1196 Oct  1 21:48 baidu.zip
unzip zip文件
[root@CentOS7 app]# unzip baidu.zip
Archive:  baidu.zip
replace baidu? [y]es, [n]o, [A]ll, [N]one, [r]ename: yinflating: baidu相同时 会让你选择是否覆盖

第十部分

网络的管理指令

ifconfig
yum install net-tools -y
[root@CentOS7 app]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.188.100  netmask 255.255.255.0  broadcast 192.168.188.255inet6 fe80::e79c:73c:2258:5fb1  prefixlen 64  scopeid 0x20<link>inet6 fe80::3401:7768:7da2:ce8b  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:f3:89:ff  txqueuelen 1000  (Ethernet)RX packets 714101  bytes 1002286800 (955.8 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 200479  bytes 14558302 (13.8 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ip addr 效果差不多
ip addr
[root@CentOS7 app]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:f3:89:ff brd ff:ff:ff:ff:ff:ffinet 192.168.188.100/24 brd 192.168.188.255 scope global noprefixroute ens33valid_lft forever preferred_lft forever
netstat
netstat -anp  查看端口的情况
ping
ping www.baidu.com  测试ip是否联通
[root@CentOS7 app]# ping 192.168.188.11
PING 192.168.188.11 (192.168.188.11) 56(84) bytes of data.
From 192.168.188.100 icmp_seq=1 Destination Host Unreachable
From 192.168.188.100 icmp_seq=2 Destination Host Unreachable
telnet 可以检测 ip的 端口开发情况
yum install telnet -y
telnet ip 端口
[root@CentOS7 app]# telnet 192.168.188.101 22
Trying 192.168.188.101...
Connected to 192.168.188.101.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.0Invalid SSH identification string.
Connection closed by foreign host.
[root@CentOS7 app]#
检测 22端口开发

第十一:防火墙

查看防火墙的状态

systemctl status firewalld.service

关闭防火墙 当前

systemctl stop firewalld.service

禁止开机自启动

systemctl disbale firewalld.service

完全关闭防火墙

//第一 关闭开机自启动
systemctl disbale firewalld.service
//关闭当前的防火墙
systemctl stop firewalld.service

防火墙的另种配置

firewall-cmd  --state  防火墙的状态
firewall-cmd  --reload  重启  一般配置新的东西 就要重启
firewall-cmd  --zone   类型 publicfirewall-cmd  --add-service 添加服务
firewall-cmd  --delete-service 删除服务
firewall-cmd  --get-service 查询服务列表
firewall-cmd  --query-service 查询某一个服务firewall-cmd  --add-port  添加端口
firewall-cmd  --delete-port 删除多扣
firewall-cmd  --add-port=80/tcp --permanent 永久 添加端口

开启和关闭端口

//添加3306 端口
firewall-cmd  --zone=public --add-port=3306/tcp --permanent
//重载
firewall-cmd  --reload
//查看
firewall-cmd  --query-port=3306/tcp
//关闭端口
firewall-cmd  --zone=public --delete-port=3306/tcp --permanent

第十二部分 密码 加密

了解这个 就是个补充 为了后续的 免密码登录做补充

密码—目的就是为了数据的安全 比如你的qq密码 不容易被盗

常见的密码加密方式

不可逆的加密

就是说根据你的源数据(明文)-----进行加密—得到加密后的数据

这种方式 加密后无法 推算出原始数据 只能正推算 不能反着推算

常用语检验文件的完整性 例如 视频 文件 安装包 检验数据是否修改

应用实例:

注册时候 使用123注册 经过不可逆的加密 得到 21aksdla

一般来说 在数据存的密码 是21aksdla 这样就算数据库被攻破了

也无法推算出你的密码 因此要想找回密码 只能重新区设置

对称加密

对称加密 就是 加密使用秘钥—解密也使用秘钥 且加密解密的秘钥一样

有一种方式

123-----[加一位 加密]----234--------[减一位 解密]-----123

我爱你-----love[秘钥]-----ajdlkajlsf-------love[秘钥]------我爱你

常见的加密方式 DES AES RC3

存在问题就是

别人解密你的信息就要 秘钥 很有可能秘钥在发送中 被别人拦截 监听

非对称加密

非对称加密和对称加密相反

加密用一个秘钥 解密也用一个秘钥

区别在于 这两个秘钥是一个秘钥对

我们称之为 公钥 和 私钥

流程

首先 公钥和私钥是成对出现的 彼此唯一

公钥可以公布出去 任何人人可见

我给别人发消息

我爱你------私钥[加密]--------密文--------公钥[解密]-----我爱你

别人给我发消息

我也爱你-----公钥[加密]-----密文------私钥[解密]-----我也爱你

总结 计算机之间的交流和人之间类似 都存在加密的方式

使用加密方式实现信任通讯

linux之间免密码通讯链接

1.通过ssh ip 去连接其他电脑

[root@CentOS7 ~]# ssh 192.168.188.101
root@192.168.188.101's password:
Activate the web console with: systemctl enable --now cockpit.socketLast login: Tue Oct  4 20:36:15 2022 from 192.168.188.1如果第一次链接可能还要输入yes 确认密码正确后就能 访问他人的linux电脑链接的记录会存放在~/.ssh/konwn_hosts[root@CentOS7 ~]# cat ~/.ssh/known_hosts
192.168.188.101 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP3tndKTRvxLZDEkvbIgqUjKN+25WhnTXwQTJYMhHJmECu7jFkvxUrM862tPjuydbnLijWR7DnPFo=

2.使用非对称加密方式

​ 第一生成秘钥对

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
[root@CentOS7 ~]# ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xBM8Mi+tDD/L5/fn8zo6U0Th6Iz8QrTlZGSvXL2Vx/U root@CentOS7
The key's randomart image is:
+---[RSA 3072]----+
|       ..   o ...|
|      o.o. o +.o+|
|       =+.. =.+.E|
|    . ..o+ @ o. +|
|     + oS = *. . |
|      =  . .  .  |
|     . o  . ..   |
|      o . ..o +  |
|       o.. .o*o=.|
+----[SHA256]-----+
[root@CentOS7 ~]#

发送给要免密钥的一方 把公钥给他

[root@CentOS7 ~]# cd ~/.ssh
[root@CentOS7 .ssh]# ll
total 12
-rw-------. 1 root root 2602 Oct  4 21:26 id_rsa
-rw-r--r--. 1 root root  566 Oct  4 21:26 id_rsa.pub
-rw-r--r--. 1 root root  177 Oct  1 21:32 known_hostid_rsa.pub就是公钥

发送公钥

 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.188.101
[root@CentOS7 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.188.101
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.188.101's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@192.168.188.101'"
and check to make sure that only the key(s) you wanted were added.

之后的链接 就不用输入密码了

[root@CentOS7 .ssh]# ssh 192.168.188.101
Activate the web console with: systemctl enable --now cockpit.socketLast login: Tue Oct  4 21:18:44 2022 from 192.168.188.100

秘钥会存放在

~/.ssh/authorized_keys

主机名和host校验

[root@CentOS71 ~]# ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:atM0f9IoVuwDMLmChUHE/HNDxsvLIJ5machxlnRxoHA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

解决

[root@CentOS71 ~]# vi /etc/ssh/ssh_config在末尾加上StrictHostKeyChecking noUserKnownHostsFile /dev/null[root@CentOS71 ~]# ssh localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts
root@localhost's password:
Activate the web console with: systemctl enable --now cockpit.socket
Last failed login: Tue Oct  4 21:39:29 CST 2022 from ::1 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Tue Oct  4 21:38:04 2022 from ::1不用输入yes  了

第十三部分 时间

data 时间 cal 日历

[root@CentOS71 ~]# date
Tue Oct  4 21:41:28 CST 2022
[root@CentOS71 ~]# cal October 2022
Su Mo Tu We Th Fr Sa12  3  4  5  6  7  89 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
[root@CentOS71 ~]# 

修改时间

[root@CentOS71 ~]# date -s 11:11:11
Tue Oct  4 11:11:11 CST 2022
[root@CentOS71 ~]# date -s 2015-10-02
Fri Oct  2 00:00:00 CST 2015
[root@CentOS71 ~]# date -s '2022-10-02 12:12:30'
Sun Oct  2 12:12:30 CST 2

时间同步

yum install ntp -yntpdate cn.ntp.org.cn

搭建本地的ntp

service ntpd startvi /etc/ntp.confupdate 本机ip

第十四 用户

用户的添加

useradd libaipasswd libai  //设置libai的密码

用户删除

userdel -r liai

修改用户信息

usermod -l a b  把 b改为a
usermod -L a   锁上a
usermod -U a  解锁啊

用户信息的查看

cat /etc/shadowcat /etc/passwd

第十五 用户组

用户组的添加

groupadd tang

用户组的删除

groupdel tang

修改用户组

groupmod -n lqz liqingzhao

查看用户组

groupsgroups li

修改用户所属的组

usermod -g a b 修改主组  把b改为  a
usermod -G a b 修改附属组

权限

-rw-rw-r--. 1 liqingzhao lqz   0 Oct  4 15:06 haha
drwxrwxr-x. 2 liqingzhao lqz   6 Oct  4 14:58 lz第一个 字母 - 表示文件d 表示文件夹 l 表示软连接
后面的每三个一组
r 读取  的权限  - 表示不可读取
w 写入 的权限  - 表示不可\写入
x 操作  的权限  - 表示不可操作 例如删除 新建第1组rwx liqingzhao 用户
第2组rwx lqz  所属组
第3组rwx 就是其他组

修改文件的组

chown 组 文件
chowm 组:组 文件
chown -r 迭代的修改权限

修改文件的权限

chmod U+w 文件
U 用户   G  组  O 其他chmod O+w 文件

第十六 管道 >>

管道 |

把上一步的数据 通过 | 传递下一步
[root@CentOS7 ~]# cat /etc/passwd | tail -2
tcpdump:x:72:72::/:/sbin/nologin
yzm:x:1000:1000:yzm:/home/yzm:/bin/bash
[root@CentOS7 ~]# cat /etc/passwd | grep yzm
yzm:x:1000:1000:yzm:/home/yzm:/bin/bash

重定向 >>

把数据不在输出到 控制台 而是输入到文件上

> 替换
>> 追加ls / > file
ls / >>file出现错误怎么办
ls / >>file 2>&1数据销存ls / >> /dev/null 2>&1

第十七 进程

进程信息

ps -ef
[root@CentOS7 ~]# ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 20:29 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root           2       0  0 20:29 ?        00:00:00 [kthreadd]UID 用户id  进程所属用户
pid 进程的id
ppid  当前进程的父亲id

查询进程

ps -ef | grep mysqlps -aux  所有信息

查看线程的详细占比

top

后台进程

创建后台进程

ping www.baidu.com >>file 2>&1 &nohub ping www.baidu.com >>file 2>&1 & 防止挂起

查看后台进程

jobs -l

杀死进程

kill -9 进程id

第十八 环境变量

环境变量

当我们执行命令时候 会从当前的文件下寻找 找不到就去$path中寻找

$PATH的配置 在/etc/profile 下面配置

linux之间的变量使用 : 分开

每次修改环境变量 都要跑重启环境资源

source /etc/profile

常见软件安装的方式

  1. zip 安装 直接解压就能使用
  2. 使用安装包 常见的是 .exe的文件
  3. 使用源码安装

linux 常用的 rpm安装

rpm 是 red package manager 红帽 包 管理

rpm -ivh rmp包

rmp常见指令

安装

rpm -ivh rpm包

查询安装的软件

rpm -qa |grep jdk    查询jdk的安装rpm -q jdk  查询jdk

卸载

rpm -e jdk文件包

手动配置 java环境

vi /etc/profileexport JAVA_HOME=/user/....
export PATH=$JAVA_HOME/bin:$PATH

java环境的配置

第一步下载 jdk文件

https://repo.huaweicloud.com/java/jdk/7u80-b15/

第二步上传到linux

可以通过 xftp 也可以通过 lrzsz 的rz 上传

rz 回车
[root@CentOS7 app]# rz
会弹出一个窗口 去选择文件
[root@CentOS7 app]# lsjdk-7u80-linux-x64.rpm 请下载对应的版本

版本的检测

 getconf LONG_BIT[root@CentOS7 bin]# getconf LONG_BIT
64

第三步 rpm 安装

rpm -ivh jdk-7u80-linux-x64.rpm
[root@CentOS7 app]# rpm -ivh jdk-7u80-linux-x64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:jdk-2000:1.7.0_80-fcs            warning: /etc/init.d/jexec saved as /etc/init.d/jexec.rpmorig
################################# [100%]
Unpacking JAR files...rt.jar...jsse.jar...charsets.jar...tools.jar...localedata.jar...jfxrt.jar...

第四步 rpm 查看安装的文件位置

[root@CentOS7 app]# whereis java
java: /usr/bin/java /usr/java/jdk1.7.0_80/bin/java/usr/java/jdk1.7.0_80/bin/java   就是 安装的位置

第五步 配置环境变量

vi /etc/profile在末尾输入export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH

第六步 重启资源

source /etc/profile

第七步 检测

java -version

第十九tar包安装软件

第一步使用tar 指令加压就行

tar -axvf 下载的tar.gz 包tar -zxvf apache-tomcat-8.5.82.tar.gz

第二步 进入软件 找到bin

进入  apache-tomcat-8.5.82 的bin 下面

第三步执行 开启

执行
sh startup.sh

第四步 检测

网页访问
打开浏览器
http://本机的ip:8080注意不是 localhost其次建议 直接关闭防火墙  要么开放端口8080
如果还是访问不到
兄弟们 其实已经打开了
只是 访问的ip出错了
不应该是http:localhost:8080
而是 http:虚拟机的ip:8080通过curl http:虚拟机的ip:8080 就可以拿到数据了

第二十 yum的安装

yum是什么

yum 帮我们管理 rpm包
可以提供 rpm 包的安装

yum指令

查询 软件

yum search 软件
[root@CentOS7 ~]# yum search wget
Last metadata expiration check: 0:03:59 ago on Wed 05 Oct 2022 07:59:31 PM CST.
================================================== Name Exactly Matched: wget ===================================================
wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols

查看包信息

yum info 包
[root@CentOS7 ~]# yum info jdk
Last metadata expiration check: 0:03:33 ago on Wed 05 Oct 2022 07:59:31 PM CST.
Installed Packages
Name         : jdk
Epoch        : 2000
Version      : 1.7.0_80
Release      : fcs
Architecture : x86_64
Size         : 209 M
Source       : jdk-1.7.0_80-fcs.src.rpm
Repository   : @System
Summary      : Java Platform Standard Edition Development Kit
URL          : URL_REF
License      : http://java.com/license
Description  : The Java Platform Standard Edition Development Kit (JDK) includes both: the runtime environment (Java virtual machine, the Java platform classes: and supporting files) and development tools (compilers, debuggers,: tool libraries and other tools).: : The JDK is a development environment for building applications, applets: and components that can be deployed with the Java Platform Standard: Edition Runtime Environment.

查询列表

yum list
[root@CentOS7 ~]# yum list jdk
Last metadata expiration check: 0:03:00 ago on Wed 05 Oct 2022 07:59:31 PM CST.
Installed Packages
jdk.x86_64                                               2000:1.7.0_80-fcs

yum 的安装

yum install wget -y

yum源的更换

第一步下载 wget

yum install wget -y

第二部 备份yum的文件

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@CentOS7 ~]# ls /etc |grep yum
yum
yum.conf
yum.repos.d
[root@CentOS7 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo

第三 使用wget 获得阿里的源数据配置

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第四 清楚本地缓存

yum clear all

第五 做缓存

yum makecache

第二十一 mysql安装

下载依赖

yum install perl net-tools -y

删除 centos自带的 mariadb

[root@CentOS7 app]# rpm -qa |grep mariadb
mariadb-connector-c-config-3.1.11-2.el8_3.noarch
[root@CentOS7 app]# rpm -e mariadb-connector-c-config
error: Failed dependencies:/etc/my.cnf is needed by (installed) mysql-common-8.0.26-1.module_el8.4.0+915+de215114.x86_64
[root@CentOS7 app]# rpm -e --nodeps  mariadb-connector-c-config 

下载mysql的安装包tar

https://dev.mysql.com/downloads/file/?id=512449

把安装的mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar上传到linux上面

rz
在弹出框 选择文件

解压文件

[root@CentOS7 app]# ls
apache-tomcat-8.5.82.tar.gz  hello                     linux的常用命令.md                          tangshi
baidu                        jdk-7u80-linux-x64.rpm    mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar    tangshi.tar.gz
baidu.zip                    jdk-8u172-linux-i586.rpm  mysql80-community-release-el8-4.noarch.rpm  www.baidu.com
file                         jingyesi                  profile
tar -xvf mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar
[root@CentOS7 app]# tar -xvf mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar
mysql-community-client-8.0.30-1.el8.x86_64.rpm
mysql-community-client-debuginfo-8.0.30-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.30-1.el8.x86_64.rpm
mysql-community-client-plugins-debuginfo-8.0.30-1.el8.x86_64.rpm
mysql-community-common-8.0.30-1.el8.x86_64.rpm
mysql-community-debuginfo-8.0.30-1.el8.x86_64.rpm
mysql-community-debugsource-8.0.30-1.el8.x86_64.rpm
mysql-community-devel-8.0.30-1.el8.x86_64.rpm
mysql-community-icu-data-files-8.0.30-1.el8.x86_64.rpm
mysql-community-libs-8.0.30-1.el8.x86_64.rpm
mysql-community-libs-debuginfo-8.0.30-1.el8.x86_64.rpm
mysql-community-server-8.0.30-1.el8.x86_64.rpm
mysql-community-server-debug-8.0.30-1.el8.x86_64.rpm
mysql-community-server-debug-debuginfo-8.0.30-1.el8.x86_64.rpm
mysql-community-server-debuginfo-8.0.30-1.el8.x86_64.rpm
mysql-community-test-8.0.30-1.el8.x86_64.rpm
mysql-community-test-debuginfo-8.0.30-1.el8.x86_64.rpm

按顺序安装mysql 解压后的的 rpm包

首先是common 再 libs 再 client 再 server

[root@CentOS7 app]# rpm -ivh mysql-community-common-8.0.30-1.el8.x86_64.rpm
warning: mysql-community-common-8.0.30-1.el8.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:mysql-community-common-8.0.30-1.e################################# [100%]我只执行依赖的流程就是rpm -ivh mysql-community-common-8.0.30-1.el8.x86_64.rpmrpm -ivh mysql-community-client-plugins-8.0.30-1.el8.x86_64.rpmrpm -ivh mysql-community-libs-8.0.30-1.el8.x86_64.rpmrpm -ivh mysql-community-client-8.0.30-1.el8.x86_64.rpmrpm -ivh mysql-community-icu-data-files-8.0.30-1.el8.x86_64.rpmrpm -ivh mysql-community-server-8.0.30-1.el8.x86_64.rpm

启动mysql

systemctl start mysqld

mysql的配置

获得mysql的root 密码

cat /var/log/mysqld.log |grep password
[root@CentOS7 app]# cat /var/log/mysqld.log |grep password
2022-10-05T13:20:59.308431Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7jSJh37PCr/;

登录mysql

[root@CentOS7 app]# cat /var/log/mysqld.log |grep password
2022-10-05T13:20:59.308431Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7jSJh37PCr/;
[root@CentOS7 app]# mysql -u root -p
Enter password: 7jSJh37PCr/;Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.30Copyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

修改mysql的密码

set global validata_password.policy=Low;
set global validata_password.length=6;alter user 'root'@'localhost' IDENTIFTED BY '123456' PASSWORD EXPIER NEVER
ALTER USER  'root'@'localhost'  IDENTIFIED BY 'App_123456'

出现的问题

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
要执行sql  请先重置密码
系统初始化后  要重置密码 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
//就是说你的密码 太简单了
ALTER USER  'root'@'localhost'  IDENTIFIED BY 'App_123456'
要有 下划线 数字 英文  都有才行
mysql> ALTER USER  'root'@'localhost'  IDENTIFIED BY 'App_123456'-> ;
Query OK, 0 rows affected (0.07 sec)
show variables like 'validate_password%';mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
14 rows in set (0.13 sec)mysql> set global validate_password.policy=LOW-> ;
Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges-> ;
Query OK, 0 rows affected (0.07 sec)mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | LOW    |
| validate_password.special_char_count | 1      |
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 6      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
14 rows in set (0.02 sec)mysql> use nysqlmysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

重启服务

systemctl restart mysqld

navicate 工具链接数据库

linux的常用命令相关推荐

  1. linux的编程命令,linux编程常用命令

    学习linux编程最基本的就是要掌握常用的编程命令,下面由学习啦小编为大家整理了linux编程常用命令相关知识,希望大家喜欢! linux编程常用命令1.编译应用程序 make -f makefile ...

  2. linux指令笔试,Linux笔试常用命令

    Linux笔试常用命令 时间:2019-01-01 [www.unjs.com - 资料大全] 文件操作命令 ls 作用:列目录,Linux笔试常用命令>(https://www.unjs.co ...

  3. linux find -size参数,Linux find 常用命令

    Linux find 常用命令 (2012-10-24 11:32:52) 标签: linux shell 说明: 以下内容,若标注在 [ ] 中括号内的均可省略,除非做特别说明. 但严格来说,若缺少 ...

  4. linux 删除20日前数据,Linux 维护常用命令

    Linux 维护常用命令 1.查看某文件的一部分 如果你只想看文件的前 5 行,可以使用 head 命令, 如:head -5 /etc/passwd 如果你想查看文件的后 10 行,可以使用 tai ...

  5. 【收藏】Linux系统常用命令速查手册(附赠PDF档)

    给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,获取<Linux系统常用命令速查手册>.PDF版. 联系小姐姐,备注"liunx命令 ...

  6. 【收藏】Linux系统常用命令速查手册(附PDF下载链接)

    给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,可以在+qq. 2 3 5 53 3 1 0 4 6 备注"liunx命令",即可获取 ...

  7. Linux:常用命令大全

    一.Linux系统的目录结构: 1:Linux所有内容是以文件形式进行管理 2:/ 根目录 (1)bin  引导过程必需的命令,存放二进制可执行文件(ls,cat,mkdir等) (2)boot 存放 ...

  8. Linux 最常用命令(简单易学,但能解决 95% 以上的问题)

    linux的常用命令,涉及到linux的文件操作.vim操作.系统命令等,建议收藏哈! 作者:longctw https://blog.csdn.net/xulong_08/article/detai ...

  9. Linux GDB常用命令一栏

    Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...

  10. xshell 6 连接debian系统拒绝了密码_Xshell中操作Linux的常用命令,你知道几个?

    作为IT人员,想必都知道Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.Xshell作为专业的终端模拟器,可以用 ...

最新文章

  1. 每日一皮:一个名字打败对手的经典案例...
  2. 怎么学python-初学者如何学习Python?掌握这17个实用小技巧快速入门!
  3. Python 爬虫原理实现自动google翻译
  4. 【教程】Linux DNS 服务器安装、配置及维护
  5. HDU 6136 Death Podracing (堆)
  6. opengl加载显示3D模型lwx类型文件
  7. 第一次用access的数据库是连接字符串问题
  8. Android之SurfaceView
  9. (七)linux函数接口的使用
  10. [Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException
  11. 2014年百度之星程序设计大赛 - 初赛(第二轮)JZP Set
  12. 顺丰业绩突然爆雷:预计巨亏9-11亿!京东、美团等10家平台承诺不用大数据杀熟;苹果推迟MacBook和iPad生产|极客头条...
  13. 怎么样打印cxgrid过滤后的数据
  14. Qt学习视频资料汇总
  15. 【蓝屏解决】笔记本频繁蓝屏,错误代码IRQL_NOT_LESS_OR_EQUAL
  16. 搜狗输入法自定义短语设置
  17. VBA中获取合并单元格的真实地址
  18. 什么是MES生产管理和生产制造执行系统?有哪些系统模块组成?
  19. APP为什么打开率低?三大原因和应对之策!
  20. 华为畅享10s值得买吗_【华为畅享10S怎么样华为畅享10s评测】屏幕_摘要频道_什么值得买...

热门文章

  1. matlab 双曲线拟合,利用MATLAB进行logistic曲线拟合
  2. 2018软工个人总结
  3. python藏头诗生成器_藏头诗生成器
  4. ArcBlock 活动 | 亮相西雅图重量级大会 全球共识建设进入新阶段
  5. python大众点评霸王餐_划重点:如何报名大众点评霸王餐?怎么做才能中奖?
  6. 网站建设需要学什么?
  7. JAVA instrument简单使用
  8. 662X芯片,662X三极管,贴片3.3V稳压IC规格书
  9. 网易云课堂 python网络爬虫实战
  10. 微信公众号jssdk:the permission value is offline verifying