Linux常用操作

本文详细介绍了Linux系统中的软件安装、内核版本查看、docker容器管理、Ubuntu版本检测、系统服务控制、软链接、日期操作、ntp时间同步、网络工具、磁盘空间管理、环境变量设置、文件压缩解压、用户权限管理等实用命令,涵盖了基础到进阶的内容。
摘要由CSDN通过智能技术生成

Linux常用操作

软件安装

  • CentOS系统使用:
    • yum [install remove search] [-y] 软件名称
      • install 安装
      • remove 卸载
      • search 搜索
      • -y,自动确认
  • Ubuntu系统使用
    • apt [install remove search] [-y] 软件名称
      • install 安装
      • remove 卸载
      • search 搜索
      • -y,自动确认

yum 和 apt 均需要root权限

linux查看内核版本命令

你可以使用以下命令来查看Linux系统的内核版本:

uname -r

运行这个命令后,它会显示当前系统正在使用的内核版本号。

查看docker容器的版本

使用命令 cat /etc/os-releasecat /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的格式显示日期

    image-20221027220514640

  • 按照2022-01-01 10:00:00的格式显示日期

    image-20221027220525625

  • -d选项日期计算

    image-20221027220429831

    • 支持的时间标记为:

      image-20221027220449312

时区

修改时区为中国时区

image-20221027220554654

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

  1. 修改VMware网络,参阅PPT,图太多

  2. 设置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命令

image-20221027221303037

nmap命令

image-20221027221241123

netstat命令

功能:查看端口占用

用法:netstat -anp | grep xxx

ping命令

测试网络是否联通

语法:ping [-c num] 参数

image-20221027221129782

wget命令

image-20221027221148964

curl命令

image-20221027221201079

image-20221027221210518

curl与wget的区别是什么?

curlwget 是两个常用的命令行工具,用于网络传输和数据下载。尽管它们在某些功能上有重叠,但它们在设计和用途上有一些关键的区别:

  1. 功能和用途:

    • curl 提供了一个丰富的特性集,支持多种协议(如HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, DICT, FILE, TELNET, MQTT等),并且主要用于数据传输和测试。它被广泛用于脚本和应用程序中,用于与服务器交互和API调用。
    • wget 主要专注于HTTP、HTTPS和FTP协议,用于从网络上下载文件。它能够递归地下载文件,支持断点续传,并可以方便地下载整个网站或部分网站。
  2. 递归下载:

    • wget 可以递归地下载网站,这意味着它可以下载整个网站的页面、图像和其他文件。这在需要本地复制或镜像网站内容时非常有用。
    • curl 没有内置的递归下载功能。
  3. 会话保持:

    • wget 能够保持下载过程中的会话状态,这对于下载需要身份验证或会话的网站很有帮助。
    • curl 主要用于单次事务,但可以通过脚本或命令行选项来处理复杂的会话操作。
  4. 数据上传:

    • curl 支持上传数据到服务器,这对于使用REST API或进行其他形式的服务器交互非常有用。
    • wget 主要集中在数据下载上。
  5. 界面和输出:

    • curl 的输出默认是直接发送到stdout(标准输出),这使得它可以很容易地与其他命令结合使用。
    • wget 的默认行为是将下载的文件保存到本地文件系统。
  6. 库支持:

    • curl 还有一个库版本libcurl,它提供了开发者在应用程序中直接使用curl功能的能力。这使得curl在开发社区中非常流行。

总之,尽管 curlwget 都可以用来下载文件,但 curl 提供了更多的灵活性,特别是在数据上传和自定义网络操作方面。而 wget 则在自动化下载任务,特别是需要递归下载网站时更为方便。在实际使用中,选择哪一个取决于特定任务的需求。

top命令

功能:查看主机运行状态

语法:top,查看基础信息

可用选项:

image-20221027221340729

交互式模式中,可用快捷键:

image-20221027221354137

df命令

查看磁盘占用

image-20221027221413787

iostat命令

查看CPU、磁盘的相关信息

image-20221027221439990

image-20221027221514237

sar命令

查看网络统计

image-20221027221545822

环境变量

  • 临时设置:export 变量名=变量值
  • 永久设置:
    • 针对用户,设置用户HOME目录内:.bashrc文件
    • 针对全局,设置/etc/profile

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

image-20221027221906247

解压

在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_namefilename 为你实际的压缩文件名。大部分Linux发行版都预装了 tar, gzip, bzip2, 和 unzip 命令。如果系统中没有 unrar,你可能需要先安装它(例如,通过运行 sudo apt install unrarsudo 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] 参数

image-20221027221939899

su命令

切换用户

语法:su [-] [用户]

image-20221027222021619

sudo命令

image-20221027222035337

比如:

itheima ALL=(ALL)       NOPASSWD: ALL

在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo

chmod命令

修改文件、文件夹权限

语法:chmod [-R] 权限 参数

  • 权限,要设置的权限,比如755,表示:rwxr-xr-x

    image-20221027222157276

  • 参数,被修改的文件、文件夹

  • 选项-R,设置文件夹和其内部全部内容一样生效

chown命令

修改文件、文件夹所属用户、组

语法:chown [-R] [用户][:][用户组] 文件或文件夹

image-20221027222326192

用户组管理

image-20221027222354498

用户管理

image-20221027222407618

genenv命令

  • getenv group,查看系统全部的用户组

    image-20221027222446514

  • getenv passwd,查看系统全部的用户

    image-20221027222512274

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

1679059815594

df du命令

在 Ubuntu 或任何其他基于 Linux 的系统上,dfdu 是两个非常有用的命令,用于磁盘空间管理。它们的用途分别是检查文件系统的磁盘空间使用情况 (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
    

这些命令的组合可以帮助你详细了解系统的磁盘使用情况。在使用这些命令时,可以根据需要组合不同的选项来获得所需的输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值