Linux学习

Linux的操作系统说明安装和系统维护方式

1、操作系统说明

  • 现存操作系统(centos 6.3、centos7.2、centos 7.3 、centos 7.5、centos 7.9、ubuntu20.04、EulerOS 2.0)

2、Linux安装部署

  • 注意硬件要求操作系统的版本(bios 可查询)
  • 磁盘分区合理化

3、Linux日常命令使用

3.1 操作系统目录结构
  • ls 查询目录

  • 在这里插入图片描述

  • 树状目录结构

  • boot (核心文件)

  • dev (驱动文件)

  • home (家目录)

  • tmp (零时文件)

  • var (日志文件)
    常用目录:home 、opt、 appslog业务

3.2 系统维护方式
  • 1) 服务器与之间的终端连接管理服务器,直接在Linux服务器上执行ssh命令
  • #ssh user@127.0.0.1 -p 端口 回车后,输入对应密码则可正常登录》。
  • 2)工具管理服务器,一般常用的有Xshell、SecureCRT;功能强大,内嵌sftp,支持命令保存,多步跳转操作输入,端口隧道等功能。
  • xftp(文件传输)、Xshell使用、登录跳转、隧道
3.3 常规命令使用
(1)ssh 命令是一种用于远程登录、数据传输和命令执行的安全协议
  • #ssh 127.0.0.1 (直接登录目标服务器,默认是root登录,端口号22)
  • #ssh user@172.0.0.1 -p 1218(通过user用户,指定端口为1218为目标端口)
(2) scp 命令是一种文还能传输方式,用ssh协议进行加密,安全可靠的将文件传输从一个系统传输到另一个系统
  • #scp local_file user@remote_hostremote_folder(将本地文件复制到远程服务器上)
  • #scp user@remote_host/tmp/remote_file local_folder(价将服务器上的文件复制到本地指定目录下)
  • #scp -r /home/test user@1.1.1.1:/home/user/(scp的-r 选项指定递归复制,将本地目录/home/test复制到远程服务器1.1.1.1的/home/user目录下)
  • #scp -P 1218 /home/test.txt user@1.1.1.1:/home/user/(scp默认使用22号端口传输,如果是非22端口,可以使用-P 选项指定端口)
sftp 是一种安全文件按传输协议,基于可靠数据流文件存取和管理的网络传输协议,是ftp的增强版
  • #sftp 127.0.0.1(直接远程连接目标服务器的ftp,默认账号是root,端口22)
  • #sftp -P1218 user@127.0.0.1(指定端口登录目标服务器用户user 的ftp )
rz 该命令是Linux系统下用来从Windows系统上传文件到Linux系统的命令
  • #rz 该操作需要使用xshell 登录目标Linux服务器
  • 注意:如果该服务器通过多次跳转,且文件大小大于3M以上,需要在第一次跳转的Linux服务器上传,不然会出现大量的报错,最终只能通过 Ctrl+Z或者Ctrl+C来终止
sz 将选定的Linux文件传到本地电脑上,需要在Linux服务器上安装lrzsz才能使用
  • #sz (在xshell软件上登录到目标服务器,输入sz file ,会弹出一个选项框,选择对应的位置,该文件就是下载到本地了,一般做数据分析使用)
sync、find
  • sync 命令可以是内存中的数据与磁盘中的数据相同,目的是在使用find命令前执行一次这样的命令(通常该命令不用执行,系统会自动执行update或者bdflush操作,如果该服务器做了非正常关机才需要执行该命令)
  • find 用于查询指定目录中符合参数条件的文件,如果不设置任何参数,直接执行该命令则会将当前路径下查询子目录与文件全都显示
  • #find /etc -name passwd (按照名字查询文件)
  • #find /etc -size -3M (按照大小查询文件)
  • #find /etc -type -d(按照文件类型查询文件)
wget 、curl
  • wget 可以从网络下载文件,从Internet上面获取数据并将其保持到本地上
  • #wget https://www.baidu.com
  • curl命令指定对URL进行网络传输,得到数据后不做任何处理,
  • #curl https://www.baidu.com(执行后直接在屏幕上显示网站内容,该命令与wget不同的地方在于,该命令可以带多种类型的命令,比如发送get请求、发送post请求、发送json请求)
tar、zip、unzip
  • tar 命令用于打包和压缩,打包是将多个文件做成一个文件包,解压时候不需要选择哪种tar解压格式

  • #tar -cvf myfile.tar ceshi.txt (压缩参数+压缩后的文件名+要压缩的目标文件)

  • #tar -xvf myfile.tar -C /home (解压参数+解压包名±C +解压目录)

  • zip 命令用于压缩文件

  • #zip -r myfile .zip /home/ceshi(将/home/ceshi目录下的文件打包成myfile.zip )

  • #zip -rP passwd myfile.zip /home/ceshi(-rP 为加密压缩带密码 )

  • unzip 命令用于解压缩

  • #unzip myfile.zip (将该压缩包解压缩 )

  • #unzip -P passwd myfile.zip (解压加密压缩的压缩 包)

hwclock、date 、ntpdate
  • hwdate 用于查询和设置硬件时钟
  • #hwdate (查看硬件时钟)
  • #hwdate -w(将系统时间同步到硬件时钟)
  • date 用于显示或设定系统时间
  • #date (查看系统时间)
  • #date -s ‘2023-07-21 12:00:00’(将系统时间按设置成2023年7月21日的12点)
  • ntpdate 同步更新互联网时间,可以使计算机对其服务器做同步化做到高精度的时间
  • #ntpdate 1.1.1.1 (同步远端IP为1.1.1.1的时间同步服务器)
3.4 系统维护命令使用
ps 、pwdx、netstat、jps、kill、killall
  • ps 查询进程的命令

  • #ps aux|grep python3(查看系统上有哪些python3进程在运行)

  • pwdx通过pid寻找程序路径

  • #pwdx 进程号(通过ps -aux 查询到进程号在通过该命令查询该程序的实际路径)

  • #netstat 是一个强大的网络工具,它能够提供网络连接、路由表和网络接口等信息,可以查看端口号

  • #netstat -anltp|grep :22(查看系统上是否开放了22端口)

  • jps 用于查询正在运行的Java进程(该命令安装后才可使用 #yum install java-1.8.0-openjdk-devel.x86_64)

  • #jps (查看运行的Java程序)

  • #jps -l (查看系统运行的Java程序的路径和进程号)

  • kill 根据一个信号给出特定的动作

  • #kill -9 进程号(通知某个进程)

  • killall 用于杀死指定名称的进程,不常用

head 、tail
  • head 用来显示文件的开头的标准输出
  • #head file (默认显示文件的前十行)
  • #head -n 5 file (显示文件的前五行内容)
  • tail 从指定点开始将文件写到标准输出
  • #tail file (默认显示文件末尾的10行数据)
  • #tail -f file.log (显示正改变的日志文件)
  • #tail -100f file.log (显示末尾100行数据并且显示这个在改变的日志文件)
top 、free 、df 、du 、wc、ethtool
  • top 可以实时显示系统中各个进程的资源占用情况,可以查询CPU占用情况,距离上次服务器重启有多少天,多少进程在运行,内存状态,各个进程使用硬件资源状况
  • #top ->enter->1(输入top后在执行enter,然后再按1可以监控每个逻辑CPU的使用情况)
  • #top ->enter->c(显示当前运行的进程的完整路径及命令)
  • free 可以实时监控系统的内存使用情况
  • #free -m (查看内存的兆,主要包括总大小、已使用多少、剩余多少)
  • #free -g(查看内存的G,主要包括总大小、已使用多少、剩余多少)
  • df 检查文件系统的磁盘空间占用情况
  • #df -h (查看磁盘空间的的使用情况和剩余情况)
  • #df -i (查看磁盘的iNode索引值的使用情况和剩余情况)
  • #cat /proc/meminfo | more 查看内存的准确值
  • du 统计目录或文件所占磁盘空间大小
  • #du -sh /home/ (查看/home/目录占用磁盘大小)
  • #du -sh file (查看文件占用磁盘大小)
  • wc 统计文件内容,主要用于统计文件中的字节数、单词数、行数
  • #cat /etc/passwd/wc -l(查看/etc/passwd文件有多少行)
  • ethtool 查看网卡
  • #ethtool eth0 (查看eth0 网卡的模式,类型,link状态)
dd 、time
  • dd 主要用来数据备份,并且可以在备份过程中进行格式转换,它的重要用途可以测试磁盘读写能力
  • #dd if=“输出文件” of=“输出文件” bs="数据块"count=“数量”
  • time dd if=/dev/zero of=tmp/test bs=1024k count=1000(/dev/zero 是一个伪造设备,只产生空字符流,对它不会产生IO,所有IO都会集中到of文件中去,of 文件只用于写,这个命令相当于测试磁盘的写能力,写一个G文件IO写的效率如何,花费多长时间)
  • time dd if=/dev/mapper/centos of=/dev/null bs=10M count=1000(测试读能力)
  • time dd if=/dev/mapper/centos of=tmp/test bs=1M count=1000(慎用,同时测试读写能力,)
  • time 用于测量一个命令的执行时间
watch 、nohup、tcpdump
  • watch监测一个命令的持续性运行结果,监视结果变化
  • #watch -n 1 netstat -ant(每隔一秒显示网络连接数变化情况,使用Ctrl+ C退出)
  • #watch -n 1 ipconfig | grep (可查询接口流量)
  • #watch -n 0.1 ‘ps aux |grep python3’(每隔一秒监视python3程序运行情况)
  • nohup忽略所有挂断信号,在注销后使用nohup命令运行后台中的程序,并在当前目录下产生nihup.out日志
  • #nohup python3 policy_sync_client.py>/devnull 2>&1 &(将写好的Python循环脚本通过nohup 做一个空输出并通过&持续运行在后台)
  • tcpdump可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具
  • tcpdump -i eth0 host 1.1.1.1 -w /tmp/ceshi.pcap -vvv(捕获带有1.1.1.1的ip 的eth0接口流量,并将结果保存在/tmp/ceshi.pcap 中,-vvv 表示在线打印多少个包动态显示,pcap文件可以sz到本地主机上通过wireshark分析流量)
3.5 vi 、vim命令使用

1、光标倒第一行:gg
2、光标到最后一行:GG
3、set nu 将文件展示行号
4、删除10-20行 : 10gg 让输入10dd
5、对上一次操作回退:u
6、筛选文章某个字段: /字段名称
7、将筛选的文件往下查看输入n,网上看输入N
8、yy用于复制文件,p用于粘贴文件
9、在当下光标的下一行编辑数据,直接输入o

3.6 三剑客命令使用
awk
  • 强大的文本处理工具
  • #cat /var/log/secure|awk ‘{print $1 }’(查看并获取安全日志以默认空格位分隔符截取所有行的第一列数据)
  • #cat /var/log/secure | awk -F ‘:’ ‘{print $2}’(查看并获取安全日志以“:”为分隔符截取所有行的第二列数据)
  • #du -s /home/* | awk ‘{print sum=sum+$1}’|taill -n 1(用du -s 获取home目录下所有文件对应的文件大小,通过awk得出home目录的文件总大小,tail取最后一个总量值)
grep egrep
  • grep 是一个文本搜索工具,可以配合正则表达式搜索文本,并把匹配的打印出来
  • #grep -n root /etc/passwd
  • #grep -v root /etc/passwd
  • #grep -i root /etc/passwd
  • #cat /etc/passwd | grep root
  • #ps aux | grep xsa |grep -v grep (查看xsa进程是否存在,并且排除grep进程)
  • egrep 是grep 增强版,和grep -E 效果一样
  • #egrep ‘root|deamon’ /etc/passwd(包含两个关键字)
sed
  • 在线编辑器,一次处理一行,常用作替换文本操作
  • #sed -i ‘s/task77/task78/g’ /tmp/test(修改/tmp/test文件中,task77修改为task78,后面添加参数g,保证每一行所有的目标字符都被替换)
  • #sed -n ‘10p’ /tmp/test(查看第十行的数据)
3.7 iptables使用说明
  • 集成在Linux内核的包过滤防火墙,使用iptables可以添加、删除具体的过滤规则,默认维护着4个表5个链,主要关注INPUT和OUTPUT
  • 在这里插入图片描述
  • iptables 操作用法

1、停止并屏蔽firewalld (centos7.0以下可省略)
systemmctl stop firewalld
systemmctl mask firewalld
2、安装iptables (7.0版本需要重新安装iptables)
yum install iptables-service(设备必须上网)
3、设置开机启动(7.0版本一下可省略)
systemmctl enable iptables.service
4、启动服务步骤
service iptsbles restart
service iptsbles start
service iptsbles status
5、常规配置iptables 的格式
iptables -P INPUT ACCEPT(全部放行)
iptables -P FIREWALLD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F(刷新)
iptables -INPUT -s 本机 ip/32 -j ACCEPT(添加白名单)
iptables -INPUT -s 127.0.0.1 ip/32 -j ACCEPT
iptables -INPUT -m state --state ESTABLISH,RELATED -j ACCEPT
iptables -P INPUT DROP
service iptables save
checkconfig iptables on
iptables -nL (查询)
配置文件: /etc/sysconfig/iptables

4、Linux常规问题处理

4.1 怎么破解Linux密码
  • grep引导程序进入救援模式,该模式可以修改root密码,恢复硬盘等操作
4.2 怎么大量删除数据
情况1
  • 1、当你要删除的文件夹频繁写数据是,可以使用mv 命令将该文件夹迁移成bak文件,如果无法删除转到情况二;
  • 2、操作步骤:

1)#ll /tmp/ceshi 查看要删除的数据
2)#mv /tmp/ceshi /tmmp/ceshi.bak迁移
3)#mkdir /tmp/ceshi
4) #chmod 75 /tmp/ceshi
5) #rm -rf /tmp/ceshi.bak(如果无法删除,参考情况二)

情况2
  • 出现文件夹无法直接删除时,可通过删除特定文件大小文件、特定时间文件以搜索的方式分批删除

1)#find /tmp/ceshi -type f -size +10M -delete
2) #find /tmp/ceshi -name “*.txt”|xargs rm

4.3 怎么查询大量日志
  • #tail -10000 file.log >> test再打开test文件查看
4.4 怎么查询一个文件的关键字
  • 使用grep命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值