Linux常用关键操作命令

Linux常用命令可以分为多个类别,包括文件操作、系统管理、网络管理、进程管理等。以下是一些常见的Linux命令及其解析:

文件和目录操作命令

ls - 列出目录内容

  • 格式:ls [选项] [文件/目录]
  • 常用选项:
    -l 显示详细信息
    -a显示隐藏文件
    -h人类可读格式
  • 示例:

注意ls -l 和 ll 通常是等效,都用于显示目录内容的详细列表。ls -l是个常用的命令,为了提高工作效率,一些Linux发行版将其别名为 ll,以便用户可以更方便地输入。

cd - 切换当前工作目录

  • 格式:cd [切换的目录]
  • 示例:

pwd - 显示当前工作目录绝对路径

  • 格式:pwd
  • 示例:

mkdir - 创建新目录

  • 格式:mkdir 新目录名
  • 示例:

touch - 创建新文件或修改文件时间戳

  • 格式:touch 新文件名
  • 示例:

cp - 复制文件或目录

  • 格式:cp [选项] 源文件/目录 目标文件/目录
  • 常用选项:
    -r递归复制
    -v显示详细信息
  • 示例:

mv - 移动或重命名文件或目录

  • 格式:mv [选项] 源文件或目录 目标文件或目录
  • 示例:

rm - 删除文件或目录

  • 格式:rm [选项] 文件/目录
  • 常用选项:
    -r递归删除
    -f强制删除
  • 示例:

文本处理命令

cat - 连接文件并打印到标准输出设备

  • 格式:cat 已存在的文件
  • 示例:

find - 在文件系统中查找文件。

  • 格式:find [路径] [选项] [表达式]
  • 常用选项:
    -name pattern根据文件名进行匹配
    -type type根据文件类型进行匹配(如f表示文件,d表示目录)
    -size [+|-]size根据文件大小进行匹配
    -user user根据文件所有者进行匹配
    -group group根据文件所属组进行匹配
    -mtime [+|-]days根据文件修改时间进行匹配
  • 示例:

grep - 在文件中查找字符串模式

  • 格式:grep [选项] [表达式] [文件]
  • 常用选项:
    -i忽略大小写
    -r递归搜索
    -n显示行号
  • 示例:

head - 显示文件开头几行。

  • 格式:head [选项] [文件]
  • 常用选项:
    -n指定显示的行数,默认为10行
    -c指定显示的字节数
    -q不显示文件名
    -v显示文件名
  • 示例:
    • 显示文件的前10行内容:head file.txt
    • 显示多个文件的前10行内容:head file1.txt file2.txt
    • 显示标准输入的前10行内容(通过管道):cat filename.txt | head

tail - 显示文件末尾几行。

  • 格式:head [选项] [文件]
  • 常用选项:
    -n显示文件末尾的行数。默认为10行
    -f实时跟踪文件末尾的内容,等待文件增长
    -c显示文件末尾的字节数
    -v显示文件名
  • 示例:
    • 显示文件末尾10行内容:tail file.txt
    • 实时跟踪文件末尾的内容:tail -f file.txt

more - 分页查看文本内容

  • 格式:more 已存在的文件
  • 示例:

more会逐页显示文件的内容。用户可以按下空格键来向下翻页,按下q键来退出more命令。more命令只支持向下翻页,不支持向上翻页或跳转到特定行。相比于moreless具有更多的特性和功能。

less - 显示文件内容,并允许向前或向后翻页。

  • 格式:less [选项] 文件
  • 常用选项:
    -N显示每行的行号
    -i忽略搜索时的大小写
    -S长行自动换行显示
    -F在文件只有一页时,不进行分页,直接显示文件内容
  • less功能按键:
    • 空格键(Space): 向下翻页。
    • b键: 向上翻页。
    • 回车键(Enter): 向下滚动一行。
    • 上箭头键和下箭头键: 向上和向下滚动一行。
    • /: 进入搜索模式,输入要搜索的字符串,然后按下回车键。按下n键可以继续向下搜索,按下N键可以向上搜索。
    • q键: 退出less命令。

vim - 文本编辑器

  • 格式:vim 文件
  • 注意:如果文件不存在,保存时候vim会创建一个新文件。

授权类命令

chmod - 修改文件或目录的权限

(1)数字形式修改权限

  • 格式:chmod [选项] 数字模式 [文件/目录]
  • 常用选项: 
    • -R:递归地修改目录及其下所有文件和子目录的权限
  • 示例:
    • chmod 777 file.txt:将文件file.txt设置为所有用户可读、写、执行权限 
    • chmod -R 777 folder:设置文件夹folder及其所有子目录和文件的权限   

扩展:数字模式是一种表示权限的简便方式,使用数字来表示文件或目录的权限。它的计算方式是将权限分为三组:用户权限、组权限和其他用户权限每组权限又分为读、写和执行权限,分别用数字 4、2、1 来表示。以如下为例:

chmod 644 file

其中:

  • 文件所有者权限为 6(4+2,可读可写)。
  • 组权限为 4(只读)。
  • 其他用户权限为 4(只读)

(2)符号形式修改权限

  • 格式:chmod [ugoa][+-=][rwx] [文件/目录]
  • 符号说明:
符号类型符号说明
分组符号u表所有者(User)
g 所属组(Group)
o 其他用户(Others)
a所有用户(User、Group、Others)
关联符号+

添加权限;

-移除权限
=设置权限
权限符号r

读权限(Read)

w写权限(Write)
x执行权限(eXecute)
-无权限

  • 示例:
    • 给文件所有者添加执行权限:chmod u+x filename

chown - 用于修改文件或目录的所有者

  • 格式chown [选项] 用户名 [文件/目录]
  • 常用选项
    • -R:递归地修改目录及其子目录下的所有者。
  • 示例:
    • 将文件file.txt的所有者修改为用户user1chown user1 file.txt
    • 将目录folder及其所有子目录和文件的所有者修改为用户user2chown -R user2 folder

扩展:同时修改所属用户和用户组:chown [用户名]:[用户组名]  [文件/目录]

chgrp - 用于修改文件或目录的所属用户组

  • 格式chgrp [选项] 用户组名 文件名
  • 说明:用于修改文件或目录的所属用户组。
  • 常用选项
    • -R:递归地修改目录及其子目录下的所属用户组。
  • 示例:
    • 将文件file.txt的所属用户组修改为用户组group1chgrp group1 file.txt
    • 将目录folder及其所有子目录和文件的所属用户组修改为用户组group2chgrp -R group2 folder

系统管理命令

top - 实时显示系统的资源占用情况和进程信息

  • 格式:top
  • 示例:

free - 显示内存使用情况

  • 格式:free [选项]
  • 常用选项: 
    • -m:以MB为单位显示内存大小
    • -g:以GB为单位显示内存大小
    • -t:在输出末尾添加一行总计信息,显示总计的内存使用情况
  • 示例:

打印出来的信息说明:

字段说明
total内存总大小
used使用的内存
free除了 buff/cache 剩余的内存
Shared共享内存
Buff/cact缓冲、缓存区内存数
available真实剩余的可用内存数

ps - 显示当前进程信息

  • 格式:ps [选项]
  • 特殊选项:aux,由三个独立的选项组合而成的:
    • a:显示所有用户的进程,而不仅仅是当前用户的进程。
    • u:以详细的格式显示进程信息,包括用户、进程ID、CPU占用率、内存占用等。
    • x:显示没有控制终端的进程,通常是守护进程或后台进程。
  • 常用选项: 
    • -e:显示所有进程。
    • -f:显示完整的进程信息。
    • -l:显示长格式的进程信息。
    • -a:显示除控制进程和无终端进程之外的所有进程。
    • -x:显示没有控制终端的进程。
    • -u user:显示特定用户的进程。
    • -p pid:显示特定进程ID的进程。
    • -C command:显示特定命令名的进程。
    • -o format:自定义输出格式。
    • --sort key:按照指定的键值对进程进行排序显示。
    • --forest:以树形结构显示进程。
  • 示例:
    • 显示所有用户的详细进程信息:ps aux
    • 列出系统的所有进程信息:ps -ef

打印出来的信息说明:

字段说明
USER

进程的用户名,表示该进程是由哪个用户启动的

PID

进程ID,唯一标识系统中的每个进程

%CPU

CPU使用率,表示进程占用CPU的百分比

%MEM

内存使用率,表示进程占用内存的百分比

VSZ

虚拟内存大小(Virtual Size),表示进程虚拟内存的大小,以KB为单位

RSS

常驻内存集(Resident Set Size),表示进程实际使用的物理内存大小,以KB为单位

TTY

控制终端,表示进程关联的控制终端

STAT

进程状态,包括运行状态(R)、睡眠状态(S)、僵尸状态(Z)等

START

进程启动时间,表示进程启动的时间点

TIME

CPU时间,表示进程累计占用CPU的时间

COMMAND进程的命令行,表示启动进程时使用的命令和参数

扩展:

1)只显示包含指定进程名的行:ps aux | grep <进程名>

2)ps -ef 和 ps aux 两者都可用于列出系统的所有进程信息,但ps aux更适合快速查看当前系统中的进程情况。

kill - 终止进程

  • 格式:kill [选项] PID
  • 常用选项:
    • -9:表示强制终止进程
  • 示例:
    • 终止进程ID为3252的进程:kill -9 3252

扩展:

  1. 执行命令ps -ef | grep <进程名>可获取进程ID(PID)
  2.  jps 命令获取正在运行的Java进程的进程ID(PID)及其对应的Java主类名称。

df - 显示磁盘空间使用情况

  • 格式:df [选项]
  • 常用选项:
    • -h:使用人类可读的格式显示磁盘空间大小(例如,KB、MB、GB等)
    • -T:显示文件系统类型
    • -t <类型>:仅显示指定类型的文件系统
    • --total:显示总计信息,包括所有文件系统的总空间、已用空间和可用空间
  • 示例:df -h

du - 显示文件和目录的磁盘使用情况

  • 格式:du [选项] 目录
  • 常用选项:
    • -h:以人类可读的方式显示文件大小,例如KB、MB、GB等。

    • -s:显示指定目录的总大小,而不显示其子目录的大小。

    • -a:显示所有文件的大小,包括隐藏文件。

    • -c:显示总大小,同时显示每个子目录的大小。

    • -k:以KB为单位显示文件大小。

    • -m:以MB为单位显示文件大小。

    • -B <block-size>:设置块大小,可以指定以字节、KB、MB等为单位的块大小。

  • 示例:

uname - 显示系统信息。

  • 格式:uname [选项] 
  • 常用选项:
    • -a:显示全部系统信息。
    • -s:显示系统内核名称。
    • -n:显示网络节点主机名。
    • -r:显示内核发布号。
    • -v:显示内核版本。
    • -m:显示机器硬件名称。
    • -p:显示处理器类型或unknown。
    • -i:显示硬件平台或unknown。
    • -o:显示操作系统名称。
  • 示例:
[root@linux100 ~]# uname -a
Linux linux100 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:11 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

打印出来的信息说明:

字段对应打印的值说明

操作系统类型

- Operating System Type

Linux显示操作系统类型,如Linux、Unix等。

主机名

- Hostname

linux100显示当前主机的名称

内核版本

- Kernel Version

4.15.0-70-generic显示当前系统正在使用的内核版本号

操作系统发行版版本号

- OS Distribution Version

#79显示操作系统发行版的版本号。

操作系统发行版

- OS Distribution

Ubuntu显示操作系统的发行版信息,如Ubuntu、CentOS等。

操作系统架构

- Architecture

x86_64显示操作系统的架构,如x86_64、i386等

service - 管理系统服务

  • 格式:service [选项] 服务名称 [命令]
    • 选项:用于指定service命令的一些额外参数,如--status-all用于显示所有系统服务的状态。
    • 服务名称:要操作的系统服务的名称。
    • 命令:指定要执行的操作
      • start:启动指定的系统服务。
      • stop:停止指定的系统服务。
      • restart:重启指定的系统服务。
      • reload:重新加载指定的系统服务的配置文件,通常用于重新加载配置而不需要重启服务。
      • status:显示指定的系统服务的当前状态,如是否正在运行。
      • enable:设置指定的系统服务在系统启动时自动启动。
      • disable:禁用指定的系统服务,使其在系统启动时不自动启动。
      • list:列出系统中所有可用的系统服务。
  • 示例:
# 启动MySQL服务
service mysql start

# 重启Nginx服务
service nginx restart

# 查看SSH服务状态
service ssh status

# 设置Tomcat服务在系统启动时自动启动
service tomcat enable

systemctl- 管理系统服务(systemd系统)

  • 格式:systemctl [选项] 命令 [服务名]
  • 常用选项:
选项类型选项说明
启动和停止服务start <服务名>启动指定的服务
stop <服务名>停止指定的服务

重启和重载服务

restart <服务名>重启指定的服务
reload <服务名>重新加载指定的服务配置,不会停止服务

启用和禁用服务

enable <服务名>设置服务为开机启动
disable <服务名>设置服务为不开机启动

查看服务状态

status <服务名>查看指定服务的状态
is-active <服务名>检查指定服务是否处于激活状态(运行中)
is-enabled <服务名>检查指定服务是否已设置为开机启动
is-failed <服务名>检查指定服务是否失败

显示所有服务列表

list-units显示所有正在运行的单元(服务、套接字、设备等)
list-unit-files显示所有可用的单元文件(服务配置文件)
查看日志

journalctl

显示的日志包含systemd日志
journalctl -u <服务名>显示指定服务的日志
  • ​​​​ 示例:
# 启动mysql
systemctl start mysql

# 重启mysql
systemctl restart mysql

# 设置mysql为开机启动
systemctl enable mysql

# 检查mysql是否处于激活状态:
systemctl is-active mysql

​​​​​​shutdown - 关机或重启系统

reboot - 重启系统

网络管理命令

ifconfig - 显示和配置网络接口的信息。

  • 格式:ifconfig [选项]
  • 常用选项:
    • -a:显示所有网络接口的信息,包括未激活的接口。
    • <interface>:指定显示某个特定网络接口的信息。
    • up:激活一个网络接口。
    • down:禁用一个网络接口。
  • 示例:

ping - 测试与另一台主机的连通性

  • 格式:ping [选项] hostname/IP
  • 示例:

telnet - 测试远程主机的IP和端口是否能正常访问

  • 格式:telnet [选项] IP地址 [端口]
  • 常用选项:
    • -l <username>:指定登录用户名。
    • -b <source>:指定本地地址。
    • -d:启用调试模式。
    • -E:在ECHO字符时不去掉换行符。
    • -k:启用密钥盘。
    • -n <tracefile>:将所有收到和发送的字节写入跟踪文件。
    • -r:使用指定的协议行方式。
    • -t <time>:设置连接的超时时间。
  • 示例:
# 连接到远程主机的默认Telnet端口
telnet baidu.com

# 连接到远程主机的指定端口:
telnet example.com 8080

# 指定登录用户名连接到远程主机:
telnet -l username example.com

# 启用调试模式连接到远程主机:
telnet -d example.com

# 指定本地地址连接到远程主机:
telnet -b local_address example.com

netstat - 显示网络连接、路由表和网络接口统计信息

  • 格式:netstat [选项]
  • 常用选项:
    • -a:显示所有的连接和监听端口。
    • -t:显示TCP协议的连接。
    • -u:显示UDP协议的连接。
    • -l:显示监听状态的连接。
    • -n:显示IP地址和端口号(不进行反向解析)。
    • -p:显示连接对应的进程ID和进程名称。
    • -r:显示路由表。
    • -s:显示网络统计信息。
    • -c:连续显示网络状态信息,每隔一段时间刷新一次。
  • 示例:

traceroute- 跟踪数据包从源到目的地的路径

  • 格式:traceroute [选项] IP地址/域名
  • 常用选项:
    • -h:设置跟踪数据包的最大跳数。
    • -n:以IP地址形式显示跃点,而不进行域名解析。
    • -q:设置发送到每个跃点的数据包数量。
    • -w:设置超时时间,单位为秒。
    • -m:设置最大跃点数。
    • -I:使用ICMP协议进行跟踪。
    • -T:使用TCP协议进行跟踪。
  • 示例: 

上面示例中,显示了从本地主机到目标主机(192.168.243.102)经过的1个路由器或中间节点的信息,包括它们的IP地址(192.168.243.102)、主机名(linux102)、以及数据包往返时间RTT(0.161 ms  0.132 ms  0.097 ms)。

curl - 模拟客户端发送http请求。

  • 格式:curl [选项] [url]
  • 常用选项:
    • -X, --request <command>:指定HTTP请求方法,如GET、POST、PUT等。
    • -d, --data <data>:发送POST请求的数据。
    • -H, --header <header>:添加HTTP请求头。
    • -i, --include:显示HTTP响应头信息。
    • -o, --output <file>:将响应保存到文件中。
    • -O, --remote-name:将响应保存到本地文件,文件名由服务器决定。
    • -L, --location:自动跟随重定向。
    • -k, --insecure:忽略SSL证书验证。
    • -v, --verbose:显示详细的调试信息。
    • -u <username>:<password>:用于指定用户名密码,进行HTTP基本认证。
  • 示例:
# 发送GET请求并显示响应
curl http://example.com

# 发起POST请求并响应
curl -X POST -d "param1=value1&param2=value2" http://example.com

# 发送带有自定义请求头的请求
curl -H "Content-Type: application/json" http://example.com

# 下载文件并保存到本地
curl -O http://example.com/file.txt

#发送带有用户名和密码的HTTP Basic认证请求
curl -u username:password http://example.com

curl命令常用于下载文件、测试API等。

wget - 用于从网络上下载文件

  • 格式:wget [选项] [url]
  • 常用选项:
    • -O, --output-document=FILE:将下载的文件保存为指定的文件名。
    • -q, --quiet:静默模式,不显示任何输出。
    • -P, --directory-prefix=PREFIX:将下载的文件保存到指定的目录。
    • -c, --continue:继续下载未完成的文件。
    • -r, --recursive:递归下载指定URL及其所有链接的文件。
    • -np, --no-parent:不下载父目录链接的文件。
    • -nH, --no-host-directories:不创建主机目录。
    • -N, --timestamping:仅在远程文件新于本地文件或文件不存在时才下载。
    • -l, --limit-rate=RATE:限制下载速率。
    • -i, --input-file=FILE:从文件中读取URL列表进行下载。
  • 示例:    
# 下载单个文件并保存为指定文件名
wget -O myfile.txt http://example.com/file.txt

# 下载文件到指定目录
wget -P /path/to/directory http://example.com/file.txt

# 继续下载未完成的文件
wget -c http://example.com/file.txt

# 从文件中读取URL列表进行下载
wget -i urls.txt

ssh - 用于远程管理和操作计算机

  • 格式:ssh [选项] [user@]hostname [命令]
  • 常用选项:
    • -l username:指定登录的用户名。
    • -p port:指定SSH服务器的端口,默认为22。
    • -i identity_file:指定身份验证文件,用于私钥认证。
    • -N:仅建立连接,不执行远程命令。
    • -q:静默模式,不显示连接过程中的警告信息。
    • -v:详细模式,显示更多的调试信息。
    • -X:启用X11转发,可以在远程主机上显示图形界面。
    • -C:启用压缩传输。
  • 示例:
# 以用户名和密码登录到远程主机
ssh username@hostname

# 以指定端口号登录到远程主机
ssh -p 2222 username@hostname

# 在远程主机上执行命令
ssh username@hostname "ls -l /"

# 使用私钥文件进行身份验证登录
ssh -i ~/.ssh/id_rsa username@hostname

scp - 用于本地与远程系统间进行文件传输

  • 格式:scp [options] [来源地址] [目的地址]
  • 常用选项:
    • -r:递归复制整个目录。
    • -P port:指定端口号。
    • -p:保留原文件的修改时间、权限等信息。
    • -q:静默模式,不显示进度信息。
    • -C:开启压缩传输。
    • -v:显示详细的调试信息。
  • 示例:
# 从本地系统拷贝文件到远程系统
scp file.txt user@remote_host:/path/to/destination/

# 从远程系统拷贝文件到本地系统
scp user@remote_host:/path/to/file.txt /local/path/to/destination/

# 从本地系统拷贝目录到远程系统
scp -r directory user@remote_host:/path/to/destination/

# 从远程系统拷贝目录到本地系统
scp -r user@remote_host:/path/to/directory /local/path/to/destination/

rsync - 用于不同系统之间同步文件和目录

  • 格式:rsync [options] 来源地址 目的地址
  • 常用选项:
    • -a, --archive:归档模式,保留文件的所有属性,递归同步子目录。
    • -v, --verbose:详细模式,显示传输过程中的详细信息。
    • -r, --recursive:递归模式,同步子目录。
    • -u, --update:更新模式,仅同步源目录中新增或修改的文件。
    • -z, --compress:压缩传输,减少网络带宽占用。
    • -h, --human-readable:以人类可读的格式显示输出。
    • -e, --rsh=COMMAND:指定远程shell命令,如SSH。
    • --delete:删除目标目录中源目录没有的文件。
    • --exclude=PATTERN:排除匹配的文件或目录。
    • --progress:显示传输进度。
  • 示例:
# 本地目录同步到远程主机
rsync -avz /path/to/source user@remote_host:/path/to/destination

# 远程主机同步到本地目录
rsync -avz user@remote_host:/path/to/source /path/to/destination

# 仅同步新增或修改的文件
rsync -avzu /path/to/source user@remote_host:/path/to/destination

# 删除目标目录中源目录没有的文件
rsync -avz --delete /path/to/source user@remote_host:/path/to/destination

# 排除指定的文件或目录
rsync -avz --exclude="*.log" /path/to/source user@remote_host:/path/to/destination

扩展:比较下scp命令跟rsync命令的区别:

两者的相同点:

  1. 功能:两者都可以用于在本地计算机和远程计算机之间进行文件传输

  2. 安全性:两者都通过SSH(Secure Shell)进行加密传输,保证了数据的安全性。

  3. 支持性:两者都广泛支持在Unix/Linux系统上使用,并且可以跨平台进行文件传输

两者的不同点:

  1. 传输方式

    • rsync是一种增量传输工具,它可以只传输源文件和目标文件之间的差异部分,从而节省带宽和时间。
    • scp是一种简单的拷贝命令,它会传输整个文件,无论文件是否有变化。
  2. 性能

    • 由于rsync采用增量传输的方式,通常情况下scp传输速度更快,尤其是在需要多次传输相同文件的情况下。
    • scp每次传输都需要传输整个文件,因此在大文件或网络带宽有限的情况下可能性能较差。
  3. 复制目录rsync可以很容易地复制整个目录及其内容,而scp通常需要使用-r选项来递归复制整个目录

  4. 灵活性

    • rsync提供了丰富的选项和参数,可以满足不同的需求,如同步文件、备份文件、忽略特定文件等。
    • scp的功能相对较简单,只能进行简单的文件传输。

压缩和解压命令

tar - 创建或解压tar归档文件

  • 格式:tar [选项] [归档文件] [文件/目录]
  • 常用选项:
    • -c:创建一个新的归档文件。
    • -x:从归档文件中解压文件。
    • -f:指定归档文件的名称。
    • -v:显示详细的处理过程。
    • -z:通过gzip进行压缩或解压缩。
    • -j:通过bzip2进行压缩或解压缩。
    • -C:指定解压文件的目标目录。
  • 示例:
# 创建一个归档文件
tar -cvf archive.tar file1 file2 directory

# 创建一个gzip压缩的归档文件
tar -czvf archive.tar.gz directory

# 解压一个归档文件
tar -xvf archive.tar

# 解压到指定目录
tar -xzvf archive.tar.gz -C /path/to/directory

gzip - 使用gzip进行压缩或解压缩。

  • 格式:gzip [选项] [文件名]
  • 常用选项:
    • -c, --stdout:将压缩后的文件输出到标准输出,而不修改原始文件。
    • -d, --decompress:解压缩文件。
    • -f, --force:强制压缩或解压缩文件,即使存在同名文件也进行操作。
    • -r, --recursive:递归处理目录下的所有文件及子目录。
    • -t, --test:测试压缩文件的完整性。
    • -v, --verbose:显示压缩或解压缩的详细信息。
    • -9:指定压缩级别,数字越大,压缩比越高,但耗费的时间也越长。
  • 示例:
# 压缩文件
gzip file.txt

# 压缩多个文件
gzip file1.txt file2.txt

# 将压缩后的文件输出到标准输出:
gzip -c file.txt > compressed.gz

# 解压缩文件
gzip -d compressed.gz

# 递归压缩目录下的所有文件
gzip -r directory/

gunzip - 解压gzip压缩文件

  • 格式:gunzip [选项] [压缩文件名]
  • 示例:
# 解压缩一个文件
gunzip file.txt.gz

# 解压缩多个文件
gunzip file1.gz file2.gz

zip - 创建ZIP文件

  • 格式:zip [选项] [压缩文件名] [要压缩的文件/目录]
  • 常用选项:
    • -r:递归压缩目录及其子目录下的所有文件。
    • -q:静默模式,不显示压缩过程中的信息。
    • -9:使用最高压缩级别进行压缩,压缩率最高,但速度最慢。
    • -o:覆盖已存在的压缩文件,如果压缩文件已经存在,则会覆盖掉原有的压缩文件。
    • -u:更新压缩文件,只添加新文件或已修改文件到压缩文件中。
    • -d:删除压缩文件中的指定文件。
  • 示例:
# 将文件或目录压缩成一个压缩文件
zip -r compressed_files.zip directory

# 将多个文件或目录压缩成一个压缩文件
zip compressed_files.zip file1 file2 directory

# 使用最高压缩级别进行压缩
zip -9 compressed_files.zip directory

unzip - 解压zip文件

  • 格式:unzip [选项] 文件名.zip
  • 常用选项:
    • -d <目标目录>:指定解压缩后的文件存放的目标目录。
    • -q:安静模式,不显示任何解压缩过程中的信息。
    • -o:不提示,直接覆盖已存在的文件。
    • -j:仅解压缩文件,不解压缩文件夹。
    • -l:列出ZIP文件中的内容列表,但不解压缩文件。
    • -v:详细模式,显示解压缩过程中的详细信息。
  • 示例:
# 解压缩文件到当前目录
unzip example.zip

# 解压缩文件到指定目录
unzip -d /opt example.zip

# 解压缩并覆盖已存在的文件
unzip -o example.zip

bzip2 - 使用bzip2进行压缩或解压缩

  • 格式:bzip2 [选项] 文件名
  • 常用选项:
    • d:解压缩文件。
    • -k:保留原始文件,不删除原始文件。
    • -f:强制压缩,即使文件已经存在。
    • -z:压缩文件。
    • -v:显示压缩或解压缩的详细信息。
    • -t:测试压缩文件的完整性。
    • -q:不显示压缩或解压缩的进度信息。
  • 示例:
# 压缩文件
bzip2 file.txt

# 解压缩文件
bzip2 -d file.txt.bz2

xz - 使用xz进行压缩或解压缩

  • 格式:xz [选项] [文件名]
  • 常用选项:
    • -z, --compress:压缩文件(默认行为)。
    • -d, --decompress:解压缩文件。
    • -k, --keep:保留原始文件。
    • -c, --stdout:将压缩或解压缩的结果输出到标准输出,而不是写入文件。
    • -t, --test:测试压缩文件的完整性。
    • -f, --force:强制覆盖已存在的目标文件。
    • -v, --verbose:显示详细的压缩和解压缩过程信息。
    • -q, --quiet:静默模式,减少输出信息。
    • -k, --keep:保留原始文件。
    • -9, --best:使用最高的压缩级别(默认为6)。
    • -1, --fast:使用最快的压缩级别。
  • 示例:
# 压缩文件
xz file.txt

# 解压缩文件
xz -d file.txt.xz

# 将压缩的结果输出到标准输出
xz -c file.txt > file.txt.xz

软件包管理

apt-get:Debian/Ubuntu系统下的包管理工具

  • 格式:apt-get [选项] [软件包名]
  • 常用选项:
    • upgrade:升级软件包。
    • remove:卸载软件包。
    • update:更新已安装的软件包。
    • install:安装软件包。
    • -s:模拟执行操作,不会真正执行命令,用于预览操作效果。
    • -f:修复损坏的依赖关系。
    • -q:安静模式,减少输出信息。
    • -y:自动回答yes,不需要用户确认操作。
  • 示例:
# 安装软件包
sudo apt-get install vim

# 移除软件包
sudo apt-get remove vim

# 更新软件包列表
sudo apt-get update vim

# 安装软件包并自动回答yes
sudo apt-get -y install vim

yum:CentOS/RHEL系统下的包管理工具

  • 格式:yum [选项] [软件包名]
  • 常用选项:
    • -y, --assumeyes:在执行操作时自动回答“yes”。
    • -q, --quiet:静默模式,只输出错误和警告信息。
    • -v, --verbose:详细模式,输出更多的执行信息。
    • -h, --help:显示帮助信息。
    • install:安装软件包。
    • update:更新已安装的软件包。
    • remove:卸载软件包。
    • search:搜索软件包。
    • info:显示软件包的详细信息。
  • 示例:
# 安装软件包
yum install nginx

# 更新已安装的软件包
yum update

# 卸载软件包
yum remove nginx

# 显示软件包的详细信息
yum info nginx

Linux系统有很多其他功能强大的命令可供使用,具体使用方法和参数可以通过命令后跟--help或者man命令查看帮助文档。

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值