Linux常见指令

目录

一、文件

文件与目录的基本概念

路径的表示方式

目录树结构

示例说明

二、常见指令

[一、 文件与目录操作(最基础)](#一、 文件与目录操作(最基础))

[二、 文件查看与编辑](#二、 文件查看与编辑)

[三、 文件权限与所有权](#三、 文件权限与所有权)

[四、 系统信息与进程管理](#四、 系统信息与进程管理)

[五、 网络相关](#五、 网络相关)

[六、 搜索与查找](#六、 搜索与查找)

[七、 压缩与解压](#七、 压缩与解压)

[八、 其他实用工具](#八、 其他实用工具)


一、文件

文件与目录的基本概念

文件是在磁盘上建立的数据单元,包含文件内容及属性数据(如创建时间、权限等)。即使文件内容为空,其属性数据仍会占用磁盘空间。文件本质上是内容数据与元数据的组合体。

目录是用于组织文件的特殊结构,可视为存放其他文件或子目录的容器。在文件系统中,通常遵循层级结构:根目录→子目录→具体文件。

路径的表示方式

路径用于唯一标识文件或目录的位置,分为两种类型:

  • 绝对路径:从根目录开始完整描述文件位置的路径。例如:

    • Windows:D:\c++\c-code\C++11
    • Linux:/home/user/documents/file.txt
  • 相对路径:基于当前工作目录的简写路径。例如:

    • 当前目录为/home/user时,documents/file.txt即为相对路径。

路径分隔符差异:

  • Windows使用反斜杠\
  • Linux使用正斜杠/

目录树结构

Linux系统中,所有文件和目录构成一棵目录树,特点如下:

  • 节点类型

    • 叶子节点:普通文件或空目录。
    • 非叶子节点:必须是目录(包含子项)。
  • 唯一性:从根目录到任意节点的路径唯一确定一个文件或目录。

示例说明

假设某Linux目录树如下:

复制代码
/
├── home
│   ├── user
│   │   ├── documents (空目录)
│   │   └── file.txt
└── etc
    └── config
  • 绝对路径示例/home/user/file.txt
  • 相对路径示例 (当前目录为/home):user/documents
  • 节点分析
    • 叶子节点:file.txt(文件)、documents(空目录)。
    • 非叶子节点:/homeuseretcconfig(均为目录)。

二、常见指令

一、文件与目录操作(ls/pwd/cd/mkdir/rmdir/rm/cpmv/touch)

  • ls:列出目录内容。

    • ls -l:以详细信息(长格式)列出。

    • ls -a:显示所有文件,包括隐藏文件(以 . 开头的文件)。

  • pwd:显示当前所在的工作目录的绝对路径。

  • cd:切换目录。

    • cd ~cd:切换到当前用户的家目录。

    • cd ..:切换到上级目录。

    • cd -:切换到上一个所在的目录。

  • mkdir:创建新目录。

    • mkdir -p dir1/dir2:递归创建多级目录。
  • rmdir:删除空目录。

  • rm:删除文件或目录。

    • rm -r:递归删除目录及其内容。

    • rm -f:强制删除,不提示。

    • 注意rm -rf 命令非常危险,请谨慎使用。

  • cp:复制文件或目录。

    • cp -r:递归复制目录。

    • cp 文件1(存在) 文件2(存在或不存在)

  • mv:移动文件或目录,也可用于重命名。

    • mv 目录1 目录2 (如果目录2不存在,则是重命名)
  • touch:创建一个新的空文件,或更新已有文件的时间戳。

二、文件查看与编辑(cat/less/more/head/tail/nano/vim)

  • cat:在终端显示整个文件的内容,适合小文件。

  • less / more :分页显示文件内容,适合查看大文件。lessmore 功能更强大,可以向前向后翻页。按 q 退出。

  • head:显示文件的开头部分(默认10行)。

    • head -n 20 file:显示前20行。
  • tail:显示文件的末尾部分(默认10行)。

    • tail -n 15 file:显示后15行。

    • tail -f file:实时追踪文件的更新,常用于查看日志。

  • nano:一个简单易用的文本编辑器,对新手友好。

  • vim / vi:功能强大的文本编辑器,几乎所有 Linux 系统都预装,但学习曲线较陡峭。

  • wc:统计文件的行数、单词数和字节数。

    • wc -l file:只显示行数。
  • sort:对文件内容按行排序。

  • uniq :去除相邻重复行,通常先 sortuniq

  • 重定向与管道

    • 命令 > 文件:把命令输出覆盖写入文件。

    • 命令 >> 文件:把命令输出追加到文件末尾。

    • 命令1 | 命令2:把前一个命令的输出作为后一个命令的输入。

三、文件权限与所有权(chmod/chown/chgrp)

在 Linux 中,每个文件或目录都有三类权限:读(r)写(w)执行(x) ,分别用数字 421 表示。例如 chmod 755 中,7 表示所有者拥有读、写、执行权限(4+2+1),中间和最后的 5 分别表示所属组和其他用户拥有读、执行权限(4+1)。

  • chmod:修改文件或目录的权限。

    • chmod 755 script.sh:用数字模式设置权限。

    • chmod u+x script.sh:用符号模式给文件所有者增加执行权限。

  • chown:改变文件的所有者和所属组。

    • chown user:group file
  • chgrp:改变文件的所属组。

四、 系统信息与进程管理(ps/top/htop/kill/df/du/free/uname/whoami)

  • ps:显示当前系统的进程状态。

    • ps aux:显示所有正在运行的进程的详细信息。
  • top / htop :动态显示、管理正在运行的进程,像一个实时任务管理器。htoptop 的增强版。

  • kill:终止一个进程。

    • kill -9 PID:强制终止指定 PID 的进程。
  • df:显示磁盘空间使用情况。

    • df -h:以人类易读的格式(如 GB, MB)显示。
  • du:显示文件或目录的磁盘使用量。

    • du -sh directory:以易读格式汇总(-s)显示目录的总大小。
  • free:显示系统内存使用情况。

    • free -h:以人类易读的格式显示。
  • uname:显示系统信息。

    • uname -a:显示所有信息。
  • whoami:显示当前登录的用户名。

五、 网络相关(ping/wget/curl/ssh/scp/ifconfig/ip)

  • ping:测试与另一台网络主机的连通性。

  • wget:从网络上下载文件。

  • curl:一个功能强大的数据传输工具,支持多种协议。

  • ssh:通过安全加密的方式远程登录到另一台计算机。

  • scp:基于 SSH 的安全文件拷贝,用于在本地和远程主机之间传输文件。

  • ifconfig / ip :查看和配置网络接口参数。ip 命令是现代 Linux 推荐使用的。

六、 搜索与查找(find/grep/which/locate)

  • find:在指定目录下查找文件,功能非常强大。

    • find /home -name "*.txt":在 /home 目录下查找所有 .txt 文件。

    • find /home -type f -name "*.txt":按类型查找文件,f 表示普通文件,d 表示目录。

    • find /home -size +100M:查找大于 100MB 的文件。

    • find /home -mtime -7:查找最近 7 天内修改过的文件。

  • grep:在文件中搜索指定的文本模式。

    • grep "pattern" file:在文件中搜索包含 "pattern" 的行。

    • grep -r "pattern" directory:递归地在目录中搜索。

  • which:查找某个命令的绝对路径。

  • locate :通过数据库快速查找文件,速度比 find 快,但需要先更新数据库(sudo updatedb)。

  • xargs :把前一个命令的输出作为参数传给后面的命令,常和 findgrep 配合使用。例如:find /home -name "*.log" | xargs rm

七、 压缩与解压(zip/tar)

  • tar:打包和解包文件,常与压缩工具一起使用。

    • tar -czvf archive.tar.gz files/:打包并压缩(gzip)。

    • tar -xzvf archive.tar.gz:解压 .tar.gz 文件。

  • gzip / gunzip :压缩/解压 .gz 文件。

  • zip / unzip :压缩/解压 .zip 文件。 zip -r xx.zip 文件名

八、 其他实用工具

  • echo:在终端输出一行文本。

  • man :查看命令的详细使用手册,是最重要的求助工具 。例如 man ls

  • sudo:以超级管理员(root)权限执行命令。

  • apt / yum / dnf:软件包管理工具,用于安装、更新和删除软件。

    • Debian/Ubuntu 系列用 apt(如 sudo apt install package_name)。

    • RedHat/CentOS 系列用 yumdnf

  • history:查看命令历史记录。

  • alias:给命令创建别名,简化输入。

    • 创建临时别名 如:alias la='ls -al'

    • 创建永久别名要在 ~/.bashrc 下创建

相关推荐
pt10433 小时前
AIOps机器学习——当警报阈值被调高之后
运维·人工智能·自动化
linan1013 小时前
android调用C++通用方式
linux·架构·智能硬件
迪康coolmu4 小时前
企业文件外发管控落地实践 —— 基于迪康端点安全一体化管理系统
运维·网络·经验分享·安全
imaol14 小时前
网络通信-网络编程
linux·udp
小此方4 小时前
Linux网络(十二):HTTP短连接与长连接:从Connection机制到Cookie、Session,彻底理解HTTP的无状态
服务器·网络·http
见闻小天地4 小时前
四方电气DL300变频器面向雕铣机多工况的技术参数与适配验证
运维·人工智能·业界资讯
道尔柯南5 小时前
【Linux】线程概念与控制
linux
wuminyu5 小时前
Markword在紧凑对象头上的实现原理剖析
java·linux·c语言·jvm·c++
千舟软件5 小时前
【宿舍管理小程序】新生入住不靠纸质表
大数据·运维·服务器·科技·业界资讯