首页 > 系统相关 >零基础Linux入门教程:系统目录结构&文件管理命令

零基础Linux入门教程:系统目录结构&文件管理命令

时间:2024-10-31 23:17:36浏览次数:3  
标签:文件 软件包 入门教程 bbb 系统目录 file Linux txt 目录

Linux 文件管理命令与系统目录结构


1. 重要文件目录

  1. 根目录

    • / (根目录)
  2. 系统目录

    • /bin: 存放基本命令
    • /sbin: 存放系统管理命令
    • /etc: 系统配置文件
    • /dev: 设备文件
    • /proc: 进程和内核信息
    • /var: 易变文件,如日志
    • /lib / /lib64: 共享库文件
  3. 用户目录

    • /home: 用户家目录
    • /root: 超级用户(root)的家目录
  4. 临时和挂载目录

    • /tmp: 临时文件存放
    • /media: 挂载的可移动设备
    • /mnt: 临时挂载文件系统
  5. 用户应用程序目录

    • /usr: 用户程序和库
    • /opt: 自定义应用程序

/home 目录详解

  • 功能:

    • /home 目录是Linux系统中存放普通用户个人文件的地方。每个用户在 /home 目录下通常会有一个以用户名命名的子目录,用于存放该用户的文件、配置和数据。
  • 目录结构:

    • /home/username: 存放用户 username 的个人文件和目录。
    • 用户的家目录通常是用户的默认工作目录,登录时自动进入。
  • 权限:

    • 普通用户只能访问自己的家目录,其他用户无法访问(除非有特定的权限设置)。
    • 家目录中的文件和子目录的权限通常设置为用户可读写,但其他用户没有权限访问。
  • 常见子目录:

    • Documents: 存放文档文件。
    • Downloads: 默认下载文件的目录。
    • Pictures: 存放图片文件。
    • Videos: 存放视频文件。
    • .[config]: 用户应用程序的配置文件(以 . 开头表示隐藏文件)。
      家目录
      (有啥东西尽量在家目录弄)
  • 管理和使用:

    • 用户可以在家目录中自由创建、删除和修改文件和目录。
    • 系统管理员可以设置用户的家目录和权限,确保数据安全和隔离。

2. Linux 系统目录结构

├── bin -> usr/bin       # 存放系统常用的可执行文件(如 ls, cp, mv 等)
├── boot                  # 内核及引导系统程序所在的目录
├── dev                   # 所有设备文件的目录(如磁盘、光驱等)
├── etc                   # 配置文件默认路径、服务启动命令存放目录
├── home                  # 用户家目录,root用户为/root
├── lib -> usr/lib        # 32位库文件存放目录
├── lib64 -> usr/lib64    # 64位库文件存放目录
├── media                 # 媒体文件存放目录
├── mnt                   # 临时挂载设备目录
├── opt                   # 自定义软件安装存放目录
├── proc                  # 进程及内核信息存放目录
├── root                  # Root用户家目录
├── run                   # 系统运行时产生临时文件存放目录
├── sbin -> usr/sbin      # 系统管理命令存放目录
├── srv                   # 服务启动之后需要访问的数据目录
├── sys                   # 系统使用目录
├── tmp                   # 临时文件目录
├── usr                   # 系统命令和帮助文件目录
└── var                   # 存放内容易变的文件的目录

3. 目录操作

一、基本目录操作

  • pwd: 查看当前工作目录位置
  • clear: 清除屏幕
  • cd ~: 进入当前用户的家目录
  • cd /: 进入根目录
  • cd -: 返回上一次访问的目录
  • cd …: 返回上一级目录

二、查看目录内信息

  • ll: 查看当前目录下内容(llls -l 的别名)

三、创建目录

  • mkdir aaa: 在当前目录下创建 aaa 目录(相对路径)
  • mkdir ./bbb: 在当前目录下创建 bbb 目录(相对路径)
  • mkdir /ccc: 在根目录下创建 ccc 目录(绝对路径)
递归创建目录
  • mkdir -p temp1/temp2/temp3: 递归创建 temp1/temp2/temp3 目录(会创建所有不存在的目录)

四、搜索命令

  • find / -name ‘b’: 查询根目录下(包括子目录)名为 b 的目录和文件
  • find / -name 'b*: 查询根目录下(包括子目录)名以 b 开头的目录和文件
  • find . -name ‘b’: 查询当前目录下(包括子目录)名为 b 的目录和文件

五、重命名

  • mv 原先目录 文件的名称: 将原先的目录重命名,例如 mv pastname newname

六、剪切命令

  • mv /aaa /bbb: 将根目录下的 aaa 目录移动到 bbb 目录下(如果没有 bbb,则重命名为 bbb
  • mv bbbb usr/bbb: 将当前目录下的 bbbb 目录移动到 usr 目录下,并且重命名为 bbb
  • mv bbb usr/aaa: 将当前目录下的 bbb 目录移动到 usr 目录下,并且重命名为 aaa

七、复制目录

  • cp -r /aaa /bbb: 将根目录下的 aaa 目录复制到 bbb 目录下,名称保持为 aaa
  • cp -r /aa /bbb/aaa: 将根目录下的 aa 目录复制到 bbb 目录下,并重命名为 aaa

八、删除目录

  • rm -rf /bbb: 强制删除 /bbb 目录及其所有子目录和文件,不会提示
  • rm -r /bbb: 普通删除,会询问你是否删除每一个文件
  • rmdir test01: 删除空目录 test01

九、查看树状目录结构

  • tree test01/: 查看 test01 目录的树状结构
    需要下载tree软件apt install tree

4. 文件管理常用指令

基本操作

  • Ctrl + C: 取消命令并换行
  • Ctrl + U: 清空当前行命令
  • Tab: 自动补全命令或文件名
  • 方向键: 上下箭头可查看先前执行过的命令

其他常用指令

  • man: 查看命令的手册,例如 man mkdir 查看 mkdir 的使用说明
  • echo: 输出文本,例如 echo Hello, World! (这个是shell语法,后面慢慢学)
  • grep: 在文件中搜索匹配文本,例如 grep "pattern" file.txt
  • chmod: 修改文件或目录的权限,例如 chmod 755 script.sh
  • chown: 修改文件或目录的拥有者,例如 chown user:group file.txt
  • tar: 打包和压缩文件
    • tar -cvf archive.tar /path/to/dir: 创建一个 tar 包
    • tar -xvf archive.tar: 解压缩 tar 包

5. apt 包管理命令(以Ubuntu为例)

apt 是 Ubuntu 和 Debian 系列 Linux 发行版中常用的包管理工具,用于安装、更新和删除软件包。

常用apt命令

  • 更新软件包索引

    • sudo apt update: 更新本地软件包索引,获取可用软件包的最新版本信息
      apt update
  • 升级已安装的软件包

    • sudo apt upgrade: 升级所有已安装的软件包到最新版本
      apt upgrade
      apt upgrade
      输入Y/y 继续下载。

(…要更新的包太多了,只截了一小部分,kali官方下载的虚拟机配置文件,Ubuntu的.iso映像文件应该会少一点。)

  • 安装新软件包

    • sudo apt install [包名]: 安装指定的软件包,例如 sudo apt install vim
  • 卸载软件包

    • sudo apt remove [包名]: 卸载指定的软件包,例如 sudo apt remove vim
    • sudo apt purge [包名]: 卸载软件包及其配置文件
  • 查找软件包

    • apt search [关键词]: 根据关键词搜索可用软件包
  • 查看已安装的软件包

    • apt list --installed: 列出所有已安装的软件包
  • 显示软件包信息

    • apt show [包名]: 显示指定软件包的详细信息
  • 清理不再需要的软件包

    • sudo apt autoremove: 自动删除不再需要的包(通常是依赖包)

6. 文件权限和所有权

文件权限

  • 文件权限分为三种:
    • r (read): 读取权限
    • w (write): 写入权限
    • x (execute): 执行权限
  • 权限可以分为三类用户:
    • 用户 (user): 文件的拥有者
    • 组 (group): 拥有者所在的组
    • 其他 (others): 其他用户

修改权限

  • 使用 chmod 命令修改文件权限。
    • chmod [模式] [文件名]:
      • 例:chmod u+x file.txt:为文件拥有者添加执行权限。
      • 使用数字表示法:chmod 755 file.txt

修改所有权

  • 使用 chown 命令修改文件或目录的拥有者和组。
    • chown [用户]:[组] [文件名]
      • 例:chown user:group file.txt

7. 网络命令

  • ping: 测试与远程主机的网络连接。

    • 例:ping google.com (测试如果在国内建议用百度,Googleping不通)。
      ping baidu
      Windows也支持ping指令
  • ifconfig: 显示或配置网络接口(需要使用 ip 命令替代)。

    • 例:ifconfigip addr show
  • curl: 用于与网络服务器进行交互,例如下载文件。

    • 例:curl -O http://example.com/file.txt
  • ssh: 通过SSH协议远程连接到另一台计算机。

    • 例:ssh user@hostname

8. 文本处理命令

1. cat

cat(concatenate的缩写)用于显示文件内容、合并文件或创建新文件。

  • 用法:
    • cat file.txt: 直接显示 file.txt 的内容。
    • cat file1.txt file2.txt > combined.txt: 合并 file1.txtfile2.txt 的内容,并将结果输出到 combined.txt
    • cat > newfile.txt: 创建一个新文件 newfile.txt,并从标准输入读取内容,按 Ctrl + D 结束输入。
      cat到了result里面的内容
      cat到了result里面的内容,是nmap扫描记录的ip

2. less

less 是一个分页查看器,可以方便地浏览大文件,支持向前和向后滚动。

  • 用法:
    • less file.txt: 打开并分页查看 file.txt
    • 在查看时,可以按 Space 键向下翻页,按 b 键向上翻页,按 q 键退出。

3. head

head 用于显示文件的前几行,默认是前10行。

  • 用法:
    • head file.txt: 显示 file.txt 的前10行。
    • head -n 5 file.txt: 显示 file.txt 的前5行。
    • head -c 100 file.txt: 显示 file.txt 的前100个字节。

4. tail

tail 用于显示文件的最后几行,默认是最后10行,常用于查看日志文件。

  • 用法:
    • tail file.txt: 显示 file.txt 的最后10行。
    • tail -n 5 file.txt: 显示 file.txt 的最后5行。
    • tail -f file.txt: 实时监控 file.txt 的新增内容(适合查看动态更新的日志文件)。

5. grep

grep 用于在文件中搜索包含特定模式的行,常用于文本搜索和过滤。

  • 用法:
    • grep "pattern" file.txt: 查找 file.txt 中包含 "pattern" 的所有行。
    • grep -i "pattern" file.txt: 忽略大小写查找。
    • grep -r "pattern" /path/to/dir: 递归查找指定目录中的文件。
    • grep -v "pattern" file.txt: 显示不包含 "pattern" 的行。

6. sed

sed 是一个流编辑器,用于对文本进行查找、替换、插入和删除。

  • 用法:
    • sed 's/old/new/g' file.txt: 将 file.txt 中的所有 old 替换为 new
    • sed -n '1,5p' file.txt: 只打印 file.txt 中的第1到第5行。
    • sed '/pattern/d' file.txt: 删除 file.txt 中包含 "pattern" 的所有行。

7. sort

sort 用于对文本行进行排序,可以按字母顺序或数值排序。

  • 用法:
    • sort file.txt: 按字母顺序对 file.txt 的行进行排序。
    • sort -n file.txt: 按数值排序(适合对数字进行排序)。
    • sort -r file.txt: 以降序方式排序。

8. uniq

uniq 用于去除文本中的重复行,通常与 sort 命令结合使用。

  • 用法:
    • sort file.txt | uniq: 去除 file.txt 中的重复行。
    • uniq -c file.txt: 统计每个唯一行的出现次数。
    • uniq -d file.txt: 只显示重复的行。

9. wc

wc 用于统计文件中的行数、字数和字符数。

  • 用法:
    • wc file.txt: 显示 file.txt 的行数、字数和字节数。
    • wc -l file.txt: 只显示行数。
    • wc -w file.txt: 只显示字数。

9. Shell 脚本基础(仅介绍)

  • 脚本文件:

    • Shell 脚本是以 .sh 结尾的文本文件,包含一系列可以在命令行中执行的命令。它们可以自动化重复性任务,简化复杂操作。
  • 文件头:

    • 通常在脚本的第一行包含一个 shebang,用于指定脚本解释器,例如:
      #!/bin/bash
      
    • 这表示该脚本将使用 Bash 解释器执行。
  • 执行权限:

    • 脚本文件需要具有执行权限,以便能够运行。
      chmod +x script.sh
      
    • 这将允许用户执行该脚本。
  • 运行脚本:

    • 使用相对路径或绝对路径运行脚本:
      ./script.sh
      
    • 或者可以使用 bash 命令运行:
      bash script.sh
      
  • 基本语法:

    • 可以使用注释,以 # 开头的行将被忽略:
      # 这是一个注释
      echo "Hello, World!"  # 输出 "Hello, World!"
      
  • 变量定义:

    • 可以定义变量并使用它们:
      name="Alice"
      echo "Hello, $name"
      
  • 条件语句:

    • 可以使用 if 语句来执行条件判断:
      if [ "$name" = "Alice" ]; then
          echo "Welcome, Alice!"
      else
          echo "Who are you?"
      fi
      
  • 循环:

    • 支持 forwhile 循环,用于重复执行命令:
      for i in {1..5}; do
          echo "Number $i"
      done
      
  • 函数:

    • 可以定义和调用函数,以增强脚本的结构化:
      function greet {
          echo "Hello, $1!"
      }
      greet "Alice"
      
  • 调试:

    • 可以使用 -x 选项调试脚本,以跟踪执行过程:
      bash -x script.sh
      
  • 输入输出:

    • 可以通过命令行参数传递输入,使用 $1, $2 等获取参数:
      echo "First argument: $1"
      

10. 常用快捷键

  • Tab: 自动补全命令或文件名,方便快速输入。
  • Ctrl + L: 清屏,方便查看当前终端状态。
  • Ctrl + R: 反向搜索命令历史,可以快速找到之前执行过的命令。
  • Ctrl + D: 退出当前 shell 或关闭终端,终止当前会话。
  • Ctrl + C: 取消当前正在执行的命令或程序。
  • Ctrl + Z: 暂停当前进程并将其放入后台。
  • Ctrl + A: 移动光标到当前行的开头。
  • Ctrl + E: 移动光标到当前行的结尾。
  • Ctrl + U: 清空当前行命令,便于重新输入。

11. 其他工具(略)

  • VimNano: 文本编辑器,常用于编辑脚本和配置文件。
  • git: 版本控制工具,管理代码和项目的版本。
  • tmux: 终端复用工具,支持多窗口和会话管理。
  • htop: 交互式进程查看器,提供系统资源使用情况的可视化。
  • curl: 命令行工具,用于发送和接收数据,支持多种协议。
  • wget: 文件下载工具,支持 HTTP、HTTPS 和 FTP 协议。
  • awk: 文本处理工具,适用于格式化和分析文本数据。
  • sed: 流编辑器,用于对文本进行查找、替换和删除操作。
  • docker: 容器化平台,简化应用程序的部署和管理。
  • ssh: 安全远程登录工具,用于安全连接到远程主机。
  • rsync: 文件同步工具,用于高效地传输和备份文件。
  • make: 自动化构建工具,管理项目的编译过程。
  • python: 高级编程语言,广泛用于脚本、数据分析和自动化任务。
  • gdb: GNU调试器,用于调试程序和分析崩溃。

标签:文件,软件包,入门教程,bbb,系统目录,file,Linux,txt,目录
From: https://blog.csdn.net/2302_80127404/article/details/143418972

相关文章

  • 【Linux篇】常用命令及操作技巧(进阶篇 - 下)
    ......
  • 【操作系统实验课】Linux操作基础
    1.打开UbuntuUbuntu-22.04虚拟机安装-CSDN博客打开虚拟机软件启动其中的Ubuntu22.04打开Ubuntu系统终端2.创建目录和文件创建test3目录:在终端中输入命令:mkdir/test3。此命令用于在根目录下创建test3目录。(注意在命令中,“mkdir”是创建目录的命令,“/test3”是要......
  • Linux 操作系统 3 (VIM篇)
    什么是Vim?Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。连vim的官方网......
  • linux cpu sys是什么占用过高
    在Linux环境中,CPU使用率是性能监控的重要组成部分。其中,sys是系统CPU时间的缩写,代表内核消耗的CPU时间。本文深入探究Linux中CPUsys使用率高的原因、影响和解决方案。通过掌握这些知识,您将更好地理解和管理Linux系统的性能。1.Linux中CPU使用率的分类在Linux中,CPU时间主要......
  • Linux基础-磁盘与磁盘分区
    硬盘与存储设备硬盘是一种计算机的存储设备,主要作用是用来存储数据,通常由一个或者多个盘片组成,既可以安装在计算机的内部,也可以外接计算机。数据的类型:操作系统,应用程序,文档多媒体文件等等计算机读取硬盘中的数据时,硬盘把数据读取到计算机的内存当中再进行处理写----->当......
  • Linux (11) 使用ATOP工具
    《WindowsAzurePlatform系列文章目录》 1.问题描述:之前遇到了部分MySQL虚拟机,操作系统盘和数据盘的磁盘读取(DiskRead)突增,同时虚拟机可用内存突然减少,最后发生OOM(OutofMemory)。如下图: 2.通过安装LinuxATOP工具,监控虚拟,具体的部署脚本#!......
  • 【YOLO目标检测实战 】1.Windows安装WSL2和Linux子系统
    1下载安装显卡驱动下载地址:https://www.nvidia.cn/geforce/drivers/根据显卡型号,下载显卡驱动根据默认选项,安装显卡驱动查看显卡驱动是否安装成功右键开启菜单->命令提示符(管理员)在命令行中输入nvidia-smi.exe命令,查看显卡驱动是否安装成功。2下载安装MobaXte......
  • 【YOLO目标检测实战 】2.Linux子系统安装Anaconda和Ultralytics
    1安装软件包更新仓库源sudocp/etc/apt/sources.list/etc/apt/sources.list.baksudosed-i"s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g"/etc/apt/sources.listsudosed-i"s@http://.*security.ubuntu.com@http://repo.huaweicloud.co......
  • 【Linux】进程间通信(命名管道、共享内存、消息队列、信号量)
    ......
  • linux使用者须知!Ls命令输出的颜色究竟由什么含义?教你轻松区分~(带私活源码)
     在linux中我们经常会用到Ls命令,我们发现Ls的输出中有各种各样的颜色,今天和大家共同了解一下Ls背后的故事。简介Linux ls(英文全拼:listdirectorycontents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。我们可以看到ls的输出中有着不同的颜色......