首页 > 系统相关 >Linux命令

Linux命令

时间:2023-08-26 12:33:23浏览次数:41  
标签:iptables -- rpm 命令 yum Linux 安装 数据包

 

文章目录

 

1.用户管理

切换用户
su user1

新增用户
useradd
-d 目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。

创建一个带有家目录,并且可以登录 bash 的用户
sudo useradd -m -s /bin/bash user1

增加密码
passwd 选项 用户名
e.g.passwd user1

删除用户
userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。

组管理
groupadd group1 #新增组
groupdel group1 #删除组

RHEL/centos6.X及之前忘记密码

1.grub找到当前系统引导项。如果有多个可用内核,则会有多个引导选项。按e,进入编辑状态。

2.选中带有kernel指令的一行,继续按e键,编辑该行,在行末尾价格空格,然后添加single。

3.按Enter键,返回到刚才的界面。按b键,系统开始引导。

4.单用户模式启动完毕,系统自动进入命令行状态下,输入passwd,改密码。

5.输入init 3,切换到多用户模式下。用root登陆系统即可。

单用户模式与Windows的安全模式类似,只启动最基本的系统,网络以及应用服务均不启动。

RHEL/centos7忘记密码

1.找到当前系统引导选项,开机e,进入编辑模式

2.以“Linux16”开头的行,在该行的最后面追加 “init=/bin/sh”

3.ctrl+X启动shell引导,最后进入单用户模式

4.后输入

mount -o remount,rw / #挂载根目录,读写

passwd

touch /.autorelabel #如果系统已开启了SELinux,还需要在根分区中创建autorelabel文件,否则系统无法正常启动。

也可查看SELinux是否开启 /usr/sbin/sestatus

exec /sbin/init #reboot已无效,全路径命令或exec  /sbin/reboot


2.磁盘管理

disk usage:du;disk free:df。
du -sh * #统计一级目录文件或文件夹合起来的大小。或du -lh --max-depth=1。
du -h #显示的是递归的所有文件大小。
df -h #显示磁盘分区情况。及挂载点。
lsblk #列出块设备信息,为挂载的

挂载磁盘

fdisk -l #查看硬盘,发现新的硬盘/dev/sda

fdisk /dev/sda #“n”创建新分区,“p”创建主分区,按提示

fdisk -l #查看分区情况

mkfs.ext4 /dev/sda1 #格式化sda1分区

mkdir /data1 #根目录下创建挂载点

mount /dev/sda1 /data1 #挂载分区

df -h #验证是否挂载成功

dd if=/dev/zero of=/data1/test bs=1M count=10240 #测试挂载盘,后手动删除/data1/test

vim /etc/fstab #配置开启自动挂载,最后一行写入:/dev/sda1 /data1 ext4 defaults  0  0

reboot重启,df -h验证是否自动挂载

 

 


3.文件管理

创建
创建目录
mkdir
touch

复制
cp
移动
mv
删除
rm
查看
cat
more
less
head #查看头部
tail #查看尾部
编辑
压缩
过滤
grep
查找
local
which
whereis


4.进程管理

a.查看进程

ps aux 
   

b.服务管理

service 服务名 [start|stop|restart|reload|status]
systemd:systemctl是一个systemd工具

c.后台运行(守护进程)

早期使用&,将进程放到后台运行,然后再使用jobs、bg、fg。
推荐nohup和screen。
nohup #no hang up不挂起,用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

screen -S name #新建屏幕取名字,断开ssh后再连能恢复。
退出当前screen但不关闭 #crtl+A然后D
screen -list #显示所有后台
screen -r #恢复
screen -S name -X quit #删除
screen -wipe #清理remove的屏幕

tmux复用终端,可查

d.启动项

ls -l /etc/init.d/ #???


5.软件管理

系统平台包类型工具自动解决依赖
RedHat系列/Centos RPM rpm yum
Debian系列/Ubuntu DPKG dpkg apt
rpm包预先编译打包,安装简单软件版本偏低
源码包 手动编译打包,安装繁琐 有源码,可二次开发
二进制包 解压即可使用, 安装简单 不能修改源码

a. rpm包之手动安装

rpm包 #bash-4.2.46-28.el7.x86_64.rpm
#软件名-版本号-发布次数.发布版本.硬件平台.后缀rpm

包中含有:安装释放的文件、软件包的元数据(版本,发布号,架构,描述,要求,更改日志等) 、安装前执行的脚本和安装后的脚本。

手动从官网等,下载rpm文件。

1手动安装
rpm -ivh # -i 安装、-v 详细信息、-h 安装进度
–test #测试是否能够安装成功
–force #强制重新安装,如果存在
–nodeps: #忽略依赖关系

2卸载
rpm -qa |grep sh #先查询, 然后卸载
rpm -e zsh

3查询
rpm -q #查看指定软件包是否安装
rpm -qa #查看系统中已安装的所有RPM软件包列表
rpm -qi #查看指定软件的详细信息
rpm -ql #查询指定软件包所安装的目录、文件列表
rpm -qc #查询指定软件包的配置文件
rpm -qd #查询指定软件包的帮助文档
rpm -qf #查询文件或目录属于哪个RPM软件
rpm -q --scripts #查询rpm包安装前和安装后执行的脚本

#查询未安装的软件包信息
rpm -qip //查询未安装的rpm包详细信息
rpm -qlp //查询未安装的软件包会产生哪些文件

b. rpm包之yum安装

yum是软件包管理器,自动下载rpm包,并可以自动处理依赖关系。

yum源:包含各种rpm软件包的repository(软件仓库),称之为yum源或者yum 仓库,这个源可以是本地的也可以是网络的。

yum源的配置:/etc/yum.repo.d/目录下
base源:很多软件集合的在线仓库,也称为base基础源。
epel源:也称为拓展源,拥有很多base源没有软件。
第三方源:比如nginx,zabbix,docker等第三方开源软件的官方仓库。

#yum更换源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #①备份两个源
cd /etc/yum.repos.d #②切换目录
wget http://A.repo #③下载
mv A.repo /etc/yum.repos.d/CentOS-Base.repo #④更名
yum clean all #⑤清理、产生新的缓存
yum makecache

#yum源
yum provides ifconfig #查找哪个包内含有ifconfig。
yum repolist #列出yum源可用的软件仓库
yum repolist all #列出全部yum源可用和禁用的仓库

#yum缓存
yum makecache #缓存yum源软件仓库, xml元数据文件
yum history #查看历史执行yum命令

#yum安装
yum install php -y #直接安装, 无需交互
yum localinstall /mnt/xx.rpm #安装本地的rpm包,自动下载依赖。
yum install http://a.com/xx.rpm #安装网络上rpm包。

#yum更新
yum check-update #对比已安装的软件和yum仓库中的软件, 有哪些需要升级
yum update A -y #更新A软件

#yum删除
yum erase A -y #删除该软件包,会删除依赖
yum remove A -y #

#制作本地源:有时内网,需要制作本地源。

c. 源代码安装

.tar、tar.gz、tar.bz2、tar.Z
1、首先解压缩源码压缩包

先读一下README之类的说明文件

2、./configure (检查编译环境)设置安装目录、安装模块等选项,生成makefile。

3、make (对源代码进行编译)将makefile生成可执行的二进制文件。

4、sudo make install (将生成的可执行文件安装到当前计算机中)复制二进制文件到系统,配置应用环境。

5、make clean (选择执行,主要是用来清除一些临时文件)

d. 二进制安装

下载的二进制包解压后放到合适的目录,然后将包含可执行的主程序文件的目录添加进PATH环境变量即可。
二进制文件,就是编译好的程序,相当于win的exe文件。一般在bin内。


6.防火墙

a. netflter/iptables功能

数据包过滤,即防火墙
数据包重定向,即转发
网络地址转换,即可NAT

如果数据包头符合这样的条件,就这样处理这个数据包。
规则存储在内核空间的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCP、UDP、ICMP)和服 务类型(HTTP、FTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,比如放行(ACCEPT)、拒绝(REJECT)、 丢弃(DROP)等
我们就需要在内核中设置“关口”,所以进出的数据报文都要通过这些关口,经检查,符合放行条件的准允放行,符合阻拦条件的则被阻止,于是就出现了input和output关口,然而在iptables中我们把关口叫做“链”。
在这里插入图片描述

规则在“链”中,有input链、output链、forward链。

b. iptables:“五表五链”

filter表:过滤器,进入当前机器的数据包过滤,及出去的也过滤,不符合条件的不发出去。
nat表:目的地址、目的端口、发出去时源地址、源端口改了,起到转发作用。
managle表:给数据包做标记,几乎用不到。
raw表:几乎用不到。
security表:太复杂,几乎用不到。
规则优先:security -->raw–>mangle–>nat–>filter

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口号 <-d 目标IP/目标子网> --dport 目标端口号 -j 动作

iptables-t表类型-D-
    nat地址转
换filter包过滤
-A末尾插入
-I指定位置插入,默认第一行。
-D删除
-R替换
ACCEPT :接收数据包。DROP :丢弃数据包。
REDIRECT :重定向、映射、透明代理
SNAT :源地址转换。
DNAT :目标地址转换。
MASQUERADE :IP伪装(NAT),用于ADSL。
LOG :日志记录。

iptables -L # 查看iptables规则
iptables -L -vn # 查看iptables规则(详细信息)

iptables -F # 清除所有规则,不会处理默认的规则
iptables -X # 删除用户自定义的链
iptables -Z # 链的计数器清零(数据包计数器与数据包字节计数器)

iptables -nL --line-numbers # 查看规则号码
iptables -D INPUT 1 # 删除指定链上的指定序号

c. firewalld:

firewalld自身并不具备防火墙功能,而是和iptables一样需要通过内核的netfilter来实现。
首次安装firewall-offline-cmd --zone=public --add-port=2018/tcp,离线方式添加ssh的修改过的端口,然后再启动。

i. 查看状态

查看firewall服务状态#:systemctl status firewalld
查看firewall的状态:firewall-cmd --state

ii. 开启关闭重启

# 开启:service firewalld start
# 重启:service firewalld restart
# 关闭:service firewalld stop

iii. 开放端口、移除端口

查看防火墙规则
firewall-cmd --list-all

# 查询端口是否开放
firewall-cmd --query-port=8888/tcp
# 开放80端口
firewall-cmd --permanent --add-port=8888/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8888/tcp

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload


7.网络管理

ip addr #查看本机是否分配IP。
cd /etc/sysconfig/network-scripts/ #网卡配置文件的目录。
vi ifcfg-eno16777736 #查看对应的网卡文件。ONBOOT=no ,修改为ONBOOT=yes,激活网卡。
查看网卡信息
IfconfigCentOS 7 之后,改用ip。
重启网卡
service network restart
或者
systemctl restart network
数据包
IP数据包(第三层网络层)里面包住: tcp数据包(第四层传输层)可靠、握手
udp数据包(第四层传输层)可一对多
查看端口占用情况:
netstat -tunlp
研究下netstat命令
ss命令:ss
lsof 命令:

  1. linxu的FTP无法上传时:
    FTP协议默认端口 放行端口:[21]
    FTP主动模式数据端口 放行端口:[20]
    FTP被动模式端口范围 放行端口:[39000-40000]

  2. rDNS PTR(DNS反向解析)
    PTR:将ip地址解析为域名,与A记录相反。

 

centos ipv6配置参考

先获取ipv6地址、掩码、ipv6网关
vi /etc/sysconfig/network-scripts/ifcfg-eth0

IPV6ADDR="生成的IPv6地址/48" #注意,/48不丢失
IPV6_DEFAULTGW="IPV6网关"

service network restart #重启网络
ping6 -c4 ipv6.google.com #测试

 


8.系统管理


9.安全配置

efe71f32-7042-4a94-bf91-e36992dd5da0

标签:iptables,--,rpm,命令,yum,Linux,安装,数据包
From: https://www.cnblogs.com/csnotes/p/17113305.html

相关文章

  • ssh连华为云的linux服务器报 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    谜底啊,就藏在谜面上└─#sshuname@ip-p22@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ITISPOSSIBLETHATSOMEONEISDOIN......
  • Linux设备驱动开发详解——学习笔记
    Linux设备驱动概述计算机系统的运转需要软件和硬件共同参与,硬件是底层基础,软件则实现了具体的应用。硬件和软件之间则通过设备驱动来联系。在没有操作系统的情况下,工程师可以根据硬件设备的特点自行定义接口。而在有操作系统的情况下,驱动的架构则由相应的操作系统来定义。驱动存......
  • openeuler linux内核4.19安装(centos 同理)
    linux内核安装:安装内核步骤下载相应内核版本【我这里用的是linux-4.19.90.tar.gz】下载网址:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/解压缩到自定位置【我这里是/root/桌面/send/】安装内核图像界面依赖【已安装则跳过】 yuminstallncurses-deve......
  • Linux 多点电容触摸屏实验
      https://blog.51cto.com/u_14943525/5435770 Linux多点电容触摸屏实验 原创wx5f6a96e093b032022-07-0200:03:41博主文章分类:Linux嵌入式——驱动开发©著作权文章标签linux#include触摸屏文章分类运维阅读数4481.电容触摸屏驱动框架1.1MT协议讲解①、电......
  • Allure常用命令
    命令格式:allure [option]  [command]  [commandoptions]allure--help帮助allure--version查看版本信息allureserve 生成在线版本的测试alluregenerate<allure-result中间文件> -o  输出目录(默认路径:allure-report)引入依赖<?xmlversion="1.0"e......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • git_使用git worktree命令使不同分支的代码文件可以同步运行
    情景再现:我本地代码正在开发后台系统的过程中,前台开发的同事时不时地会来找我要IP地址,使用正在开发的后台管理系统来进行一些数据的增删改查.这个时候直接提供正在开发的版本的开发服务器地址是不行的,因为随着代码的编写时不时的报个bug是家常便饭,对于使用者来说非常......
  • linux 查询日志
    1定位错误日志所在的行数cat-ntest.log|grep"查找的错误关键字"2得到错误关键字所在行号(假设为第500行),查询错误关键字前后100行数据    cat-ntest.log|tail-n+400|head-n2003  查看日志中出现关键字 "错误的关键信息提示"的前后10行内容 cat-n......
  • [20230825]dc命令复杂学习.txt
    [20230825]dc命令复杂学习.txt--//前几天学习dc使用,我当时最后举了一个累加的例子,里面--//-e后面那一串什么意思,即使看了mandc文档,我当时也没看懂表示什么意思.尝试看了man文档,简单解析如下:--//我从文档里面取出相关说明:[characters]Makesastringcontainingcharacters......