Linux 命令大全

pwd :print working directory      打印当前的工作目录

 / : 这个是 ‘根目录’ 

ls 命令

ls :是list的缩写,用于查看当前目录下都有哪一些文件。会把当前环境的文件像列表一样列一个清单给你。

ls /  : ls空格➕斜杠。 在home目录下,但是想看根目录的情况,可以直接ls 加上指定路径。这样的好处是不会离开home 目录 ,但是仍然可以查看根目录下的文件。

ls -l /  :  这里的 -l 是long 的意思, 就是以一种长列表的格式展示信息,通俗点就是说用比较全的文件信息展示方式来展示列表。

ls -l -h /  :  这里的-h 是human 的意思, 就是以一种人类可读的方式来展示数据,更加的具有易读性。

ls -a :  显示隐藏文件 (.开头的文件是隐藏文件,默认不显示)

ls -t  : 按照创建时间降序排列

cd命令

cd :  change directory 更改目录。 

例如: cd home 

cd ..  :   返回上一级目录

cd /usr/bin : 此时你在 /home 目录下,但是你想进入到根目录的usr下的bin目录。(绝对路径)

或者: cd ./../usr/bin  :这里的 .是当前目录, .. 是上级目录, 这叫(相对路径)

注意:这里的 ./也是可以省去的。

绝对路径:是以系统跟路径/为起点一级一级往下书写的路径

相对路径:是以当前为起点,然后一级一级书写的路径


 

touch 命令。  (创建文件和改变时间戳属性)

touch -a file.txt  : 修改文件的读取时间  access

touch -m   修改文件的更改时间  modify

touch -c   当文件不存在时,不创建文件

举例:

touch /test/a.txt   在指定路径下,创建文件

touch b.txt c.txt d.txt    同时创建多个文件

touch /test   修改目录的访问和修改时间

  

cat 命令   concatenate 连接

将文件的内容一股脑的显示在终端上。一般用于查看短小精悍的文件

当前目录下有 file.txt 文件。 

cat file.txt  : 就会显现file.txt 文件下的所有内容。

cat -n file.txt : 不仅显示file.txt 文件的所有内容 ,也会标注出行数 ,空行也会标注出来

cat -b file.txt  :   显示行数, 但是空行不编号

cat -s file.txt :   -s 会把重复的空行合并为一个

cat -E file.txt : -E 是会给你每行的结尾处加上一个$符号

cat file.txt > file3.txt   :  一个 '>' 是指 如果 file3.txt 文件不存在的话,就会创建一个file3.txt文件并且把file.txt的内容导入进去,如果存在file3.txt,则会将file3.txt的内容覆盖。

cat file.txt >> file3.txt :  如果file3.txt不存在则会创建一个新的并把内容导入,如果存在就把file.txt的内容加在末尾处。

cat file1.txt file2.txt > combinedfile.txt :  将file1 和 file2 合并成一个新的combinedfile文件

cat > file4.txt :  在输入完后按回车, 然后可以直接输入你想在file4中输入的内容, 输入完毕后,再ctrl + d, 保存内容。 这样是新建文件和内容

cp命令

cp file1.txt file2.txt :  创建file2 然后将file1的内容复制进去

cp -r dir1 dir2  : dir1 是目录,不是单个文件, 要对dir1进行复制的话,需要加一个 -r 。 

cp -i file1.txt file2.txt : 若目标文件已经存在会询问是否进行覆盖。

cp -f file1.txt file2.txt   会直接进行覆盖,若目标文件已经存在

cp -b file1.txt file2.txt   目标文件若存在,会进行备份

mkdir 命令    make directory 创建目录

mkdir dir1 :  创建一个名为dir1的目录 ,(如果已经存在一个和目录名一样的文件,则目录创建会失败)

mkdir -p dir7/dir8/dir9 :  -p是创建一个递归目录,在7中建立8,8中建立9.

mkdir file{1..3}.txt  : 创建1-3 file

rm 命令   删除文件或目录

rm file.txt : 删除文件

rm -r dir1 : 删除目录, -r 表示递归 一层一层的。 

rm -f   : 删去提示(提示你目录不存在或者类似的)

rm -rf * : 直接删除所有

rm -ir dir1 : -i 会询问你是否要删除, 加一个r是因为要删除目录

rmdir 命令  删除空目录

rmdir dir : 删除dir 目录 (不能删除非空目录)

老师

## 1.日常指令

##### 命令格式

命令名称  [参数]   [对象]

```
cal
cal -3
cal -3 8 2005
cal -3m 8 2005
```

##### 常用快捷键

 - ctrl+c:终止进程的执行(打断指令的执行)
 - ctrl+a:将光标移动到行首
 - ctrl+e:将光标移动到行尾
 - ctrl+w:删除光标所在位置的单词
 - ctrl+u:删除光标前面的内容直到行首
 - ctrl+k:删除光标后面的内容直到行尾
 - ctrl+l:清屏

##### 0.帮助指令

whatis  指令名称        -  查看指令的作用

man  指令名称            -  获取命令的使用手册

指令名称  --help/-h         - 获取命令的使用方法. ## 一个- 后面是简写 ,--后面要全称

whereis 指令名称        -  获取指令相关内容所在位置

which 指令名称         - 指令对应的可执行文件所在的位置

```
绝对路径:写文件或者文件夹路径的时候从/或者~开始层层往下

相对路径:1)写路径的时候用.表示当前目录,然后层层往下写  (如果路径是./开头的,这个./可以省略)
            2)写路径的时候用..表示当前目录的上层目录,然后层层往下写
            
            
Linux操作系统中:
/        -        系统根目录(Linux操作系统硬盘中最上层的那个文件夹)
~   -   用户根目录(用户不同,用户根目录对应的文件夹不一样)
```

##### 1.cd指令   -  进入文件夹

cd  文件夹路径(路径可以是绝对路径也可以是相对路径)      -  进入到指定路径对应的文件夹

cd  ..              -   返回上层目录

cd  /               -  进入操作系统根目录

cd ~               -  进入用户根目录

##### 2.ls指令   - 显示当前目录中的内容

ls                  -   直接显示当前文件夹中的内容的名字(隐藏文件和文件夹看不到)

ls   -l/-lh      -   显示当前文件夹中的内容和内容的基本信息(隐藏文件和文件夹看不到)

ls   -a           -   显示当前文件夹中所有的内容(包括隐藏文件)

ls  -R            -  递归显示当前目录以及当前目录下所有的子目录中的内容

ls   -r            -  内容倒序显示

ls  -S/-t        -   显示文件夹中的内容,并且内容按大小/时间从大到小排序

```
ls  -Sr     -   按大小从小到大排序
ls  -Srlh   -   按大小从小到大排序,并且显示内容的基本信息
```

ls   -参数   文件夹路径        -    显示指定文件夹中的内容

##### 3. pwd指令

pwd             -   查看当前目录的绝对路径(系统目录下的)

##### 4.文件操作

1)touch指令      -   新建文件

touch   文件路径         -  在指定位置创建指定文件

```
touch a.txt      - 在当前目录下新建一个文件a.txt
touch ../a.txt   - 在当前目录的上层目录新建一个文件a.txt
touch /home/a/a.txt     -  在根目录下home目录中的a目录里面创建一个文件a.txt 
```

2) cat指令         -     查看文件内容(读文件)

cat    文件路径             -  读取指定路径对应的文件的内容

3) vim指令   

vim   文件路径            -  使用vim打开文件 (按i进入编辑状态;按esc键退出编辑状态  -> :wq)

##### 5.文件夹操作

1) mkdir指令           -   新建文件夹

mkdir  文件夹路径       -   在指定位置创建文件夹

mkdir  -p  文件夹路径     -  在指定位置创建文件夹(会创建目录中所有不存在的文件夹)

```
mkdir -p  a/b/c     - a,b,c可以都没有,会在当前目录中创建a,在a中创建b,b中创建c
mkdir -p  a/{b,c}   - a,b,c可以都没有,会在当前目录中创建a,在a中创建b和c 

注意:{}中不能有空格
```

##### 6.删除文件和文件夹(灵魂三问:不要慌!问:真的要删吗?确定吗?不删行不行?)

1)rm指令       -    删除文件和文件夹

rm   文件路径            -  删除指定文件(删除的时候会询问是否确定删除,y-同意, n-不同意)

rm  -r  文件夹路径/文件路径    -  删除指定文件夹或者文件

rm   -i 文件路径       -  删除指定文件(删除的时候会询问是否确定删除,y-同意, n-不同意)

rm  -f  文件路径        -  删除指定文件(删除的时候不询问)

2) rmdir指令      -    删除空目录

rmdir  文件夹路径       -   删除指定文件夹(这个文件夹必须是空的)

3)cp指令           -      拷贝

cp 文件路径1  文件路径2        - 将文件路径1指定的文件中的内容复制到文件路径2指定的文件中(文件路径2对应的                                        文件本身是不存在) 

​                          - 将文件1中的内容复制粘贴到文件2(如果文件2不存,会自动创建;如果存在会询问                             是否覆盖)

cp   文件路径    文件夹路径      -  将指定文件复制粘贴到指定文件夹中

cp  -r  文件夹路径1  文件夹路径2    - 将文件夹1复制粘贴到文件夹2中(注意:被拷贝的文件夹不能是空的)

4)mv指令       -  移动

mv   文件路径1   文件路径2       -  将文件1移动文件2所在的位置

```
mv  文件名1  文件名2     -  对文件进行重命名(将文件名1修改为文件名2)
mv  a.txt   b.txt      -  将当前文件夹中的a.txt重命名为b.txt
mv  /home/a.txt  /home/b.txt    -  将系统根目录下home文件中的a.txt重命名为b.txt
```

mv   文件路径   文件夹路径           -  将文件直接移动到指定文件夹中

mv   文件夹路径1  文件夹路径2     -  将文件夹1移动到文件夹2中

##### 7.history指令    -  获取历史记录(指令的历史记录)

history     -  显示当前系统已经执行过的所有的指令

```shell
#如果想要显示历史记录的时候显示指令执行的时间需要修改~/.bashrc文件:
export  HISTTIMEFORMAT="[%y‐%m‐%d_%T] " 

# 修改完成后需要通过指令: source ~/.bashrc 去执行这个配置文件, 最后历史记录的时间才会生效
```

##### 8. 创建连接

###### 1)创建软连接(掌握!)

ln -s  源文件路径  软连接文件地址     - 给源文件在指定位置创建一个软连接(软连接本质就是用来保存源文件绝对                                地址的一个文件, 可以理解为windows中的快捷方式)

​                                 注意: **源文件路径必须写绝对路径**

​                                如果删除或者移动源文件,软连接会直接无效

###### 2) 创建硬链接

ln  源文件路径  硬连接文件地址      -    给源文件在指定位置创建一个硬链接

​                                硬链接的本质就是源文件内容的另外一个引用,所以删除或者移动源文件硬                                        链接仍然有效,只是删除硬链接会变成普通文件

##### 9.进程相关指令

###### 1) ps指令

ps                 - 查看进程状态

ps -aux         - 查看当前所有的进程的信息

ps  grep 进程名/进程ID     -  根据进程名/进程ID查看指定进程

###### 2)top指令

top           -    实时查看当前所有的进程信息和系统信息

top -p  PID1,PID2,….     - 实时监测指定的进程

###### 3)free指令

free      -   显示当前系统的内存信息,显示的时候以kb为单位

free  -单位    - 显示当前系统的内存信息,以指定单位来显示

```
free -m    - 显示当前系统的内存信息,以Mb为单位
```

###### 4)kill指令

kill 进程ID       -  杀掉指定id对应的进程

kill -1/-9/-15 进程ID      -  以指定的方式(-1表示不间断重启; -9表示强制杀死进程;-15表示正常结束进程)杀掉指定                                   进程

pkill  进程名      - 杀死指定进程名对应的进程(中间可以加-1/-9/-15)

killall   进程名    - 杀死和进程名相关的所有进程

###### 5)uptime 

uptime     -  获取系统信息

##### 10.用户管理

一个Linux操作系统可以有多个用户(user),也可以有多个用户组(group); 用户和用户组之间的关系是多对多

只有root权限才可以创建用户

普通用户只能操作对应的用户根目录中的内容(普通用户的用户根目录是/home下面和用户名同名的文件夹)

useradd 用户名    -    - 创建指定用户(1.用户创建成功后系统会自动在/home目录下创建一个和用户名同名的文件                    夹;2.会自动创建和用户名同名的分组,并且将当前用户添加到这个分组中)

passwd 用户名         -  修改用户密码(需要root权限)

su 用户名        -  切换账号(root登录的时候切换不需要密码,其他账号需要)

exit             -    退出当前账号

userdel   用户名  -  删除用户(需要root权限)

sudo 指令    -    普通用户使用root权限执行指定指令

users    -   查看当前用户        (可以通过查看/etc/passwd文件来查看当前系统所有的用户)

groups   -  查看当前分组

groupadd  分组名       -  创建分组(管理员才能创建; 可以通过查看/etc/group文件来查看当前系统所有的分组)

*useradd  用户名          - 创建指定用户(1.用户创建成功后系统会自动在/home目录下创建一个和用户名同名的文件                    夹;2.会自动创建和用户名同名的分组,并且将当前用户添加到这个分组中) - 这是root权限

useradd -G  分组1,分组2,…   用户名    -  创建指定用户,并且将用户添加到指定分组中

usermod -G  分组1,分组2  用户名       -  修改用户分组

*passwd 用户名         -  修改用户密码(需要root权限)

su 用户名        -  切换账号(root登录的时候切换不需要密码,其他账号需要)

exit             -    退出当前账号

sudo           -  在命令前sudo是以管理员身份执行指令

注意:      不是所有的用户都可以通过sudo来以管理员身份执行指令,如果想要能够使用sudo必须添加配置    

​        a.ubuntu:  将需要有管理员身份的账号添加到sudo分组中

​        b.redhat和contos: 在/etc/sudoers配置文件中添加代码:

```shell
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL     #(默认有的)
xiaoming ALL=(ALL)      ALL        #(自己添加的,xiaoming是用户名)
```

##### 11.文件权限

`      -                   `      

` rw-                        r--                         r--`

| 文件类型  | 所有者权限             | 同组用户权限 | 其他用户权限 |
| :-------- | ---------------------- | ------------ | ------------ |
| d(目录) | 读(r-)写(w-)可执行(x-) |              |              |
| -(文件) |                        |              |              |
| l(连接) |                        |              |              |

当前文件所有者有读和写的权限,同组用户只有读的权限,其他用户只有可执行的权限:- rw-r----x

当前文件所有者有写的权限,同组用户有读和写的权限,其他用户有读和写的权限:- -w-rw-rw-

默认情况下文件和文件夹的权限: 文件所有者有读写权限, 同组用户和其他用户都是只读权限。

###### 1)chmod指令

chmod 权限值   文件路径        - 将指定文件的权限修改成指定值

```
权限:     rwx r-- rw-
权限二进制:111 100 110  
权限值:    7   4   6
chmod 746 文件路径

权限:     rwx rwx rwx
权限值:    7    7  7
chmod 777 文件路径

421
rwx        4+2+1 = 7
rw-   4+2 = 6
r--        4 = 4
-w-        2 = 2
-wx        2+1  = 3

权限:rw- rw- rw-
权限值:666

权限:rw- r-- ---
权限值:640

     421 421 421
权限:rwx rw- r--
            7  6   4
            
        440
    -    r-- r-- ---
```

chmod  [a,u,g,o]/[+-]/[r,w,x]  文件地址      - 给指定文件对应指定用户添加或者删除指定权限

​                                                                         (a-所有用户,u-文件所有者,g-同组用户,o-其他用户;

​                                      +表示添加权限, -表示删除权限;

​                                      r-表示读权限, w表示写权限,x表示执行权限)

```shell
chmod a-x 文件地址     #  删除所有用户的执行权限
chmod u+w  文件地址    #  给文件所有者添加写的权限
```

##### 12.日志管理

###### 1)显示文件内容

a.cat指令   -  直接显示文件中所有的内容

cat 文件    -  直接查看文件所有内容

总结: 查看文件内容的时候可以加参数-n,让内容在显示的时候显示行号

b.查看部分内容

head   N  文件地址    - 显示指定文件前N行内容(-n参数无效)

tail    N  文件地址       -  显示指定文件最后N行内容(-n参数无效)

c.分页显示

less  文件       -  按页显示文件内容(通过快捷键控制内容显示过程; 文件内容不会打印到shell/终端里)

less  -N 文件   -  按页显示文件内容,每次翻页的时候翻N行

more  文件      - 按页显示文件内容(通过快捷键控制内容显示过程; 文件内容会打印到shell/终端里)

more  -N 文件   -  按页显示文件内容,每次翻页的时候翻N行

```
快捷键:

- 按 j 向下一行

- 按 k 向上一行

- 按 f 向下翻一页

- 按b 向上翻一页

- 按 g 到全文开头

- 按 G 到全文结尾

- 按 Q 退出 
```

##### 2)结果的处理

凡是有的打印结果的指令,我们都可以通过相关指令对应结果进行处理

有结果的指令 | 处理方式

###### a. 管道 - |

如果需要对某一个指令的结果使用另外的指令进行二次处理的时候,就需要用到管道(|)

###### b.sort    - 排序

sort     -  从小到大排序(将一行内容作为一个字符串,按字符串大小对应内容进行排序,默认不区分大小写)

```shell
cat a.txt |sort      # 对a.txt的文件内容从小到大排序显示

sort的参数:
-r   - 逆序
-nk 1  - 数值大小排序
-nk 2  - 字符大小排序(默认)

cat a.txt|sort -nk 1    # 对a.txt的文件内容按数字大小从小到大排序
cat a.txt|sort -rnk 1    # 对a.txt的文件内容按数字大小从大到小排序
cat a.txt|sort -nk 2    # 对a.txt的文件内容按字符大小从小到大排序(默认)
cat a.txt|sort -rnk 2    # 对a.txt的文件内容按字符大小从大到小排序
```

```
1)字符串比较大小的规则: 比较第一对不相等的字符的大小
abc  mn    ->   mn > abc
abc  amn   ->   amn > abc

你好  如果  ->  

1098 <  71

2)字符比较大小的规则:比较的是字符的编码值的大小

3)编码值
计算机只能保存数字(数字在计算机中的存储方式:二进制补码)
为了能够让计算机存储文字符号,给每个文字符号绑定了一个固定的数字,每次需要存符号的时候,就存储这个符号对应的那个数字。(符号对应的数字就是这个符号的编码值)

4)编码表(保存和记录了符号和数字之间的对应的关系)
ASCII码表
Unicode编码表
```

###### c.uniq   -去重

uniq     - 只能将紧挨着的相同行去掉重复的(如果需要去掉所有重复的行,先排序将相同的行放到一起)

```shell
cat a.txt|uniq     # 去掉a.txt文件内容中相邻重复的行
cat a.txt|sort|uniq   # 去掉a.txt文件内容中所有重复的行

uniq的参数
-c     - 重复次数
```

###### d.awk  - 获取列

awk    '{print $N}'      -  获取内容中第N列的数据

```shell
history|awk '{print $2}'    # 获取历史记录第2列的内容
history|awk '{print $2,$3}'  # 获取历史记录第2列和第3列的内容
```

练习:

```shell
history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3    # 统计最常用的3个指令及其使用次数
```

##### 3)输出重定向   -    > / >>       (将指令的打印结果保存包文件中)

执行有打印结果的指令  >  文件地址     -  将指定指令执行的结果保存到指定文件中(先清除原文件内容再添加)

执行有打印结果的指令  >>  文件地址    -  将指定指令执行的结果保存到指定文件中(直接将结果追加到原文件中)

```shell
history > a.txt     #将当前历史记录直接保存到a.txt文件中

# 将最常用的3个指令及其使用次数保存到a.txt文件中
history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 > a.txt  
```

##### 4)统计

wc  -c/-w/-l   文件地址        - 统计指定文件中字符/单词/行的数量   (注意:统计字符数量的数,会比实际的字符数多1,多的\0这个字符串结束标志)

有打印结果的指令 | wc -c/-w/-l

##### 5)查找 

###### grep   - 找内容

a.  grep  内容  文件地址       - 在指定文件中查找指定内容(返回文件中所有包含指定内容的行)

```shell
grep you a.txt    # 获取a.txt中包含you的所有的行

grep的参数:
-n      - 显示结果的时候显示行号
-i      - 查找内容的时候忽略大小写
-E      - 按正则表达式进行匹配   
          使用方法: grep -E '正则表达式' 文件
          注意: Linux操作系统中正则表达式不支持:\d,\D,\w,\W,\s,\S,\b,\B; 其他语法都支持
-v      - 忽略字段
          grep you a.txt  -v  # 获取a.txt中不包含you的所有的行
```

b.  执行有打印结果的指令 |grep 内容      - 在指令执行结果中查找指定内容

c. grep -r  内容 文件夹地址     -在指定文件夹中所有的文件中查找指定内容

###### find   - 找文件

find  文件夹路径  -name    文件名     -  在指定文件夹下按文件名找指定文件

```shell
# 找指定文件名
find dir1 -name 'test1.py'      # 在文件夹dir1找名字是test1.py的文件
find dir1 -name '*.txt'         # 在文件夹dir1找后缀是txt的所有文件
find dir1 -name 'test*.txt'
find dir1 -name 'test*'
find dir1 -name '*c.txt'
```

find  文件夹路径  -size  +/-文件大小       - 在指定文件夹下找文件大小满足条件的所有的内容(包含文件和文件夹)

```shell
find dir1 -size +4k       # 查找在文件夹dir1中所有大于4k的文件
find dir1 -size -4k       # 查找在文件夹dir1中所有小于4k的文件
find dir1 -size +5k -size -10k  # 查找在文件夹dir1中所有大于5k并且小于10k的文件(文件大小如果是小数,算的时候向上取整)
find dir1 -size +4k -name '*.txt'   # 查找在文件夹dir1中所有大于4k的txt文件
```

#### 13.网络管理

ifconfig       - 查看网卡状态

netstat   -natp        - 查看当前系统所有的网络连接状态

netstat   -natp |grep 端口号      -  查看指定端口对应网络连接状态

ping  地址           -  给指定地址对应服务器发送数据(主要用来检测当前网络通不通)

ping -i  时间(单位秒)  地址     - 每隔指定时间ping一次(时间可以是小数)

ping  -c  次数    地址         -  ping指定次数(不限制次数的时候会不断的ping)

wget  地址        -  下载数据

#### 14.压缩和归档

压缩可以让文件变小,一般在需要传输前都会先对文件进行压缩。注意,压缩指令只针对文件有效,并且一次只能压缩一个文件。

归档可以将一个文件夹变成一个文件(tar文件)

##### 1)归档和解归档   - tar 

tar  -cvf  归档文件地址   需要归档的原文件夹地址       -  将文件进行归档操作(既可以对文件进行归档也可以对文件夹                                               归档)

tar -xvf   需要解归档文件地址      -  将指定的归档文件解归档

##### 2)压缩和解压: gzip,gunzip,xz

###### a.gzip    

gzip  文件地址       -  压缩指定文件(压缩后会生成一个gz文件,并且会删除原文件)

`gzip  -c  文件地址  >  压缩文件地址`      -  将指定文件压缩指定位置,并且保留原文件

gzip  -d  压缩文件地址    - 解压指定文件(解压完成后会删除原压缩文件,解压后的文件直接放在被解压的压缩文件所在的位置)

gzip  -l  压缩文件地址     - 列出压缩文件中的内容

###### b.gunzip(解压tgz文件)

gunzip  压缩文件地址     - 解压指定文件(解压完成后会删除原压缩文件)

###### c.xz

xz   文件地址     - 压缩指定文件(压缩文件后缀是xz)

xz   -d   压缩文件地址     - 解压指定文件

### 15.软件安装和包管理工具

包管理工具:yum 

- yum search:搜索软件包,例如yum search nginx。
- yum list installed:列出已经安装的软件包,例如yum list installed | grep zlib。
- yum install:安装软件包,例如yum install nginx。
- yum remove:删除软件包,例如yum remove nginx。
- yum update:更新软件包,例如yum update可以更新所有软件包,而yum update tar只会更新tar。
- yum check-update:检查有哪些可以更新的软件包。
- yum info :显示软件包的相关信息,例如yum info nginx。
- yum erase 软件: 卸载已经安装的软件

源代码构建安装

1. wget  安装包的路径        -下载安装包
2. gunzip/tar  压缩包         - 解压、解归档
3. (设置安装路径)
4. cd 安装包目录 执行: make && make install       -编译安装包程序
5. 给可执行文件添加软连接到/usr/bin目录下            -添加快捷方式

##### 1.源代码构建python3.x

```shell
[root ~]# rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps (移除旧版本Python)
[root ~]# whereis python3 |xargs rm -frv        (删除所有剩余文件)
[root ~]# wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz   (下载安装包)
[root ~]# gunzip Python-3.9.13.tgz     (解压)
[root ~]# tar -xvf Python-3.9.13.tar    (解归档)
[root ~]# cd Python-3.9.13            (进入安装包)
[root ~]# ./configure --prefix=/usr/local/python39  (设置安装路径)
[root ~]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel    (安装相关依赖库)
[root ~]# make && make install       (编译执行安装文件)
...
[root ~]# ln -s /usr/local/python39/bin/python3.9 /usr/bin/python3      (给python指令文件创建快捷方式python3)
[root ~]# python3 --version
Python 3.9.16
[root ~]# ln -s /usr/local/python39/bin/pip3 /usr/bin/pip3      (给pip指令创建快捷方式pip3)
[root ~]# pip3 --version
```


 

你可能感兴趣的:(python,数据分析,linux,运维,服务器)