目录
systemctl命令——控制软件(服务)的启动、关闭、开机自启动
wget命令——非交互式的文件下载器,可以在命令行内下载网络文件
curl命令——发送http网络请求,可用于:下载文件、获取信息等
top命令——查看CPU、内存使用情况,类似Windows的任务管理器
安装软件
在CentOS系统中,使用yum命令联网管理软件安装
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
yum语法:yum [-y] [install | remove | search] 软件名称
• 选项: -y ,自动确认,无需手动确认安装或卸载过程• install :安装• remove :卸载• search :搜索yum命令需要root权限,可以su切换到root,或使用sudo提权。
yum命令需要联网
[root@localhost test2]# yum search wget
已加载插件:fastestmirror
========================================== N/S matched: wget
wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols
[root@localhost test2]# yum -y install wget
正在安装:
wget x86_64 1.14-18.el7_6.1 base 547 k
在Ubuntu系统中,使用apt命令联网管理软件安装
apt语法:apt [-y] [install | remove | search] 软件名称
systemctl命令——控制软件(服务)的启动、关闭、开机自启动
语法: systemctl start | stop | status | enable | disable 服务名
• start 启动• stop 关闭• status 查看状态• enable 开启开机自启• disable 关闭开机自启
系统内置的服务比较多,比如:
部分第三方软件安装后也可以以systemctl进行控制。
•yum install -y ntp,安装ntp软件
可以通过ntpd服务名,配合systemctl进行控制
•yum install -y httpd,安装apache服务器软件
可以通过httpd服务名,配合systemctl进行控制
部分软件安装后没有自动集成到systemctl中,我们可以手动添加。
同步重启: sync shutdown -r now
日期、时区
1.date命令-查看系统的时间
语法:date 【-d】[+格式化字符串]
选项:-d 按照给定的字符串显示日期,一般用于日期计算
•支持的时间标记为:
•year年
•month月
•day天
•hour小时
•minute分钟
•second秒
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y 年
%y 年份后两位数字 (00..99)
%m 月份 (01..12)
%d 日 (01..31)
%H 小时 (00..23)
%M 分钟 (00..59)
%S 秒 (00..60)
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数
[root@localhost test2]# date
2023年 02月 10日 星期五 10:24:23 CST
[root@localhost test2]# date +%Y-%m-%d
2023-02-10
[root@localhost test2]# date "+%Y-%m-%d %H:%M:%S"
2023-02-10 10:26:19
[root@localhost test2]# date -d "+1 day" "+%Y-%m-%d %H:%M:%S"
2023-02-11 11:00:01
2.修改Linux系统时区
系统默认时区非中国的东八区。
使用root权限,执行如下命令,修改时区为东八区时区
rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可
3.ntp——自动校准系统时间
安装ntp:yum -y install ntp
启动并设置开机自启:
• systemctl start ntpd• systemctl enable ntpd当ntpd启动后会定期的帮助我们联网校准系统的时间
• 也可以手动校准( 需 root 权限 ): ntpdate -u ntp.aliyun.com通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准
P地址、主机名
1.IP地址
IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)
IPv4版本的地址格式:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101
命令:ifconfig,查看本机的ip地址,
如无法使用ifconfig命令,可以安装:yum -y install net-tools
特殊IP:
127.0.0.1,这个IP地址用于指代本机
0.0.0.0,可以用于指代本机
可以在端口绑定中用来确定绑定关系(后续讲解)
在一些白名单中表示任意IP,如放行规则设置为0.0.0.0,表示允许任意IP访问
[root@localhost test2]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::1bb4:96ec
2.主机名
[root@localhost test2]# hostname
localhost.localdomain
[root@localhost test2]# hostnamectl set-hostname ww
[root@localhost test2]# hostname
ww
3.域名解析
域名解析:就是主机名映射,通过主机名找到对应计算机的IP地址
先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找
www.baidu.com的流程如下:
即:
• 先查看本机的记录(私人地址本)• Windows 看:C:\Windows\System32\drivers\etc \hosts• Linux 看: / etc /hosts• 再联网去DNS服务器(如 114.114.114.114 , 8.8.8.8 等)询问
4.虚拟机配置固定IP
虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
配置固定IP需要2个大步骤:
1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
设置子网范围(192.168.6.0)、子网掩码(255.255.255.0)、ip网关(192.168.6.2)
2.在Linux系统中手动修改网卡配置文件,固定IP
2.1.使用vim 编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=9881f4c7-e80e-4fbc-b422-2b920eebd4f8
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.6.123
NETMASK=255.255.255.0
GATEWAY=192.168.6.254
DNS1=221.179.155.177
DNS2=221.179.155.161
2.2.执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.13
网络请求和下载
ping命令——检查指定的网络服务器是否是可联通状态
语法:ping 【-c num】ip或主机名
• 选项: -c ,检查的次0 数,不使用 将无限次数持续检查• 参数: ip 或主机名,被检查的服务器的 ip 地址或主机名地址示例:
#检查到baidu.com是否联通,结果表示联通,延迟3ms左右 [root@localhost ~]# ping baidu.com PING baidu.com (39.156.66.10) 56(84) bytes of data. 64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=54 time=3.08 ms #•检查39.156.66.10是否联通,并检查3次 [root@localhost ~]# ping -c 3 39.156.66.10 PING 39.156.66.10 (39.156.66.10) 56(84) bytes of data. 64 bytes from 39.156.66.10: icmp_seq=1 ttl=54 time=18.9 ms 64 bytes from 39.156.66.10: icmp_seq=2 ttl=54 time=3.84 ms 64 bytes from 39.156.66.10: icmp_seq=3 ttl=54 time=3.37 ms --- 39.156.66.10 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2006ms rtt min/avg/max/mdev = 3.378/8.732/18.973/7.243 ms
wget命令——非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget 【-b】url
示例:
![](https://img-blog.csdnimg.cn/1239202dfccb4712b699d39bf55de0c7.png)
注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。rm -f 文件地址 删除
curl命令——发送http网络请求,可用于:下载文件、获取信息等
语法:curl 【 -O】 url
[root@localhost ~]# curl cip.cc
IP : 223.70.152.10
地址 : 中国 北京
运营商 : 移动
数据二 : 北京市 | 中国移动北京分公司
数据三 : 中国北京北京市 | 移动
URL : http://www.cip.cc/223.70.152.10
![](https://img-blog.csdnimg.cn/3799f1455ff54c69bd0738e906a066e0.png)
端口
1. 端口是指计算机和外部交互的出入口,可以分为物理端口和虚拟端口
• 物理端口: USB 、 HDMI 、 DP 、 VGA 、 RJ45 等• 虚拟端口:操作系统和外部交互的出入口IP只能确定计算机,通过端口才能锁定要交互的程序
2.端口的划分——支持65535个端口
• 公认端口: 1~1023,用于系统内置或常用知名软件 预留使用,如 SSH 服务 22 端口, HTTPS 服务 443 端口• 注册端口: 1024~49151 ,用于松散绑定使用(用户自定义)• 动态端口: 49152~65535 ,用于临时使用(多用于出口)3. 查看端口占用
• nmap 命令nmap IP 地址,查看指定 IP 的对外暴露端口安装 nmap : yum -y install nmap语法: nmap 被查看的 IP 地址netstat 查看本机指定端口号的占用情况语法: netstat - anp | grep 端口号,安装 netstat : yum -y install net-tools
[root@localhost ~]# which nmap
[root@localhost ~]# yum -y install nmap
[root@localhost ~]# nmap 127.0.0.1
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
[root@localhost ~]# netstat -anp | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 926/sshd
tcp 0 52 192.168.6.123:22 192.168.6.59:51369 ESTABLISHED 27516/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 926/sshd
进程管理
进程是指程序在操作系统内运行后被注册为系统内的一个进程,并拥有独立的进程ID(进程号)
ps -ef 命令——查看进程信息
语法:ps 【-e -f】
选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
ps -ef 查看进程信息
ps -ef | grep 关键字 过滤指定关键字进程信息
#固定用法: ps -ef 列出全部进程的全部信息
[root@localhost ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 1月19 ? 00:03:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 1月19 ? 00:00:00 [kthreadd]
root 4 2 0 1月19 ? 00:00:00 [kworker/0:0H]
root 6 2 0 1月19 ? 00:02:06 [ksoftirqd/0]
root 7 2 0 1月19 ? 00:00:00 [migration/0]
root 8 2 0 1月19 ? 00:00:00 [rcu_bh]
root 9 2 0 1月19 ? 00:05:40 [rcu_sched]
[root@localhost ~]# ps -ef | grep 'tail'
root 16189 27518 0 16:13 pts/0 00:00:00 tail
root 17513 16254 0 16:13 pts/2 00:00:00 grep --color=auto tail
从左到右分别是:
• UID :进程所属的用户 ID• PID :进程的进程号 ID• PPID :进程的父 ID (启动此进程的其它进程)• C :此进程的 CPU 占用率(百分比)• STIME :进程的启动时间• TTY :启动此进程的终端序号,如显示 ? ,表示非终端启动• TIME :进程占用 CPU 的时间• CMD :进程对应的名称或启动路径或启动命令
kill命令——关闭进程。
语法:kill [-9] 进程号
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
#打开两个窗口
[root@localhost ~]# ps -ef |grep tail
root 23915 16254 0 16:18 pts/2 00:00:00 tail
root 24545 24027 0 16:18 pts/0 00:00:00 grep --color=auto tail
[root@localhost ~]# kill -9 23915
[root@localhost ~]# tail
已杀死
[root@localhost ~]# tail #不带-9
已终止
主机状态
top命令——查看CPU、内存使用情况,类似Windows的任务管理器
默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出
top - 16:54:16 up 27 days, 1:18, 5 users, load average: 0.35, 0.36, 0.38
Tasks: 107 total, 2 running, 105 sleeping, 0 stopped, 0 zombie
%Cpu(s): 9.0 us, 13.3 sy, 0.0 ni, 77.4 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 1882404 total, 1170992 free, 180848 used, 530564 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1514460 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
24024 root 20 0 161832 6648 4912 S 1.0 0.4 0:15.43 sshd
16251 root 20 0 161832 6664 4912 S 0.7 0.4 0:17.84 sshd
24181 root 20 0 162812 2988 1548 S 0.7 0.2 0:05.43 top
top命令内容详解
•第一行:
top:命令名称,14:39:58:当前系统时间,up 6 min:启动了6分钟,2 users:2个用户登录,load:1、5、15分钟负载
•第二行:进程
jTasks:175个进程,1 running:1个进程在运行,174 sleeping:174个进程睡眠,0个停止进程,0个僵尸进程
• 第三行:CPU%Cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中断率,st:强制等待占用CPU率
• 第四、五行:内存Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
PID:进程id ;
USER:进程所属用户 ;
PR:进程优先级,越小越高;
NI:负值表示高优先级,正表示低优先级;
VIRT:进程使用虚拟内存,单位KB;
RES:进程使用物理内存,单位KB;
SHR:进程使用共享内存,单位KB;
S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态);
%CPU:进程占用CPU率;
%MEM:进程占用内存率;
TIME+:进程使用CPU时间总计,单位10毫秒;
COMMAND:进程的命令或名称或程序文件路径
磁盘信息监控
df命令——查看磁盘使用率
语法:df [-h]
选项:-h,以更加人性化的单位显示
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 908M 0 908M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.9M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/mapper/centos-root 47G 1.6G 46G 4% /
iostat命令——查看磁盘速率等信息
语法:iostat [-x] [num1] [num2]
选项:-x,显示更多信息
• num1 :数字,刷新间隔, num2 :数字,刷新几次
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
iostat的-x选项,可以显示更多信息
rrqm/s: 每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge, 提高IO利用率, 避免重复调用);
wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了。
rsec/s: 每秒读取的扇区数;sectors
wsec/: 每秒写入的扇区数。
rKB/s: 每秒发送到设备的读取请求数
wKB/s: 每秒发送到设备的写入请求数
avgrq-sz 平均请求扇区的大小
avgqu-sz 平均请求队列的长度。毫无疑问,队列长度越短越好。
await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。
svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)
%util: 磁盘利用率
sar -n DEV命令——查看网络的相关统计
sar命令非常复杂,这里仅简单用于统计网络
语法:sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)
信息解读:
• IFACE 本地网卡接口的名称• rxpck/s 每秒钟接受的数据包• txpck/s 每秒钟发送的数据包• rxKB/S 每秒钟接受的数据包大小,单位为KB• txKB/S 每秒钟发送的数据包大小,单位为KB• rxcmp/s 每秒钟接受的压缩数据包• txcmp/s 每秒钟发送的压缩包• rxmcst/s 每秒钟接收的多播数据包
环境变量
1.环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息
2.env命令——查看当前系统配置的环境变量信息
3.环境变量:PATH 记录了系统执行任何命令的搜索路径
3. 通过$符号,可以取出环境变量的值
4. 什么是PATH,作用是?
环境变量PATH会记录一组目录,目录之间用:隔开。这里记录的是命令的搜索路径,当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。
可以通过修改这个项目的值,加入自定义的命令搜索路径
如export PATH=$PATH:自定义路径
5. 如何修改环境变量?
上传、下载
1.FinalShell上传下载
• 文件,右键点击下载• 目录,拖拽本地文件上传2. rz、sz命令
• 通过 yum -y install lrzsz可以安装此命令• rz进行文件上传• sz 文件,进行文件下载文件会自动下载到桌面的:fsdownload文件夹中。
注意,rz、sz命令需要终端软件支持才可正常运行
FinalShell、SecureCRT、XShell等常用终端软件均支持此操作