Linux常用命令总结

文章目录

  • Linux常用命令总结
    • top
    • wget
    • free
    • scp命令
    • netstat
    • gzip
    • tar
    • df
    • ps
    • ssh
    • curl
    • zip
    • unzip
    • touch
    • cat
    • tac
      • 语法
      • 选项
      • 示例用法
    • chmod
      • 语法
      • 权限标志
      • 示例用法
    • more
      • 基本用法
      • 更多操作
    • less
      • 基本用法
      • 更多操作
    • uname
    • cat /etc/os-release
    • grep
      • 基本用法
      • 示例用法
      • 常见选项
    • whereis
      • 示例用法
      • 常见选项
    • ip addr
      • 基本用法
      • 示例用法
      • 示例输出
    • ifconfig
      • 基本用法
      • 示例用法
      • 示例输出

Linux常用命令总结

top

top 命令是一个在Linux和Unix系统中用于实时监视系统性能和进程信息的强大工具。它提供了一个交互式的界面,用于显示各种系统资源的使用情况,包括CPU、内存、交换空间和进程等。以下是有关如何使用 top 命令以及输出的一些详细信息:

要运行 top 命令,只需在终端中输入 top 并按 Enter。

top 的主要输出区域通常分为以下几部分:

  1. 顶部信息

    • 第一行:当前时间、系统已经运行的时间、登录用户数、负载平均值。
    • 第二行:进程总数、运行中的进程数、睡眠的进程数、已停止的进程数、僵尸进程数。
  2. 任务区域

    • 列表显示了所有运行中的进程,按CPU占用率或其他指标进行排序,默认按CPU占用率排序。
    • 每个进程的信息包括进程ID(PID)、用户、CPU使用率、内存使用量、进程状态、启动时间、命令名称等。
    • 使用键盘上的箭头键可以在进程列表中移动,使用 k 键可以杀死选中的进程。
  3. 命令区域

    • 可以在此区域输入命令来进行交互操作,例如改变排序方式、筛选进程等。
    • 常用的命令包括 q(退出 top)、k(杀死进程)、1(切换到单核视图)、H(显示线程信息)等。
  4. 底部信息

    • 显示了系统的总体性能统计信息,包括CPU使用率、内存使用情况、交换空间使用情况等。

下面是一些常用的 top 命令交互操作:

  • q:退出 top
  • k:杀死选中的进程。
  • H:显示线程信息(如果有的话)。
  • 1:切换到单核视图,显示每个CPU核心的使用情况。
  • t:切换到树形视图,显示进程关系。
  • m:切换到内存排序模式。
  • P:按CPU占用率排序。
  • M:按内存占用率排序。
  • R:反转当前排序顺序。
  • u:显示特定用户的进程,然后输入用户名。
  • f:选择要显示的字段,可以添加或删除字段。
  • o:更改排序字段,然后输入要排序的字段。
  • ?:显示帮助文档,列出可用的命令。

top 命令非常强大,可用于监视系统性能,识别资源使用情况,查找性能瓶颈和优化系统。可以根据需要自定义视图和排序,以获得所需的信息。

wget

wget 是一个常用的命令行工具,用于在Linux和Unix系统中从网络上下载文件。它支持HTTP、HTTPS、FTP等协议,并可以用于下载单个文件、整个目录或递归下载网站。以下是一些 wget 命令的常见用法:

  1. 下载单个文件

    wget URL
    

    例如,要下载名为 “example.txt” 的文件,可以运行:

    wget https://example.com/example.txt
    

    下载的文件将被保存在当前工作目录中。

  2. 指定另存为文件名

    如果你希望将下载的文件保存为不同的文件名,可以使用 -O 选项:

    wget -O newfilename URL
    

    例如:

    wget -O mydata.txt https://example.com/data.txt
    
  3. 递归下载整个目录

    wget 可以递归下载整个目录及其子目录,使用 -r 选项:

    wget -r URL
    

    这对于下载网站内容非常有用。

  4. 限制递归深度

    如果你想限制递归下载的深度,可以使用 -l 选项,例如:

    wget -r -l 2 URL
    

    上述命令将下载指定URL的页面及其链接的页面,但不会超过2级深度。

  5. 下载时保持目录结构

    使用 -np 选项可以确保 wget 不进入上级目录,保持下载时的目录结构。这对于递归下载非常有用。

    wget -r -np URL
    
  6. 续传下载

    如果下载中途中断,你可以使用 -c 选项来续传下载,以便从上次中断的地方继续下载。

    wget -c URL
    
  7. 后台下载

    如果你想在后台下载文件,可以使用 -b 选项:

    wget -b URL
    

    下载进程将在后台运行,并且下载日志将保存在 wget-log 文件中。

  8. 下载限速

    你可以使用 --limit-rate 选项来限制下载速度,以避免对网络带宽的过度使用:

    wget --limit-rate=100k URL
    

这些是 wget 命令的一些基本用法。wget 具有许多其他选项和功能,可以根据需要进行定制。你可以使用 man wget 命令查看 wget 的手册页,了解更多详细信息。

free

free 命令用于显示系统的内存使用情况,包括物理内存(RAM)和交换空间。它是Linux和Unix系统中的一个常见工具,用于监视系统内存的使用情况。以下是 free 命令的常见用法和输出的详细解释:

要运行 free 命令,只需在终端中输入 free 并按 Enter。

free 命令的输出通常分为以下几个部分:

  1. 第一行:总物理内存、已使用的物理内存、可用的物理内存、已使用的交换空间、可用的交换空间。

  2. 第二行:内存的详细信息,包括总内存、已使用内存、空闲内存、缓冲内存和缓存内存。

下面是一些 free 命令的常用选项:

  • -b:以字节为单位显示内存使用情况。
  • -k:以千字节(KB)为单位显示内存使用情况(默认选项)。
  • -m:以兆字节(MB)为单位显示内存使用情况。
  • -g:以吉字节(GB)为单位显示内存使用情况。
  • -t--total:显示内存使用情况的总计行。

以下是 free 命令的示例输出及其解释:

             total       used       free     shared    buffers     cached
Mem:       4096000    2456784    1639216       4096     262144    1048576
-/+ buffers/cache:    1152064    2943936
Swap:      1048576          0    1048576
  • total:系统总内存(4 GB)。
  • used:已使用的内存(2.45 GB)。
  • free:可用的内存(1.64 GB)。
  • shared:多个进程共享的内存。
  • buffers:用于磁盘缓存的内存(256 MB)。
  • cached:用于文件系统缓存的内存(1 GB)。

第二行是以 -/+ buffers/cache 开头的行,它显示了不包括磁盘缓存和文件系统缓存的内存使用情况:

  • -/+ buffers/cache 行中的 used 表示已使用的内存(1.15 GB)。
  • -/+ buffers/cache 行中的 free 表示可用的内存,不包括磁盘缓存和文件系统缓存(2.94 GB)。

最后,Swap 部分显示了交换空间的使用情况:

  • total:总的交换空间大小(1 GB)。
  • used:已使用的交换空间(0)。
  • free:可用的交换空间(1 GB)。

free 命令是一个有用的工具,可以帮助你监视系统内存的使用情况,特别是在分析性能问题和优化系统时。

scp命令

scp(Secure Copy Protocol)是用于在本地系统和远程系统之间进行文件传输的命令行工具。它通过SSH(Secure Shell)协议进行加密,因此传输的文件是安全的。以下是 scp 命令的详细说明和常见用法。

scp 的基本语法如下:

scp [选项] [源文件] [目标]
  • [选项]:用于指定 scp 命令的选项,如 -r 用于递归复制整个目录。
  • [源文件]:指定要传输的源文件或目录的路径。
  • [目标]:指定目标位置,可以是本地系统上的路径或远程系统上的路径(通常使用SSH URL 格式)。

以下是 scp 命令的一些常见用法:

  1. 从本地系统复制到远程系统

    scp [选项] [本地文件] [远程用户名@远程主机:远程路径]
    

    例如,从本地系统将文件 file.txt 复制到远程系统的 /home/remoteuser/ 目录:

    scp file.txt remoteuser@remotehost:/home/remoteuser/
    

    你将需要提供远程系统的密码或使用SSH密钥进行身份验证。

  2. 从远程系统复制到本地系统

    scp [选项] [远程用户名@远程主机:远程文件] [本地路径]
    

    例如,从远程系统复制文件 remotefile.txt 到本地系统的当前目录:

    scp remoteuser@remotehost:/path/to/remotefile.txt .
    

    注意,. 表示当前目录。

  3. 递归复制目录

    使用 -r 选项可以递归复制整个目录及其内容:

    scp -r localdir remoteuser@remotehost:/path/to/remote/
    
  4. 指定SSH密钥文件

    如果你使用SSH密钥进行身份验证,可以使用 -i 选项来指定密钥文件:

    scp -i /path/to/private_key localfile remoteuser@remotehost:/remote/path/
    
  5. 指定端口号

    如果SSH服务器在非标准端口上运行,你可以使用 -P 选项指定端口号:

    scp -P 2222 localfile remoteuser@remotehost:/remote/path/
    
  6. 压缩传输

    使用 -C 选项可以启用压缩传输,以减小数据传输的大小:

    scp -C localfile remoteuser@remotehost:/remote/path/
    

scp 命令非常有用,可以用于安全地传输文件和目录,无论是从本地到远程还是从远程到本地。它是一种非常常见的文件传输工具,特别是在Linux和Unix系统中。

netstat

netstat(Network Statistics)是一个用于显示网络连接和路由表信息的命令行工具。它可用于查看网络接口、当前活动的网络连接、路由表、接口统计信息等。在不同的操作系统中,netstat的用法和输出格式可能会有所不同。以下是一些常见的 netstat 命令用法和输出的示例:

基本用法

在大多数Linux发行版中,可以使用netstat命令来列出活动的网络连接:

netstat

这将显示当前系统上的所有网络连接,包括TCP和UDP连接。

显示监听端口

如果你只想查看正在侦听(listening)的端口,可以使用 -tuln 选项(-t 表示TCP,-u 表示UDP,-l 表示显示监听端口,-n 表示以数字形式显示):

netstat -tuln

这将显示所有正在侦听的TCP和UDP端口,以及它们的详细信息。

显示路由表

你可以使用 -r 选项来查看系统的路由表:

netstat -r

这将显示路由表中的信息,包括目标网络、网关、网络接口和其他相关信息。

显示详细统计信息

要显示接口的详细统计信息,包括数据包的传输和错误统计,可以使用 -i 选项:

netstat -i

这将列出所有网络接口以及它们的统计信息。

显示进程与端口关联

使用 -p 选项可以显示与端口关联的进程信息(需要以超级用户或管理员权限运行):

sudo netstat -tuln -p

这将显示监听端口并列出与每个端口关联的进程。

netstat 命令的输出可能包含大量信息,因此可以使用不同的选项来筛选和定制所需的信息。请注意,netstat 在不同的Linux发行版中的选项和输出格式可能会有所不同,因此你可能需要查看相应发行版的文档以获取更多详细信息。

gzip

gzip 是一个用于在Unix和Linux系统中进行文件压缩的命令行工具。它使用 DEFLATE 压缩算法来减小文件的大小,通常将文件扩展名更改为 .gz。以下是 gzip 命令的详细说明和一些常见用法。

基本语法

gzip [选项] [文件]

常见选项

  • -d:解压缩文件。如果不指定该选项,gzip 默认会压缩文件。
  • -c:将输出发送到标准输出,而不是覆盖原始文件。
  • -k:保留原始文件(不删除),并创建一个新的压缩文件。
  • -r:递归处理目录中的文件。
  • -t:检查压缩文件的完整性。
  • -v:详细显示操作过程。

压缩文件

要使用 gzip 压缩文件,只需提供要压缩的文件的名称作为参数,然后压缩后的文件将替代原始文件。例如:

gzip myfile.txt

这将创建一个名为 myfile.txt.gz 的压缩文件,并删除原始的 myfile.txt 文件。

解压文件

要解压文件,使用 -d 选项,然后提供要解压的压缩文件的名称。例如:

gzip -d myfile.txt.gz

这将解压缩 myfile.txt.gz 并恢复原始的 myfile.txt 文件。如果不使用 -d 选项,gzip 默认将解压缩文件。

保留原始文件

如果你想保留原始文件并创建一个新的压缩文件,可以使用 -k 选项。例如:

gzip -k myfile.txt

这将创建 myfile.txt.gz 压缩文件,同时保留原始的 myfile.txt 文件。

检查文件完整性

要检查压缩文件的完整性,可以使用 -t 选项。例如:

gzip -t myfile.txt.gz

这将检查 myfile.txt.gz 文件是否完好无损。如果文件完好,不会有任何输出。

gzip 命令非常有用,可以用于压缩和解压文件,减小存储空间和传输时间。它通常与 tar 命令一起使用,以在创建归档文件时同时进行压缩。

tar

tar 命令是在Unix和Linux系统中用于创建、提取、压缩和管理归档文件的命令行工具。tar 的名称源自 “tape archive”,最初是用于在磁带上备份文件的工具。以下是 tar 命令的详细说明和一些常见用法。

基本语法

tar [选项] [归档文件] [文件或目录...]

常见选项

  • -c:创建新的归档文件。
  • -x:从归档文件中提取文件。
  • -t:列出归档文件的内容。
  • -f:指定归档文件的名称,通常紧随其后。
  • -v:详细显示操作过程。
  • -z:使用 gzip 压缩。
  • -j:使用 bzip2 压缩。
  • -r:向已有的归档文件添加文件。
  • -u:仅添加新文件。
  • -A:合并多个归档文件。
  • -d:比较文件与归档文件的差异。
  • --delete:从归档文件中删除文件。
  • --list:显示归档文件的内容。
  • --wildcards:使用通配符匹配文件名。
  • --exclude:排除指定文件或目录。

创建归档文件

要创建一个新的归档文件,你可以使用 -c 选项,紧随其后是要创建的归档文件的名称,以及要添加到归档文件的文件或目录的列表。例如,创建名为 myarchive.tar 的归档文件并将 file1.txtdirectory1 添加到其中:

tar -cvf myarchive.tar file1.txt directory1

提取文件

要从归档文件中提取文件,可以使用 -x 选项,并指定要提取的归档文件的名称。例如,从 myarchive.tar 中提取文件:

tar -xvf myarchive.tar

压缩文件

你可以使用 -z-j 选项来在创建归档文件时使用 gzip 或 bzip2 压缩。例如,创建使用 gzip 压缩的归档文件:

tar -czvf myarchive.tar.gz file1.txt directory1

或者创建使用 bzip2 压缩的归档文件:

tar -cjvf myarchive.tar.bz2 file1.txt directory1

列出归档文件的内容

要列出归档文件的内容,使用 -t 选项。例如,列出 myarchive.tar 的内容:

tar -tvf myarchive.tar

tar 命令非常有用,可以用于创建、提取、压缩和管理归档文件,以便在Unix和Linux系统中有效地处理文件和目录。请注意,tar 命令的选项和语法可能会在不同的操作系统上有所不同,因此你可能需要查看相应操作系统的文档以获取更多详细信息。

df

df 是一个用于显示文件系统磁盘空间使用情况的命令行工具。它会列出挂载的文件系统以及它们的磁盘空间使用情况,包括可用空间、已使用空间和总空间。以下是 df 命令的基本用法和一些常见选项:

基本语法

df [选项] [文件系统]

常见选项

  • -h:以人类可读的方式显示磁盘空间,以便更容易理解大小单位(例如,GB、MB)。
  • -T:显示文件系统类型。
  • -t:仅显示指定类型的文件系统。
  • -a:显示所有文件系统,包括没有磁盘空间的虚拟文件系统。
  • -i:显示inode(索引节点)使用情况而不是磁盘空间使用情况。

显示文件系统磁盘空间信息

要显示系统中所有文件系统的磁盘空间使用情况,只需运行 df 命令:

df

这将列出所有已挂载的文件系统,包括根文件系统和其他分区,以及它们的磁盘空间使用情况。

显示人类可读格式

如果你希望以人类可读的方式查看磁盘空间使用情况,可以使用 -h 选项:

df -h

这将以更易读的形式显示磁盘空间大小单位,如GB、MB。

指定文件系统类型

你可以使用 -t 选项来仅显示特定类型的文件系统。例如,要仅显示ext4文件系统的信息:

df -t ext4

显示inode使用情况

默认情况下,df 显示磁盘空间使用情况,但你也可以使用 -i 选项来显示inode使用情况,这在某些情况下很有用。

df -i

df 命令是一个有用的工具,用于监视文件系统的磁盘空间使用情况,以便及时采取措施来防止磁盘空间不足。根据系统和需求,你可以使用不同的选项来定制 df 命令的输出。

ps

ps 命令是一个用于显示当前正在运行的进程信息的命令行工具。它允许你列出和查看系统上正在执行的进程,包括它们的进程ID(PID)、CPU利用率、内存占用和其他相关信息。ps 命令在Unix、Linux和类Unix操作系统中非常有用,以下是一些常见的 ps 命令选项和用法:

基本语法

ps [选项]

常见选项

  1. -e:显示所有进程,包括其他用户的进程。
  2. -f:显示完整的进程信息,包括父进程、子进程等。
  3. -l:以长格式显示进程信息,包括更多详细信息。
  4. -a:显示所有进程,除了与终端(TTY)无关的进程。
  5. -x:显示没有终端(TTY)的进程。
  6. -u:显示特定用户的进程信息,例如 ps -u username 显示特定用户的进程。

查看当前用户的所有进程

要查看当前用户的所有进程,只需运行 ps 命令:

ps

这将列出当前用户的所有正在运行的进程。

以完整格式显示进程信息

如果你想以完整格式显示进程信息,包括父进程、子进程等,可以使用 -f 选项:

ps -f

这将显示更多详细信息,包括进程的父进程ID(PPID)和其他信息。

以长格式显示进程信息

如果你需要更详细的信息,可以使用 -l 选项以长格式显示进程信息:

ps -l

这将显示更多列,包括进程状态、CPU利用率、内存占用等。

显示所有用户的进程

如果你想查看所有用户的进程,可以使用 -e 选项:

ps -e

这将显示系统上所有用户的进程,而不仅仅是当前用户的。

ps 命令允许你监视和管理系统上运行的进程,以便了解系统的性能和资源利用情况。可以根据需要组合不同的选项来定制 ps 命令的输出。要查看所有可用的选项和更多详细信息,可以运行 man ps 来查看 ps 命令的手册页。

ssh

SSH(Secure Shell)是一种用于在计算机之间进行安全远程连接的协议和工具。SSH命令用于建立SSH连接,允许你登录到远程主机并执行命令,传输文件等。以下是SSH命令的基本用法和一些常见选项:

SSH基本语法

ssh [选项] [用户名@]主机
  • [选项]:SSH命令的选项,用于指定端口、身份验证方式等。
  • [用户名]:远程主机上的用户名。如果未指定用户名,默认使用本地用户名。
  • 主机:要连接的远程主机的IP地址或主机名。

常见SSH选项

  1. -p:指定连接的SSH端口号。默认端口号为22。

    ssh -p 2222 [email protected]
    
  2. -i:指定用于身份验证的SSH私钥文件。

    ssh -i /path/to/private-key.pem [email protected]
    
  3. -l:指定登录的用户名,类似于在主机名后添加用户名。

    ssh -l username example.com
    
  4. -X:启用X11转发,允许在远程主机上显示图形界面应用程序。

    ssh -X [email protected]
    
  5. -C:启用压缩,可以提高数据传输性能。

    ssh -C [email protected]
    

SSH登录远程主机

要通过SSH登录到远程主机,使用以下命令:

ssh [email protected]

你将需要提供远程主机的密码或SSH密钥的密码来进行身份验证。

SSH密钥身份验证

使用SSH密钥对进行身份验证是一种更安全的方法,而不是使用密码。要创建SSH密钥对并将公钥添加到远程主机,可以使用以下命令:

ssh-keygen -t rsa -b 2048
ssh-copy-id [email protected]

上述命令将生成RSA密钥对,然后将公钥复制到远程主机,以允许无密码登录。

SSH是一个非常有用的工具,可用于管理远程主机、传输文件以及执行命令。它提供了加密的通信通道,以确保数据的机密性和安全性。根据你的需求,可以使用不同的选项和功能来定制SSH连接。

curl

curl(全称:Client for URLs)是一个强大的命令行工具,用于发送和接收数据,支持多种协议,包括HTTP、HTTPS、FTP等。curl通常用于从终端访问Web服务、下载文件、测试API、以及执行各种HTTP请求。以下是一些常见的curl命令用法:

基本语法

curl [选项] [URL]
  • [选项]curl 的选项,用于指定请求类型、HTTP头、数据等。
  • [URL]:要请求的URL地址。

常见curl选项

  1. -X :指定HTTP请求方法,如GET、POST、PUT、DELETE等。

    curl -X GET http://example.com
    
  2. -H <“Header: Value”>:设置HTTP请求头。

    curl -H "Content-Type: application/json" http://example.com
    
  3. -d :发送POST请求的数据。

    curl -X POST -d "param1=value1¶m2=value2" http://example.com
    
  4. -o :将响应保存到文件。

    curl -o output.html http://example.com
    
  5. -O:将响应保存为与URL相同的文件名。

    curl -O http://example.com/file.txt
    
  6. -i:显示HTTP响应头信息。

    curl -i http://example.com
    
  7. -L:自动跟随重定向。

    curl -L http://example.com
    
  8. -u :进行基本身份验证。

    curl -u username:password http://example.com
    

GET请求

发送GET请求,获取页面内容:

curl http://example.com

POST请求

发送POST请求,传递数据:

curl -X POST -d "param1=value1¶m2=value2" http://example.com

下载文件

下载文件到本地:

curl -O http://example.com/file.txt

基本身份验证

使用用户名和密码进行基本身份验证:

curl -u username:password http://example.com

这些只是curl的一些常见用法示例,curl支持许多其他选项和功能,包括处理各种数据格式、SSL证书验证、代理设置等。可以根据需要使用不同的选项来自定义curl命令。

zip

zip 命令用于在Unix和Linux系统中创建和管理ZIP文件,它是一种常见的归档工具,用于压缩和解压文件和目录。以下是 zip 命令的一些常见用法和选项:

基本语法

zip [选项] 输出文件名.zip 文件或目录
  • [选项]zip 命令的选项,用于指定压缩级别、密码等。
  • 输出文件名.zip:要创建的ZIP文件的名称。
  • 文件或目录:要压缩的文件或目录的名称。

常见选项

  1. -r:递归压缩,用于压缩目录及其内容。

    zip -r archive.zip directory/
    
  2. -m:将原始文件移动到ZIP文件,而不是复制。这在你要将文件移动到ZIP文件后删除原始文件时有用。

    zip -m archive.zip file.txt
    
  3. -e:加密ZIP文件,会提示输入密码。

    zip -e -r secure.zip directory/
    
  4. -P:指定密码以非交互方式加密ZIP文件。

    zip -P secret -r encrypted.zip directory/
    
  5. -v:在创建ZIP文件时显示压缩的文件列表。

    zip -v archive.zip file1.txt file2.txt
    

创建ZIP文件

要创建一个ZIP文件,只需指定输出文件名和要压缩的文件或目录:

zip myarchive.zip file1.txt file2.txt

这将创建一个名为 myarchive.zip 的ZIP文件,并将 file1.txtfile2.txt 压缩到其中。

压缩目录

如果要压缩整个目录及其内容,可以使用 -r 选项:

zip -r mydirectory.zip mydirectory/

这将创建一个名为 mydirectory.zip 的ZIP文件,其中包含了整个目录 mydirectory 及其内容。

加密ZIP文件

如果需要加密ZIP文件,可以使用 -e 选项,它会提示你输入密码:

zip -e -r myencrypted.zip directory/

这将创建一个加密的ZIP文件,并要求输入密码。

zip 命令是一个有用的工具,用于在Unix和Linux系统中创建、管理和解压ZIP文件。根据需要,你可以使用不同的选项来控制压缩级别、密码保护和其他功能。注意,为了解压ZIP文件,你可以使用 unzip 命令。

unzip

unzip 命令是一个在Unix和Linux系统中用于解压ZIP文件的命令行工具。它可以打开ZIP文件并将其中的文件提取到指定的目录。以下是 unzip 命令的基本用法和一些常见选项:

基本语法

unzip [选项] 文件名.zip -d 目标目录
  • [选项]unzip 命令的选项,用于控制解压缩的行为。
  • 文件名.zip:要解压缩的ZIP文件的名称。
  • -d 目标目录:指定要提取文件的目标目录。如果未指定 -d 选项,文件将解压缩到当前目录。

常见选项

  1. -l:列出ZIP文件中的内容,但不执行解压缩。

    unzip -l archive.zip
    
  2. -q:安静模式,减少输出信息。

    unzip -q archive.zip
    
  3. -o:覆盖已存在的文件而不提示。

    unzip -o archive.zip
    
  4. -P:指定ZIP文件的密码。

    unzip -P password archive.zip
    

解压ZIP文件

要解压ZIP文件,只需提供ZIP文件的名称和要提取文件的目标目录。以下是一个示例:

unzip myarchive.zip -d extracted_folder/

这将解压 myarchive.zip 文件中的所有文件到 extracted_folder/ 目录。

列出ZIP文件内容

你可以使用 -l 选项来列出ZIP文件的内容,但不执行解压缩:

unzip -l myarchive.zip

这将显示ZIP文件中包含的文件列表。

密码保护的ZIP文件

如果ZIP文件受密码保护,你需要使用 -P 选项指定密码:

unzip -P password protected.zip -d destination/

请注意,unzip 命令是解压ZIP文件的标准工具,可以在Unix和Linux系统中使用。根据需要,你可以使用不同的选项来控制解压缩的行为。

touch

touch 命令是一个用于创建新空白文件或更新已存在文件的Unix和Linux命令。它还可用于更改文件的访问和修改时间戳。以下是 touch 命令的基本用法和一些常见选项:

基本语法

touch [选项] 文件名
  • [选项]touch 命令的选项,用于指定时间戳、创建文件等。
  • 文件名:要创建或更新的文件的名称。

常见选项

  1. -a:只更新访问时间戳,不创建文件。

    touch -a file.txt
    
  2. -m:只更新修改时间戳,不创建文件。

    touch -m file.txt
    
  3. -c:仅在文件已存在时更新时间戳,不创建新文件。

    touch -c file.txt
    
  4. -t:指定自定义的时间戳,格式为[[CC]YY]MMDDhhmm[.ss]

    touch -t 202310261200.30 file.txt
    

创建新文件

要创建新文件,只需提供文件名作为参数。如果文件不存在,touch 将创建一个新的空白文件。

touch newfile.txt

这将在当前目录下创建一个名为 newfile.txt 的空白文件。

更新文件的时间戳

你可以使用 -a 选项来更新文件的访问时间戳,或使用 -m 选项来更新文件的修改时间戳。这对于模拟文件访问或修改非常有用,而无需实际更改文件内容。

# 更新访问时间戳
touch -a file.txt

# 更新修改时间戳
touch -m file.txt

指定自定义时间戳

如果你希望为文件指定自定义的时间戳,可以使用 -t 选项,指定时间戳的格式如下:

[[CC]YY]MMDDhhmm[.ss]

其中:

  • CC:表示世纪(可选)。
  • YY:表示年份。
  • MM:表示月份。
  • DD:表示日期。
  • hh:表示小时。
  • mm:表示分钟。
  • ss:表示秒(可选)。

例如,要将文件的时间戳设置为 “2023年10月26日 12:00:30”,可以运行以下命令:

touch -t 202310261200.30 file.txt

touch 命令是一个简单但实用的命令,可用于创建文件、更新时间戳以及模拟文件的访问和修改。根据需要,你可以使用不同的选项来完成这些任务。

cat

cat 命令是一个在Unix和Linux系统中用于查看和操作文本文件内容的命令行工具。cat 命令的名称来源于"concatenate",因为它最初用于连接多个文件的内容。然而,它通常用于以下用途:

1. 查看文件内容: 最常见的用途是查看文本文件的内容。你可以将文件的内容输出到终端。

2. 合并文件: cat 可以用于合并多个文件的内容并将其输出到一个新文件中。

以下是 cat 命令的基本用法:

cat [选项] 文件名
  • [选项]cat 命令的选项,用于执行不同的操作,如显示行号、合并文件等。
  • 文件名:要查看或处理的文件的名称。

常见选项和用法

  1. 查看文件内容

    cat filename
    

    这将在终端中显示 filename 文件的内容。

  2. 合并文件

    cat file1 file2 > newfile
    

    这将合并 file1file2 的内容,并将结果写入 newfile

  3. 显示行号

    cat -n filename
    

    这将显示文件的内容,并在每行前面加上行号。

  4. 显示特殊字符和不可见字符

    cat -v filename
    

    这将显示文件的内容,并使用可打印字符来代替不可见字符,以便更好地查看文件的格式。

  5. 追加文件内容

    cat file1 >> file2
    

    这将将 file1 的内容追加到 file2 的末尾。

  6. 将标准输入附加到文件

    cat >> filename
    

    这将允许你在终端中输入文本,然后将其附加到 filename 文件中。按下Ctrl+D结束输入。

  7. 多个文件一次查看

    cat file1 file2 file3
    

    这将按顺序显示多个文件的内容。

cat 命令是一个强大的工具,用于处理文本文件的内容。它在终端中快速查看文件、合并文件和执行其他文本处理任务时非常有用。根据需要,你可以使用不同的选项来执行不同的操作。

tac

tac 命令用于将文件的内容逆序输出,即从最后一行开始逐行向上输出文本内容。这可以帮助您查看或处理文件的底部内容。

语法

tac [选项]... [文件]...

选项

  • -b, --before: 在行之间插入 DEL 字符(^H)。
  • -r, --regex: 将模式视为正则表达式。
  • -s, --separator=字符: 使用指定字符作为分隔符而不是换行符。
  • --help: 显示帮助信息。
  • --version: 显示版本信息。

示例用法

  1. 逆序输出文件的内容到标准输出:

    tac file.txt
    
  2. 将逆序输出的内容保存到另一个文件中:

    tac file.txt > reversed_file.txt
    
  3. 使用 -s 选项指定分隔符:

    tac -s',' file.csv
    
  4. 使用 -b 选项在行之间插入 DEL 字符:

    tac -b file.txt
    
  5. 使用 -r 选项来处理正则表达式模式:

    tac -r 'pattern' file.txt
    

tac 命令对于查看日志文件或其他大型文本文件的底部内容很有用,特别是在需要查看最新日志条目时。

chmod

chmod 命令用于更改文件或目录的权限(访问控制)。在 Linux 和其他类 Unix 操作系统中,文件和目录的权限用于确定谁可以执行、读取或写入它们。chmod 命令可以修改这些权限,以增加或减少对文件或目录的访问权限。

语法

chmod [选项] 模式 文件...

模式 可以是以下之一:

  • u:文件所有者的权限。
  • g:与文件所有者属于同一用户组的用户的权限。
  • o:其他用户的权限。
  • a:所有用户的权限(等同于 ugo)。

模式 可以包括以下操作符:

  • +:增加权限。
  • -:减少权限。
  • =:设置权限为给定值。

文件 是要更改权限的文件或目录的名称。

权限标志

  • r:读取权限,可以查看文件的内容。
  • w:写入权限,可以修改文件或目录的内容。
  • x:执行权限,可以运行可执行文件或进入目录。

示例用法

  1. 将文件 example.txt 设置为只读:

    chmod a-w example.txt
    
  2. 添加执行权限给文件 script.sh

    chmod +x script.sh
    
  3. 给文件所有者和所属用户组添加读取和写入权限:

    chmod ug+rw file.txt
    
  4. 删除其他用户的执行权限:

    chmod o-x file.txt
    
  5. 将目录 mydir 变为公共可写目录:

    chmod a+w mydir
    
  6. 递归更改目录及其内容的权限:

    chmod -R u+rw mydir
    
  7. 通过八进制模式为文件设置特定权限,例如 644(rw-r–r–):

    chmod 644 file.txt
    
  8. 取消所有用户的写入权限,但保留其他权限不变:

    chmod a-w file.txt
    
  9. 将一个用户的权限设置为完全控制,其他用户没有权限:

    chmod u=rwx,go= file.txt
    
  10. 设置一个文件的权限与另一个文件相同:

    chmod --reference=referencefile.txt targetfile.txt
    

chmod 命令允许您以非常灵活的方式管理文件和目录的权限,确保数据的安全性和合规性。根据您的需求,您可以使用不同的组合来更改文件和目录的权限。

more

more 命令是一个用于查看文本文件内容的终端分页器,它允许您逐页查看文本文件,特别适用于大型文本文件,以避免一次性加载整个文件内容。用户可以使用不同的命令来浏览文件的内容。

以下是 more 命令的一些示例用法:

基本用法

  1. 显示文本文件的内容(使用箭头键向下滚动一页):

    more file.txt
    
  2. 使用空格键滚动一页,按 q 键退出 more

更多操作

  1. 使用 -d 选项显示行号:

    more -d file.txt
    
  2. 使用 -p 选项指定提示符,例如 more>

    more -p "more>" file.txt
    
  3. 使用 -s 选项将多个空行合并为一个空行:

    more -s file.txt
    
  4. 使用 +N 参数从第 N 行开始查看文件内容,例如从第 10 行开始:

    more +10 file.txt
    
  5. 使用 / 命令进行文本搜索,输入关键字后按回车键,n 键查找下一个匹配项,q 键退出搜索模式:

    more file.txt
    /search_term
    
  6. 使用 :n 命令显示文件名和当前行号:

    more file.txt
    :n
    

more 命令提供了一种简单的方式来逐页查看文本文件内容,特别适用于大型日志文件或其他大型文本文件的浏览。根据需要,您可以使用不同的选项和命令来定制浏览体验。

less

less 命令是一个用于查看文本文件内容的终端分页器,它允许您逐页查看文本文件,类似于 more 命令,但提供更多的功能和交互性。用户可以使用不同的命令来浏览文件的内容。

以下是 less 命令的一些示例用法:

基本用法

  1. 显示文本文件的内容:

    less file.txt
    
  2. 使用箭头键向上和向下滚动一页,使用箭头键或 Page UpPage Down 键进行导航。

  3. 使用 q 键退出 less

更多操作

  1. 使用 -N 选项显示行号:

    less -N file.txt
    
  2. 使用 / 进行文本搜索,输入关键字后按回车键,n 键查找下一个匹配项,N 键查找上一个匹配项,q 键退出搜索模式:

    less file.txt
    /search_term
    
  3. 使用 :n 命令显示文件名和当前行号:

    less file.txt
    :n
    
  4. 使用 ! 命令在 less 内启动外部命令,例如,通过 !grep keyword 过滤文件内容:

    less file.txt
    !grep keyword
    
  5. 使用 V 命令以可视模式打开文件,这使您可以使用 vi 或其他文本编辑器的命令进行浏览和编辑:

    less file.txt
    V
    
  6. 使用 :e 命令重新加载文件,如果文件在查看期间发生了更改:

    less file.txt
    :e
    

less 命令提供了丰富的功能,可以更灵活地查看和浏览文本文件内容。它特别适合用于查看大型文本文件、日志文件和其他需要详细浏览的文本内容。根据需要,您可以使用不同的选项和命令来定制浏览体验。

uname

当您使用 uname 命令时,您可以使用不同的选项来获取不同的系统信息。以下是 uname 命令的不同选项和示例用法:

  1. -s 选项:显示系统的内核名称。

    uname -s
    
  2. -n 选项:显示系统的网络节点主机名(通常是计算机的主机名)。

    uname -n
    
  3. -r 选项:显示系统的内核发行版本。

    uname -r
    
  4. -o 选项:显示系统的操作系统名称。

    uname -o
    
  5. -v 选项:显示系统的操作系统版本。

    uname -v
    
  6. -m 选项:显示系统的硬件类型。

    uname -m
    

如果您使用 uname 命令而没有选项,它将一次性显示所有这些信息,如下所示:

uname

这将在一个命令中输出所有系统信息。根据您的需求,您可以选择使用不同的选项来获取特定的信息,以便在脚本或配置文件中使用。

cat /etc/os-release

cat /etc/os-release 命令用于显示系统的操作系统信息,通常包括名称、版本、ID、家族和其他有关操作系统的信息。这个命令在许多现代 Linux 发行版中非常有用,因为它遵循了标准格式,便于脚本和系统配置文件的使用。

以下是 cat /etc/os-release 命令的示例输出:

PRETTY_NAME="Ubuntu 20.04.1 LTS"
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

这里是一些常见的字段和它们的含义:

  • PRETTY_NAME:操作系统的友好名称。
  • NAME:操作系统的名称。
  • VERSION:操作系统的版本。
  • ID:操作系统的标识符。
  • ID_LIKE:与该操作系统相关的其他操作系统的标识符。
  • HOME_URL:操作系统的主页 URL。
  • SUPPORT_URL:支持页面的 URL。
  • BUG_REPORT_URL:报告问题的 URL。
  • PRIVACY_POLICY_URL:隐私政策的 URL。

您可以使用这些信息来确定系统上运行的操作系统及其版本,以便根据需要进行系统配置和脚本编写。

grep

grep 是一个在 Unix/Linux 系统中用于搜索文本的强大命令行工具。它允许用户查找文本文件中包含特定模式或字符串的行,然后将这些行打印到标准输出。grep 是 “Global Regular Expression Print” 的缩写,它支持使用正则表达式来进行高级文本搜索。

以下是 grep 命令的基本用法和一些常见选项:

基本用法

grep [选项] 模式 文件...
  • 模式:要搜索的模式或字符串。
  • 文件...:要在其中搜索模式的文件。

示例用法

  1. 在文件中搜索包含 “keyword” 的行:

    grep "keyword" file.txt
    
  2. 递归搜索目录中的所有文件,找到包含 “pattern” 的行:

    grep -r "pattern" directory/
    

常见选项

  1. -i:忽略大小写,不区分大小写的搜索。

    grep -i "pattern" file.txt
    
  2. -v:反向搜索,显示不匹配的行。

    grep -v "pattern" file.txt
    
  3. -n:显示匹配行的行号。

    grep -n "pattern" file.txt
    
  4. -c:仅显示匹配的行数,而不是匹配的文本。

    grep -c "pattern" file.txt
    
  5. -l:仅显示包含匹配的文件名,而不是匹配的行。

    grep -l "pattern" directory/*
    
  6. -r:递归搜索目录中的文件。

    grep -r "pattern" directory/
    
  7. -E:启用扩展正则表达式,支持更多正则表达式功能。

    grep -E "pattern" file.txt
    
  8. -A:显示匹配行之后的若干行。

    grep -A 3 "pattern" file.txt
    
  9. -B:显示匹配行之前的若干行。

    grep -B 2 "pattern" file.txt
    
  10. -C:显示匹配行前后的若干行。

    grep -C 2 "pattern" file.txt
    

grep 是一个非常有用的工具,可用于快速搜索文本文件,查找特定模式或字符串,以及执行文本处理任务。根据您的需求,您可以使用不同的选项来进行高级搜索和过滤。

whereis

whereis 是一个用于在 Unix/Linux 操作系统中查找可执行程序、源代码文件和帮助页面的命令。它可以用于确定特定命令或文件在系统中的位置,以便您可以执行或查看相关信息。

以下是 whereis 命令的基本用法:

whereis [OPTIONS] COMMAND
  • COMMAND:要查找的命令或文件名称。

示例用法

  1. 查找 ls 命令的位置:

    whereis ls
    
  2. 查找 gcc 编译器的位置:

    whereis gcc
    
  3. 查找 passwd 文件的位置:

    whereis passwd
    

常见选项

whereis 命令通常没有太多选项,但可以使用以下选项:

  • -b:仅查找可执行文件的位置。
  • -m:仅查找帮助页面的位置。
  • -s:仅查找源代码文件的位置。

例如,要仅查找 gcc 编译器的可执行文件位置,可以使用以下命令:

whereis -b gcc

whereis 命令对于在终端中查找特定命令的位置非常有用,以便执行命令或查找相关信息。它通常用于查找系统中已安装的命令和文件。

ip addr

ip addr 命令用于查看和管理网络接口的配置信息,包括 IP 地址、子网掩码、MAC 地址等。这个命令通常用于管理网络设置和故障排除。

以下是 ip addr 命令的基本用法和一些示例:

基本用法

ip addr [OPTIONS] [OBJECT]
  • OPTIONS:可选的命令选项,用于指定输出格式等。
  • OBJECT:可选的网络接口对象,用于查看特定网络接口的配置信息。

示例用法

  1. 查看系统上的所有网络接口的配置信息:

    ip addr
    
  2. 查看特定网络接口(例如,eth0)的配置信息:

    ip addr show eth0
    

示例输出

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

上面的示例输出显示了系统上的两个网络接口:lo(回环接口)和 eth0(以太网接口)。每个接口都列出了与之关联的 IP 地址、子网掩码、MAC 地址等信息。

ip addr 命令对于查看和管理网络接口的配置信息非常有用,特别是在网络故障排除和配置网络连接时。根据需要,您可以使用不同的选项和对象来获取所需的网络接口信息。

ifconfig

ifconfig(接口配置)命令在 Unix 和 Linux 系统中用于查看和管理网络接口的配置信息。但需要注意的是,ifconfig 在一些较新的 Linux 发行版中已经被弃用,而 ip 命令通常用来代替它。以下是 ifconfig 命令的基本用法和一些示例:

基本用法

ifconfig [INTERFACE] [OPTIONS]
  • INTERFACE:可选的网络接口名称,用于查看特定网络接口的配置信息。如果不指定接口名称,将显示所有活动的网络接口。
  • OPTIONS:可选的命令选项,用于配置接口或查看更详细的信息。

示例用法

  1. 查看系统上所有网络接口的配置信息:

    ifconfig
    
  2. 查看特定网络接口(例如,eth0)的配置信息:

    ifconfig eth0
    

示例输出

eth0: flags=4163  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2001:0db8:85a3:0000:0000:8a2e:0370:7334  prefixlen 64  scopeid 0x0
        inet6 fe80::6a05:7cff:fe88:863d  prefixlen 64  scopeid 0x20
        ether 68:05:ca:88:86:3d  txqueuelen 1000  (Ethernet)
        RX packets 101195  bytes 136594997 (136.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29807  bytes 2658174 (2.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

上面的示例输出显示了网络接口 eth0 的配置信息,包括接口的状态、IP 地址、子网掩码、MAC 地址、数据包统计等。

虽然 ifconfig 仍然可以在许多系统上使用,但它已经被 ip 命令取代,并且更加功能强大和通用。因此,推荐在较新的 Linux 系统中使用 ip 命令来查看和管理网络接口的配置信息。

你可能感兴趣的:(Linux,linux,服务器,运维)