是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

### 3.5 yum


Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载和安装。  
 命令语法:

yum [options] [command] [package …]

常用选项:  
 ●-h:查看帮助;  
 ●-y:当安装过程提示选择全部为 “yes”;  
 ●-q:不显示安装的过程。  
 参数说明:  
 ●command:要进行的操作。  
 ●package:安装的包名。  
 命令示例:  
 ●列出所有可更新的软件清单命令:

yum check-update

●更新所有软件命令:

yum update

●列出所有可安裝的软件清单命令:

yum list

●安装指定的软件:

yum install -y libaio-devel flex bison ncurses-devel glibc.devel patch lsb_release wget python3

### 3.6 wget


wget是Linux下下载文件的最常用命令。wget支持HTTP,HTTPS和FTP协议,支持自动下载,即可以在用户退出系统后在后台执行,直到下载结束。  
 命令语法:

wget [选项] [URL]

常用选项:  
 ●-c:接着下载没下载完的文件;  
 ●-b:启动后转入后台执行;  
 ●-P:指定下载目录;  
 ●-O:变更下载文件名;  
 ●–ftp-user --ftp-password:使用FTP用户认证下载。  
 参数说明:  
 ●指定的文件下载URL地址。  
 命令示例:  
 ●下载openGauss数据库安装文件到当前文件夹:

wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86/openGauss-1.1.0-CentOS-64bit.tar.gz

●使用wget断点续传:

wget -c https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/x86/openGauss-1.1.0-CentOS-64bit.tar.gz

### 3.7 ln


为某一个文件在另外一个位置建立一个同步的链接(软硬链接,不带选项为硬链接)。  
 当需要在不同的目录,用到相同的文件时,就不需要在每一个需要要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。  
 命令语法:

ln [选项] 参数1 参数2

常用选项:  
 ●-b --删除,覆盖以前建立的链接;  
 ●-d --允许超级用户制作目录的硬链接;  
 ●-s --软链接(符号链接)。  
 参数说明:  
 ●参数1:源文件或目录。  
 ●参数2:被链接的文件或目录。  
 命令示例:  
 ●为python3文件创建软链接/usr/bin/python,如果python3丢失,/usr/bin/python将失效:

ln -s python3 /usr/bin/python

●为python3创建硬链接/usr/bin/python,python3与/usr/bin/python的各项属性相同:

ln python3 /usr/bin/python

### 3.8 mkdir


创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。  
 命令语法:

mkdir [选项] [参数]

常用选项:  
 ●-p --可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录(递归);  
 ●-v --每次创建新目录都显示信息;  
 ●-m --设定权限<模式> (类似chmod),而不是rwxrwxrwx减umask。  
 参数说明:  
 ●需要创建的目录。  
 命令示例:  
 ●创建一个空目录:

mkdir test

●递归创建多个目录:

mkdir -p /opt/software/openGauss

●创建权限为777的目录(目录的权限为rwxrwxrwx):

mkdir -m 777 test

### 3.9 chmod


更改文件权限。  
 命令语法:

chmod [选项] <file…>

常用选项:  
 ●-R, --以递归的方式对目前目录下的所有文件与子目录进行相同的权限变更。  
 参数说明:  
 ●mode:权限设定字串,详细格式如下 :

[ugoa…][[±=][rwxX]…][,…],

其中,[ugoa…]:u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者);[±=]:+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限;[rwxX]:r 表示可读取,w 表示可写入,x 表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。  
 ●file:文件列表(单个或者多个文件、文件夹)。  
 命令示例:  
 ●设置所有用户可读取文件 cluterconfig.xml:

chmod ugo+r cluterconfig.xml

chmod a+r cluterconfig.xml

●设置当前目录下的所有档案与子目录皆设为任何人可读写:

chmod -R a+rw *

数字权限使用格式:  
 ●这种使用方式中,规定数字4、2和1表示读、写、执行权限,即r=4,w=2,x=1。  
 ●例:rwx = 7(4+2+1);rw = 6(4+2);r-x = 5 (4+0+1);r-- = 4(4+0+0);–x = 1(0+0+1);  
 每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :

chmod file…

其中,a,b,c各为一个数字,分别代表User、Group、及Other的权限,相当于简化版的chmod u=权限,g=权限,o=权限 file…,而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限。  
 命令示例:  
 ●赋予cluterconfig.xml文件可读可写可执行权限(所有权限):

chmod 777 cluterconfig.xml

●赋予/opt/software/openGauss目录下所有文件及其子目录 用户所有权限组可读可执行权限,其他用户可读可执行权限:

chmod -R 755 /opt/software/openGauss

### 3.10 chown


利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。只有系统管理者(root)才有这样的权限。使用权限 : root。  
 命令语法:

chown [选项] user[:group] file…

常用选项:  
 ●-c : 显示更改的部分的信息;  
 ●-f : 忽略错误信息;  
 ●-R : 处理指定目录以及其子目录下的所有文件。  
 参数说明  
 ●user : 新的文件拥有者的使用者 ID。  
 ●group : 新的文件拥有者的使用者组(group)。  
 ●flie:文件。  
 命令示例:  
 ●将文件 file1.txt 的拥有者设为omm,群体的使用者dbgrp:

chown omm:dbgrp /opt/software/openGauss/clusterconfig.xml

●将目前目录下的所有文件与子目录的拥有者皆设为omm,群体的使用者dbgrp:

chown -R omm:dbgrp *

### 3.11 ls


列出文件和目录的内容。  
 命令语法:

ls [选项] [参数]

常用选项:  
 ●-l --以长格式显示,列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等;  
 ●-a --列出文件下所有的文件,包括以".“和”…"开头的隐藏文件 (Linux下文件隐藏文件是以 .开头的,如果存在 … 代表存在着父目录);  
 ●-d --列出目录本身而非目录内的文件,通常要与-l一起使用;  
 ●-R --同时列出所有子目录层,与-l相似,只是不显示出文件的所有者,相当于编程中的“递归”实现;  
 ●-t --按照时间进行文件的排序,Time(时间);  
 ●-s --在每个文件的后面打印出文件的大小,size(大小);  
 ●-S --以文件的大小进行排序。  
 参数说明:  
 ●目录或文件。  
 命令示例:  
 ●以长格式列出当前目录中的文件及目录:

ls -l

### 3.12 cp


复制文件或者目录。  
 命令语法:

cp [选项] 参数1 参数2

常用选项:  
 ●-f --如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项);  
 ●-n --不要覆盖已存在的文件(使前面的 -i 选项失效);  
 ●-I --覆盖前询问(使前面的 -n 选项失效);  
 ●-p --保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等;  
 ●-R,-r --复制目录及目录内的所有项目。  
 参数说明:  
 ●参数1:源文件。  
 ●参数2:目标文件。  
 命令示例:  
 ●将home目录中的abc文件复制到opt目录下:

cp /home/abc /opt

注:目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。目标文件存在时,即使加了-f标志,也还会询问是否覆盖。


### 3.13 rm


删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。  
 rm是一个危险的命令,使用的时候要特别当心,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm \* rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。  
 命令语法:

rm [选项] 文件

常用选项:  
 ●-f --忽略不存在的文件,从不给出提示;  
 ●-r --指示rm将参数中列出的全部目录和子目录均递归地删除。  
 参数说明:  
 ●需要删除的文件或目录。  
 命令示例:  
 ●删除文件:

rm qwe

注:输入rm qwe命令后,系统会询问是否删除,输入y后就会删除文件,不想删除文件则输入n。