Linux常用命令

  • Post author:
  • Post category:linux




此篇作为个人笔记,记录学习过程。只是个人总结的一些用到的琐碎知识点。。。



1.1.查看IP地址

# 查看服务器IP地址
ip addr show 
# 或
ifconfig



1.2.增删改查

1.1.1.touch
        创建一个普通文本文件 语法是 touch    文件名 
        [root@bogon tmp]# touch     music.txt
        
        创建一个隐藏的文件,创建一个隐藏的 singer.txt
		touch    .singer.txt   #创建隐藏文件 
 	1.2.mkdir
    	创建一个文件夹,名字叫做s25
		[root@bogon tmp]# mkdir     s25
        
        创建一个递归的文件夹 ,如 /s25new/男同学   /s25new/女同学
		mkdir  -p   /s25new/{男同学,女同学}  #创建一个/s25文件夹,且创建2个平级的文件夹
2.2.1.rm     rm命令,是remove的缩写,删除文件或是文件夹
    	#语法是 
		rm     文件/文件夹  	#删除文件/文件夹
        rm    test.txt 		#删除文件,默认有让用户确认删除的提示
        rm  -f  test.txt  	#强制删除文件,不需要提示确认
        rm  -r   文件夹名  	 #递归删除文件夹,及其内部的文件
        rm    -rf   ./*  	#强制性删除当前目录下的所有内容 
3.3.1.cd   切换目录	
    	cd  /home   #切换到 /home目录下
4.4.1.ls   查询当前目录下的内容
    	#查看文件夹中所有内容,以及隐藏的文件,在linux下,以.开头的文件,是隐藏的,默认直接看不到
		[root@bogon tmp]# ls   -a  firefox_pyyu/   



1.3.几个特殊目录

.   代表当前的目录     
..  代表上一级的目录     #比如  cd ..  进入上一级目录 
~    代表当前登录用户的家目录,root用户就是/root   pyyu用户就是 /home/pyyu 
-    代表上一次的工作目录  



1.4.路径

绝对路径:只要是从根目录开始的写法,就是绝对路径
相对路径:非从根目录开始的写法,就是相对路径



1.5.ssh连接远程主机

ssh 用户名@IP地址   如: ssh root@192.168.178.134  



1.6.重启网络设置

systemctl stop NetworkManager #关闭无线网络服务
systemctl restart network   	#重启有线网服务 
# 这2个命令执行都没有任何提示,表示正确的重启了网络配置



1.7.mkdir

# 创建文件夹
mkdir 感谢老铁的花花      感谢老铁送上的飞机
# 递归创建文件夹
mkdir -p 斗鱼/lol    虎牙/王者农药



1.8.tree

树的意思,以树状图显示文件目录的层级结构

# 确保你的机器可以上网 ,yum如同pip一样,自动的安装东西,解决依赖
# pip  是给python安装模块的工具
# yum  是给linux安装系统软件的工具
yum    install    tree     -y  # -y默认yes同意安装  



1.9.查看帮助信息

1.用man手册,linux提供的帮助文档
man  ls
man  cp
man  mkdir   

2.命令加上 --help参数,查看简短帮助信息
mkdir --help
rm  --help

3.在线的搜索一些命令查询网站
http://linux.51yip.com/

4.在线询问人工智能---超哥
...



1.10.echo

echo命令如同python的print一样,能够输出字符串到屏幕给用户看

#linux在命令行的变量赋值,是临时生效的
#输出变量的值
#定义变量,中间有空格
name="感谢老铁送上的飞机"   
#输出变量的值 

[root@s25linux tmp]# echo   $name
感谢老铁送上的飞机



1.11.PATH变量

1.为什么系统能够直接找到python解释器?
[root@s25linux tmp]# which python  #输出命令所在的绝对路径
/bin/python

2.学习linux的PATH,
[root@s25linux tmp]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
注意,PATH的路径,是有先后顺序的,从左往右,读取的

3.如果编译安装了一个python3,装在了 /opt/python36/目录下,怎么添加PATH?
#这个变量赋值的代码,就是添加python3到环境变量中了
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"

4.由于上述变量赋值的操作,只是临时生效,我们想永久的更改PATH的值,还得修改/etc/profile 
vim  /etc/profile #打开文件,在文件末尾,添加PATH值的修改
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"



1.12.修改linux的全局配置文件

1.名字叫做 /etc/profile,里面是shell脚本语言

2.编辑这个文件,写入你想永久生效的变量和值,系统每次开机都会读取这个文件,让其生效

vim  /etc/profile 
写入如下内容
###这是自定义的变量,每次开机都能够读取了,第一条是设置系统中文的变量
export LC_ALL=zh_CN.UTF-8  #打开注释,系统支持中文
#export LC_ALL=en_US.UTF-8  #打开注释,系统就支持英文了



1.13.vim使用

yum instal  vim  -y  #  安装 
2.vim打开一个不存在的文件,默认会创建此文件

#用vim写一个python脚本,
#vim的使用流程
第一步:vim  first.py  ,此时会进入命令模式,按下字母 i,进入编辑模式
第二步:想要退出编辑模式,按下键盘的esc,回到命令模式
第三部:此时输入 shfit+冒号,输入一个英文的冒号,进入底线命令模式 
第四步:输入 :wq!  ,write写入内容,quit退出vim  ! 强制性的操作
:wq!  强制保存写入退出vim
:q!  强制不保存内容,直接退出

3.此时可以查看一下文件内容
[root@s25linux tmp]# cat first.py
#!coding:utf-8
print ("你看这个灯,它又大又量")


4.如何执行这个脚本?
python  fisr.py  #即可执行脚本文件了


命令模式

# 插入编辑:
a   当前光标所在位置前一个字符开始插入编辑
i   当前光标所在位置开始插入编辑
o	当前光标所在位置下一行首开始插入编辑
# 移动光标
$  快速移动到行尾
0  快速移动到光标的行首
x  删除光标所在的字符
g  移动到文件的第一行
G  移动到文件的最后一行 

/string    你要从文件开头寻找的内容,例如 /to   找出文件中所有的to字符,按下n键,跳转到下一个匹配的字符
?string     从文件的第行,向上搜索字符串信息
%   找到括号的另一半 
yy   复制光标当前行        		3yy   复制光标后3行 
p    打印yy所复制的内容 
dd   删除光标所在行             	4dd  删除光标向下的4行内容
dG   删除光标当前行,到行尾的所有内容
u  就是撤销上一次的动作 

# 底线命令模式下
:wq!
:q!  不保存退出
:数字   快速的定位到某一行
:set nu   显示vim的行号 



1.14.cat

cat 猫,用这个只猫瞄一眼 文件的内容

# 1.读取内容,且显示行号
cat  -n  文件名 

# 2.利用cat将指定内容写入文件   EOF作为文件内容的起始及结束
[root@s25linux tmp]# cat >> second.py << EOF
> #!coding:utf-8
> print("爱的魔力转圈圈")
> EOF



1.15.linux的重定向符号

>    #重定向输出覆盖符  ,如同 python的 with open 中的  w模式 
>>	 #重定向输出 追加符  ,如同 a模式 

<    #重定向写入覆盖符,用的很少,用在数据导入等操作中,mysql数据导入 
<<   #用在cat命令中,很少见 



1.16.cp 拷贝

#对于配置文件的修改,或者是代码文件的修改,防止突然写错了,复制一份
# 1.复制文件
[root@s25linux tmp]# cp  木兰诗.txt     新_木兰诗.txt

# 递归复制文件夹
#复制文件夹,复制文件夹需要添加 -r 递归复制参数
[root@s25linux tmp]# cp  -r  a   new_a



1.17.mv 移动

  • mv命令可以 移动文件 ,文件夹的路径

  • mv命令也能够进行 重命名

    1.重命名的功能
    语法是
    mv  旧文件名      新文件名  
    [root@s25linux tmp]# mv  木兰诗.txt      new_木兰诗.txt
    
    2.移动位置 
    语法
    
    mv  你要移动的文件或是文件夹       移动之后的目录名(如果文件夹存在,则移动,不存在是改名)
    
    案例
    mv   test.txt      b   #移动 test.txt文件  到 b文件夹下(b文件夹得存在)
    



1.18.alias 命令别名

为什么rm命令默认会有一个让用户确认删除的动作呢?

解答是因为 rm 的-i参数作用

alias  #直接输入可以查看当前系统的别名 

案例
1.给系统添加一个别名
当你敲下start就是在执行后面的长串命令,很方便 
alias start="python3  /home/mysite/manager.py runserver  0.0.0.0:8000"



1.19.find 查找

  • 语法

    find   你要从哪找  -type 你要的文件类型是什么 -size 你要的文件内容多大 -name 你要的内容名字是什么
    -type  f  是找普通文本文件 
    -type  d  是找 文件夹 类型 
    
    -name  是指定文件的名字内容 
    
  • 案例

    # 全局搜索,超过10M大小的 txt文本
    [root@s25linux tmp]# find  /  -size +10M  -name "*.txt"
    /tmp/python2.txt
    /tmp/python3.txt
    



1.20.ls

  • 查看文件,文件夹大小

    ls -lh  # -h参数,是显示文件单位,以kb  mb gb大小为单位   -l是列表形式,列出文件夹中详细信息
    



1.21.管道符命令

对前面命令的结果进行二次加工、

1.例如过滤服务器上的进程信息
2.例如过滤服务器上的端口状态信息



1.22.grep 过滤

# 用法1
grep "你想过滤的字符串"   需要过滤的文件
	-n  显示行号
    -i  忽略大小写
	-v  翻转过滤结果,相当于反选
    支持正则表达式
# 案例:
# 1.准备一个测试的文件te	st.txt
[root@s25linux tmp]# cat test.txt



跟着我左右右手一个慢动作


#左右右手慢动作重播


一个大西瓜,送给你,也不送给他

ALLOW_HOSTS=[]

# 2.找出文件中含有 "大" 字的行,且显示此内容,在哪一行
grep -n "大"   test.txt   # -n 参数是显示行号

# 3.忽略大小写,找出ALLOW_HOSTS=[]参数是否被修改
grep -i "al"  test.txt 

# 4.过滤出此文件非空白行,如何操作?
# 拆解如下
# 找出所有的空白行 
[root@s25linux tmp]# grep "^$"   test.txt   #  "^$"  以空开头,以空结尾,因此是空白行
# -v 参数是 翻转过滤结果 ,找出 空白行以外的内容
[root@s25linux tmp]# grep -v   "^$"   test.txt

# 5.过滤掉注释行,和空白行 ,如何操作?
[root@s25linux tmp]# grep -v  "^#"   test.txt | grep -v "^$"
跟着我左右右手一个慢动作
一个大西瓜,送给你,也不送给他
ALLOW_HOSTS=[]
# 用法2
cat  文件   |   grep   "你想要的内容"   #用法二

1.找出linux的用户信息文件,中 有关pyyu的行信息  /etc/passwd

[root@s25linux tmp]# cat /etc/passwd  |  grep  "pyyu"
pyyu:x:1000:1000:pyyu:/home/pyyu:/bin/bash 



1.23.head、tail 命令

head和tail都是能够读取文件内容的

  • 语法:

    • head 文件名 #默认从文件的前10行看

    • tail 文件名 #默认从文件的后10行看

  • 参数

    head -3  /etc/passwd  #查看文件的前3行
    tail -2  /etc/passwd   #查看文件的后2行
    
    tail命令的 实时监控用法 ,可以用于检测线上的日志文件,检测用户的请求信息
    tail -f  文件名  #实时刷新文件内容 
    tail -f /tmp/test.txt  #能够检测文件内容的变化 
    



1.24.scp命令

在2台linux机器(macos)之间,通过网络安全的传输文件,文件夹

  • 语法

    scp 文件起始地 文件目的地

    -r 传输的是文件夹,使用递归

  • 案例

    # 案例1
    我登录的是 机器1
    
    # 1.1 需求1:将机器1的/tmp/好嗨哦.txt  发送到 机器2的/tmp目录下 
    [root@s25linux tmp]# scp  /tmp/好嗨哦.txt root@192.168.178.235:/tmp/
    
    # 1.2.需求2:把机器2的/tmp目录下的资料 给拿到本地的/opt目录下
    scp  你想要的内容   内容发送到哪里 
    scp  root@192.168.178.235:/tmp/小样别偷看.txt     /opt/
    
    # 案例2:
    情况2,我登录的是 机器2
    
    【把别人的资料拿来】
    案例1:我想拿到机器1/opt/test.txt  拿到机器2/tmp目录下
    scp  我想要的内容    内容存放的地点
    
    scp  root@192.168.178.134:/opt/test.txt      /tmp/
    
    【把自己的资料发给别人】
    案例2:我想把本地的/home/fisrst.py  发送给机器1/home目录下
    scp   /home/first.py    账号@机器1:/home/
    scp /home/first.py   root@192.168.178.134:/home/  
    
    #如果发送的是整个文件夹,就得加上 -r  递归的拷贝参数
    [root@s25linux tmp]# scp  -r  ./lol    root@192.168.178.235:/tmp/
    
    #用通配符发送多个文件
    [root@s25linux tmp]# scp -r  ./*  root@192.168.178.235:/tmp/134bak/
    



1.25.lrzsz 工具

用于windows(基于xshell工具)和linux之间互相传递文件

1.安装此工具
yum install  lrzsz -y  

2.安装好lrzsz之后,就存在了2个命令   一个是 rz  一个是sz
rz  #直接输入rz命令,能够蹦出一个弹窗,接收windows的资料

sz  文件  #发送linux的一个文件,发给 windows某个位置,也是出现一个弹窗



1.26.du 统计文件夹大小

  • 用法

    du 【参数】【文件或目录】
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强
    
  • 案例

    统计/var/log/文件夹大小 
    du -sh  /var/log/  
    
    #显示当前目录下 所有文件的大小
    [root@s25linux tmp]# du  -h ./*
    



1.27.top 资源管理器

能够显示 动态的进程信息

cpu、内存,网络,磁盘io等使用情况 ,也就是一个资源管理器

第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1515分钟的平均负载

第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数

第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比

第四行:内存信息(与第五行的信息类似与free命令)
total:物理内存总量
used:已使用的内存总量
free:空闲的内存总量(free+used=total)
buffers:用作内核缓存的内存量

第五行:swap信息
total:交换分区总量
used:已使用的交换分区总量
free:空闲交换区总量
cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,
但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,
相应的内存再次被换出时可不必再对交换区写入。



1.28.ps 查看进程信息

ps  -ef  # -ef,是一个组合参数,-e  -f 的缩写,默认显示linux所有的进程信息,以及pid,时间,进程名等信息

# 案例
#过滤系统有关vim的进程 
[root@s25linux ~]# ps -ef |  grep  "vim"
root      24277   7379  0 16:09 pts/1    00:00:00 vim ps是怎么用的.txt



1.29.kill

杀死进程的命令

kill   进程的id号

如果遇见卡死的进程,杀不掉,就发送 -9  强制的信号 

kill -9  pid



1.30.netstat 查看网络端口

语法如下
常用的参数组合  -t -n -u -l -p    

[root@s25linux tmp]# netstat -tunlp   #显示机器所有的tcp、udp的所有端口连接情况

#例如验证服务器80端口是否存在
netstat  -tunlp  |  grep  80

#过滤3306端口是否存在 
netstat -tunlp |grep 3306


#过滤ssh服务是否正常
[root@s25linux tmp]# netstat -tunlp  |   grep   ssh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1147/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      1147/sshd




#有些公司为了保护服务器安全,更改了默认的远程连接端口
# ssh端口 26674    ip 是  123.206.16.61   账号是 xiaohu   密码是 xiaohu666

#我怎么登陆服务器呢?用如下的命令去连接服务器 
ssh  -p  26674    xiaohu@123.206.16.61  


ssh  -p 22 root@192.168.178.134
root@192.168.178.134's password:



1.31.用户管理

  • 添加用户

    useradd  caixukun  #创建普通用户 caixukun,系统会在/etc/passwd文件中,增加一行用户信息
    且同时创建了一个用户组  也叫caixukun  ,存放在/etc/group 文件中
    
  • id

    查看用户的账户信息的命令

    [root@s25linux tmp]#  id  root
    uid=0(root) gid=0(root)=0(root)
    
  • 组的概念

    【权限控制,其实控制的就是,不同的组,不同用户,针对不同的文件夹,文件,操作的权限的不同】
    

    image-20220304013935762

  • root而言

    root为什么叫root,是因为系统提出了UID的概念,用户id号,用户id为0的就是系统的超级用户

    普通用户由root用户创建,默认的UID是从1000开始进行累计,权利很低

  • 普通用户

    默认用户家目录都在/home
    例如
    /home/pyyu/
    /home/alex/
    /home/wupeiqi/
    
  • 修改密码

    passwd   caixukun  #给用户修改密码,
    
  • 删除用户

    userdel  caixukun  #删掉caixukun这个用户
    userdel -rf  caixukun  #删除用户,且删除用户的家目录
    
  • 切换用户

    su  -   用户名  #用户登录切换,普通用户切换,需要输入密码,root用户想干嘛都不需要密码
    
    #这个减号必须加上,叫做,完全的环境变量切换,是正确的切换方式
    比如 
    su - pyyu
    su - root
    
  • 尚方宝剑 sudo

    【sudo命令使用配置流程】

    1.使用visudo命令,修改配置文件,添加你允许执行sudo命令的用户
    visudo  #打开文件后,找到大约在91行的内容,修改为如下
         91 ## Allow root to run any commands anywhere
         92 root    ALL=(ALL)       ALL
         93 pyyu    ALL=(ALL)       ALL
    
    2.保存退出之后,即可使用sudo命令了
    sudo  ls /root  
    



1.32.文件权限管理

对于linux系统而言,文件、文件夹,都是有  user 属主,  group属组的一个角色分配,还存在一个other其他人
这三个身份的划分

并且设定了  r  w   x  三个权利的限制,也就是 读,写,执行(对于文件的读写执行)
  • 对于文件的 rwx

    r   cat,more,less,head,等读取文件内容的操作
    w    vim  ,echo,等写入内容的操作 
    x   可以执行的脚本,例如bash,python等脚本,文件会变成绿色
    
  • 对于文件夹的 rwx

    r  ls 查看文件夹内容
    w   允许在文件夹中创建文件等操作
    x    允许cd进入此文件夹
    
  • chmod命令总结

    chmod 可以更改文件的权限,更改针对 user,group,other的权限修改,例如
    
    chmod  u+r   file.txt  #给文件的user,添加读的权限
    chmod  g-x  file.txt  #给文件的group组权限,去掉可执行
    chmod o+r,o+w,o+x  file.txt  #给文件的other身份,最大的权限,读写执行
    
    chmod 000  file.txt  #给与文件最低的权限,任何人不得读写执行
    
  • chown

    change owner缩写

    更改文件的拥有者,user

    chown  新的属主  file.txt
    
  • chgrp

    更改文件的拥有组,group

    change group 缩写

    chgrp  新的属组  file.txt
    



1.33.软连接

相当于 windows的一个快捷方式而已

创建命令

ln  -s  目标文件绝对路径     软连接绝对路径
[root@s25linux tmp]# ln  -s  /tmp/test.txt   /opt/t.txt  #给/tmp/test.txt创建一个快捷方式,放在/opt/t.txt 这里

删除快捷方式,删除软连接是不会影响源文件的

windows下装另一个qq在 D:\qq\qq.exe ,发送快捷方式到桌面   



1.34.打包、压缩、解压缩

也就是linux的tar命令

打包,不节省空间

压缩,节省磁盘空间

语法
tar 命令
功能参数

-z   调用gzip命令,对文件压缩 ,加上这个参数,才会节省磁盘空间
-x   解包,拆快递
-v    显示整个过程
-f    必须写在参数结尾,指定压缩文件的名字 
-c    打包,收拾快递

压缩文件的后缀,本没有意义,只是告诉别人,这个文件是用什么命令压缩/解压缩

*.gz   gzip命令解压缩
*.tar   用tar命令解压缩
*.xz   用xz命令解压
*.zip   用unzip命令解压

  • 案例1:打包/opt/目录下所有的内容,打包生成tar包

    allopt.tar

    第一步:打包opt下所有内容
    [root@s25linux opt]# tar   -cvf  allopt.tar   ./*
    
    第二步:解包这个tar包
    [root@s25linux opt]# tar  -xvf  allopt.tar   ./
    
  • 案例2:打包,且压缩/opt目录下所有内容,生成tar.gz包

    allopt.tar.gz

    第一步:打包,且压缩,就是加一个-z参数即可
    [root@s25linux opt]# tar   -zcvf  allopt.tar   ./*
    
    第二步:解压缩,常见的*.tar.gz,也有人会缩写成  *.tgz ,都可以如此的去解压缩
    [root@s25linux opt]# tar  -zxvf  allopt.tar.gz   ./
    
    疑问:必须先打包再压缩吗?能对一个文件夹直接压缩吗?
    
    解答:  打包,压缩是一体的,是调用tar命令,加上-z参数,自动就压缩了
    
    tar -zcvf   dir.tar.gz  ./testdir/  #压缩此文件夹,放入到一个压缩文件 dir.tar.gz中
    
    .gz是 压缩的常见后缀格式
    



1.35.防火墙

用于控制服务器的出/入流量

防止恶意流量攻击服务器,保护服务器的端口等服务。

在学习阶段是直接关闭的,专业的运维人员需要学习iptables软件的一些指令

  • 清空防火墙规则

    iptables -F #清空防火墙规则
    
  • 关闭防火墙的服务

    systemctl   stop firewalld  #关闭防火墙服务
    systemctl disable  firewalld  #禁止防火墙开机自启
    



1.36.DNS 域名解析

dns解析系统-------手机上的电话簿------- 小王----132xxx      小莉---186xxxx

dns服务器,存储了公网注册的所有(域名----ip)对应的解析关系


linux的dns客户端配置文件/etc/resolv.conf
里面定义了主备的两个dns服务器地址
[root@s25linux ~]# cat /etc/resolv.conf
# Generated by NetworkManager
#search localdomain
nameserver 119.29.29.29
nameserver 223.5.5.5


linux的本地dns强制解析文件  /etc/hosts,可以写入一些测试的域名,用于本地机器使用,域名解析优先级更高
[root@s25linux ~]# cat  /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1  pythonav.cn
  • nslookup 域名查找命令

    nslookup   www.pythonav.cn  #寻找dns对应关系
    



1.37.crontab 定时任务

# 语法规则:
*  *  *  *  *   命令的绝对路径
分 时  日 月 周 

crontab  -e  #编辑定时任务配置文件

crontab -l  #查看定时任务的规则

定时任务,注意的是 ,几号,和星期几不得共用



1.38.linux软件包管理

windows的软件管理,安装文件的后缀 *.exe
macos的应用程序安装 后缀  *.dmg
linux的二进制软件包 都是  *.rpm 格式的
  • 软件的依赖关系

    pip  install  flask  #仅仅就安装了flask模块吗?肯定不是,会安装一堆依赖的模块,比如jinja2等模块
    
    那么在linux平台,一个软件想要正确的运行,也得解决系统的开环库环境,解决依赖关系
    
  • linux平台的软件安装形式,有3个

    • 源代码编译安装,此方式较为麻烦,但是可以自由选择软件的版本(因为是去官网下载最新版本代码),也可以扩展第三方额外的功能(五颗星)

      • 扩展第三方功能
      • 指定软件安装目录
    • rpm包手动安装,此方式拒绝,需要手动解决依赖关系,贼恶心(两颗星)
    • yum自动化安装软件,需要配置好yum源,能够自动搜索依赖关系,下载,安装,处理依赖关系(五颗星)

      • 不好的地方在于,yum源仓库的软件,版本可能较低
      • 无法指定安装路径,机器数量较多的时候,不容易控制
  • 更换yum软件源(换源)

    yum源的默认仓库文件夹是

    /etc/yum.repos.d/

    ,只有在这个目录

    第一层

    的*.repo结尾的文件,才会被yum读取

    # 1.下载wget命令
    yum install wget -y   #wget命令就是在线下载一个url的静态资源
    
    # 2.备份旧的yum仓库源
    cd  /etc/yum.repos.d
    mkdir  repobak
    mv *.repo   repobak  #备份repo文件
    
    # 3.下载新的阿里的yum源仓库,阿里的开源镜像站https://developer.aliyun.com/mirror/
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    # 4.继续下载第二个仓库 epel仓库
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    
    5.此时已经配置完毕,2个新的yum仓库,可以自由的嗨皮,下载软件了
    [root@s25linux yum.repos.d]# ls
    CentOS-Base.repo  epel.repo  repobak
    
    6.下载一个redis玩一玩
    [root@s25linux yum.repos.d]# yum install redis -y  #就能够自动的下载redis,且安装redis
    
    7.此时可以启动redis软件了,通过yum安装的redis,这么启动
    systemctl  start redis   
    
    8.使用redis的客户端命令,连接redis数据库
    [root@s25linux yum.repos.d]# redis-cli
    
    127.0.0.1:6379> ping
    PONG
    



1.39.常见端口

一个端口对应一个服务
8080 ------自定义用的端口
3306--- mysql默认端口
80  --- http默认端口
443  ---https默认端口
6379 --- redis默认端口
22  -----  用于远程连接服务器用的端口 22



版权声明:本文为zhinian1204原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。