首页 > 系统相关 >Linux

Linux

时间:2024-09-04 20:52:47浏览次数:7  
标签:选项 文件 文件系统 目录 Linux inode 链接

1.inode简介

        inode是Linux文件系统的基础。

  • 硬盘的最小存储单位是扇区(Sector),块(block)由多个扇区组成。文件数据存储在块中。块的最常见的大小是 4kb,约为 8 个连续的扇区组成(每个扇区存储 512 字节)。一个文件可能会占用多个 block,但是一个块只能存放一个文件。虽然,我们将文件存储在了块(block)中,但是我们还需要一个空间来存储文件的 元信息 metadata:如某个文件被分成几块、每一块在的地址、文件拥有者,创建时间,权限,大小等。这种 存储文件元信息的区域就叫 inode,译为索引节点:i(index)+node每个文件都有一个唯一的 inode,存储文件的元信息。
  • inode 是一种固定大小的数据结构,其大小在文件系统创建时就确定了,并且在文件的生命周期内保持不变。
  • inode 的访问速度非常快,因为系统可以直接通过 inode 号码定位到文件的元数据信息,无需遍历整个文件系统。
  • inode 的数量是有限的,每个文件系统只能包含固定数量的 inode。这意味着当文件系统中的 inode 用完时,无法再创建新的文件或目录,即使磁盘上还有可用空间。因此,在创建文件系统时,需要根据文件和目录的预期数量来合理分配 inode 的数量。
  • 可以使用 stat 命令可以查看文件的 inode 信息,包括文件的 inode 号、文件类型、权限、所有者、文件大小、修改时间。
  • inode:记录文件的属性信息,可以使用 stat 命令查看 inode 信息。
  • block:实际文件的内容,如果一个文件大于一个块时候,那么将占用多个 block,但是一个块只能存放一个文件。(因为数据是由 inode 指向的,如果有两个文件的数据存放在同一个块中,就会乱套了)

2.硬链接和软链接

        在Linux系统上,文件链接是一种特殊的文件类型,可以在文件系统中指 向另一个文件。常见的文件链接类型有两种:

        硬链接:在Linux文件系统中,每个文件和目录都有一个唯一的索引节点号,用来标识该文件或目录。硬链接通过inode节点号建立连接,硬链接和源文件的inode节点号相同,两者对文件系统来说是完全平等的,删除其中任何一个对另外一个没有影响,可以通过给文件设置硬链接文件来防止重要文件被误删。使用ln 命令来创建硬链接。

        软链接:软链接和源文件的inode节点号不同,而是指向一个文件路径。源文件删除后,软链接依然存在,但是指向的是一个无效的文件路径。类似于快捷方式,使用ln -s命令来创建软连接。

3.Linux文件类型

        普通文件:用于存储信息和数据

        目录文件: 用于表示和管理系统中的文件

        符号链接文件:保留了指向文件的地址而不是文件本身

        字符设备:用来访问字符设备,比如键盘

        设备文件:用来访问块设备,比如硬盘、软盘

        管道文件:一种特殊类型的文件,用于进程之间的通信

        套接字文件:用于进程间的网络通信,也可以用于本机之间的非网络通信

4.常见目录说明

  • /bin: 存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;
  • /etc: 存放系统管理和配置文件;
  • /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是/home/user,可以用~user 表示;
  • /usr: 用于存放系统应用程序;
  • /opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
  • /proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /root: 超级用户(系统管理员)的主目录(特权阶级^o^);
  • /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
  • /dev: 用于存放设备文件;
  • /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot: 存放用于系统引导时使用的各种文件;
  • /lib 和/lib64: 存放着和系统运行相关的库文件 ;
  • /tmp: 用于存放各种临时文件,是公用的临时文件存储点;
  • /var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
  • /lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里

5.Linux常用命令(重要)

5.1 目录切换

cd usr #切换到该目录下的usr目录
cd .. #切换到上层目录
cd / #切换到系统根目录
cd ~ #切换到用户主目录
cd -  #切换到上一个操作的目录

5.2  目录操作

ls #显示目录中的文件和子目录的列表
ll #看到目录下的所有目录和文件的详细信息
mkdir [选项] 表达式 #创建目录
find [路径][表达式] #在指定目录及其子目录中搜索文件或目录
pwd #显示当前工作目录的路径
rmdir [选项] 目录名 #删除空目录
rm [选项名] 目录名 #删除文件/目录
cp [选项] 源文件/目录  目标文件/目录 #复制文件或目录到指定位置
mv [选项] 源文件/目录 目标文件/目录  #移动文件或目录到指定位置,也可以用于重命名文件/目录

5.3 文件操作

touch [选项] 文件名 #创建新文件或者更新已存在文件
ln [选项] <源文件> <硬链接/软链接文件> #创建硬链接/软链接
cat/more/tail 文件名 #文件查看命令
vim 文件名 #修改文件的内容

5.4 文件压缩

tar -zcvf 打包压缩后的文件名 要打包压缩的文件 #压缩文件
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名

tar [-xvf] 压缩文件 #解压压缩包
x:代表解压

5.5 文件传输

scp [选项] 源文件 远程文件 #用于通过SHH协议进行安全的文件传送,实现从本地到远程主机的上传和从远程主机到本地的下载
rsync [选项] 源文件 远程文件 #可以在本地和远程系统之间高效的进行文件复制并智能地处理增量复制
ftp  #提供一种简单的方式来链接到远程FTP服务器并进行文件上传、下载、删除等操作

5.6 文件权限

        操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作

          

              

        文件的类型:

                d:目录

                -:文件

                l:软链接

        权限种类:

                r:代表可读,可以用数字4表示

                w:代表可写,可以用数字2表示

                x:代表可执行,可以用1表示

        文件权限和目录权限的区别:

        文件:

                r:可以使用cat查看文件内容

                w:可以修改文件内容

                x:可以将其运行为二进制文件

        目录:

                r:可以查看目录下的列表

                w:可以创建和删除目录下的文件

                x:可以cd进入目录

        超级用户可无视权限规则;

        chmod命令修改权限:

                chmod u=rwx,g=rw,o=r aaa.txt 或者 chmod 764 aaa.txt

        

5.7 用户管理

useradd [选项] 用户名  #创建用户账号
userdel [选项] 用户名  #删除用户账号
usermod [选项] 用户名  #修改用户账号属性、配置
passwd  [选项] 用户名  #设置用户的认证信息,用户密码、密码过期时间
groupadd [选项] 用户组 #添加用户组
groupdel 用户组  #删除用户组
groupmod [选项] 用户组 #修改用户组属性

5.8 系统状态

top [选项]  #用于实时查看系统的CPU使用率、内存使用率、进程信息等
htop [选项] #类似top,但提供了更加交互式和友好界面
uptime [选项]   #用于查看系统总共运行时长,系统的平均负载等信息
vmstat [间隔时间] [重复次数] #查看进程、内存、I/O等系统整体运行状态
free [选项] #用于查看系统的内存使用情况
df [选项] [文件系统] # 用于查看系统的磁盘空间使用情况
du [选项] [文件] #用于查看指定目录和文件的磁盘空间使用情况
sar [选项] [时间间隔] [重复次数] #用于收集。报告和分析系统同的性能统计信息
ps [选项] #用于查看系统中的进程信息
systemctl [命令] [服务名称] #用于管理系统的服务和单元

5.9 网络通信

ping [选项] 目标主机  #测试与目标主机的网络连接
ifconfig/ip  #用与查看系统的网络接口信息,包括网络接口的IP地址、MAC地址、状态等
netstat [选项] #用于查看系统的网络连接状态和网格统计信息
ss [选项] #比netsate更好用

5.10 其他

sudo + 其他命令 #以系统管理员身份执行命令
grep 要搜索的字符串 要搜索的文件 --clolor
kill -9 #杀死进程(-9表示强制终止),先用ps查找进程,然后使用kill
shutdown #shutdown -h now  指定立即关机   shutdown ——5 "System will shutdown after 5 minutes" 指定5分钟后关机,同时送出警告信息给登入用户
reboot #重开机  reboot -w 做个重开机的模拟

标签:选项,文件,文件系统,目录,Linux,inode,链接
From: https://blog.csdn.net/qq_53429120/article/details/141900245

相关文章

  • rocky linux 9部署zabbix6
    安装rocky9阿里巴巴开源镜像站http://mirrors.aliyun.com1、Rocky2、初始化防火墙        systemctlstopfirewalld        systemctldisablefilewalld        或者        systemctldisablefirewalld--now3、selinuxvi/etc......
  • Linux常用命令
    cdcd~:进入到当前用户的主目录cd-:切换到上一次所在的目录cd..:切换到上一级cd../..:切换到上两级**cd/**:切换到根目录lsls:列出目录下文件ls-a:列出所有文件,包括隐藏文件ls-A:列出所有文件,包括隐藏文件,除了.和..ls-l:列出文件的详细信息-t......
  • linux C++基于共享内存的同步机制
    无缘进程间同步,本来打算使用有名信号量进行同步,但是有名信号量的初始化会受进程启动顺序影响,故使用共享内存进行封装,封装后的使用方法类似二值信号量,代码如下:1#include<sys/ipc.h>//ipc:inter-processcommunication进程通信2#include<sys/shm.h>//shm:shareme......
  • Linux源码下生成并安装内核文档
    最近想使用man命令查看Linux内核函数的帮助信息,无奈有如下提示: xinu@slam:~$manprintkNomanualentryforprintk 而在Linux内核源码下,我们执行makehelp命令后,输出的提示内容有关于内核文档的如下信息:Documentationtargets: Linuxkernelinternaldocumentati......
  • 【为项目做准备】Linux网络编程重点知识(项目通用知识)
    Linux网络编程的简单梳理,不够再来更新~socket()setsockopt()bind()listen()accept()socket()socket()函数,用来创建套字节头文件:#include<sys/socket.h>函数:intsocket(intdomain,inttype,intprotocol)相应参数说明:-domain:指定套接字的地址族,常见的AF_INET......
  • 【Linux入门】正则表达以及sort、uniq、tr、cut命令
    文章目录正则表达1.正则表达式(RegularExpressions)常用的正则表达式元字符:1.基本元字符2.字符类元字符3.特殊字符类4.边界匹配符5.控制字符和转义字符6.贪婪与非贪婪模式示例补充sort命令基本用法常用选项示例uniq命令基本用法常用选项示例tr命令基本用法常用......
  • Windows 一顿操作倒逼用户!Linux 桌面坐收渔利,市场份额攀至新高峰
    根据StatCounter的最新数据,截至2024年7月,Linux在全球桌面操作系统的市场份额已达到4.45%。虽然这一百分比对于那些不熟悉操作系统领域的人来说可能看起来很小,但它对Linux及其专注的社区来说是一个重要的里程碑。更令人振奋的是Linux采用率的上升趋势。图片1.稳定进步......
  • Linux宝塔Mysql两台服务器主从配置,服务器存在多个库
    实现目标:两台服务器(一台为从服务器,一台为主服务器),当主服务器的数据修改,从服务器复制主服务器的操作,实现自动修改数据;1、主数据库操作-先登录主数据库#登录数据库,用root登录方便,用其他账号会提示权限不足,需要登录root给予权限mysql-uroot-p密码2、创建一个账号,供从库用......
  • Linux-01-虚拟网络、网络命名空间
    虚拟网络    首先Linux具有丰富的虚拟网络功能,我们先简要介绍几个常用的虚拟网络接口类型:1.Bridge网桥        LinuxBridge网桥的行为类似于网络交换机。它在与其连接的接口之间转发数据包。它通常用于在路由器、网关上或在主机上的虚拟机和网络命名空间......
  • Linux 进程管理与负载
    1.进程管理1.1进程进程:process运行起来的命令或代码或程序.进程本质运行在内存中.cpu:处理内存:软件磁盘:永久存放数据.守护进程(服务):持续运行的进程.1.2僵尸进程⭐️⭐️⭐️⭐️⭐️1.2.1概述异常进程僵尸进程:进程因为一些原因脱离系统控制,但是进程又没有正常的退......