首页 > 系统相关 >linux 基础知识汇总

linux 基础知识汇总

时间:2024-08-05 15:29:59浏览次数:12  
标签:文件 权限 汇总 filename linux 根目录 path 基础知识 目录

1、Linux文件系统概述

Linux文件系统是指操作系统用来控制文件如何存储和检索的结构和逻辑。

文件系统结构

  • 根目录: /
    • Linux文件系统从根目录(/)开始,这是所有文件和目录的起点。
  • 目录结构: Linux使用层次化目录结构,每个目录包含文件和子目录。
  • 挂载点: 各种文件系统通过挂载点(mount point)集成到文件系统的层次结构中。

文件类型

  • 普通文件: 包含数据的文件(文本文件、二进制文件等)。
  • 目录文件: 也称为文件夹,包含其他文件或子目录。
  • 链接文件: 指向另一个文件的指针,可以是硬链接或软链接。
  • 设备文件: 代表设备的特殊文件,分为字符设备文件和块设备文件。
  • 管道文件: 用于进程间通信的文件。

根目录概述

在Linux操作系统中,根目录(/)是整个文件系统的起点。所有文件和目录都是从根目录开始的,根目录下包含了系统所需的各种子目录,每个子目录都有其特定的用途。

根目录下的常用文件夹及其用途 (仅作了解)

  1. /bin:

    • 存放基本命令的二进制文件,如ls, cp, mv, bash等,系统启动和单用户模式下需要使用这些命令。
  2. /etc:

    • 存放系统配置文件和子目录,如网络配置文件、用户账户信息、服务配置文件等。
  3. /home:

    • 每个用户的主目录的默认位置,例如用户user的主目录为/home/user。用户的个人文件和设置通常存放在这里。
  4. /lib:

    • 存放系统运行所需的共享库文件和内核模块。包括程序执行时依赖的共享库文件,如/lib/libc.so.6,头文件等。
  5. /var:

    • 存放系统运行时需要改变的数据文件,如日志文件、缓存文件、邮件队列等。
  6. /dev:

    • 包含设备文件,用于访问硬件设备,例如磁盘、终端、音频设备等。每个设备都表示为一个文件,如/dev/sda表示第一个SCSI硬盘。
  7. /proc:

    • 虚拟文件系统,包含系统进程和内核信息的虚拟文件。提供系统信息,如内存、CPU等。
  8. /root:

    • 超级用户(root)的主目录。与普通用户的主目录不同,位于/home之外。
  9. /srv:

    • 存放服务(service)相关的数据,如HTTP服务器的网页文件、FTP服务器的数据等。
  10. /tmp:

    • 存放临时文件,系统重启后该目录下的文件会被删除。
  11. /usr:

    • 存放用户应用程序和文件,包括二进制文件、库文件、文档等。包含子目录:
      • /usr/bin: 存放用户命令的二进制文件。
      • /usr/lib: 存放用户命令的库文件。
      • /usr/local: 存放本地安装的软件。

根目录结构图

下面是一张根目录下常用文件夹的结构图:

/
├── bin
├── etc
├── home
│   ├── user1
│   └── user2
├── lib
├── proc
├── root
├── dev
├── srv
├── tmp
├── usr
│   ├── bin
│   ├── lib
│   ├── local
│   │   ├── bin
│   │   └── lib
│   └── share
├── var
    ├── log
    ├── mail
    ├── cache
    └── tmp

2、路径

路径是指文件或目录在文件系统中的位置。路径分为绝对路径和相对路径。

绝对路径

绝对路径是从根目录(/)开始,逐级指定文件或目录的路径。绝对路径总是唯一的,并且不依赖于当前工作目录。

  • 示例: /home/user/docs/file.txt

在这个例子中,路径从根目录开始,依次经过homeuserdocs目录,最后指向file.txt文件。

相对路径

相对路径是从当前工作目录开始,逐级指定文件或目录的路径。相对路径依赖于当前工作目录,可以使用相对路径操作文件和目录而不需要知道它们的绝对位置。

  • 示例:
    • 当前目录: /home/user
    • 相对路径: docs/file.txt

在这个例子中,相对路径docs/file.txt指向的是/home/user/docs/file.txt文件。

特殊目录符号

  • .: 当前目录
  • ..: 上一级目录
  • ~: 当前用户的主目录(通常是/home/username

3、终端常用命令

1. ls - 列出目录内容

用来显示指定目录下的文件和子目录。

  • ls:显示当前目录下的文件和目录。
  • ls -l:以长格式显示文件和目录的详细信息,包括权限、所有者、文件大小和修改时间。
  • ls -a:显示所有文件和目录,包括隐藏文件(以.开头的文件)。
  • ls -lh:以长格式和人类可读的格式显示文件大小(例如,KB、MB)。
  • ls -R:递归地列出所有子目录中的文件。

2. cd - 切换目录

用于在不同的目录之间导航。

  • cd:返回用户的主目录。
  • cd /path/to/directory:切换到指定目录。
  • cd ..:返回上一级目录。
  • cd -:返回到上一个工作目录。

3. mkdir - 创建目录

用来创建新目录。

  • mkdir directory_name:创建一个名为directory_name的新目录。
  • mkdir -p /path/to/directory:递归创建目录路径中的所有目录(如果它们不存在)。

4. touch - 创建文件

用于创建一个新的空文件或更新现有文件的时间戳。

  • touch filename:创建一个名为filename的新文件,或者如果文件已存在,则更新其修改时间。

5. pwd - 显示当前目录

显示当前工作目录的完整路径。

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

6. cat - 连接并显示文件

用于查看文件内容或将文件内容连接输出。

  • cat filename:显示filename文件的内容。
  • cat file1 > file2:将file1的内容复制到file2(覆盖)。
  • cat file1 >> file2:将file1的内容追加到file2

7. cp - 复制文件或目录

用于复制文件或目录。

  • cp source destination:将文件source复制到destination
  • cp -r source_directory destination_directory:递归复制目录及其内容。
  • cp -i source destination:在覆盖文件时提示确认。

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

用于移动文件或目录,或者重命名它们。

  • mv source destination:将文件或目录source移动到destination,或者重命名为destination
  • mv -i source destination:在覆盖文件时提示确认。

9. rm - 删除文件或目录

用于删除文件或目录。

  • rm filename:删除filename文件。
  • rm -r directory:递归删除目录及其内容。
  • rm -f filename:强制删除文件而不提示确认。
  • rm -rf directory:强制递归删除目录及其内容而不提示确认。

10. chmod - 更改文件权限

用于更改文件或目录的权限。

权限可以用两种方式表示:符号表示法和八进制表示法。

符号表示法
  • r:读权限(read)
  • w:写权限(write)
  • x:执行权限(execute)

使用符号表示法时,权限可以分配给用户(u)、组(g)和其他人(o)。

八进制表示法
  • 4:读权限(read)
  • 2:写权限(write)
  • 1:执行权限(execute)
符号表示法示例
  1. 给文件所有者添加读、写和执行权限
 chmod u+rwx filename
  1. 给文件组添加读和执行权限
chmod g+rx filename
  1. 给其他人添加读权限
chmod o+r filename
  1. 给所有用户(用户、组和其他人)添加读、写和执行权限
chmod a+rwx filename
chmod +rwx filename # 默认是给所有的用户
八进制表示法示例
  1. 给文件所有者、组和其他人添加读、写和执行权限
chmod 777 filename

这里的 777 表示用户、组和其他人都拥有读(4)+写(2)+执行(1)= 7 的权限。

  1. 给文件所有者添加读、写和执行权限,组和其他人添加读和执行权限
chmod 755 filename

这里的 755 表示用户拥有读(4)+写(2)+执行(1)= 7 的权限,而组和其他人拥有读(4)+执行(1)= 5 的权限。

这里的 -rwxrwxrwx 表示文件的权限。第一个字符表示文件类型,后面的字符分为三组,每组三个字符,分别表示所有者、组和 其他人的权限。

11. chown - 更改文件所有者

用于更改文件或目录的所有者。

  • chown user:group filename:将文件filename的所有者改为user,组改为group
  • chown -R user:group directory:递归更改目录及其内容的所有者。

12. find - 查找文件

用于在目录中搜索文件。

  • find /path -name filename:在/path目录下查找名为filename的文件。
  • find /path -type d:在/path目录下查找所有目录。
  • find /path -type f -name "*.txt":在/path目录下查找所有扩展名为.txt的文件。

13. grep - 搜索文本

用于在文件中搜索匹配的文本。

  • grep "pattern" filename:在filename中搜索pattern字符串。
  • grep -r "pattern" /path:递归搜索目录/path中的pattern字符串。
  • grep -i "pattern" filename:在filename中搜索pattern字符串(忽略大小写)。
  • grep -v "pattern" filename:在filename中显示不包含pattern的行。

14. man - 显示命令手册页

用于显示命令的手册页,帮助了解命令的详细用法。

  • man command:显示command命令的手册页。
  • man -k keyword:搜索包含keyword的所有手册页。

这些命令是Linux系统中最常用的一些基本命令,通过掌握这些命令,您可以有效地管理和操作文件系统。

14. 重启系统

sudo reboot

14. 关闭某个进程

  1. 首先,找出进程的 PID(进程ID)。例如:

    pgrep process_name
    
  2. 使用 kill 命令来终止进程。

    • 发送默认的 SIGTERM 信号(请求进程正常终止):

      kill PID
      
    • 如果进程没有响应,可以发送 SIGKILL 信号(强制终止):

      kill -9 PID
      

标签:文件,权限,汇总,filename,linux,根目录,path,基础知识,目录
From: https://www.cnblogs.com/xxctx/p/18343039

相关文章

  • Parallels Desktop19.3.0虚拟机软件可以让你在Mac上同时运行Windows、Linux等多个系统
    ParallelsDesktop19,一个虚拟机软件,可以让你在Mac上同时运行Windows、Linux等多个系统。听起来是不是很厉害?但其实它还有更多隐藏的小技巧等着你去发现。如果你还在因为Mac和Windows之间的不兼容而苦恼,那么ParallelsDesktop19就是你的救星。它可以帮助你轻松地在Mac上运行Win......
  • Arcgis基础知识-地理信息系统基本概念
    Arcgis基础知识-地理信息系统基本概念​一、基本概念地理信息系统(GeographicInformationSystem,简称GIS)是一种采集、存储、管理、分析、显示与应用地理信息的计算机系统,是分析和处理海量地理数据的通用技术。简单来说对空间数据的显示,编辑处理,分析应用,打印输出的系统。......
  • 【Java基础知识4】反射
    一、反射机制Java反射机制是指在程序的运行过程中,对于任意一个类,都能够知道它的所有属性和方法;对于任意一个对象,都能够知道调用它的任意属性和方法,这种动态获取信息以及动态调用对象方法的功能称为JAVA语言的反射机制二、反射的核心内容反射的核心内容是JVM在运行时动态......
  • 【Java基础知识3】泛型
    一、泛型的意义泛型的本质是将类型参数化,从而达到代码复用。即:在不创建新的类型下,通过泛型指定不同类型来控制形参具体类型,简单来讲就是,当我们不知道用什么数据类型接收数据的情况下,可以使用泛型来接收。代码示例:未使用泛型情况下:privatestaticintadd(inta,intb){......
  • 【Java基础知识5】异常
    一、什么是异常?正常程序所不能处理或没有处理的不正常行为称为异常。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。二、异常的层次结构三、异常的分类1.Throwable异常体系的顶层类,其派生出两个重要的子类, Error 和......
  • prometheus中的node_exporter中linux系统中取磁盘使用率
    (((node_filesystem_size_bytes{job="exp-server-node",mountpoint=~".*",fstype=~"ext4|xfs|ext2|ext3|tmpfs"}-node_filesystem_free_bytes{job="exp-server-node",mountpoint=~".*",fstype=~"ext4|xfs|ext2|ext3|t......
  • 一张图带你学习Linux文件权限,简单易懂!
    你好,这里是网络技术联盟站,我是瑞哥。在Linux系统中,文件权限是确保系统安全性和完整性的重要机制。理解并正确设置文件权限,能够有效防止未授权的访问和修改,从而保护系统中的数据。文件权限文件权限是Linux系统中控制用户和组对文件和目录的访问权限的机制。每个文件和目......
  • QT-开发基础知识-全-
    QT开发基础知识(全)原文:FoundationsofQtDevelopment协议:CCBY-NC-SA4.0一、C++的Qt方式Qt是一个跨平台、图形化的应用开发工具包,使您能够在Windows、MacOSX、Linux和不同品牌的Unix上编译和运行您的应用。Qt的很大一部分致力于为一切事物提供平台中立的接口,从......
  • Linux修改Swap分区大小及使用优先级
      Swap是Linux系统中的一种虚拟内存,用于在物理内存不足时扩展可用内存。当系统的物理内存不足以满足所有运行进程的需求时,操作系统会将不常用的数据存储在Swap分区中。在某些情况下,可能需要增加Ubuntu系统上的Swap大小,以提供更多的可用内存。以下将介绍调整Swap分区大小和使用......
  • odoo基础知识1
      模块ODOO中的Related字段及Computed字段原理Related字段属性在数据库中是没有存储的,均是每次调用此字段时,通过函数计算出来。所以,若想要让其他函数引用此related字段,必须添加store=True属性(存储字段的优点是,对该字段的搜索是由数据库本身完成的。)。通过引用......