11.3作业2:命令汇总

spark作业升级到spark3 scala 2.12 踩坑和解决方法 前言 因为spark集群的换代升级, 需要从scala 2.11 升级到scala 2.12 spark2升级到spark 3。本篇博客主要讲述南国在将spark 作业升级时遇到的问题和解决办法。 具体步骤 1.升级spark相关依赖 针对于pom文件中类似 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId&gt 阅读详情

        Xshell

远程连接虚拟机 shh 用户名+@ip地址

也可以直接新建一个永久会话

显示ip地址		ifconfig
关闭防火墙【临时关闭(重启就失效)】	systemctl stop firewalld
关闭防火墙【临时关闭(重启就失效)】	systemctl disable firewalld
查看selinux状态		getenforce
【临时】减弱selinux(内核防火墙)	setenforce 0
更改主机名hostnamectl set-hostname 主机名
复制 Ctrl+insert
粘贴 Shift+insert
清屏【页面下滑】Ctrl+L
重启 reboot
关机 shutdown now

快照(相当于S&L) “虚拟机”选项-->快照-->拍摄快照

        shell提示符

[root@localhost ~]#
其中"root"为当前登录的用户名
@后的“localhost”为主机名称
"~"为当前工作目录
[当前登录的用户名 @主机名称 当前工作目录]#/$
"工作目录"类似windows文件位置
"/"表示根目录
"~"表示每一个用户的家目录

查询绝对路径 pwd
切换用户 su 用户名(可不输) [回车] 密码
ps:从超级管理员切换至普通用户时可以不用输入密码

命令的格式(其中"[]"表示可为空)
命令字 [-选项] 【参数】

选项分为长选项【--】与短选项【-】
长选项无法叠加使用,短选项可复合使用
"help"为典型的长选项

切换工作目录            cd 切换位置
切换为上次工作目录         cd -
切换为上一级目录         cd ..
切换到家目录(当前用户)    cd ~
浏览文件夹内容            ls
ps:ls可有多个操作对象

重置密码(启动界面按E)
rd.break
switch -o remount.rw /sysroot
chroot /sysroot

把命令中断(防刷屏) Ctrl+C

命令分类
内置命令[能找到执行文件]:shell自带;运行效率高,不会浪费时间;
外部命令:有独立的执行文件夹,文件夹名即命令名

查看命令的执行文件所在位置    which [命令]
查看命令所属种类    type [命令]
查看命令执行时间    time [命令]

    帮助文档
 

查看帮助文档[1]        [命令] --help
[查询bash内部]查看帮助文档[2]        help [命令]

man手册

[man手册中(可查找)]查看帮助文档[3]    man [-选项] [参数]
查询关键词(从上往下)         /[英文]
查询关键词(从下往上)        /?[英文]
定位到下一个关键字        n
定位到上一个关键字        N
退出                    q

info page
[info page中]查看帮助文档info [命令]

    时间命令
 

获取时间        date [选项] [+格式]
ps:格式可叠加,但是如果格式中出现空格时,须将整个格式用“”标注
设置时间        date -s [时间]
ps:设置日期时间时,中间用空格隔开后,须加“”
调整日期(加2天)          date -d "+2 day"

打开ntp(自动校对时间)     timedatectl set-ntp yes    ps:打开后无法更改时间
关闭ntp                timedatectl set-ntp no
设置日期[须严格按照格式]    timedatectl set-time xxx-xxx-xxx
设置时间日期            timedatectl set-time "xxx-xxx-xxx yyy:yyy:yyy"
设置时区                timedatectl set-timezone [时区]
日历 cal [参数(月份 年份)]


---------------------------------------------------------------------------------------------------------------------------------
 

浏览文件夹内容                ls
ps:ls可有多个操作对象
浏览文件内容[包括隐藏文件]        ls -a
使用较长格式列出信息    [可查看文件详细信息]        ls -l
简写        ll
显示当前文件夹[可加路径]        ls -d [路径]
打开所有文件夹并显示其中的文件 ls -R [路径]
更人性化得显示文件大小        ls -h [路径]
树状图显示 tree [路径]

drwxr-xr-x. 2 root root    6 10月 12 19:23 公共
d 当前文件的文件类型
ps:"-"指普通文件;"d"指目录文件;"l"指软链接文件(相当于快捷方式);"c"为字符设备文件[顺序读写];"b"为块设备文件[随机读写];"p"管道文件[进程间通信];
rwxr-xr-x. 权限
前root指创建者
后root指所属组[可加入其他用户]
6 10月 12 19:23 指文件修改时间

ls颜色显示
白:普通文件
蓝:目录文件
红:压缩包文件
黄:设备文件
绿:可执行文件

根目录"/"为Linux唯一的顶级目录
boot中存放系统启动时需要的文件
etc中存放配置文件
lib中存放系统的库文件
mnt默认为空,后期用来挂载
var中存放日志文件 
home中存放普通用户家目录
bin中存放普通用户可执行的命令和程序
usr中存放一般用户安装的程序

创建文件 touch [文件名]
ps:可一次创建多个
如    touch [文件名] [文件名]
创建1-6    touch [文件名]{1..6}
创建1,6    touch [文件名]{1,6}

删除文件             rm [文件名]
删除文件[不询问]     rm -f [文件名]

---------------------------------------------------------------------------------------------------------------------------------

文件=真实数据+元数据(创建时间、创作者、修改时间)
目录文件=自身目录名+元数据

 

往文件中输入 echo"文字">>[文件]

        硬链接【相当于备份】
硬链接不能跨越文件系统
硬链接就是指向原始文件inode的指针

创建硬链接        ln [/源文件] [新文件]
软链接【类似windows快捷方式】
创建软链接  ln -s [源文件]    [新文件]
查看文件内容     cat [文件名]
查看文件信息    stat [文件名]
查看文件inode节点ls -i

创建目录(文件夹)    mkdir [相对路径或绝对路径]
创建目录[多个]        mkdir {1..3}
创建目录[嵌套](一起创建)        mkdir -p /aaa/bbb
删除目录             rm -r [目录路径]
ps:"-r"一般用于递归,此处用于删除目录内文件,再删除目录

计算此文件/目录占用磁盘大小[会递归显示目录内所有文件]    du [文件/目录名]
计算此文件/目录占用磁盘大小[不显示所有文件]    du -s [文件/目录名]

    数据流和重定向[改变信息流向(转到某个文件)]
【0】标准输入流:键盘
【1】标准输出流:终端
【2】标准错误输出流

操作符
ps:重定向后,如没有目标文件,会自动创建

输出重定向

覆盖[命令]>[路径]
追加>>
将错误输出流重定向    [命令] 2> [路径]
多重 重定向    [命令1] [命令2] >>[路径1] >>[路径2]

用于销毁数据的路径    /dev/null

输入重定向
 

用于指定结束符<<
例:cat >test.txt <<AAA
>awsd
>wwww
>ccccc
>AAA
cat test.txt
awsd
wwww
ccccc

输出[不执行命令]        echo "输出值"
输出[执行命令]            echo `命令`
定义一个变量             [变量名]="值"
输出变量                echo $[变量名]

【|】管道符[左边命令的输出作为右边命令的输入]
例:ls / | grep "test"

tee【类似于分流】将结果输出到终端的同时,存入指定文件
---------------------------------------------------------------------------------------------------------------------------------

创建目录[嵌套](一起创建)        mkdir -p /aaa/bbb
删除目录 [递归]            rm -r [目录路径]

编辑普通文件

编辑普通文件[进入阅读模式]vim
当目标文件不存在时,会自动创建;
阅读模式[命令模式]中,按a/I/s/o进入编辑模式
保存编辑须进入末行模式,按esc返回阅读模式,再按:(或/)进入末行模式,最后输入wq退出_
命令模式中功能键
光标按单词向后跳转    w
光标按单词向前跳转    b
光标跳到行首        ^
光标跳到行尾        $

撤销                u
删除光标所在行        dd
删除从光表开始的n行    ndd
删除光标前字符[本行]    d^
删除光标后字符[本行]    d$
复制光标所在行        yy
复制从光标开始的n行    nyy
将缓冲区的内容粘贴到光标所在的下一行    p(小写)
将缓冲区的内容粘贴到光标所在的上一行    P(大写)

命令模式中功能键

光标按单词向后跳转  w
光标按单词向前跳转  b
光标跳到行首  ^
光标跳到行尾  $
撤销  u
删除光标所在行  dd
删除从光表开始的n行  ndd
删除光标前字符[本行]  d^
删除光标后字符[本行]  d$
复制光标所在行  yy
复制从光标开始的n行  nyy
将缓冲区的内容粘贴到光标所在的下一行  p(小写)
将缓冲区的内容粘贴到光标所在的上一行  P(大写)

末行模式
 

查找关键字        /[关键字]
到下一个检索单词的位置    n
到上一个检索单词的位置    N
替换[仅在当前行中检索]    s /[目标]/[替换字]
替换[全局(光标所在行)检索]    s /[目标]/[替换字]/g
替换[从n1行到n2行]        n1,n2 s/[目标]/[替换字]/g
替换[全局(真)检索]        % s /[目标]/[替换字]/g  

保存并退出            wq
不保存退出            q
不保存退出    [强制]    q!
将文字内容另存为    w /[新文件路径]

当前文件中读取其他文件内容    r /[文件路径]
查找含有关键词的行并删除        g/[关键词]/d
显示行号                    set nu
隐藏行号                    set nonu
删除n1-n2行内容            n1,n2 d
复制n1-n2行到n行后            n1,n2 co n

          
 浏览文件内容

查看普通文件内容    cat [文件路径]
显示行号            -n
查看多个文件        cat [文件1] [文件2]
查看内容[从后往前]    tac [文件路径]
查看内容[空格换页]    more [文件路径]
查看内容[按q退出]    less [文件路径]
查看文件前n行[默认为10行]        head -n [文件路径]
查看文件后n行[默认为10行]        tail -n [文件路径]

查看文件信息                stat [文件路径]
查看文件包含关键词的行        grep -参数 查找条件 [文件路径]
显示行号                    -n
显示不带关键词的行            -v
忽略大小写                    -I
查找目标目录下所有满足条件的文件    grep -r [关键词]    [目录路径]
查找以n开头的[条件]            ^[n]
查找以abcd开头的[条件]        ^abcd
查找以a-z开头的[条件]            ^[a-z]
查找以n或m开头的[条件]        ^[nm]
查找除了以n开头的[条件]        ^[^n]

查找以n结尾的[条件]            n$
查找以n或m结尾的[条件]        [nm]$

过滤空白行                    -n ^$

  

切割

切割[以":"切割,将第一列显示出来]         cut -d ":" -f1 /[文件路径]

 文字

排序                 soft [文件路径]
排序[去重]             soft -u [文件路径]
去除重复行            uniq [文件路径]
替换[字数需相同]    tr [目标字段] [替换字段]
ps:单个找,单个换
统计            wc [文件路径]
统计[行数]         wc -l [文件路径]
统计[单词数]     wc -w [文件路径]
统计[字节数]    wc -c [文件路径]

 

文件复制                cp  [源文件] [目标文件]
文件复制[保留属性]        cp -a [源文件] [目标文件]
ps:文件复制必须要目标,但目标可以只写"."(当前文件夹),源文件会复制过来且名字不变
目录复制                 cp -r [目录] [目标位置]
文件移动[剪切]            mv [文件路径] [目标路径]
目录移动                mv [目录路径] [目标路径]
ps:文件移动时重命名需给目标路径加一个文件

文件查找

【执行文件】

查找文件路径[返回执行文件位置]            which  [执行文件]
查找文件路径[返回各种路径]                whereis [执行文件]

【所有文件】                        

查找文件位置[按名字]                    find /[开始查找的目录] -name "文件名"     
ps:可在文件名后加"?"代表一位不确定的字符,加"*"代表不确定位数的不确定字符。
不区分大小写        -i

查找文件位置[按大小]                    find /[开始查找的目录] -size  +/-[大小(k/M/G)]
例:
在etc中找比5k小的文件    find /etc -size -5k  
在/中找比100M大的文件    find / -size +100M

查找文件位置[按时间]
修改时间                find /[目录] -mtime -[天数]        例:find / -mtime -3        三天以内修改过的文件        find / -mtime +2     三天前修改的文件    find / -mtime 2 第三天

查找文件位置[权限]        find /[目录] -perm [权限]

查找文件位置[创建者]        find /[目录] -user [用户名]
                    find /[目录] -uid [用户编号]


查找文件位置[组别]        find /[目录] -group [组名]
                    find /[目录] -gid [组编号]

查找文件位置[按类型]        find /[目录] -type [类型]

【逻辑运算符】
与                -a
或                -o
非                -not
【find专用】管道符    -exec
例                find /otp -name "n*" -exec cp {} /otc/1.txt \;
ps:"\"用来转译";"        "-exec"前的输出的内容会被放到 {}中
 

    压缩和解压缩
压缩作用:
减少磁盘占用、加快传输速度

linux中常见压缩格式:
gzip【速度最快,最常用,但原始文件会被删除】 bzip2 xz

用gzip进行压缩            gzip [文件名] 
用gzip进行压缩[目录]        gzip -r [目录名]
 用gzip进行解压            gunzip [文件名] 

zip压缩会保留源文件
 

用zip进行压缩            zip [压缩后文件名] [目标文件]
用zip进行压缩[目录]        zip -r[压缩后文件名] [目标文件]
用zip进行压缩[分级]        zip -[1~9][压缩后文件名] [目标文件]
用zip进行解压            unzip [压缩包文件] [目标目录](可不输)

tar归档命令[常用]

tar -参数 []
tar命令使用时,须包含[-c(创建),-x(释放),-t(查看)]三选一,不能复合使用

必选参数
-f    指定压缩文件名
可选参数
-v     显示详细信息(可视化)
-z    gz格式
-j      bz2格式
-J     xz格式

tar -czf [创建后文件名] [目标文件/目录路径] -C [创建路径]

释放tar -xzf [文件名]
指定位置释放        -C [目录]

    文件上传与下载
工具:
sftp

退出 exit
连接到另一台主机        sftp root@[ip地址]
查看连接主机的目录        ls [目录路径]
查看本机目录            lls [目录路径]
上传文件    put [文件/目录路径]
下载        get

scp

上传文件 scp [文件路径] root@[ip地址]:[目标路径]
下载文件scp root@[ip地址]: [文件路径]

命令解释器-shell

可执行文件的路径存储在环境变量path中,使shell知道文件位置

查看总别名            alias
设置别名[临时]        alias [自定义别名]="[命令]"
设置别名[永久]        vim /etc/bashrc        (进入配置文件修改)
设置别名[永久·个人]    vim .bashrc
移除别名            unalias [自定义别名]
刷新bash shell        bash

    账户和组的管理

用户:1、超级管理员(root)
    2、系统[无法登录]
    3、普通用户

组(用户组)
1、基本组(私有组)
2、扩展组(公有组)
在同组的成员有相同权限

查看用户信息        id [用户名(小写)]
或                tail -5 /etc/passwd

组文件
vim /etc/group

账户管理

用户的添加

添加指定用户            useradd [用户名]
修改用户密码[root专用]    passwd [用户名]
取消交互            --stdin

账户设置

设置用户uid,gid            useradd [用户名] -u [uid] -g [gid]
新账户的用户 ID          -u, --uid UID                 
创建与用户同名的组         -U, --user-group              

修改已创建的账户信息        usermod
更改账户名称            usermod [用户名] -l [新用户名]
锁定用户                usermod [用户名] -L    

删除用户                userdel [用户名]
删除用户[同时删除家目录]    userdel -r [用户名]

切换用户[root]                su [用户名]
ps:无需密码且工作目录不变
切换用户                        su - [用户名]
ps:工作目录会变动

普通用户提权    sudo [命令]
前置条件[修改配置文件]
vim /etc/sudoers
[用户名] ALL=(root)     ALL

组操作[需要root]

新建扩展组            groupadd [组名]
查看组[新]            tail -5 /etc/group
或                groups [用户名]
设置组id            groupadd [组名] -g [gid]

向组中添加用户        gpasswd -a [用户名] [组名]
添加用户[多个]        gpasswd -M [用户名1,用户名2] [组名]        【注:会覆盖先前组的用户】
向组中删除用户        gpasswd -d [用户名] [组名]
用户能加入多个扩展组,扩展组能包含多个用户
设置管理员            gpasswd -A [用户] [组名]
删除组[管理员专用]    groupdel [组名]
ps:不能删除用户的主组


    查看系统当前登录的用户    

主机当前登录用户        users
last
每个用户最近登陆时间        lastlog
主机当前登录用户信息        who

【注:输出结果中的+表示所有用户都能查看和更改】
查看运行级别            runlevel
运行级别 0-7     0:关机     6:重启    5:界面(正常运行)
更改运行级别 init [0-7]
返回当前登录用户        whoami

         文件的权限

drwxr-xr-x. 2 root root       6 10月 12 19:23 公共

d后面9位字符"rwxr-xr-x"都是基本权限位
每三位为一组
rwx    文件所属者对文件的权限
r-x    文件所属组对文件权限
r-x    其他人对文件权限
.    特殊权限(设置后"."会有变化)

2    硬链接次数
root    文件所属者
root    文件所属组
6    文件大小
10月 19:23    文件修改时间
u表示所属者
g表示所属组
o表示其他人
a表示所有用户

文件权限解释
r    文件可读
w    文件可编辑
x    文件可执行
-    不具有该权限
ps:需要执行文件时,必须使用绝对路径

        文件权限修改

修改文件所属组[仅root]        chown :[所属组] [目标文件]
修改文件所属者和所属组        chown [所属者]:[所属组] [目标文件]

添加文件权限[仅root和所属者]    chmod [目标]+[目标权限] [文件路径]
添加文件权限[多]            chmod [目标]+[目标权限],[目标]+[目标权限],[目标]+[目标权限] [文件路径]
删除文件权限                chmod [目标]-[目标权限] [文件路径]
文件权限重新赋值            chmod [目标]=[目标权限] [文件路径]    注:此方法文件权限需写完整,如"r--"
r--4,w--2,x--1
用数字表示权限    例:    rwxr-xr--        "rwx"=7     "r-x"=5     "r--"=4    所以    "rwxr-xr--"="754"


目录中,
r    目录可读
w    目录可编辑
x    目录可进入
ps:能否删除某文件,取决于当前用户对文件上级目录是否有w权限
 

仅读取目录信息 ll -d [目录路径]

权限掩码【默认权限】
普通文件默认权限=0666-umask(权限掩码)
目录文件=0777-umask
查看当前权限掩码        umask
更改权限掩码[临时]        umask [掩码]

特殊权限
u+s--SID权限:让一般用户执行程序时,暂时获得当前文件所属者的权限
u+s--GID权限:当对一个可执行的程序文件设置了SGID后,普通用户在执行该文件时临时拥有 其所属组的权限,该权限只在程序执行过程中有效,程序执行完毕后用户恢复原有组身份
o+t--SBit权限:即使在当前目录下具有rwx权限,也无法修改/删除所属者非自身的文件

ACL访问控制列表[用于针对具体用户设置权限]
 

查看访问控制列表        getfacl [文件路径]
针对特点用户设置权限        
创建权限                setfacl -m u:[用户名]:[权限] [文件路径] 
ps:使用acl后,权限中的"."会变为"+"
删除权限[指定用户]        setfacl -x [用户名] [文件路径]
删除权限[所有用户]        setfacl -b [文件路径]

递归设置权限[目录中]        setfacl -R u:[用户名]:[权限] [文件路径]

        网络配置

实际网卡ens160
en指以太网
wl指无线局域网
ww指无线广域网
网络类型: ethernet[以太网]

【使用网卡的前提】会话
一个物理设备可以同时拥有多个ip地址 [但ip地址只能对应一个设备]
一张网卡可以有多个会话,但同时只能使用一个会话

使用nmcli管理网络

查看网卡信息        nmcli device
                nmcli device status
查看网卡信息[完整]    nmcli device show
其中MTU为"最大传输单元"    GATEWAY“网关”    DNS【默认为网关】“域名解析”
查看会话            nmcli connection(可简写为"c/con")
其中    UUID为“网卡编号”TYPE为“网络类型”    DEVICE为“网卡名称”

关闭会话[网卡下线]    nmcli c(简写) down [会话名称]
开启会话[网卡激活]    nmcli connection up [话名称]
添加会话            nmcli connection add type [网络类型] con-name [会话名称] ifname [网卡名称]
删除会话            nmcli connection delete [网络名称]

查看虚拟机ip等信息    编辑-->虚拟网络编辑器
IP地址为32位,包括网络位和主机位
dns服务器使用114.114.114.114(国内运营商服务器)

IP设置

设置静态IP            nmcli connection modify [会话名称] ipv4.method manual autoconnect yes(开启手动配置) ipv4.addresses [ip地址/子网掩码] ipv4.gateway [网关] ipv4.dns [dns]
ps:无法立刻生效,需要和开关会话一同使用;若没有开启手动划分,则会由DHCP进行自动划分

【配置文件更改ip】手动进入会话配置目录    cd /etc/NetworkManager/system-connections
ps:此时有多少个会话,该目录下就会有多少个以会话名场面命名的配置文件
vim [会话配置文件]
手动修改ip地址等信息
刷新nmcli connection reload [会话名称(可不加)]

【网络管理器】更改ip            nmtui
添加会话ip地址                nmcli connection modify [会话名称] +ipv4.addresses [ip地址/子网掩码]
删除会话ip地址                nmcli connection modify [会话名称] -ipv4.addresses [ip地址/子网掩码]

通过http/https/ftp等方式下载或上传文件 curl
 

下载文件        curl [网站地址] -o [文件名称]
下载文件        wget [下载地址]    -P [保存路径]
最大尝试次数    -t
后台下载        -b
断点续传        -c
递归下载(下载所有资源)-p[小写]

桥接模式(使用v0网卡)
将虚拟网卡桥接到电脑本身的网卡上,通过主机的网卡和外网进行通讯
过程:编辑-->虚拟网络编辑器-->更改设置-->更改v0网卡的桥接为xxx wi-fi xxx-->关机-->主机设置中改为桥接模式-->开机

NAT模式(使用v8网卡)
NAT指虚拟地址转换技术,公网ip转换为私网ip

Host-Only[仅主机模式]
使主机与虚拟机互通,但虚拟机连接不了公网

通过域名访问主机
1、浏览器缓存查找
2、对照hosts文件
3、dns服务器查找
4、[全球13台,其中存放顶级域名相关信息]根域名[根dns]服务器查找
5、返回ip地址

    软件下载与安装
 

重新载入缓存        yum makecache
下载                yum install [文件名]

linux软件安装方式
源码安装、rpm包安装、yum安装

源码安装

源码文件:程序员用C或C++等语言编写原始代码文本文件
源码文件用tar.gz或tar.bz2打包成压缩文件
优点:
源码包可移植性好,与待安装软件的工作环境依赖性不大
代码运行效率较高,是针对当前环境使用者的“量体裁衣”
可定制化安装,可选需要功能进行安装
卸载方便,只需删除对应目录
缺点:
安装麻烦

编译:对代码进行语法检查、语义分析和代码优化,转换为二进制。

安装步骤:安装包下载-->安装环境分析-->编译-->安装
 

安装环境分析[安装文件中]        ./configure
编译        make
安装        make install

默认安装路径/user/local或/usr/local/bin

rpm包安装

程序员在自身的计算机环境下,把自己要发布的源代码进行编译,编译完毕后再进行发布
优点:
安装方便[但仍然需要手动解决依赖问题]
缺点:
无法定制化安装
可移植性较差,安装环境必须与打包环境一致
必须满足软件依赖性
卸载时须小心,最底层软件不能先卸载

命名格式
[名称]-主版本号.次版本号-?-架构.rpm

安装                     rpm -i [rpm包名]
显示详细信息            -v/-h
卸载                    rpm -e [软件名]
升级[更新]                rpm -U [软件名]

查询                    rpm -q [名称]
显示当前已安装所有软件包    rpm -qa
检测当前是否安装某软件包    rpm -qa | grep [包名]
 查看安装时产生文件        rpm -ql [包名]
查看文件来源            rpm -qf [文件路径]
 查看软件包详细信息        rpm -qi [包名]

yum安装【redhat9中yum相当于dnf】

功能
在线下载、安装、卸载、升级rpm软件包
自动查找并解决rmp包之间的依赖关系,一次性安装所有具有依赖关系的rmp包,无需管理员逐个、手工地去安装每一个rmp包

???.repo中存放yum服务器仓库信息

原理
编译好的软件放置在yum服务器中,并将这些软件的依赖性等信息记录下来形成表格组成数据库
用户安装软件时会向网络中的yum服务器下载对应表格并与本机rpm数据库进行比较,最后一同下载全部软件进行安装,自动解决依赖性

查看yum库中所有软件包    yum list all
检索想要安装的软件包        yum list all | grep [包名]
模糊搜索                yum search [模糊包名]
安装                    yum install [包名]
卸载                    yum remove [包名]
ps:安装和卸载都会连带着依赖包一起安装/卸载
【?】更新                yum update [包名]
查询yum仓库            yum repolist
查看软件包详细信息        yum info [包名]
查看文件来源            yum provides [包名]
[下面要用到]挂载        mount [挂载路径] [目标路径]

建立本地yum仓库  ps:ios文件自带的yum仓库在/dev/sr0
 

mount /dev/sr0 /media
cd /etc/yum.repos.d
vim myrepo.repo
[base]
name=mybase
baseurl=file:///media/BaseOS
【不进行校验】gpgcheck=0

[appstream]
name=myappstream
baseurl=file:///media/AppStream
gpgcheck=0
:wq

---------------------------------------------------------------------------------------------------------------------------------

程序
储存在磁盘上的一个二进制文件,不会返回结果

进程
一个程序至少会有一个进程
父进程:能创建、控制其他进程
子进程:被其他进程控制
 

显示进程相关信息        ps
显示进程相关信息[详细]    ps -l
其中PID为标识号    TTY为    F为权限    S为状态(其中S表示睡眠,R表示运行)    C为CPU使用率    TIME为耗时
显示进程相关信息[用户]    ps -u
显示进程相关信息[所有信息]    ps -aus
以树状图显示进程        pstree
持续刷新的进程信息[类似任务管理器]    top
其中PR表示优先级[越小越优先]    %CPU表示CPU占用百分比    SHR S表示共享内存大小    %MEM表示占用内存百分比     
COMMAND表示产生进程的命令
强制结束进程        kill [进程编号]
强制结束所有进程    killall

线程
进程中实际工作的是线程,一个进程可同时有多个线程

    磁盘管理[磁盘原指硬盘和软盘,但现在主要指硬盘]
分为机械硬盘(hdd)和固态硬盘(nvme)
机械硬盘使用磁介质
固态硬盘使用半导体介质

光盘刻录原理:
用激光点射,有凹坑为0,无凹坑为1

添加磁盘[需要关机]
编辑虚拟机设置-->添加-->硬盘-->SATA类型-->创建新虚拟磁盘-->将磁盘存储为单个文件

硬盘分区
根据自身存储需求,将硬盘分为多个区域,且这些区域相互独立
分区格式
mbr和gpt

MBR[Master Boot Rcord,主引导程序]分区
MBR中储存引导文件和分区表
最后两个字节"55,AA"是结束符号

只能创建至多4个主分区[p],且主分区不能进行二次分区

扩展分区[l][仅仅是个概念,在这里可以划分逻辑分区[e]]
可在4个分区内任选一个转换为扩展分区,但主分区加扩展分区仍然不能大于4个
不能创建文件系统

逻辑分区[e]
可存放数据
数量没有限制

缺点:
最高支持磁盘容量2.2TB
没有备份机制,分区表丢失后,数据一并丢失

GTP分区
无主分区之说,默认情况下,最多支持128个分区

查看磁盘情况            lsblk
查看文件系统            lsblk -f
其中 RM表示是否能卸载(0表示可卸载,1不可卸载)

分区[等价于mbr分区]       

分区[等价于mbr分区]        fdisk [设备路径]

保存退出        w
直接退出        q

使用GPT分区    gdisk [设备路径]
创建分区        n
查看分区        p

格式化

添加文件系统 mkfs.[文件系统名称] [设备路径]
添加"-f"可以进行强制格式化
【文件系统不能轻易更改,否则会导致原先系统下的文件消失(仅隐藏,而不会丢失)】
显示设备UUID[唯一标识]与文件系统        blkid [设备路径]
挂载目录[临时]            mount [设备路径] [目录路径]
取消挂载                umount
永久·挂载[改配置文件]        位置:/etc/fstab
vim fstab
[设备路径]    [目录路径(挂载点)]    [文件系统名称]    [文件系统参数(一般默认为defaults)]    0 0
:wq
挂载所有[测试]    mount -a

一个目录不能挂载多个设备分区

磁盘阵列RAID[防止数据丢失,提高传输速率]

RAID0
将至少两个硬盘串联,将数据一次写入
优点:数据同步输入,传输效率高
缺点:一块损坏,数据不可读,数据安全性低

RAID1
把至少2块硬盘绑定起来,写入数据时将数据同时也写入另一或多块硬盘中
优点:数据备份,安全性高
缺点:硬盘利用率下降

RAID5

需至少三块硬盘,将数据分块存储到不同硬盘中,硬盘中必须存储其它一个硬盘的parity(奇偶校验信息)

优点:兼顾性能,通过“奇偶校验”替代“镜像备份”
缺点:硬盘数据安全性较低
 

RAID1 0
至少4块硬盘,两个RAID1阵列,保证安全性,1个RAID0阵列,提高读写速度
优点:兼具速度和安全性
缺点:成本较高

创建raid阵列        mdadm -C /dev/md0(阵列路径) -a yes -n 4 -l 10 [设备路径1] [设备路径2] [设备路径3] [设备路径4]
-a yes表示自动检测并建立raid        -n 4表示4个设备连接        -l 10 表示阵列类型
查看raid阵列信息    mdadm -D [阵列路径]
停止阵列            mdadm -S [阵列路径]
列出文件系统的磁盘空间占用情况            df
列出文件系统的磁盘空间占用情况[人类可读]     df -h
显示文件磁盘占用大小                    du
显示文件磁盘占用大小[人类可读]            du -h

逻辑卷LVM[便于扩容]

[可不转]转换为物理卷[多]    pvcreate [设备路径1]    [设备路径2] [设备路径3]....
创建卷组[多合一]        vgcreate [卷组名称] [设备路径1] [设备路径2] [设备路径3].....
查看卷组信息            vgdisplay [卷组路径]
查看当前卷组            vgs
创建逻辑卷                lvcreate -n [逻辑卷名称] -L [逻辑卷大小] [分割卷组的名称]
查看当前逻辑卷            lvs
为逻辑卷创建文件系统        mkfs.[系统名称] [逻辑卷地址]
ps:逻辑卷的使用也需要挂载
卷组扩容                vgextend [卷组路径] [设备路径]
逻辑卷扩容                lvextend    -L +[大小][逻辑卷路径]


【注意】如果大小前面不加"+",逻辑卷容量会被直接设置为指定大小,而非单纯扩容;
逻辑卷扩充容量不能马上就使用,需要进行文件系统扩容

文件系统扩容            [系统名][下划线]grows


ps:扩容前需要将挂载卸除


 

实验11:RIP路由汇总实验 当网络中路由器的路由条目非常多时,可以通过路由汇总来减少路由条目数,加快收敛时间和增强网络稳定性。路由汇总的原理是,同一个自然网段内的不通子网的路由在向外(其他网段)发送时聚合成一个网段的路由发送。RIPv1是有类别路由协议,它的协议报文中没有携带掩码信息,只能识别A、B、C类这样的自然网段的路由,因此,RIPv1无法支持路由聚合,也不支持不连续子网,所有路由会被自动汇总为有类路由。RIPv2是一种无分类路由协议,报文中携带掩码信息,支持手动路由汇总和自动路由汇总两种方式。 阅读详情

相关推荐

Oracle 11g R2安装过程中碰到的问题汇总

既然是通过读取.properties文件获取配置安装配置信息,那么,在主机进行grid安装时,如主机中scsi-360022a110003135eb02707d900000003对应sdg分区,部署任务中就填写value为sdg分区,当主机正在进行grid安装,备机尚未进行grid安装时候,root用户登录备机,修改备机上的ora11gR2_x64.properties 文件,将文件中对应的value修改为sdb,从而规避了USMC31版本的一个缺陷。此问题就是通过jar命令解压zip包发现的。

Gavin Blog 1799

Oracle数据库11.2.0.3的PSU补丁修复的BUG汇总

Oracle数据库11.2.0.3的PSU补丁修复的BUG汇总

weixin_42519572的博客 2214

flink1.14.5使用CDH6.3.2的yarn提交作业

使用CDH6.3.2安装了hadoop集群,但是CDH不支持flink的安装,网上有CDH集成flink的文章,大都比较麻烦;但其实我们只需要把flink的作业提交到yarn集群即可,接下来以CDH yarn为基础,flink on yarn模式的配置步骤。

NDF923的专栏 2241

Maven中不能引入ojdbc解决方法:com.oracle:ojdbc6:jar:11.2.0.3

Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 Maven中不能引入ojdbc解决方法,错误 今天从服务器检出Maven项目的时候,遇到了一个问题,就是在pom.xml中引入ojdbc的jar包的时候出错了,提示是Missing artifact com.oracle:ojdbc6:jar:11.2.0.3。这让我很纠结,于是上网查找了相关的资料,终于找到原因了,那就是因为oracle的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源.

Baron_ND的博客 1万+

CentOS 安装 python3.11 教程

CentOS 安装 python3.11教程 并替换默认 python

qq_41501000的博客 8408

Oracle 11.2.0.3.0 RAC升级到11.2.0.4.0

升级数据库是一个十分危险的事情,在生成库上,升级前一定要做个全库的备份,以便在升级失败时可以快速还原数据库 1. 升级GI 1) 下载11.2.0.4 GI软件: 11.2.0.4的下载链接: https://updates.oracle.com/download/13390677.html p13390677_112040_platform_3o

TongYu2009的专栏 2672

对比yolov5的C3,yolov8的C2f,yolov11的C3k2

C3模块基于CSPNet(Cross Stage Partial Network)思想,由三个卷积层构成,分为两条分支:一条通过多个Bottleneck模块堆叠,另一条直接进行卷积操作,最终将两条分支的特征图拼接后输出。引入轻量化设计,如将第一个卷积的核大小从1x1改为3x3,恢复类似ResNet的Bottleneck结构。:在COCO数据集上,YOLOv11的模型参数比YOLOv8减少22%,同时保持更高的mAP。:通过动态结构和注意力机制,更适合复杂场景的高精度需求,但实现复杂度较高。

weixin_38991876的博客 3909

项目实践总结(持续更新中):WSL2命令汇总

wsl --export Ubuntu c:\temp\Ubuntu.tar #备份子系统,备份前应先停止子系统。wsl --import Ubuntu- c:\WSL c:\temp\Ubuntu.tar #还原子系统。wsl --unregister Ubuntu #删除子系统。wsl -l --running #查看运行中的子系统。例如,我想在我的 C盘 中导入之前保存的备份文件。wsl -d Ubuntu #运行子系统。wsl -t Ubuntu #停止子系统。

1202

linux 安装oracle 11g R2 11.2.0.3

*与《redhat5.5 x64 静默安装oracle 11g》这篇文章所不同的是,这里是分步安装: 1.安装11g r2软件 2.创建数据库 3.安装监听* redhat5.5 x64 (rhel5.5 x64) oracle 11.2.0.3 x64 一.准备工作“#”后跟命令表示以操作系统下root用户操作; “$”后跟命令表示以操作系统下Oracle用户操作; 下载软件包 官网

专注大规模数据处理 4180

【向量数据库】Milvus向量数据库 ① 从入门到实战

Milvus是专为海量高维向量设计的开源数据库,支持AI搜索、图像识别、推荐系统等场景。相比传统关系型数据库(如PostgreSQL),它更高效处理语义检索、非结构化数据存储,可毫秒级响应亿级向量查询。单机场景下,推荐配置8GB内存/32GB硬盘,支持FAISS/HNSW等索引算法,支持GPU加速。本文涵盖优快云专属部署教程(CentOS脚本/配置调优),提供避坑指南与扩展资源,并对比分析与传统数据库差异。适合算法工程师、AI开发人员快速上手,附官方下载与性能测试技巧,手把手教你搭建高效向量检索系统!

xiezhiyi007的专栏 1586

Palantir Vertex:数字孪生模拟与决策系统深度指南

Palantir Vertex是Foundry系统中的核心数字孪生模块,本质上是一个决策模拟器而非简单的数据可视化工具。它基于本体层构建,通过对象关系网络模拟现实世界实体,填补数据模型与业务决策间的鸿沟。核心功能包括:创建隔离的沙盒场景进行假设测试、修改参数模拟不同干预方案、对比虚实数据发现异常,并最终将最优决策回传至业务系统。典型应用场景涵盖供应链韧性评估、资产维护优化和应急方案制定等,帮助用户在复杂环境中做出更优决策。

轩哥的个人研究和成长记录 891

11、作业

11

QilanAllen的博客 480

通达信+大智慧数据同步存调DLL

数据同步存调DLL(通达信版+大智慧版)

guleba的博客 2053

解决windows11下无法安装.net framework 3.5(包括.net2.0和3.0)

入域电脑,在win11系统中安装早期软件经常提示需要先进行“.net framework 3.5(包括.net2.0和3.0)”的安装,但是在离线状态下使用直接勾选或拷贝.exe安装包都没有成功。3.输入:dism.exe /online /enable-feature /featurename:NetFX3 /Source:D:\sxs。注:dism.exe /online /enable-feature /featurename:NetFX3 /Source:D:\sxs 这段命令中。

God_me_1的博客 3万+

Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在FC 的运算中,是因为针对每张输入图片,只进行一次卷积操作,而要对生成的Region Proposal,大致两千个,进行全连接操作进行分类与Bounding...

weixin_35747666的博客 1535

华为2024机考真题集合

2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以 2,所得的结果就是中位数。在实际考试中会随机抽三道题目进行考察,其中两道100分卷题和一道200分卷题,总共400分。幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个。3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数。1.众数是指一组数据中出现次数量多的那个数,众数可以是多个。

qq_25360769的博客 5093

Oracle 11g New 带调度程序的轻量作业

新增的调度程序功能:轻量作业 持久轻量作业: • 是使用作业模板创建的 • 是可恢复的 • JOB_STYLE => LIGHTWEIGHT 新增的调度程序功能:轻量作业 有些客户需要每秒创建数百个作业。对于定期作业,每个作业都要创建一个数据库对象,用于描述作业、修改多个表以及在进程中创建重做。在Oracle Database 11g调度程序中,有一个持久轻量作业。轻量作业

一抹曦阳-Oracle 4205

【乐企】有关乐企能力测试接口对接-基础版(详细)

乐企能力测试接口对接详细代码以及步骤

九七的博客 7658

服务器应用越狱修复,iOS 11.2-11.3.1越狱问题汇总 iOS 11.2-11.3.1越狱错误及修复教程...

自7月8日Electra团队已正式发布了苹果iOS 11.2-11.3.1“不完美”越狱以来,已有超过6万台设备成功越狱。同时各大论坛也有很多用户反映不能成功越狱苹果iOS 11.2-11.3.1,那么在iOS 11.2-11.3.1越狱过程中都会遇到哪些问题?iOS 11.2-11.3.1不能成功越狱怎么解决?一、越狱不成功iOS 11.2-11.3.1越狱不成功,可试下以下四种方法:1. 安装...

weixin_36285230的博客 1017

RTDETR最强结构图 | 包含模型整体结构图 | 全模块展开图 | AiFi模块展开图

RT-DETR 最全结构图

Coding... 9597

【人工智能】Gemini怎么使用智能体的能力? Gemini Gems: 定制你的AI智能体

Gems 是 Gemini 的定制版本。你可以通过设定特定的指令(Instructions),让它变成你需要的专家。一旦创建,它会记住这些设定,你不需要在每次对话时重复输入背景信息。目前创建和使用自定义 Gems 通常需要订阅(Google One AI Premium 计划)。对于大多数用户来说,Gemini Advanced 中的 Gems是使用智能体能力的最直接方式。它能让你把重复性的提示词封装成一个好用的工具。

奶爸的编程之路,也就一周冷个三天 778

win11+cuda11.3+cudnn11.3+Anaconda+PyTorch

windos11系统下安装cuda11.3、cudnn11.3、Anaconda、PyTorch全过程。

weixin_42179158的博客 6844

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Solaris10、11操作命令汇总

服务管理 # svcs - report service status ## 显示所有服务状态 svcs -a 或 svcs ## 显示<服务>的依赖列表 svcs -d <服务> ## 显示依赖<服务>的其他服务列表 svcs -D <服务> ## 显示<服务>的PID svcs -p <服务> ## 显示<服务>的所有可用信息 svcs -l <服务> ## 显示<服务>的日志目

刘元林的博客 2288

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Oracle 11g升级至11.2.0.3

补丁在百度网盘里面 一.查看DB 相关的信息   我们安装的是64位的DB。   [oracle@dave ~]$ sqlplus / as sysdba;   SQL*Plus: Release 11.2.0.1.0 Production onWed Sep 28 10:23:51 2011   Copyright (c) 1982,

mws1108的博客 3041

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

从 openSUSE 11.2 升级到 11.3

<br />没想到今天 openSUSE 11.3 在7月中旬就发布啦!<br />其实11.2用起来挺好的,不过还是忍不住诱惑要升级到11.3去。<br />首先按照官方升级系统的方法,添加 11.3 的几个软件源:<br /> <br />#zypper modifyrepo --all --disable // 禁用所有软件源 // 添加三个主要的安装源 #zypper addrepo --name "openSUSE-11.3 OSS" http://download.opensuse.

Meng You的专栏 1605

2.【基于深度学习YOLOV11的工人安全作业检测系统】

因为大小限制,故对齐进行了抽帧,所以可能看起来怪怪的!PySide6是 Qt 官方发布的 Python 绑定库,用于开发跨平台的桌面应用程序。它提供了一个高效、功能丰富的 GUI (图形用户界面) 框架,能够帮助开发者快速构建现代化的桌面应用程序。PySide6 是 Qt 6 的 Python 绑定,它与 Qt 5 版本的 PySide2 或 PyQt 库相比,提供了更好的性能、更现代的特性以及对 Qt6 的支持。

qq_63913621的博客 2124
上一篇: 11.3作业1
下一篇: 1.7云计算数据库作业
UseLessQQ
博客等级 码龄3年 73粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值