安装软件,包管理以及包升级
下载软件前可以先search一下看看有没有
yum search xxx
如果找到了再执行下面的指令(update可以不用这么频繁执行)
yum update -y
yum install xxx -y
删除安装包
yum remove xxx(会把相应的依赖也删除)
列出安装包列表
yum list
centOS换源
centos里面的软件源存放在.repo文件里,在/etc/yum.repos.d/里面就可以看到各种各样的repo文件
1.备份旧的软件源(这一步有可能会失败,显示没有CentOS-Base.repo,实际上有些centos8用的是CentOS-Base.repo.rpmsave,失败了就进行步骤2就行)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.下载新的repo源到/etc/yum.repos.d/里面
wget -O filename url 将下载下的文件写入filename中
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
3.如果是非阿里云服务器下载阿里源,要替换部分字段才能用(删除跟阿里云服务器相关的部分)
sed -i -e ‘/mirrors.cloud.aliyuncs.com/d’ -e ‘/mirrors.aliyuncs.com/d’ /etc/yum.repos.d/CentOS-Base.repo
4.生产缓存
yum makecache
5.更新一下源
yum -y update
常用指令
echo ‘xxx’ >> file
将某条指令写入文件,以追加方式,如果是>则是先清空file里面的内容再加入’xxx’
查看端口是否被占用
lsof -i:端口号
netstat -ltunp //查看端口使用情况
netstat -ano | grep [port]
查看内存
free -m
查看磁盘使用情况
df -h
查看任务状态
top (按q退出,一般跟grep用)
在top里面,有内部指令(区分大小写)
M: 按内存占用大小排序
P: 按CPU占用大小排序
q: 退出
查找文件
查找文件一般用find指令
常用的选项:
-name :按名字查找,支持正则 比如 find / -name “*.java”
-type:按类型查找,d表示文件夹,f是普通文件
-user: 按照用户查找
-perm :按权限查找 -perm 755这种
find [开始目录] [options] [条件]
查看进程动态
一般使用ps指令
常用选项:
-ef: 使用带有 -ef 选项的 ps,返回系统中所有用户的所有进程的完整列表。
-aux: 这个更像top,以user,cpu…显示的
ps [选项]
文件比较指令
一般用diff和sdiff
diff输出的第一行是file1经过怎么样的变化可以变成file2
比如
1c2表示第一行,有两个字符需要更改,才能从file1变成file2
sdiff会将不同之处直接并列对比显示出来
diff file1 file2
sdiff file1 file2
tail
tail用来查看文件内容,比cat更方便,从文件尾查看。另外head跟tail指令用法一样,从文件头开始查看
常用参数:
-f 循环读取,高频指令,常用来查看log
-n<行数> 显示文件的尾部 n 行内容
tail [参数] [文件]
压缩与解压
一般用tar指令,-v表示可视化,-f表示解压/压缩文件,这两个参数都是一样的
压缩一般是-c(compress)解压一般是-x,-C表示解压或者压缩到哪个目录
如果是.tar.gz文件,则还要带上参数-z
而如果后缀是.bz2的,则要带上参数-j
压缩:
tar -cvf xxx.tar file1,file2,… -C dir
解压一般是-x
tar -xvf xxx.tar -C dir
nohup
挂到后台运行
nohup [command] &
丢弃输出
nohup [command] >> /dev/null 2>&1 &
sed
常用来处理文本文件,自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
总的来说可以是sed [选项] [动作] [被操作文件]
常用的选项:-efir
-e 后面接脚本命令,一般是一句话
-f 后面接脚本文件
-i 直接对脚本文件操作,不输出到终端
-r 正则语法
常用的动作:
a:追加 向匹配行后面插入内容
c:更改 更改匹配行的内容
i:插入 向匹配行前插入内容
d:删除 删除匹配的内容
s:替换 替换掉匹配的内容
p:打印 打印出匹配的内容,通常与-n选项和用
前面可以带数字,带数字表示行号
可以带斜杠,斜杠表示匹配,如
sed ‘/123/ahello’ 1.txt #向内容123后面添加hello,如果文件中有多行包括123,则每一行后面都会添加
sed ‘/123/d’ 1.txt #删除匹配123的行
sed [-e
awk
awk一般也跟ls,free -m这些指令使用 都在|后面作为管道输出
awk ‘条件1 {动作 1} 条件 2 {动作 2} …’ 文件名
awk -F分隔符 ——定义awk的读入分隔符
awk -v 内置变量:定义变量
BEGIN 是 awk 的保留字,是一种特殊的条件类型。BEGIN 的执行时机是"在 awk 程序一开始,尚未读取任何数据之前"。
awk ‘BEGIN{…}…’
END 也是 awk 的保留字,不过刚好和 BEGIN 相反。END 是在 awk 程序处理完所有数据,即将结束时执行的。END 后的动作只在程序结束时执行一次
awk ‘…END{…}…’
除了以上,awk还有内置变量
awk动作:
${n}表示文件中第n个数据,awk按每一行读入,常用动作有print和printf,作为输出
更详细的可以看这篇bloghttp://www.ruanyifeng.com/blog/2018/11/awk.html
重定向
linux中重定向符号是>和>> ,前者是以覆盖形式重定向,后者是追加形式重定向,文件描述符有0,1,2如下所示:
linux中用0代表标准输入,1代表标准正确输出,2代表标准错误输出。
使用>或者>>对输出进行重定向。符号的左边表示文件描述符,如果没有的话表示1,也就是标准输出,符号的右边可以是一个文件,也可以是一个输出设备。当使用>时,会判断右边的文件存不存在,如果存在的话就先删除,然后创建一个新的文件,不存在的话则直接创建。但是当使用>>进行追加时,则不会删除原来已经存在的文件。
重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,也就是错误输出将会和标准输出输出到同一个地方。比如常用的2>&1表示错误输出和标准输出用一个通道
cat … >> xxx.txt 2>&1 //2>&1表示重定向绑定
一般/dev/null表示丢弃输出,跟nohup一起可以起到后台挂起不输出日志的作用
nohup command >> xxx.log 2>&1 &
杀死进程的指令
一般用kill和killall
killall常用选项:
-i : 交互模式,杀死进程前先询问用户
-I: (大写i) 忽略进程名大小写
kill -9 [pid]
killall [选项] [进程名]
进程名可以用ps -ef获取(一般CMD由进程名+执行参数构成)
more
可以理解为加强版的cat
内置有很多骚操作
Ctrl+F ——向下滚动一屏
空格键——向下滚动一屏
Ctrl+B——返回上一屏
= ——输出当前行的行号
q ——退出more
more [文件名]
用户与组操作
添加用户
useradd和adduser
在centos中无区别
在ubuntu中 useradd要指定shell版本,密码,等等
删除用户
userdel -r [用户]
设置密码
passwd [用户]
赋予sudo权限
vim /etc/sudoers
添加
[用户] ALL=(ALL) ALL
权限查看
ls -l显示出来的最左边一栏表示权限
比如:drwxrwxrwx
最左边一个表示文件类型
后9位表权限,依次为:所属者权限,组权限,其他用户权限
修改用户信息
高频指令,常用选项有如下:
-G:修改用户的附加组原来的附加组会被删除 要想追加附加组使用参数 -a,一般-aG连用,表示加入哪个组,多个组用,分开
-g:修改用户的基本组,初始创建账户的时候组名和用户名相同
usermod [选项] 用户名
更改文件权限
chmod [数字] [file]
数字为3位,8进制