linux_4 实用操作

实用操作

快捷键

输错了命令,或程序想提前停止,可以按下 ctrl+c 强行停止。

ctrl+d 可以退出当前账户登录,或退出当前程序专属页面。

history 查看历史输入的命令。

! 可以自动匹配最近一次输入的,匹配前缀的内容。如输入 !p ,最近一次输入的 p 开头的命令是 python ,就会执行 python

不过这个从下往上匹配并不那么方便。如果找远一点的历史记录,可以 ctrl+r ,类似我们平时使用的 ctrl+f。

光标移动:ctrl+a 是 home,ctrl+e 是 end,ctrl+← 是光标向左跳一个单词,ctrl+→ 是向右跳一个单词。

ctrl+l 或 clear 清屏。

软件安装

安装包,如 windows 常用下载 .exe 文件或 .msi 文件,点击安装。mac 常用 dmg pkg 文件。

linux 是 rpm, deb 文件,centos 通过 yum 安装,ubuntu 通过 apt 安装。

yum

yum [-y] [install | remove |search] fileName

-y:无序确认,直接安装。

yum 需要联网,需要 root 或 sudo 权限。

apt

apt [-y] [install | remove |search] fileName

systemctl

linux 很多软件使用 systemctl 启动,停止,开机自启。

systemctl start | stop| status | enable | disable 服务名

enable disable 用于调整是否开机自启。

服务例如:

  • NetworkManager 主网络服务

  • network 副网络服务

  • firewalld 防火墙

  • sshd, ssh 服务(finalshell 用于远程控制 linux 的服务)

status 有 active 和 inactive。

很多系统或第三方软件是自动继承到 systemctl 中的。不过也有很多没有,后面再说对于这类软件要如何处理。

软链接

把文件、文件夹链接到其他位置,类似 windows 的快捷方式。

ln -s 被链接的文件或文件夹 要链接到的目的地

日期和时区

date [-d] [+格式化字符串]

image-20230319160307898

date "+%H-%M-%S"

-d 可以进行日期计算,如:

date -d "-1hour" "+%H-%M-%S" ,在当前时间基础上-1.

image-20230319160715459

修改时区

先删掉现在的时区文件。

rm -f /etc/localtime

然后从时区文件中挑选上海,创建软链接。

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ntp 自动校准系统时间

首先 ntp 程序需要安装。

然后 systemctl start ntpd system enable ntpd ntpd 会自动联网帮我们校准时间。

这里好像 ubuntu 系统启动 ntp 服务需要输入的是 ntp?还是说,这是新版 ntp 的设定?反正我执行的代码是systemctl start ntp

手动更新时间:ntpdate -u ntp.aliyun.com (ntpdate 好像也要更新)

网络传输

IP

IP 地址是每台联网的计算机独有用于标志自己,与其他计算机通信使用的。

有 V4 和 V6 两个版本,V6 不常用。

IP 地址是四个 0~255 的数字的组合。可以通过 ifconfig 查看(查看不了需要安装 net-tools),主网卡:ens33 中的 inet 选项即为 IPV4 地址。lo 网卡是本地回环的网卡,virbr0 是虚拟机专用的网卡。

127.0.0.1:代指本机。

0.0.0.0:代指本机;或在端口绑定中确定绑定关系;或在一些 IP 限制中表示全部 IP 地址放行。

主机

除了 IP 地址,每台计算机有一个自己的名字,叫主机名。linux 输入 hostname 查看。

image-20230320103048195

可以通过 hostnamectl set-hostname newName 来修改当前主机名,需要重新登陆 finalshell 才能查看。

域名解析

我们知道一般我们访问网站是通过更方便记忆的域名(如 www.baidu.com )来访问的。

域名和 IP 之间通过 DNS 系统映射。先查看本地 DNS 库是否有记录要访问的域名,如果没有再联网到 DNS 公开服务器寻找该地址。

windows 本地域名存储文件在:C:\Windows\System32\drivers\etc\hosts ,linux 在 /etc/hosts

当我们在 windows 本地设置了 linux IP 地址和域名的映射,通过 finalshell 连接时就可以不用输入 IP 地址,而是输入主机名即可。

配置固定 IP 地址

linux 的 IP 地址是通过 DHCP 动态获取的,这样我们配置的域名映射随着更新就无法应用了,需要频繁更改。

VMWare WorkStation -编辑-虚拟网络适配器-VMnet8,子网设置为 192.168.88.0,子网掩码为 255.255.255.0,NAT 设置中为 192.168.88.2

image-20230320105512706

这里 ubuntu 系统不太一样,是在 /etc/network/interfaces 中配置。

而我们如果使用的是桌面版 ubuntu,也不是在这里配置。参考这篇文章:Ubuntu Server20.04 静态ip配置(netplan)_Brady-wdh的博客-CSDN博客

ethernets: ens33: # 配置的网卡名称,可以使用ifconfig -a查看本机的网卡 dhcp4: no # 关闭动态IP设置,因为要设置固定IP addresses: [192.168.88.130/24] # 要设置为的固定IP,后面的24为子网掩码的位数 gateway4: 192.168.88.2 # 要设置的网关地址 nameservers: addresses: [192.168.88.2,8.8.8.8] # 要设置的DNS地址 ———————————————— 版权声明:本文为CSDN博主「Brady-wdh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_45949008/article/details/118862854

最后 systemctl restart network ,netplan 是: netplan generate 为渲染器生成所需配置,netplan apply 为渲染器应用配置。

之后, ifconfig 就一直是 192.168.88.130 固定不再改变。

ping

通过 ping 测试服务器是否可连通。

ping [-c num] IPAddress ,-c 是限定 ping 几次,如果不限定则无限检查。

这里我们可以先在 vim /etc/resolv.conf 中添加 nameserver 8.8.8.8 ,这是一个 Google 提供的免费 DNS服务器 的IP地址,应该能解决如 baidu 等域名的映射。

如果无法 ping 通:显示 unreachable.

wget

非交互式下载工具。

wget [-b] url ,-b 是后台下载,并把下载信息保存到当前工作目录下的 wget-log 文件中。可以通过 tail -f 持续跟踪。

curl

发送 http 请求,可获取信息或下载文件。

curl [-O] url

-O:下载文件。

比如 curl cip.cc ,该网站会告诉我们本机的公网 IP 地址。

端口

物理端口:可见,如 USB 接口。

虚拟端口:计算机内部端口,不可见,操作系统用于和外部交互。

image-20230320181540486

IP 地址是一个小区地址,程序是住户,进程就是门牌号用于找到各个用户。

image-20230320183846899

linux 使用 nmap 指令查看指定主机对外暴露端口情况。

nmap 被查看的 IP

22:ssh 端口。finalshell 远程连接会使用。

netstat:查看端口占用情况。

netstat -anp | grep portNo

进程管理

为了方便管理,操作系统给运行中的程序分配进程 ID。

ps [-e -f] 查看进程信息。

-e:查看全部进程。

-f:查看全部信息。

  • PPID:父进程 ID。

  • C:CPU 占用率。

  • STIME:启动时间。

  • TTY:启动此进程的终端序号,?表示不是终端启动的。

  • TIME:累计使用 CPU 的时间。

  • CMD:启动命令或路径。

关闭进程:kill [-9] PID ,-9 强制关闭。不强制关闭的话,只是发送关闭请求,并不一定关闭。比如 tail 收到 kill 命令后会自行 terminated,但强制关闭就是被 killed 了。

主机状态监控

查看系统资源占用

top 命令,5s 一刷新,类似任务管理器。

image-20230323184326044

image-20230323232340079

image-20230323233928213

image-20230323234504022

查看磁盘使用情况

df [-h] ,-h 是以 KMG 单位显示。

查看磁盘速率

iostat [-x] [num1] [num2] ,-x 显示更多信息,num1 刷新间隔,num2 刷新次数。

查看网络状况

sar,该指令比较复杂。因此应对网络统计,我们只记一个固定的语法:

sar -n DEV num1 num2 ,-n 指查看网络,DEV 只查看网络接口。num1 刷新间隔,num2 刷新次数。

环境变量

我们知道指令就是一个个可执行程序,which 可以查到。

但是为什么指令不用跳转到特定目录下就能执行?像 windows 一样,得益于环境变量。

环境变量是一种键值对型结构,记录了系统运行中需要的一系列关键信息。可以使用 env 指令查看。

其中的 PATH 中存储了一系列指令搜索路径。

环境变量开头加 $ 符号,可以获取环境变量的值。可以和 echo 结合使用。如:echo ${PATH}ABC .

如此,我们可以把自己的程序添加到环境变量中,或把程序放到 PATH 路径下。

设置环境变量 临时生效:export virableName virableValue

针对当前用户 永久生效:~/bashrc 文件中。

针对所有用户 永久生效:/etc/profile 中。

可以通过 source 配置文件 或重启 finalshell 立刻生效。

配置 PATH :echo PATH , export PATH=$PATH:路径 ,或者把后面这句话添加到用户或系统环境变量中。

这里先写 $PATH: ,是为了和之前的 PATH 值做拼接,一定不能忽略这一步。

finalshell 传输文件

右键文件就可以把文件从虚拟机下载到本地。用哪个账号登录,看到的就是哪个账号可以看到的内容。

上传:本地文件直接拖拽到 finalshell 中。

或者下载 lrzsz 指令。下载:sz 文件 ;上传:rz ,随机就会自动弹出文件框供选择。

不过上传大文件 拖拽效率 > rz 。

压缩 解压

image-20230324012526297

tar:简单组装文件,大小上压缩前后无大区别。

tar.gz:使用了压缩算法,大大缩小。

tar [-c -v -x -z -C -f] 可以解压或压缩。

-c:压缩。

-v:显示进度。

-v:解压。

-z:加了是 gzip 模式,不加是 tarball 模式。

-C:解压目的地。

-f:指代被创造/解压的文件。

指令可以合起来写,不过-z 必须在开头,-f 必须在最后。如 tar -zcvf 1.tar.gz 1.txt 2.txt 3.txt

-C 要单独写。 tar -zxvf test.tar.gz -C /home/jingqing

zip 是压缩,可以加 -r 代表递归处理文件夹。zip -r test.zip /test 1.txt

unzip 解压 zip 文件,-d 指定地址类似 -C。unzip test.zip -d /home/jingqing

猜你喜欢

转载自blog.csdn.net/jtwqwq/article/details/129742879