一、快捷键
-
ctrl + c
强制停止程序运行(无法停止vim/vi) -
ctrl + d
退出登录
退出管理员用户
退出某些程序(如python)
-
history
查看历史指令 -
命令前缀 匹配上一个符合的指令
例:使用!mk匹配上一个指令mkdir
[failur@localhost test]$ !mk
#mkdir ttt
[failur@localhost test]$ ls
#ttt
-
ctrl + r
搜索历史指令 -
ctrl + a/e
光标跳转到最前/最后 -
ctrl + <- / ->
向左/右跳一个单词 -
ctrl+l
终端清屏
二、软件操作
1.yum
yum [-y] [install | remove | serch ] 软件名称
*linux中的应用程序后缀:.rpm
- -y 自动安装确认,不需要手动操作
- install 下载 remove 删除 search搜索
例,下载wget
yum -y install wget
Ubantu 应用后缀.deb 自动安装程序apt
2.systemctl
systemctl start | stop | status | enable | disable 服务名
start 启动
stop 停止
status 查看状态
enable 启用
disable 禁用
三、软链接
1.ln
ln -s 原路径 新路径
创建从源路径到新路径的软链接(快捷方式)
例、建立文件和文件夹的快捷方式
[failur@localhost ~]$ ln -s /etc/yum ~/yum
[failur@localhost ~]$ ln -s /etc/yum.conf ~/yum.conf
[failur@localhost ~]$ ls
#... test Videos yum yum.conf
- 原路径必须是绝对路径
- 指向空的文件 该软连接会被标记为橙红色
四、日期与时区
- date
date [-d] [‘+格式化字符串’]
格式化字符串参数
%d 日 (01..31)
%D 日期,等价于%m/%d/%y
%H 小时 (00..23)
%I 小时 (01..12)
%j 一年中的第几天 (001..366)
%m 月份 (01..12)
%M 分钟 (00..59)
%n 新的一行,换行符
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数
%S 秒 (00..60)
%t 插入水平制表符 tab
%T 时间; 等价于 %H:%M:%S
%y 年份后两位数字 (00..99)
%Y 年
%Z 时区缩写 (如 EDT)
- -d用于日期计算
- 格式化字符串用于规定date的输出
- date不加参数表示按照原格式输出日期
例1、按原格式输出
[root@localhost etc]# date
2024年 02月 09日 星期五 03:11:50 CST
例2,日期计算
[root@localhost etc]# date -d "+1 years"
2025年 02月 09日 星期日 03:12:18 CST
例3,格式化字符串
[root@localhost etc]# date "+今天是%Y年%M月%d日%H点%M分%S秒"
今天是2024年41月09日03点41分33秒
- linux默认时区修改
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这样就切换到中国时区了
五、ip地址和主机名
1.ipv4
- 查看本机ip地址
ifconfig
主网卡ens33
lo本地回环网卡
virbr0虚拟机专用网卡
inet后的a.b.c.d即为本机ip
- 特殊ip
127.0.0.1 本地ip 代表自己
0.0.0.0 可以指代本机 可以在端口绑定中确定绑定关系
表示所有ip的意思
放行规则0.0.0.0则表示允许所有ip访问
2.主机名
- hostname
返回linux系统主机名
[failur@localhost ~]$ hostname
localhost.localdomain
- hostnamectl set-hosname
用于修改主机名
[failur@localhost ~]$ sudo hostnamectl set-hostname ff
[failur@localhost ~]$ hostname
#ff
3.域名解析
将一个字符化的的语句转换为ip地址
/etc/hosts文件保存着网址和ip地址的映射
找不到 会查询DNS服务器(114.114.114.144 8.8.8.8)
- 使用主机名称配对
1.修改windows的hosts文件(C:\Windows\System32\drivers\etc)
2.添加 虚拟机IP地址 虚拟机主机名的映射
3.在FinalShell中使用主机名连接
六、虚拟机固定ip
1.vmware - 虚拟网络编辑器 -VMnet8 -设置子网ip确定自己想要的网段192.168.88.0-子网掩码255.255.255.0-NAT设置-网关设置为192.168.88.2
2.虚拟机操作
vim编辑网络配置文件
vim /etc/sysconfig/network-scripts/
将以下修改
#修改此行
BOOTPROTO="static"
#添加四行
IPADDR="192.168.88.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
然后重启网络配置
systemctl restart network
完成!
七、网络请求与下载
1.ping
ping [-c] [主机名/ip]
-c检查的次数,不规定则无限检查
例,检测是否能连接到baidu.com
[failur@ff ~]$ ping -c 5 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=128 time=44.1 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=128 time=44.7 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=3 ttl=128 time=44.2 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=4 ttl=128 time=44.2 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=5 ttl=128 time=43.4 ms
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 43.436/44.139/44.700/0.466 ms
2.wget
wget [-b] url 下载url的资源
-b表示后台下载
3.curl
curl [-O] url
发起网络请求
-O用于下载软件
例,访问百度
[failur@ff ~]$ curl http://www.baidu.com/
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
八、端口
1.端口
- 公认端口 1~1023
通常用于系统内置服务/知名程序预置使用
如ssh22端口HTTPS的443端口
非必要不要占用该区域
-
注册端口1024~49151
随意使用 -
动态端口49152~65535
通常不固定使用,对外网络连接是时临时使用
2.nmap
*需要安装nmap
yum -y install nmap
nmap ip 查看端口占用情况
例,查看本机的端口占用情况
[failur@ff ~]$ nmap 127.0.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2024-02-09 14:28 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00087s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
6000/tcp open X11
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
3.netstat
*需要安装
yum -y install net-tools
netstat -anp | grep 端口号
查看端口的占用情况
例,查看6000端口
[failur@ff ~]$ netstat -anp|grep 6000
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN -
tcp6 0 0 :::6000 :::*
可以用于判断某个端口是否被占用或者某个进程使用了什么进程
九、进程管理
1.进程
程序运行时,会被操作系统注册为一个进程
每个进程都分配一个独有的进程id
2.ps
ps [-e f] 查看进程信息
-e显示全部的进程
-f以完全格式化的形式展示信息
一般用法ps -ef
列出全部进程的全部信息
从左到右
UID 进程所属用户
PID 进程的进程号
PPID 进程的父ID
C 进程的阿cpu占用
STIME 进程的启动时间
TTY 启动此进程的终端序号 ?表示非终端启动
TIME 进程占用CPU时间
CMD 进程的启动路径
例,
[root@ff ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Feb06 ? 00:00:39 /usr/lib/systemd/systemd --switched-root --system --deserializ
root 2 0 0 Feb06 ? 00:00:00 [kthreadd]
root 3 2 0 Feb06 ? 00:00:54 [ksoftirqd/0]
root 5 2 0 Feb06 ? 00:00:00 [kworker/0:0H]
root 7 2 0 Feb06 ? 00:00:00 [migration/0]
root 8 2 0 Feb06 ? 00:00:00 [rcu_bh]
root 9 2 0 Feb06 ? 00:01:31 [rcu_sched]
root 10 2 0 Feb06 ? 00:00:00 [lru-add-drain]
...
3.kill
kill [-9] 进程ID 关闭该进程
-9表示强制关闭进程
不加-9显示Terminated 中止
加-9显示Killed
十、进程状态
1.top
top [-p d c n b i u]
-p只显示某个进程信息
-d刷新时间 默认5s
-c 显示产生进程完整命令 默认进程名称
-n 指定刷新次数
-b 非交互非全屏运行 以批次执行top 一般结合-n写入文件
如:
top -b -n 3 > /tmp/top.tmp
-i 不显示闲置/僵尸进程
-u 查找特定用户启动的进程
查看系统资源占用
默认每隔五秒刷新一次
ctrl+c / q可以退出
例1,top命令以及内容解释
top - 19:41:31 up 3 days, 53 min, 6 users, load average: 0.19, 0.21, 0.25
Tasks: 229 total, 2 running, 227 sleeping, 0 stopped, 0 zombie
%Cpu(s): 14.6 us, 16.3 sy, 0.0 ni, 68.8 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 995892 total, 68396 free, 482860 used, 444636 buff/cache
KiB Swap: 2098172 total, 1777916 free, 320256 used. 256732 avail Mem
- 第一行 当前系统时间 启动时间 登录用户个数 1,5,15分钟内平均负载 (%)
- 进程个数 运行进程个数 睡眠进程个数 停止进程个数 僵尸进程个数
- CPU使用相关us用户使用sy系统使用 ……
- 四五行 内存相关
例2,top查询程序
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6494 polkitd 20 0 723524 12316 2528 S 19.9 1.2 599:03.14 polkitd
78184 failur 20 0 161248 2736 1000 S 1.0 0.3 1:32.09 sshd
6436 dbus 20 0 70240 2976 968 S 0.7 0.3 16:45.24 dbus-daemon
1292 S 0.3 0.4 3:49.03 vmtoolsd
...
PID USER 进程id
PR 优先级 越小越高
NI 负值表示高优先级 正为低优先级
VIRT 虚拟内容(KB)
RES 物理内存(KB)
SHR 共享内存 (KB)
S 进程状态(S休眠R运行Z僵尸N负数优先级I空闲)
%CPU 占用cpu率
%MEM 占用内存率
TIME+ COMMAND 进程命令/程序文件路径
- 交互时可使用快捷键 使用h查看帮助
十一、磁盘信息监控
1.df
df [-h]
查看硬盘使用情况
-h表示以人性化方式显示大小
2.iostat
iostat [-x][num1][num2]
cpu 磁盘相关信息
-x显示更多信息
数字对应 刷新间隔 刷新次数
例
[failur@ff ~]$ iostat [-x] 1 1
Linux 3.10.0-957.el7.x86_64 (ff) 2024年02月09日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
7.70 0.02 9.53 0.01 0.00 82.73
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
十二、网络状态监控
1.sar
sar [-n] DEV num1 num2
-n 表示查看网络(Network)
DEV表示查看网络接口
num 刷新间隔 刷新次数
IFACE 本地网卡接口名称
rxpck/s 每秒钟接受数据包
txpck/s 每秒钟发送数据包
rxkB/s 每秒接受数据包大小
txkB/s 每秒钟发送数据包大小
rxcmp/s 每秒钟接受的压缩数据包
txcmp/s 每秒钟发送的压缩数据包
rxmcst/s 每秒钟接受得多播数据包
十三、环境变量
/user/bin/cd在任何目录都能执行的原因:环境变量
1.env
查看系统中记录的环境变量
例,查看环境变量
env | grep PATH
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/failur/.local/bin:/home/failur/bin
执行的程序会依次在PATH中的路径中查找
2.$
用于取值
例1,获取PATH的内容
[failur@ff ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/failur/.local/bin:/home/failur/bin
例2,与其他字符串连用
[failur@ff ~]$ echo "路径为${PATH}hhhh"
路径为/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/failur/.local/bin:/home/failur/binhhhh
3.设置环境变量
环境变量$PATH储存在/etc/profile中
- 临时设置
export 变量名=变量值
*等号左右不要有空格!
- 永久设置
对于当前用户:~/.bashrc
所有用户:/etc/profile
语法source配置文件,立即生效,或重新登录后生效
例1,临时设置环境变量
[failur@ff ~]$ export ff=666
[failur@ff ~]$ echo $ff
666
例2,当前用户永久生效
[failur@ff ~]$ vim ~/.bashrc
#添加export failur=666
[failur@ff ~]$ echo $failur
#
[failur@ff ~]$ source .bashrc
[failur@ff ~]$ echo $failur
#666
4.自定义PATH环境
要使某个文件能够执行
·将文件权限加入可以执行
·将其路径写入$PATH
export PATH=$PATH:/root/myenv
之后该指令可以在任何目录下生效
- 要使环境变量生效 需要使用:
source /etc/profile
十四、 文件上传与下载
1.FinalShell操作
- 下载
使用FinalShell工具
底栏找到相应文件 右键选择下载
下载文件存放在Windows系统 桌面-fsdownload文件夹中
- 上传
进入相应FinalShell目录
将文件拖拽进去
- 文件夹权限与FinalShell登录用户权限一致
需要改变权限时,在设置界面更改登录用户为root 即可获取root权限
2.命令行操作
- 安装lrzsz
yum -y install lrzsz
- rz
上传文件
回车弹出文件选择的窗口
- sz
sz 文件名
下载到下载目录下
文件名较长 使用tab补全
rz命令比较慢,拖拽传输大文件
十四、压缩和解压
- Linux中常用压缩包:tar、gzip、zip
1.tar
-
.tar文件用于归档,没有体积的压缩
-
.gz用于压缩
tar [-c -v -x -f -z -C] 参数…… -
-c,创建压缩文件
-
-v,显示压缩,解压过程
-
-x,解压模式
-
-f,要创建/解压的文件(*必须在最后一个参数)
-
-z,gzip压缩,默认tarball格式 (*必须在第一个)
-
-C,解压目的地 (在之后单独使用)
例1,压缩
[failur@ff test]$ tar -cvf test.tar 1.t 2.t 3.t
例2,解压 (-z用于解压gzip格式的压缩包)
[failur@ff ~]$ tar -zxvf test2 -C /.../...
2.zip/unzip
zip [-r] 压缩后文件名 [需要压缩的文件名…]
需要压缩的文件中包含文件夹,需要使用-r
unzip [-d]
-d同tar的-C 压缩释放位置
例1,将1.t 2.t 3.t压缩到test.zip压缩包中
[failur@ff Downloads]$ zip -r test 1.t 2.t 3.t test
adding: 1.t (stored 0%)
adding: 2.t (stored 0%)
adding: 3.t (stored 0%)
adding: test/ (stored 0%)
压缩后文件名test.zip
例2,将test.zip解压到test文件夹下
[failur@ff Downloads]$ unzip test.zip -d test
解压时遇到同名内容会直接替换 因此要注意