当前位置: 首页 > news >正文

Linux 常用命令整理大全及命令使用心得

本文章是为了总结自己用过的命令,以及一些心得,网上有很多类似的,但自己总结才能更好的理解。

文章目录

  • 一、文件和目录管理
    • 01、 ls :列出目录内容
    • 02、cd:更改当前目录
    • 03、pwd:显示当前工作目录
    • 04、mkdir:创建新目录
    • 05、rmdir:删除空目录
    • 06、rm:删除文件或目录
    • 07、cp:复制文件或目录
    • 08、mv:移动或重命名文件或目录
    • 09、touch:创建一个空文件或更新文件的时间戳
    • 10、cat:连接文件并打印到标准输出
    • 11、more 和 less:分页查看文件内容
    • 12、head 和 tail 查看文件的开头或结尾部分
  • 二、修改文件 vi 或 vim
    • 01、vi 编辑器的 3 种模式
    • 02、使用 vi 或 vim 打开文件
    • 03、使用 vi 或 vim 编辑文件
    • 04、使用 vi 或 vim 保存文件
    • 05、使用 vi 或 vim 取消编辑
  • 三、文件搜索和查找
    • 01、find:在目录中搜索文件或目录
    • 02、grep:搜索文件中的文本
    • 03、locate:快速查找文件(依赖于预构建的数据库)
  • 四、系统信息和监控
    • 01、top:实时显示系统性能信息,包括CPU、内存使用情况等
  • 五、用户和权限管理
    • 01、su:切换到另一个用户(通常需要root权限)
    • 02、sudo:以另一个用户的身份执行命令(通常是root)
    • 03、chmod:更改文件或目录的权限
    • 04、chown:更改文件或目录的所有者
    • 05、useradd:添加用户
    • 06、userdel:删除用户
    • 07、groupadd:添加用户组
    • 08、groupdel:删除用户组
  • 六、网络管理
    • 01、ping:测试到另一台主机的网络连接。
    • 02、ifconfig:显示或配置网络接口
    • 03、ip:显示或配置网络接口
    • 04、netstat:显示网络连接、路由表、接口统计等
    • 05、ss:更现代的替代品,用于显示套接字统计信息
    • 06、curl:从网络下载文件
    • 07、wget:从网络下载文件
  • 七、软件包管理
    • 01、apt:(Debian/Ubuntu系)- 管理软件包
    • 02、yum:(Red Hat/Fedora系)- 管理软件包
    • 03、dnf:(Red Hat/Fedora系)- 管理软件包
    • 04、pacman:(Arch Linux)- 管理软件包

一、文件和目录管理

01、 ls :列出目录内容

  • ls:展示文件夹下所有文件。常用
  • ls -l:以长格式显示文件和目录的详细信息。
  • ls -a:显示包括隐藏文件在内的所有文件。
  • ls -lh:以人类可读的格式显示文件大小。
  • ls -lSr:查看⽂件和⽬录列表(以⽂件⼤⼩升序查看)
  • tree:查看⽂件和⽬录的树形结构 (如果没有需要先安装 yum install tree)
  • ls -R:连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来。

02、cd:更改当前目录

  • cd ..:返回上一级目录。常用
  • cd ~:返回用户主目录。
  • cd /path/to/directory:切换到指定目录。常用
    • 这个命令可以配合 tab 键使用,用于补全文件名,使用模糊搜索,如果模糊搜索到多个文件,tab 补全不生效。

03、pwd:显示当前工作目录

  • pwd:命令就是这个。

04、mkdir:创建新目录

  • mkdir wen:创建目录
  • mkdir rjw wen:同时创建两个目录
  • mkdir -p /path/to/directory:递归创建目录,包括必要的父目录。

05、rmdir:删除空目录

  • rmdir wen:删除目录

06、rm:删除文件或目录

  • rm file:删除文件。
  • rm -r directory:递归删除目录及其内容。
  • rm -rf directory:强制递归删除目录及其内容,不提示确认。
  • rm -rf dir1:删除 dir1 ⽬录和其内容。
  • rm -rf dir1 dir2:同时删除两个⽬录及其内容。

07、cp:复制文件或目录

  • cp file1 file2:复制文件。
  • cp -r directory1 directory2:递归复制目录。
  • cp dir/* .:复制某目录下的所有文件至当前目录。
  • cp -a dir1 dir2:复制 dir1 目录到 dir2 目录。
  • cp -a /temp/dir1 .:复制一个目录至当前目录。

08、mv:移动或重命名文件或目录

  • mv oldname newname:重命名文件或目录。
  • mv file /path/to/directory:移动文件到指定目录。

09、touch:创建一个空文件或更新文件的时间戳

  • touch wen.txt:创建一个空白文件。
  • touch -a "2020-10-10 15:34" wen.txt :仅修改访问时间。黑客常用
  • touch -m "2020-10-10 15:34" wen.txt :仅修改修改时间。黑客常用
  • touch -d "2020-10-10 15:34" wen.txt :修改访问和修改时间。黑客常用

10、cat:连接文件并打印到标准输出

  • cat file:查看文件内容。
  • cat -n file1:标示文件的行数。
  • cat file1 file2 > file3:合并文件内容到 file3

11、more 和 less:分页查看文件内容

  • more file:逐页查看文件内容。
  • less file:类似 more,但功能更强大,支持向前翻页,有方向。

12、head 和 tail 查看文件的开头或结尾部分

  • head file:查看文件的前10行。
  • tail file:查看文件的后10行。
  • tail -n 20 file:查看文件的后20行。
  • tail -f file:实时跟踪文件内容更新(常用于查看日志文件)。

二、修改文件 vi 或 vim

01、vi 编辑器的 3 种模式

命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode

  • 命令行模式(command mode):控制屏幕光标的移动,字符、字或行的删除和查找,移动复制某区段及进入 Insert mode 下,或者到 last line mode

    • 控制光标移动:↑,↓,j
    • 删除当前行:dd
    • 查找:/字符,会在底部显示。
    • 进入编辑模式:i o a
    • 进入底行模式::
  • 编辑模式(Insert mode):只有在 Insert mode下,才可以做文字输入,按 ESC 键可回到命令行模式。

    • ESC 退出编辑模式到命令行模式。
  • 底行模式(last line mode):将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号等。

    • 退出编辑: :q
    • 强制退出: :q!
    • 保存并退出: :wq

02、使用 vi 或 vim 打开文件

  • vi example.txt:打开文件。
  • vim example.txt:打开文件。
  • 两者功能相同,没有区别。

注意:使用 vi 编辑器打开文件后,处于命令模式,不能编辑,需要点击键盘 i / a / o 进入编辑模式才能编辑。

03、使用 vi 或 vim 编辑文件

  • 使用 vi 编辑器打开文件后点击按键 i / a / o 进入编辑模式。
  • i:在光标所在字符前开始插入。
  • a:在光标所在字符后开始插入。
  • o:在光标所在行的下面另起一新行插入。

04、使用 vi 或 vim 保存文件

  • 处于编辑模式时:
    • ESC 进入命令行模式。
    • : 进入底行模式。
    • :wq 保存并退出编辑。
    • :q 不保存退出编辑。
    • :q! 不保存强制退出编辑。
  • 处于命令模式时:
    • : 进入底行模式。
    • :wq 退出编辑。

05、使用 vi 或 vim 取消编辑

  • ESC:进入命令行模式。
  • ::进入底行模式。
  • q!:撤销本次修改并退出编辑。

三、文件搜索和查找

01、find:在目录中搜索文件或目录

基本语法:find [起始目录] [匹配条件] [操作]

  • find /path/to/search -name filename:查找名称匹配特定模式的文件。
  • find / -name filename:从 / 开始进入根文件系统搜索文件和目录(完整文件或文件名)
  • find /path/to/search -name "*.tmp" -exec rm {} \:查找并删除文件。
  • find /path/to/search -name "*.sh" -exec chmod +x {} \:查找并更改文件权限。
  • find /home -name "*.log" -ls:查找 /home 目录下所有扩展名为 .log 的文件,并显示其详细信息。
  • find /path/to/search -iname "*.LOG":查找名称忽略大小写的匹配。
  • find /path/to/search -type f:查找文件,使用 type 类型,file
  • find /path/to/search -type d:查找目录,使用 type 类型,directory
  • find /path/to/search -size +100M:查找大于 100MB 的文件。
  • find /path/to/search -size -1k:查找小于 1KB 的文件。
  • find /path/to/search -mtime -7:查找在过去 7 天内修改过的文件。
  • find /usr/bin -type f -atime +100:搜索在过去100天内未被使用过的执行文件。
  • find /path/to/search -perm 755:查找权限为 755 的文件。
  • find /path/to/search -user username:查找属于特定用户的文件。
  • find / -user user1:搜索属于用户 user1 的文件和目录。
  • find /path/to/search -group groupname:查找属于特定组的文件。
  • find /path/to/search \( -name "*.txt" -a -size +1k \):查找满足多个条件的文件 AND
  • find /path/to/search \( -name "*.txt" -o -name "*.log" \):查找满足任一条件的文件 OR
  • find /var/log -size +10M -exec rm {} \:查找 /var/log 目录下大于 10MB 的文件,并删除它们。
  • find /etc -user root -exec chmod 644 {} \:查找 /etc 目录下所有属于 root 用户的文件,并修改其权限为 644
  • find /tmp -mtime +7 -exec mv {} /old_files/ \:查找 /tmp 目录下 7 天前修改的文件,并移动到 /old_files 目录。
  • find . -regex '.*\(net\|comm\).*'-regex 选项匹配整个路径名,出当前目录树中所有文件名中任意位置包含字符串 netcomm 的文件。

在使用 find 命令时,尤其是带有 -exec 选项时,请务必小心,因为错误的操作可能会导致数据丢失。

02、grep:搜索文件中的文本

  • grep "text" file:在文件中搜索包含指定文本的行。
  • grep -r "text" /path:递归搜索目录中的文件。

03、locate:快速查找文件(依赖于预构建的数据库)

  • locate filename:查找包含指定名称的文件。

四、系统信息和监控

01、top:实时显示系统性能信息,包括CPU、内存使用情况等

  1. htop - 类似于top,但提供了更友好的界面(需要安装)。

  2. df - 显示磁盘使用情况。

    • df -h:以人类可读的格式显示。
  3. du - 显示目录或文件的磁盘使用情况。

    • du -sh /path:显示指定目录的总大小。
  4. free - 显示内存使用情况。

    • free -h:以人类可读的格式显示。
  5. uptime - 显示系统运行时间和平均负载。

  6. ps - 显示当前运行的进程。

    • ps aux:显示所有用户的所有进程。
  7. kill - 终止进程。

    • kill PID:根据进程ID终止进程。
    • kill -9 PID:强制终止进程。

五、用户和权限管理

01、su:切换到另一个用户(通常需要root权限)

  • su username:切换到指定用户。

02、sudo:以另一个用户的身份执行命令(通常是root)

  • sudo command:以root权限执行命令。

03、chmod:更改文件或目录的权限

  • chmod 755 file:设置文件权限。

04、chown:更改文件或目录的所有者

  • chown user:group file:更改文件的所有者和组。

05、useradd:添加用户

  • sudo useradd username:添加用户。

06、userdel:删除用户

  • sudo userdel username:删除用户。

07、groupadd:添加用户组

  • sudo groupadd groupname:添加用户组。

08、groupdel:删除用户组

  • sudo groupdel groupname:删除用户组。

六、网络管理

01、ping:测试到另一台主机的网络连接。

  • ping hostname:发送ICMP ECHO_REQUEST报文到指定主机。

02、ifconfig:显示或配置网络接口

  • ifconfig:显示网络接口信息。

03、ip:显示或配置网络接口

  • ip a:显示网络接口信息。

04、netstat:显示网络连接、路由表、接口统计等

  • netstat -tuln:显示监听中的TCP和UDP端口。

05、ss:更现代的替代品,用于显示套接字统计信息

  • ss -tuln:显示监听中的TCP和UDP端口。

06、curl:从网络下载文件

  • curl http://example.com:使用curl下载文件。

07、wget:从网络下载文件

  • wget http://example.com:使用wget下载文件。

七、软件包管理

01、apt:(Debian/Ubuntu系)- 管理软件包

  • sudo apt update:更新包列表。
  • sudo apt install package:安装包。
  • sudo apt remove package:卸载包。

02、yum:(Red Hat/Fedora系)- 管理软件包

  • sudo yum update:更新包列表。
  • sudo yum install package:安装包。
  • sudo yum remove package:卸载包。

03、dnf:(Red Hat/Fedora系)- 管理软件包

  • sudo dnf update:更新包列表。
  • sudo dnf install package:安装包。
  • sudo dnf remove package:卸载包。

04、pacman:(Arch Linux)- 管理软件包

  • sudo pacman -Syu:更新系统和软件包。
  • sudo pacman -S package:安装包。
  • sudo pacman -R package:卸载包。

http://www.mrgr.cn/news/65234.html

相关文章:

  • Java Iterator 实现杨辉三角
  • 智算中心建设热潮涌动 AI服务器赋能加速
  • 开源OCR免费助力法律文档数字化,提升文档管理效率
  • GEMM优化(待更新)
  • 数据结构 ——— 链式二叉树的前中后序遍历解析
  • C#中的可空类型是什么?
  • 薄膜与胶带展同期论坛:新质生产力下的薄膜与胶带工艺与材料之美
  • 风险分析方法-敏感性分析
  • leetcode刷题记录(二十)——383. 赎金信
  • 管家婆财贸ERP BB090.销售单指定客户控制超期应收款
  • 2024年计算机视觉与图像处理国际学术会议 (CVIP 2024)
  • PYNQ 框架 - VDMA驱动 - 帧缓存
  • 算法竞赛(Python)-大事化小,小事化了(分治)
  • vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
  • LoRA(Low-Rank Adaptation)的工作机制 - 低秩矩阵来微调全连接层
  • JAVA学习-练习试用Java实现“判断奇偶数”
  • NFC碰一碰支付系统私有化部署的实用技巧!
  • 中国逐年最大NDVI数据集(250m)
  • 软件项目管理 之 6抓6放
  • 【JavaEE】【网络原理】初识网络
  • 重新构想定性数据分析:使用 NVivo 15 实现 AI、反思和备忘录
  • 彻底理解cookie、session、token
  • 近十年视觉任务中的对抗攻击研究综述
  • 解锁数字人直播:重塑行业生态,让真人出镜成过去式?
  • GEE 案例:利用多源遥感数据计算并预测指定森林区域的碳储量及RMSE
  • ROS(Robot Operating System)中,编写一个记录机器人速度并将其转换成轨迹