Linux系统管理与常用命令详解

Linux

say在前面的

  • 之前波煮在找实习的时候发现有的岗位写着:"熟悉Linux开发环境",但是波煮并不知道这个要求的意思是什么,于是最近在学习Linux,下面是我记录的学习笔记,再次感谢B站大学以及黑马程序员

Linux软件安装

  • 操作系统安装软件有许多种方式,一般分为:
    1. 下载安装包自行安装
    2. 系统的应用商店内安装
  • Linux系统同样支持这两种方式

yum命令

  • yrm:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题
  • 语法:yum [-y] [install | remove | search] 软件名称
  • 选项:-y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索

注意:yum命令需要root权限,可以su切换到root,或者使用sudo提权,并且yum命令需要联网

apt命令

  • Centos系统和Ubuntu系统是使用不同的包管理器
  • Centos使用yum管理器,Ubuntu使用apt管理器
  • 语法:apt [-y] [install | remove | research] 软件名称
  • 用法和yum一致,同样需要root权限

使用systemctl命令控制软件的启动和关闭

systemctl命令

  • Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启,能够被systemctl管理的软件,一般也称为:服务
  • 语法:systemctl start | stop | status | enable | disable 服务名
  • 含义:
    1. start:启动
    2. stop:关闭
    3. status:查看状态
    4. enable:开启开机自启
    5. disable:关闭开机自启
  • 系统内置的服务比较多,比如:
    • NetworkManager:主网络服务
    • network:副网络服务
    • firewalld:防火墙服务
    • sshd,ssh服务

软链接

ln命令创建软链接

  • 在系统中创建软链接,可以将文件、文件夹链接到其他位置,类似于Windows系统中的快捷方式
  • 语法:ln -s 参数1 参数2
  • -s选项,创建软链接
  • 参数1:被链接的文件或者文件夹
  • 参数2:要链接去的目的地

日期、时区

date命令

  • 通过date命令可以在命令行中查看系统的时间
  • 语法:date [-d] [+格式化字符串]
  • -d按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式

date命令进行日期加减

  • -d选项,可以按照给定的字符串显示日期,一般用于日期计算
  • 例如:date -d "+1 day" +%Y%m%d:显示后一天的日期
  • 其中支持的时间标记为:
    • year年
    • month月
    • day天
    • hour小时
    • minute分钟
    • second秒
  • -d选项可以和格式化字符换配合一起使用!

修改Linux时区

  • 使用root权限,执行如下命令,修改时区为东八区
bash 复制代码
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可

ntp程序

  • 我们可以通过ntp程序自动校准系统时间
  • 安装ntpyum -y install ntp
  • 启动并设置开机自启systemctl start ntpd以及ststemctl enable ntpd
  • ntpd启动后会定期的帮助我们联网校准系统的时间

IP地址

  • 每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯
  • IP地址主要有2个版本,V4版本和V6版本
  • IPV4的地址格式是a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址
  • 可以通过命令ifconfig,查看本机的ip地址

特殊的IP地址

  1. 127.0.0.1:这个IP地址用于指代本机
  2. 0.0.0.0,特殊IP地址:
    • 可以用于指代本机
    • 可以在端口绑定中用来确定绑定关系
    • 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

主机名

  • 每一台电脑出了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名

在Linux中修改主机名

  • 可以使用命令hostname查看主机名
  • 可以使用命令hostnamectl set-hostname 主机名来修改主机名(需要root权限)

域名解析

  • IP地址实在是难以记忆有没有什么办法可以通过主机名或者替代的字符地址去代替数字化的IP地址呢?
  • 实际上,我们一直都是通过字符画的地址去访问服务器,很少指定IP地址
  • 比如,我们在浏览器中打开www.baidu.com,会打开百度的网址,其中www.baidu.com是百度的网址,我们称之为域名

网络传输

ping命令

  • 可以通过ping命令,检查 指定的网络服务器是否是可联通状态
  • 语法:ping [-c num] ip或主机名
  • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址

wget命令

  • wget非交互式的文件下载器,可以在命令行内下载网络文件
  • 语法:wget [-b] url
  • 选项:-b可选,后台下载,会将日志写入到当前工作目录的wget-log文件
  • 参数:url,下载链接

curl命令

  • curl命令可以发送http网络请求,可用于:下载文件、获取信息等
  • 语法:curl [-O] url
  • 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
  • 参数:url,要发起请求的网络地址

端口

  • 端口,是设备与外界通讯交流的出入口,端口可以分为物理端口和虚拟端口两类
  • 物理端口:又可称之为接口,是可见的端口,如USB接口、HDMI接口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
  • 作用:计算机程序之间的通讯,通过IP只能锁定计算机 ,但是无法锁定具体的程序,通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。

进程管理

进程

  • 程序运行在操作系统中,是被操作系统所管理的
  • 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个进程 ,并会为每一个进程都分配一个独有的进程ID(进程号)

查看进程

  • 可是通过ps命令查看Linux系统中的进程信息
  • 语法:ps [-e -f]
  • 选项:-e,显示出全部的进程
  • 选项:-f,以完全格式化的形式展示信息(展示全部信息)
  • 一般来说,固定用法就是ps -ef列出全部进程的全部信息
  • 各个标识符的意思:
    • UID:进程所属的用户ID
    • PID:进程的进程号ID
    • PPID:进程的父ID
    • C:此进程的CPU占用率(百分比)
    • STIME:进程的启动时间
    • TTY:启动此进程的终端序号,如果显示?,表示非终端启动
    • TIME:进程占用CPU的时间
    • CMD:进程对应的名称或启动路径或启动命令

关闭进程

  • 在Linux中,我们可以通过kill命令关闭进程
  • 语法:kill [-9] 进程ID
  • 选项-9,表示强制关闭进程,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制

主机状态

查看系统资源占用

  • 可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
  • 默认每5s刷新一次
  • 语法:直接输入top即可,按qctrl + c退出

top命令支持的选项

top交互式选项

  • top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制

磁盘信息监控

  • 使用df命令可以查看硬盘的使用情况
  • 语法:df [-h]
  • 选项:-h,以更加人性化的单位显示

网络状态监控

  • 可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
  • 语法:sar -n DEV num1 num2
  • 选项-n,查看网络,DEV表示查看网络接口
  • num1:刷新间隔(不填就查看一次结束)
  • num2:查看次数(不填就是无限次数)

环境变量

  • 我们使用的一系列命令本质上就是一个个可执行程序
  • 比如:cd命令的本体就是/usr/bin/cd这个程序文件
  • 那现在就会出现一个问题----为什么无论当前工作目录在哪里都能执行cd这个程序呢?

环境变量

  • 环境变量是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行
  • 在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
  • 环境变量是一种KeyValue型结构,即名称和值

$ 符号

  • 在Linux系统中,$符号被用于取"变量"的值
  • 环境变量记录的信息,出了给操作系统自己使用外,如果我们想要取用也可以使用
  • 取得环境变量的值就可以通过语法$环境变量名来取得
  • 例如:echo $PATH

如何修改环境变量

  • 临时生效:export 名称=值
  • 永久生效:
    • 针对用户:~/.bashrc文件中配置
    • 针对全部用户:/etc/profile文件中配置
    • 配置完成,可以通过source命令立刻生效
相关推荐
qinyia8 小时前
WisdomSSH解决因未使用Docker资源导致的磁盘空间不足问题
运维·服务器·人工智能·后端·docker·ssh·github
❀͜͡傀儡师8 小时前
Docker 一键安装godoos
运维·docker·容器
6***B488 小时前
Nginx搭建负载均衡
运维·nginx·负载均衡
2501_939909058 小时前
Web与Nginx网站服务(1)
运维·nginx
奔跑吧邓邓子8 小时前
CentOS 7性能飞升秘籍:实战系统优化与调优
linux·运维·centos·实战·系统优化·性能调优
Broken Arrows8 小时前
Docker原理之一的Namespace详解
运维·docker·容器
翼龙云_cloud9 小时前
亚马逊云渠道商:如何利用AWS工具进行日常安全运维?
运维·安全·云计算·aws
b***65329 小时前
【解决】RESP.app GUI for Redis 连接不上redis服务器
服务器·redis·github
qinyia9 小时前
WisdomSSH如何高效检查服务器状态并生成运维报告
linux·运维·服务器·数据库·人工智能·后端·ssh
laocooon52385788610 小时前
实现了一个新闻数据采集与分析系统python
linux·服务器·windows