Linux使用技巧

Linux使用技巧

Jimmy Durrell

各类小技巧快捷键

  1. 强制停止 ctrl + c

    强制停止程序的执行 或者 退出当前命令的输入

  2. 退出或登出 ctrl + d

    • 退出账户的登录
    • 退出某些特定程序的专属页面,比如python
  3. 历史命令搜索

    1. history,可查看历史输入过的命令
    2. !命令前缀,自动执行上一次 匹配前缀的命令
    3. ctrl + r,输入内容去匹配历史命令
      1. 输入回车键直接执行
      2. 按键盘左右键,可以得到此命令**(不执行)**
  4. 光标移动快捷键

    1. ctrl + a,跳到命令开头
    2. ctrl + e,跳到命令结尾
    3. ctrl + 键盘左键,向左跳一个单词
    4. ctrl + 键盘右键,向右跳一个单词
  5. 清屏

    1. ctrl + l,清空中断内容
    2. clear命令

软件安装

  1. yum命令:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题,适用于CentOS系统

    • 语法:yum [-y] [install | remove | search] 软件名称

      • 选项:-y,自动确认,无需手动确认安装或卸载过程
      • install:安装
      • remove:卸载
      • search:搜索
  2. apt命令:DEB包软件管理器,适用于Ubuntu系统

    • 语法同yum一模一样

systemctl命令

​ Linux系统很多软件(内置或者第三方)均支持使用systemctl命令控制:启动、停止、开机自启。能够呗systemctl管理的软件,一般也称为服务

  • 语法: systemctl start | stop | status | enable | disable 服务名

    • start:启动
    • stop:关闭
    • status:查看状态
    • enable:开启开机自启
    • disable:关闭开机自启
  • 系统内置的服务较多,举例如下

    • NetworkManager,主网络服务
    • network,副网络服务
    • firewalld,防火墙服务
    • sshd,ssh服务
  • 除了内置的服务外,部分第三方软件安装后也可以用systemctl控制

    • yum -y install ntp

      可通过ntpd服务名,配合systemctl进行控制

    • yum -y install httpd

      可通过httpd服务名,配合systemctl进行控制

    这是因为这些软件会自动注册服务,对于那些不会自动注册服务的软件,我们可以手动添加,详见后续内容。

软链接

​ 在Linux系统中可以使用ln命令创建软链接,可以将文件、文件夹链接到其他位置,类似于Windows系统中的“快捷方式”

  • 语法:ln -s 参数1 参数2
    • -s选项,创建软链接
    • 参数1,被链接的文件或文件夹
    • 参数2,要链接去的目的地

日期和时区

date命令查看日期时间

  • 语法:date [-d] [+格式化字符串]

    • -d选项,按照给定的字符串显示日期,一般用于日期计算
      • 支持的时间标记为:year, month, day, hour, minute, second
      • 如:date -d "+1 day" +%Y-%m-%d
    • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
      • %Y:年
      • %y:年份后两位数字(00~99)
      • %m:月份(01~12)
      • %d:日(1~31)
      • %H:小时(00~23)
      • %M:分钟(00~59)
      • %S:秒(00~60)
      • %s:自1970-01-01 00:00:00 UTC到现在的秒数
  • 直接使用date命令本体,直接查看时间

  • 按照2023-12-15 9:36:00的格式显示日期

    date "+%Y-%m-%d %H:%M:%S"

修改Linux系统的时区

通过date查看的日期,默认不是东八区的时间,修改方式如下。

  1. rm -f /etc/localtime
  2. sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

使用ntp进行时间同步和校准

  1. 首先用过yum安装ntp软件
  2. 启动ntpd服务并设置开机自启
  3. ntpd会定期联网校准系统的时间,我们也可以通过ntpdate -u ntp.aliyun.com手动校准(需要root权限

IP地址、主机名

IP和主机名

IP地址

​ 每台联网的电脑都会有一个地址,用于和其他计算机进行通讯。IP地址有2个版本,V4和V6,而V4版本的地址格式为:a.b.c.d,其中a, b, c, d表示0~255的数字,如192.168.88.101就是一个标准的IP地址。

  1. 查看IP地址

    ifconfig命令,若不成功,输入命令yum -y install net-tools.

    如图所示,ens33是主网卡,I地址为192.168.88.130.

  2. 特殊IP地址

    1. 127.0.0.1,用于指代本机
    2. 0.0.0.0
      1. 用于指代本机
      2. 可以在端口绑定中用来确定绑定关系
      3. 在一些IP地址限制中,表示所有IP的意思
主机名

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

  1. 查看主机名

    命令:hostname

  2. 修改主机名

    命令:hostnamectl set-hostname 主机名

域名解析

​ IP地址难以记忆,有没有什么办法通过其他方式访问数字化的IP地址呢?在生活中,我们可以使用www.baidu.com打开百度的网址,这里我们称之为“域名”。

  1. 解析流程

    image-20231215111137128

  2. 配置主机名映射

    以管理员身份运行记事本打开C:\Windows\System32\drivers\etc\hosts文件进行修改。

配置Linux固定IP地址

首先,当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP(动态获取IP地址,每次重启设备都会获取一次,导致IP地址频繁变更)服务获取的。

  1. 为什么需要固定IP

    1. 我们远程连接到Linux系统,如果IP经常变化我们也要频繁修改适配
    2. IP地址和主机名的映射也要频繁更改
  2. 如何配置固定IP

    1. 在VMware Workstation中配置IP地址网关和网段(IP地址的范围)

      编辑->虚拟网络编辑器->VMnet8

      image-20231215125421379

      编辑->虚拟网络编辑器->VMnet8->NAT设置

      image-20231215125535260
    2. 在Linux系统中手动修改配置文件,固定IP

      1. 使用vim编辑etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

        image-20231215125940920
      2. 再执行systemctl restart network重启网卡

      3. 执行ifconfig即可看到固定好的IP

网络传输

下载和网络请求

ping命令

可以通过ping命令,检查指定的网络服务器是否可联通

  • 语法:ping [-c num] ip或主机名
    • 选项-c,检查的次数,若不使用,将无限次数持续检查
    • 参数:ip或主机名,被检查的服务器的ip地址或主机名
  • 还可以显示域名的IP地址
wget命令

wget是非交互式的文件下载器,可在命令行内下载网络文件

  • 语法:wget [-b] url
    • 选项-b,表示后台下载,会将日志写入到当前工作目录下的wget-log文件中
    • 参数url,下载链接
curl命令

curl可以发送http网络请求,可用于:下载文件、获取信息等

  • 语法:curl [-O] url

    • 选项-O,用于下载文件,当url是下载链接是,可使用此选项保存文件
    • 参数url,要发起请求的网络地址
  • 示例

    • 向cip.cc发起网络请求:curl cip.cc

      类似与浏览器去打开网页

    • 通过curl下载:curl -O http://archiive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

      与wget类似

端口

端口,是设备与外界通讯交流的出入口。

  1. 分类

    • 物理端口:又可称为接口,是可见的端口,如USB接口,RJ45网口等
    • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统与外部进行交互使用的
  2. 为什么要有虚拟端口?

    计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。

    “IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址。”

  3. Linux系统——超大号的“小区”

    一共支持65535个端口,分为三类。

    • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
    • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序或服务
    • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
  4. 查看端口占用(以下两个软件都需要自行安装)

    1. nmap (yum install namp):查看指定IP的对外暴露端口

      语法:nmap 被查看的IP地址

    2. netstat (yum install net-tools):查看本机端口号的占用情况

      语法:netstat -anp | grep 端口号

进程管理

  1. 进程相关概念

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

  2. 查看进程

    • 语法:ps [-e -f]

      • 选项-e,显示出全部的进程
      • 选项-f,以完全格式化的形式展示信息
    • 一般用法就是ps -ef列出全部进程的全部信息

      • UID:进程所属的用户ID
      • PID:进程的进程号ID
      • PPID:进程的父ID(启动此进程的其他进程)
      • C:此进程的CPU占用率(百分比)
      • STIME:进程的启动时间
      • TTY:启动此进程的终端序号,若显示?表示非中断启动
      • TIME:进程占用CPU的时间(累计)
      • CND:进程对应的名称或启动路径或启动命令
    • 查看指定进程

      管道符"|"加上grep

  3. 关闭进程

    • 语法:kill [-9] 进程ID
      • 选项-9,表示强制关闭进程;若不使用此选项,会向进程发送信号要求关闭,但是否关闭要看进程自身的处理机制。

主机状态监控

  1. 查看系统资源占用——top命令

    查看CPU、内存使用情况,类似与Windows系统的任务管理器,默认每5秒刷新一次,按q或者ctrl + c退出。

    • 语法:top

    • 内容详解

      image-20231215170343005

      image-20231215170645757

      • PID:进程id
      • USER:进程所属用户
      • PR:进程优先级,越小越高
      • NI:负值表示高优先级,正值表示低优先级
      • VIRT:进程使用虚拟内存,单位KB
      • RES:进程使用物理内存,单位KB
      • SHR:进程使用共享内存,单位KB
      • S:进程状态(S休眠,R运行,Z僵死,N负数优先级,I空闲)
      • %CPU:进程占用CPU铝
      • %MEM:进程占用内存率
      • TIME+:进程使用CPU时间总计,单位10ms
      • COMMAND:进程的命令或名称或程序文件路径
    • top命令也支持选项

      image-20231215171136471

    • top交互式选项

      image-20231215171928390

  2. 监控磁盘信息

    • df命令

      语法:df [-h]

      • 选项-h,以更人性化的单位显示
    • iostat命令

      语法:iostat [-x] [num1] [num2]

      • 选项-x,显示更多信息
      • 参数num1,数字,表示刷新间隔
      • 参数num2,数字,表示刷新几次

      -x选项的内容详解

      image-20231215172438423

  3. 网络状态监控——sar命令

    • 语法:sar -n DEV num1 num2

      • 选项-n,查看网络
      • 参数DEV,表示查看网络接口
      • 参数num1,表示刷新间隔
      • 参数num2,表示查看次数
    • 信息解读

      image-20231215172731847

环境变量

思考这样一个问题,无论当前的工作目录是什么,都能执行/usr/bin/cd这个程序,这是为什么?

  1. 环境变量

    环境变量是操作系统在运行时记录的一些关键性信息,用以辅助系统运行。

    1. 环境变量结构:KeyValue型结构

      如:HOME = /home/d2iy2

    2. env命令

      可查看当前系统中记录的环境变量

    3. 回到上面的问题,原因正是借助了PATH这个环境变量

      image-20231215211409584

      PATH记录了系统执行任何命令的搜索路径(之间用:隔开),当执行任何命令,都会按照顺序进行搜索,直至找的要执行的程序。

  2. 符号$

    用于取这个“环境变量”的值,通常配合echo来使用,如echo $PATH. 但如果要在后面继续加内容,可用大括号进行标注,如echo ${PATH}abcdefg.

  3. 在Linux系统中配置环境变量

    1. 临时设置——export命令

      语法:export 变量名 = 变量值

    2. 永久生效

      1. 针对当前用户生效

        配置在当前用户的~/.bashrc文件,写入“export 变量名 = 变量值”即可

      2. 针对所有用户生效

        配置在系统的/etc/profile,写入“export 变量名 = 变量值”即可

      对于这两种方法,都需要使用命令“source 配置文件”让配置生效。

上传与下载

  1. 通过FinalShell进行上传和下载

    • 上传:拖拽即可
    • 下载:右键->下载
  2. rz、sz命令

    首先需要通过yum -y install lrzsz进行安装

    • rz命令上传,语法:rz(速度较慢)
    • sz命令下载,语法:sz 要下载的文件

压缩与解压

  1. 压缩格式

    zip:Linux、Windows、MacOS

    7zip:Windows

    rar:Windows

    tar:Linux、MacOS

    • .tar,称为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装

    gzip:Linux、MacOS

    • .gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
  2. tar命令

    • 语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n

      • -c选项,创建压缩文件,用于压缩模式
      • -v选项,显示压缩、解压过程,用于查看进度
      • -x选项,解压模式,与-c选项二选一
      • -f选项,要创建的文件或要解压的文件,必须在所有选项中处于最后一个
      • -z选项,gzip模式,不使用-z就是普通的tarball格式,一般放第一个
      • -C选项,选择解压的目的地,用于解压组合,建议单独使用
    • 常用选项组合

      • tar -cvf test.rar 1.txt 2.txt 3.txt

        将1.txt 2.txt 3.txt压缩到test.rar文件内

      • tar -zcvf test.rar.gz 1.txt 2.txt 3.txt

        将1.txt 2.txt 3.txt压缩到test.rar.gz文件内,使用gzip模式

      • tar -xvf test.rar

        解压test.rar,将文件解压至当前目录

      • tar -xvf test.rar -C /home/d2iy2

        解压test.rar,将文件解压至指定目录

      • tar -zxvf test.rar.gz -C /home/d2iy2

        以gzip模式解压test.rar.gz,将文件解压至指定目录

  3. zip命令

    • 语法:zip [-r] 参数1 参数2 ... 参数n

      • -r选项,被压缩的内容包含文件夹
    • 示例

      • zip test.zip a.txt b.txt c.txt

        将a.txt b.txt c.txt压缩到test.zip文件内

      • zip -r test.zip helloworld a.txt b.txt c.txt

        将helloworld文件夹和a.txt b.txt c.txt三个文件压缩到test.zip文件内

  4. unzip命令

    • 语法:unzip [-d] 参数

      • -d选项,指定要解压去的位置,同tar的-C选项
      • 参数,被解压的zip压缩包文件
    • 示例

      • unzip test.zip

        将test.zip解压到当前目录

      • unzip test.zip -d /home/d2iy2

        将test.zip解压到指定目录
        参数2 … 参数n`

      • -r选项,被压缩的内容包含文件夹

    • 示例

      • zip test.zip a.txt b.txt c.txt

        将a.txt b.txt c.txt压缩到test.zip文件内

      • zip -r test.zip helloworld a.txt b.txt c.txt

        将helloworld文件夹和a.txt b.txt c.txt三个文件压缩到test.zip文件内

  5. unzip命令

    • 语法:unzip [-d] 参数

      • -d选项,指定要解压去的位置,同tar的-C选项
      • 参数,被解压的zip压缩包文件
    • 示例

      • unzip test.zip

        将test.zip解压到当前目录

      • unzip test.zip -d /home/d2iy2

        将test.zip解压到指定目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值