Linux常用操作
软件安装
- CentOS系统使用:
yum [install remove search] [-y]
软件名称- install 安装
- remove 卸载
- search 搜索
- -y,自动确认
- Ubuntu系统使用
apt [install remove search] [-y]
软件名称- install 安装
- remove 卸载
- search 搜索
- -y,自动确认
yum 和 apt 均需要root权限
systemctl
功能:控制系统服务的启动关闭等
语法:systemctl start | stop | restart | disable | enable | status 服务名
- start,启动
- stop,停止
- status,查看状态
- disable,关闭开机自启
- enable,开启开机自启
- restart,重启
查看防火墙状态,关闭、开启防火墙
日期
语法:date [-d] [+格式化字符串]
-
-d 按照给定的字符串显示日期,一般用于日期计算
-
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
- %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 到现在的秒数
- YYYY-MM-DD HH:MM:SS
- 往后1年1月2天
ntp
功能:同步时间
安装:yum install -y ntp
启动管理:systemctl start | stop | restart | status | disable | enable ntpd
手动校准时间:ntpdate -u ntp.aliyun.com
ip地址
格式:a.b.c.d
- abcd为0~255的数字
特殊IP:
- 127.0.0.1,表示本机
- 0.0.0.0
- 可以表示本机
- 也可以表示任意IP(看使用场景)
查看ip:ifconfig
、IP a
主机名
功能:Linux系统的名称
查看:hostname
设置:hostnamectl set-hostname 主机名
配置VMware固定IP
-
修改VMware网络,参阅PPT,图太多
-
设置Linux内部固定IP
修改文件:
/etc/sysconfig/network-scripts/ifcfg-ens33
示例文件内容:
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" # 改为static,固定IP 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="ens33" UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876" DEVICE="ens33" ONBOOT="yes" IPADDR="192.168.88.131" # IP地址,自己设置,要匹配网络范围 NETMASK="255.255.255.0" # 子网掩码,固定写法255.255.255.0 GATEWAY="192.168.88.2" # 网关,要和VMware中配置的一致 DNS1="192.168.88.2" # DNS1服务器,和网关一致即可
修改后 service network restart
重启网络
ps命令
功能:查看进程信息
语法:ps -ef
,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx
kill命令
作用:关闭进程
语法:kill [-9] 进程ID
- -9表示强制关闭进程
nmap命令
作用:查看端口占用情况
语法: nmap 要查看的ip
netstat命令
功能:查看端口占用
用法:netstat -anp | grep xxx
-a
:显示所有连接和侦听端口。-e
:显示以太网的统计信息。-n
:直接使用IP地址而不是主机名来显示连接信息。-p
:显示正在使用的协议(例如TCP或UDP)。-r
:显示路由表。-s
:显示各个协议的统计信息。-t
:显示TCP连接信息。-u
:显示UDP连接信息。
ping命令
测试网络是否联通
语法:ping [-c num] 参数
不使用-c,会无限持续检查
参数为ip或主机名地址
wget命令
wget命令用于从网络上下载文件,它支持HTTP、HTTPS和FTP协议。
wget的语法:wget [参数] [URL]
常用参数:
-P
:指定保存下载文件的目录。-O
:指定保存下载文件的文件名。-c
:断点续传,即在下载过程中出现故障时可以从上一次下载的位置继续下载。-r
:递归下载,下载指定网页中的所有链接。-np
:不下载父级链接。-k
:将下载的HTML文件中所有的链接替换为本地链接,以方便离线浏览。
例如,要下载一个名为example.tar.gz的压缩包并保存到/home/user/Downloads目录下,可以使用以下命令:
wget -P /home/user/Downloads http://example.com/example.tar.gz
如果要将下载后的文件名改为myexample.tar.gz,可以使用以下命令:
wget -P /home/user/Downloads -O myexample.tar.gz http://example.com/example.tar.gz
curl命令
curl命令用于在终端中向服务器发送HTTP请求并获取响应。它支持多种协议(包括HTTP、HTTPS、FTP等)和各种操作,例如GET、POST、PUT等。
curl的语法如下:
curl [参数] [URL]
常用参数:
-X
:指定HTTP请求方法(如GET、POST、PUT等)。-H
:指定HTTP请求头。-d
:指定HTTP POST请求体。-o
:将输出保存到指定文件。-O
:将输出保存到当前目录下与URL同名的文件。-s
:静默模式,不显示进度条或错误信息。
例如,要向http://example.com发送一个GET请求,并将响应输出到控制台上,可以使用以下命令:
curl http://example.com
如果要将响应保存到文件example.txt中,可以使用以下命令:
curl -o example.txt http://example.com
如果要向http://example.com发送一个POST请求,请求体为name=John&age=30,可以使用以下命令:
curl -X POST -d "name=John&age=30" http://example.com
top命令
top命令的作用是实时监视Linux系统中进程的CPU、内存占用情况,以及系统负载等信息。
top的基本语法为:top [options]
常用选项包括:
-d
: 设置更新周期,默认值是5秒。-u
: 仅显示指定用户的进程。-p
: 仅显示指定PID的进程。-n
: 设置top命令执行的次数。-b
: 以批处理模式运行。-i
: 不显示闲置或僵尸进程。
top还支持一些交互式操作,例如:
- 按下数字键1:切换到全局CPU统计信息。
- 按下数字键2:切换到每个CPU核心的详细信息。
- 按下数字键3:按内存使用情况排序。
- 按下数字键4:按PID排序。
- 按下“Shift”+“W”:将当前top配置保存为~/.toprc文件。
示例:
-
显示所有进程列表,按照CPU使用率排序。
top
-
显示所有进程列表,按照内存使用量排序。
top -o RES
-
显示所有进程列表,按照PID排序。
top -o PID
-
只显示特定用户(例如www-data)的进程。
top -u www-data
下方执行
top -p 22
df命令
查看磁盘占用
语法:df [-h]
- -h,更人性化的显示
iostat命令
查看CPU、磁盘的相关信息,例如,每秒读/写次数、读/写速度、等待时间和CPU利用率等
语法:iostat [-x][num1][num2]
- -x显示更多信息
- num1:刷新间隔 ,num2:刷新次数
sar命令
查看网络统计,如每分钟接收的数据包,接收的数据包大小
语法:sar -n DEV num1 num2
- -n 查看网络,DEV表示产看网络接口
- num1:刷新间隔,不填默认只查看一次,num2:查看次数
环境变量(文件夹)
$
可以取出指定的环境变量的值。
PATH用于查找可执行文件,而自定义变量通常用于存储和检索其他类型的数据。即如果安装的软件是一个可执行文件,那么应该将其所在的目录添加到PATH变量
- 临时设置:export 变量名=变量值
重启、切换后失效
- 永久设置:
- 针对用户,设置用户HOME目录内:
.bashrc
文件 - 针对全局,设置
/etc/profile
- 通过
source 配置文件
可立即生效
- 针对用户,设置用户HOME目录内:
.banshrc添加的内容
重启后依旧在,当前用户可使用
PATH变量
记录了执行程序的搜索路径,在/etc/profile
中
可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果,用“:”分隔,搜索不到就到下一个。
下方将一个模拟程序所在文件夹添加到PATH变量,使其在任何目录下可执行
其中
vim /etc/peofile
添加的内容如下export PATH=$PATH:/home/zhe/myenv
- 这里添加到PATH需要保持原来的PATH,所以用
$PATH
接收之前的PATH- 配置变量配置的是文件夹,下方mkenv是myenv下的文件
$符号
可以取出指定的环境变量的值
语法:$变量名
示例:
echo $PATH
,输出PATH环境变量的值
echo ${PATH}ABC
,输出PATH环境变量的值以及ABC
如果变量名和其它内容混淆在一起,可以使用${}
压缩解压
1.gzip/gunzip 压缩
- 基本语法
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件
)
gunzip 文件.gz (功能描述:解压缩文件命令) - 经验技巧
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
(3)同时多个文件会产生多个压缩包
2.zip/unzip 压缩
- 基本语法
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令
) - unzip [选项] XXX.zip (功能描述:解压缩文件)
- zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件。
3.tar 打包
- 基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz) - 选项说明
- 选项
-c 产生.tar 打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar 文件
-C 解压到指定目录
演示zip
su命令
切换用户
语法:su [-] [用户]
- -表示切换后加载环境变量,建议添加
- 用户省略则默认为root
sudo命令
比如:
itheima ALL=(ALL) NOPASSWD: ALL
在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo
chmod命令
修改文件、文件夹权限
在Linux中,文件和目录的权限由三组权限位来表示,它们分别是所有者权限
u
、组用户权限g
和其他用户权o
限。所有用户用a
表示。
字母语法:
-
+
表示增加权限、- 表示取消权限、= 表示唯一设定权限。 -
chmod [-R] [ugoa...][[+-=][rwxX]
-
选项-R,设置文件夹和其内部全部内容一样生效
- 修改a.text的权限:
chmod u=rwx,go=rx a.text
- 修改test目录及全部内容的权限为所有人可读
chmod -R a+r test
- 修改a.text的权限:
数字语法:chmod [-R] 权限 参数
- 权限,要设置的权限,比如755,表示:
rwxr-xr-x
- 参数,被修改的文件、文件夹
- 选项-R,设置文件夹和其内部全部内容一样生效
chown命令
修改文件、文件夹所属用户、组
语法:chown [-R] [用户][:][用户组] 文件或文件夹
用户组管理
用户管理
genent命令
getent group
,查看系统全部的用户组
getent passwd
,查看系统全部的用户
env命令
查看系统全部的环境变量
语法:env