Linux常用操作
软件安装
- CentOS系统使用:
- yum [install remove search] [-y] 软件名称
- install 安装
- remove 卸载
- search 搜索
- -y,自动确认
- yum [install remove search] [-y] 软件名称
- Ubuntu系统使用
- apt [install remove search] [-y] 软件名称
- install 安装
- remove 卸载
- search 搜索
- -y,自动确认
- apt [install remove search] [-y] 软件名称
yum 和 apt 均需要root权限
linux查看内核版本命令
你可以使用以下命令来查看Linux系统的内核版本:
uname -r
运行这个命令后,它会显示当前系统正在使用的内核版本号。
查看docker容器的版本
使用命令 cat /etc/os-release
或 cat /etc/debian_version
查看 Debian 的版本信息。
查看ubuntu版本命令
要查看 Ubuntu 操作系统的版本,你可以使用以下命令:
lsb_release -a
运行这个命令后,它会显示包括发行版名称、版本号、描述和代码名在内的详细信息。
systemctl
功能:控制系统服务的启动关闭等
语法:systemctl start | stop | restart | disable | enable | status 服务名
- start,启动
- stop,停止
- status,查看状态
- disable,关闭开机自启
- enable,开启开机自启
- restart,重启
软链接
功能:创建文件、文件夹软链接(快捷方式)
语法:ln -s 参数1 参数2
- 参数1:被链接的
- 参数2:要链接去的地方(快捷方式的名称和存放位置)
日期
语法: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 到现在的秒数
示例:
-
按照2022-01-01的格式显示日期
-
按照2022-01-01 10:00:00的格式显示日期
-
-d选项日期计算
-
支持的时间标记为:
-
时区
修改时区为中国时区
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
主机名
功能: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服务器,和网关一致即可
ps命令
功能:查看进程信息
语法:ps -ef
,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx
kill命令
nmap命令
netstat命令
功能:查看端口占用
用法:netstat -anp | grep xxx
ping命令
测试网络是否联通
语法:ping [-c num] 参数
wget命令
curl命令
curl与wget的区别是什么?
curl
和 wget
是两个常用的命令行工具,用于网络传输和数据下载。尽管它们在某些功能上有重叠,但它们在设计和用途上有一些关键的区别:
-
功能和用途:
curl
提供了一个丰富的特性集,支持多种协议(如HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, DICT, FILE, TELNET, MQTT等),并且主要用于数据传输和测试。它被广泛用于脚本和应用程序中,用于与服务器交互和API调用。wget
主要专注于HTTP、HTTPS和FTP协议,用于从网络上下载文件。它能够递归地下载文件,支持断点续传,并可以方便地下载整个网站或部分网站。
-
递归下载:
wget
可以递归地下载网站,这意味着它可以下载整个网站的页面、图像和其他文件。这在需要本地复制或镜像网站内容时非常有用。curl
没有内置的递归下载功能。
-
会话保持:
wget
能够保持下载过程中的会话状态,这对于下载需要身份验证或会话的网站很有帮助。curl
主要用于单次事务,但可以通过脚本或命令行选项来处理复杂的会话操作。
-
数据上传:
curl
支持上传数据到服务器,这对于使用REST API或进行其他形式的服务器交互非常有用。wget
主要集中在数据下载上。
-
界面和输出:
curl
的输出默认是直接发送到stdout(标准输出),这使得它可以很容易地与其他命令结合使用。wget
的默认行为是将下载的文件保存到本地文件系统。
-
库支持:
curl
还有一个库版本libcurl,它提供了开发者在应用程序中直接使用curl功能的能力。这使得curl在开发社区中非常流行。
总之,尽管 curl
和 wget
都可以用来下载文件,但 curl
提供了更多的灵活性,特别是在数据上传和自定义网络操作方面。而 wget
则在自动化下载任务,特别是需要递归下载网站时更为方便。在实际使用中,选择哪一个取决于特定任务的需求。
top命令
功能:查看主机运行状态
语法:top
,查看基础信息
可用选项:
交互式模式中,可用快捷键:
df命令
查看磁盘占用
iostat命令
查看CPU、磁盘的相关信息
sar命令
查看网络统计
环境变量
- 临时设置:export 变量名=变量值
- 永久设置:
- 针对用户,设置用户HOME目录内:
.bashrc
文件 - 针对全局,设置
/etc/profile
- 针对用户,设置用户HOME目录内:
PATH变量
记录了执行程序的搜索路径
可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果
$符号
可以取出指定的环境变量的值
语法:$变量名
示例:
echo $PATH
,输出PATH环境变量的值
echo ${PATH}ABC
,输出PATH环境变量的值以及ABC
如果变量名和其它内容混淆在一起,可以使用${}
压缩解压
压缩
在Linux中,有多种方法可以压缩文件。以下是几种常用的压缩命令及其使用方法:
tar命令
tar
命令通常用于创建 .tar
归档文件,可以与 gzip 或 bzip2 等压缩工具结合使用以进一步压缩文件。
-
创建一个 tar 归档(未压缩):
tar -cvf archive_name.tar /path/to/directory_or_file
-
创建一个 gzip 压缩的 tar 归档(
.tar.gz
或.tgz
):tar -czvf archive_name.tar.gz /path/to/directory_or_file
-
创建一个 bzip2 压缩的 tar 归档(
.tar.bz2
):tar -cjvf archive_name.tar.bz2 /path/to/directory_or_file
gzip命令
gzip
命令用于压缩文件,并且通常只能压缩单个文件。压缩后的文件扩展名为 .gz
。
-
压缩文件:
gzip filename
bzip2命令
bzip2
命令用于压缩文件,提供比 gzip 更好的压缩率。压缩后的文件扩展名为 .bz2
。
-
压缩文件:
bzip2 filename
zip命令
zip
命令用于压缩文件和目录,创建的压缩文件扩展名为 .zip
,这在Windows系统中非常常见。
-
压缩目录或文件:
zip -r archive_name.zip /path/to/directory_or_file
选择哪种压缩方式通常取决于你的需要,比如压缩效率、兼容性或者个人偏好。例如,如果你需要与Windows用户共享压缩文件,使用 zip
可能是最好的选择。如果你只关心压缩率,那么 bzip2
可能是一个更好的选择。而 gzip
是一个在压缩速度和压缩率之间平衡的选择。
zip [-r] 参数1 参数2 参数N
解压
在Linux中,解压文件的命令取决于文件的压缩格式。以下是几种常见压缩文件格式的解压命令:
tar文件
-
解压
.tar
文件:tar -xvf archive_name.tar
-
解压
.tar.gz
或.tgz
文件:tar -xzvf archive_name.tar.gz
-
解压
.tar.bz2
文件:tar -xjvf archive_name.tar.bz2
gzip文件
-
解压
.gz
文件(会替换原文件):gzip -d filename.gz
或者使用
gunzip
命令:gunzip filename.gz
bzip2文件
-
解压
.bz2
文件(会替换原文件):bzip2 -d filename.bz2
或者使用
bunzip2
命令:bunzip2 filename.bz2
zip文件
-
解压
.zip
文件:unzip archive_name.zip
rar文件
-
如果
rar
已安装,解压.rar
文件:unrar x archive_name.rar
确保在解压命令中替换 archive_name
和 filename
为你实际的压缩文件名。大部分Linux发行版都预装了 tar
, gzip
, bzip2
, 和 unzip
命令。如果系统中没有 unrar
,你可能需要先安装它(例如,通过运行 sudo apt install unrar
或 sudo yum install unrar
)。
以下介绍如何压缩与解压 .tar.gz 格式的文件
1、压缩命令:
命令格式:
tar -zcvf 压缩文件名 .tar.gz 被压缩文件名
可先切换到当前目录下,压缩文件名和被压缩文件名都可加入路径。
2、解压缩命令:
命令格式:
tar -zxvf 压缩文件名.tar.gz
解压缩后的文件只能放在当前的目录。
查看内核版本
cat /proc/version
less /proc/version
uname -r
查看ubuntu版本
lsb_release -a
unzip [-d] 参数
su命令
切换用户
语法:su [-] [用户]
sudo命令
比如:
itheima ALL=(ALL) NOPASSWD: ALL
在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo
chmod命令
修改文件、文件夹权限
语法:chmod [-R] 权限 参数
-
权限,要设置的权限,比如755,表示:
rwxr-xr-x
-
参数,被修改的文件、文件夹
-
选项-R,设置文件夹和其内部全部内容一样生效
chown命令
修改文件、文件夹所属用户、组
语法:chown [-R] [用户][:][用户组] 文件或文件夹
用户组管理
用户管理
genenv命令
-
getenv group
,查看系统全部的用户组 -
getenv passwd
,查看系统全部的用户
env命令
查看系统全部的环境变量
语法:env
scp命令
1、从本地将文件传输到服务器
scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp /Users/mac_pc/Desktop/test.png root@192.168.1.1:/root
2、从本地将文件夹传输到服务器
scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp -r /Users/mac_pc/Desktop/test root@192.168.1.1:/root
3、将服务器上的文件传输到本地
scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp root@192.168.1.1:/data/wwwroot/default/111.png /Users/mac_pc/Desktop
4、将服务器上的文件夹传输到本地
scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp -r root@192.168.1.1:/data/wwwroot/default/test /Users/mac_pc/Desktop
df du命令
在 Ubuntu 或任何其他基于 Linux 的系统上,df
和 du
是两个非常有用的命令,用于磁盘空间管理。它们的用途分别是检查文件系统的磁盘空间使用情况 (df
) 和估算文件或目录的磁盘空间占用 (du
)。以下是这两个命令的详细用法:
df 命令(磁盘空间)
df
命令用于显示文件系统的总空间、已用空间、可用空间以及挂载点。基本语法如下:
df [选项] [文件...]
常用选项:
-h
,--human-readable
:以易读的格式显示信息(例如,将字节转换为 KB、MB 或 GB)。-a
,--all
:包括所有的文件系统,包括通常不显示的系统文件系统。-T
,--print-type
:显示每个文件系统的类型。--total
:在最后显示总计。-i
,--inodes
:显示 inode 信息而不是块使用情况。-k
:以 1024 字节的块为单位显示。-m
:以 1MB 的块为单位显示。
例子:
-
显示所有文件系统的磁盘使用情况(人类可读格式):
df -h
-
显示指定文件系统的详细信息:
df -hT /dev/sda1
du 命令(磁盘使用)
du
命令用于估算文件或目录的磁盘空间占用。基本语法如下:
du [选项] [文件...]
常用选项:
-h
,--human-readable
:以易读的格式显示(KB、MB、GB)。-a
,--all
:显示目录中所有文件的大小。-s
,--summarize
:仅显示总计(只有最后的总大小)。-c
,--total
:除了每个参数的大小外,还显示所有参数的总计。--max-depth=N
:显示目录树下每个级别的大小,直到 N 层。-k
:以 1024 字节为单位显示。-m
:以 1MB 为单位显示。
例子:
-
显示当前目录的磁盘使用情况:
du -h
-
显示特定目录的总磁盘使用量:
du -sh /path/to/directory
-
显示目录及其子目录(最多 2 层深度)的磁盘使用情况:
du -h --max-depth=2 /path/to/directory
这些命令的组合可以帮助你详细了解系统的磁盘使用情况。在使用这些命令时,可以根据需要组合不同的选项来获得所需的输出。