Linux基础part-3

news2024/12/23 7:53:54

1、Linux一般系统查看类命令

  1. 【stat】命令
    • 格式:stat [option] file
    • 显示文件的元数据信息,包括文件的权限、拥有者、大小、修改时间等。
    • eg:stat myfile.txt
  1. 【file】命令
    • 用于确定文件类型
    • 格式:file [option] file
    • file myfile.txt
  1. 【echo】回声命令
    • 将文本输出到标准输出设备(用于输出文本或变量的内容,并支持变量替换)
    • 格式:echo “数据流”
    • echo "Hello, world!"
  1. 【which】命令
    • 查找并显示指定命令的可执行文件路径
    • 格式which [--skip-alias] COMMAND 接选项不使用别名
    • which ls
  1. 【whereis】命令
    • 查找指定命令的二进制文件、源代码文件以及帮助文档的位置
    • whereis ls
  1. 【ldd】命令
    1. 打印一个可执行程序所需要的共享库列表。
    2. ldd [option] 命令文件
    3. ldd /bin/ls

2、Linux文件系统层级(FHS)

  1. Linux基于根文件系统,所有的文件都由根/ 来发起
  2. FHSLinux所有发行版都遵循的Linux根文件系统的一级层级目录规定
    1. /boot:存放启动Linux系统所需的文件,如内核文件和引导加载程序。
    2. /root:超级用户的家目录,即root用户的个人文件存放处。(某些发行版没有此家目录)
    3. /home: 普通用户的家目录,每个用户都有一个对应的子目录来存放其个人文件。
    4. /bin:所有用户的基本全局命令放置的目录(存放系统的核心命令和可执行文件,如ls、cp、cat等。)
    5. /sbin:存放系统管理员使用的特权命令。
  1. 指令文件所在的全部路径
    1. /bin
    2. /sbin
    3. /usr/bin
    4. /usr/sbin
    5. /usr/local/bin
    6. /usr/local/sbin
    7. 这些目录都存放着可执行文件,但根据文件的重要性和使用权限的不同,它们被放置在了不同的位置。
  1. /dev:设备文件和特殊文件存放的目录(包含了所有硬件设备的文件表示,如键盘、鼠标、硬盘等)
  2. /etc:程序配置文件放置的通用目录,文件基本为文本文件。(存放系统的配置文件,如网络设置、用户账户等。这些文件通常是文本文件,方便管理员进行编辑和修改。)
  3. /lib:通用公共共享库文件
  4. /lib64:基于64位的公共共享库文件 (主要.so为结尾)
  5. /media:关联临时介质存储设备(用于挂载可移动介质,如USB设备、CD-ROM等。)
  6. /mnt:临时关联挂载设备目录(不太用)(临时挂载目录,用于挂载文件系统或设备,但不常用于日常操作。)
  7. /opt:第三方应用程序安装目录(基本废弃)
  8. /usr: 存放系统应用程序和共享文件的目录。比较重要的目录/usr/local本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
    1. 特定子目录:
    2. bin:存放用户级别可执行文件。
    3. sbin:系统级别可执行文件。
    4. include : C程序头文件(.h结尾)目录
    5. lib:存放库文件的目录
    6. local:约定俗称第三方应用程序安装目录(相当于windows的program files)。具有执行权,默认30天之内临时文件会自动删
    7. share:存放结构化独立数据的目录
    8. src:约定俗称第三方程序编译位置路径
  1. /tmp:临时文件目录(所有用户都有权限访问)所有用户都有权限在此创建和删除文件。 默认30天之内临时文件会自动删除
  2. /var:存放经常变化的数据文件目录(如日志文件、缓存文件等。)
    1. 特定子目录:
    2. cache:应用程序缓存目录
    3. local:/usr/local下应用程序的可变文件存放路径
    4. log:日志文件存放目录
    5. spool:应用程序数据池目录
    6. tmp:系统两次重启产生的临时数据
    7. mail:邮件文件存放的目录
  1. /proc:伪文件系统(主要将系统参数映射为文件,存放在此目录内)。主要用于访问内核和系统的实时信息,而不是实际存储数据的目录。
  2. /sys: 取代伪文件系统的一个特殊的目录(与内核的接口交互,提供了访问内核对象和属性的方式)
  3. /selinux:加强型防火墙所在的目录(为Linux提供访问控制安全策略的机制。)

4、系统管理类的命令

查看cpu

  • 【lscpu】显示CPU架构信息和其他细节。
  • 【cat /proc/cpuinfo】显示CPU详细信息。
  • 查看内存大小
  • 【free】显示系统内存使用情况。
  • 【cat /proc/meminfo】显示内存详细信息

查看硬盘和分区情况

  • 【lsblk】显示块设备信息,包括硬盘和分区。
  • 【cat /proc/partitions】显示分区信息

查看系统架构

  • 【arch】显示系统架构

查看内核版本

  • 【uname -r】显示内核版本。

查看操作系统发行版本

  • 【cat /etc/redhat-release】 查看红帽系列系统的发行版本。
  • 【cat /etc/os-release】查看非红帽系列系统的发行版本

关机:

  • shutdown [option] timepoint 关机和重启管理工具。
  • 选项:
    • 【-h】 关机 now--->立即关机 +m---->多少分钟后关机 hh:mm---->绝对时间关机
    • 【-c】 取消关机 或者在终端上 【ctrl+c】
    • 【-r】 重启 now--->立即重启 +m---->多少分钟后重启 hh:mm---->绝对时间重启
  • 【poweroff】:强行关机(不推荐使用)
  • 【halt】:关机,相当于【shutdown -h】
    • 【-f】:相当于【poweroff】
  • 【reboot】:重启 相当于【shutdown -r now】(或0)
    • 【-f】:强行重启(不推荐)

查看当前登录用户信息

  • 【who】命令:显示当前登录的用户和终端信息
  • 【whoami】命令:显示当前登录的用户名。
  • 【w】命令:显示登录用户及相关登录的资源占用信息。

登录提示文件/etc/motd

  • 登录提示文件通常存储在/etc/motd中,可自定义内容,用户登录时会显示其中的内容。
  • 【cat /etc/motd】

5、SHELL的环境变量详解

  1. env命令

扩充

  1. 环境变量是在操作系统中存储信息的一种机制,用于指定在系统运行时应用程序的行为方式。
  2. SHELL的环境变量详解
  • $ 符号用于引用变量(eg: echo $HOME——打印当前用户的家目录路径)
    • PATH:指定命令搜索的路径。当你在终端中输入一个命令时,系统会按照PATH中指定的顺序搜索对应的可执行文件。
      • 例如,/usr/local/bin:/usr/bin:/bin表示先在/usr/local/bin目录下搜索,然后在/usr/bin目录下搜索,最后在/bin目录下搜索。
    • HOME:指定当前用户的主目录路径。
    • USER:指定当前用户的用户名。
    • SHELL:指定当前用户的默认shell路径。
    • LANG:指定默认的语言环境。
    • PS1:指定命令行提示符的格式。
    • PWD:指定当前工作目录的路径。
    • LD_LIBRARY_PATH:指定动态链接库搜索路径,用于告诉系统在哪里查找共享库文件。
    • EDITOR:指定默认的文本编辑器。
    • TERM:指定终端类型,决定了终端显示的方式。
  1. env命令:
    • 显示当前环境变量【env】
    • 在指定环境中执行指定命令【env VAR1=value1 VAR2=value2 command】
      • 这会在指定的环境下执行command命令,其中VAR1VAR2等是要设置的环境变量,value1value2是它们的值。
      • 例如,如果要在一个新的环境中执行一个命令,可以这样做:
        • env FOO=bar bash
        • 这将在一个新的环境中启动一个bash shell,并设置了一个名为FOO的环境变量,其值为"bar"。

6、bash shell的快捷操作

  1. 快捷操作
    • Ctrl+c:取消正在执行的命令
    • Ctrl+l:清屏 相当于命令clear
    • Ctrl+a:跳至命令行首 相当于HOME
    • Ctrl+e:跳至命令行尾 相当于END
    • Ctrl+u:光标处删除至最左侧
    • Ctrl+k:光标删除至最右侧
    • Ctrl+z:将当前正在前台执行的命令放入后台,可以使用【fg】命令将其调回前台执行。
    • !!执行上一次操作
    • !关键字 :执行包含指定关键字的上一条命令
    • !n:执行历史记录中的第n条命令
  1. TAB:命令和参数关键字补全 (非常重要)
    • 命令补全:命令在PATH环境变量路径中中不唯一需按两下
    • 参数路径补全:在路径下参数不唯一也要按两下
  1. ESC+ .
    • 按下ESC键后,再按句点键(.),会自动补全上一条命令的参数。
  1. 命令行展开
    • {}:承接多个元素列表,通常以逗号进行分隔,并将其展开为多个路径。
    • 使用大括号{}进行命令行展开,可以承接多个元素列表,并将其展开为多个路径。
    • 例如,echo file{1,2,3}.txt会展开为file1.txt file2.txt file3.txt

7、Linux文件相关操作命令

a. 【touch】
    1. 功能1----->创建空文本文件(如果文件不存在)
    1. 功能2----->更新时间戳
      • 将myfile.txt的mtime设置为2022年1月1日12时00分00秒。
      • 更新时间戳功能
        • atime(访问时间):表示文件最后一次被访问或读取的时间。
        • mtime(修改时间):表示文件内容最后一次被修改的时间。
        • ctime(状态改变时间):表示文件元数据(例如权限、所有者等)最后一次被改变的时间。
    1. 选项:
      • -a 只更改atime,伴随着ctime的改变
      • -m 只更改mtime,伴随着ctime的改变。
      • -c 如果文件不存在,则不创建文件
      • -t 自定义修改时间戳(mtime)
b. 【mkdir】
    1. 创建空目录(绝对路径基于基目录) 可一次创建多个空目录
    1. 格式 mkdir [option] DIR...
    2. -p:递归创建目录及其子目录 /aaa/bbb/ccc
    1. -v:verbose 可视化
    1. -m:创建目录时直接指定权限
      • 创建名为"mydirectory"的目录,并且在创建时直接指定了目录的权限为755
      • 权限755表示该目录的拥有者具有读、写、执行权限,同组用户具有读、执行权限,其他用户具有读、执行权限。
c. 【rmdir】
    1. 删除空目录(非空目录删除不了)
    1. -p:按层级删除空目录(基于相对路径进行删除)
d. 【tree】
    1. 查看目录的层级结构

1. 文本文件查看类的命令

a. 【cat】
      • (将整个文本文件统一装载到内存空间进行查看)
b. 【more】
      • (分屏查看文本文件,通常查看较大文本文件)
      • -d:尾部提示
      • 空格往下翻屏,B键往上翻屏,回车往下翻行,不能往上翻行,q键退出 (翻屏到最后会直接退出)
c. 【less】
      • 分屏查看文本文件,和more类似 上下箭头进行翻行。
      • /搜索 或者? ----->参照man命令的方法
d. 【head】
      • 查看文本文件头部信息,默认10行
      • 选项:
        1. -c:指定头部字节数、
        2. -n:指定行数
        3. -#:直接指令数字,效果同上
e. 【tail】
      • 查看文本文件尾部信息,默认10行
      • 选项:
        1. 上述选项通用
        2. -f:动态获取文本文件尾部信息 ctrl+c退出

补充

一、touch命令修改文件时间戳的作用在于管理文件的时间属性,主要包括访问时间(atime)、修改时间(mtime)和状态改变时间(ctime)。具体作用如下:

  1. 文件管理:通过修改文件的时间戳,可以更精确地管理文件的状态和属性,方便跟踪文件的变化和历史。
  2. 调试和测试:在软件开发过程中,有时需要模拟文件的创建或修改时间,以测试特定时间条件下的程序行为。
  3. 备份和同步:在备份和同步文件时,可以根据文件的时间戳来判断文件是否已更改,从而决定是否需要进行备份或同步操作。
  4. 版本控制:在版本控制系统中,可以使用touch命令来修改文件的时间戳,以模拟文件的变化,方便版本控制工具跟踪文件的历史变更。
  5. 文件排序:通过修改文件的时间戳,可以将文件按照不同的时间顺序排序,方便进行文件的整理和查找。
  6. 恢复误操作:在某些情况下,误删除文件后可以使用touch命令来恢复文件的时间戳,以使其看起来像是从未被删除过一样。

8、时间管理类命令

  1. 【date】显示或设置系统的日期和时间。
    1. -R:显示时区
    1. -s:设置流式时间
    1. -u:显示UTC时间
    1. 设定时间 date [MMDDhhmm[[CC]YY][.ss]]
      • date 042012002024.00 表示将日期设置为2024年4月20日12时00分00秒。
  1. 【hwclock】显示或设置硬件时钟。
    1. 【hwclock -w】
      • 将系统时间写入硬件时钟,实现系统时间和硬件时间的同步。
      • (系统时间一般软件联网连接专业时间服务器,硬件时间是主板芯片上的时间)
  1. 日历 【cal】显示日历。
    1. 时区
      1. 列出所有时区:【timedatectl list-timezones】
      2. 显示默认时区:【timedatectl status】
      3. 设置默认时区:【timedatectl set-timezone Asia/Shanghai】
  1. 用于管理时间和日期,包括显示当前时间、设置系统时间、同步系统时间和硬件时间,以及查看日历和设置时区等功能。通过这些命令,可以方便地管理系统的时间和日期,确保系统的时间信息准确和一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1636882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

逻辑漏洞:初识水平越权与垂直越权

目录 1、什么是越权漏洞呢? 2、水平越权 3、垂直越权 4、burpsuite autorize插件 最近在学习逻辑漏洞的相关知识和技能,这里pikachu靶场作为演示进行学习一下: pikachu靶场:GitHub - zhuifengshaonianhanlu/pikachu: 一个好玩…

【Web】2024XYCTF题解(全)

目录 ezhttp ezmd5 warm up ezMake ez?Make εZ?мKε? 我是一个复读机 牢牢记住,逝者为大 ezRCE ezPOP ezSerialize ezClass pharme 连连看到底是连连什么看 ezLFI login give me flag baby_unserialize ezhttp 访问./robots.txt 继…

运行DeepSORT_YOLOv5_Pytorch时出现的问题

文章目录 前言问题1:Loaderyaml.FullLoader问题2:utils. -> yolov5.utils.问题3:np.float -> float问题4:np.int -> int问题5:ImportError: cannot import name time_synchronized from yolov5.utils.torch_u…

ip ssl证书无限端口网站

IP SSL证书是由CA认证机构颁发的一种特殊数字证书。大部分SSL数字证书都需要用户使用域名进行申请,想要对公网IP地址加密实现https访问就需要申请IP SSL证书。IP SSL证书采用了强大的加密算法,可以有效地防止数据在传输过程中被窃取或篡改,具…

洞察Agent AI智能体的未来:机遇与挑战并存

🔒文章目录: 🛴什么是Agent AI智能体 💥Agent AI智能体的技术组成 ☂️Agent AI智能体的应用场景 💣Agent AI智能体的挑战与问题 🚲 Agent AI智能体在未来社会中的角色和影响 ❤️对Agent AI智能体未来的期…

解决iview(view ui)中tabs组件中使用图片预览组件ImagePreview,图片不显示问题

同学们可以私信我加入学习群! 正文开始 前言一、问题描述二、原因分析三、解决方案总结 前言 最近在写个人项目的web端和浏览器插件,其中一个功能是base64和图片的转换。因为分成四个小功能,所以使用的iview的tabs来展示不同功能&#xff0c…

讯饶科技 X2Modbus 敏感信息泄露

讯饶科技 X2Modbus 敏感信息泄露 文章目录 讯饶科技 X2Modbus 敏感信息泄露漏洞描述影响版本实现原理漏洞复现修复建议 漏洞描述 X2Modbus是一款功能很强大的协议转换网关, 这里的X代表各家不同 的通信协议,2是To的谐音表示转换,Modbus就是最…

STM32进入睡眠模式的方法

#STM32进入睡眠模式的方法 今天学习了如何控制STM32进入睡眠模式,进入睡眠模式的好处就是省电,今天学习的只是浅度睡眠,通过中断就能唤醒。比如单片机在那一放,也许好几天好几个月都不用一次,整天的在那空跑while循环…

德国著名自动化公司Festo设计了一款仿生蜜蜂,仅重34g,支持多只蜜蜂编队飞行!...

德国著名的气动元件研发及自动化解决方案供应商Festo公司近日展示了一款仿生蜜蜂(BionicBee),重量只有34g,却完全可以实现自主飞行,还支持多只相同的蜜蜂机器人编队飞行。 BionicBee 重约 34 克,长 22 厘米…

自学Java要到什么程度才足够能力去实习和就业?

引言 Java,作为当今软件开发领域的主流编程语言之一,对于初学者而言,明确掌握到什么程度才能开始寻找实习和入职机会是至关重要的。这涉及到对Java知识体系的理解深度、技能掌握程度以及实际项目经验的积累。 本文将分别从实习和入职两个不…

数据结构——插入排序

基本思想: 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 实际中我们玩扑克牌时&…

Scala 多版本下载指南

Scala,这一功能丰富的编程语言,结合了面向对象和函数式编程的精华,为开发者提供了强大的工具来构建高效、可扩展的应用程序。随着Scala社区的不断壮大和技术的演进,多个版本的Scala被广泛应用于不同的项目与场景中。本文旨在为您提…

Python 中的花卉矩阵组合

使用场景描述 (rib) 协议编写脚本的基础知识。通过创建在 3D 空间中转换的基本几何图形,解决了 xyz 坐标系的基础知识。初步渲染是使用基本着色完成的,因此可以更容易地看到几何体。RenderMan 图1 图 1 是我作为作业参考的示例图片,并尝试匹配 中的图片。为了完成这项任务…

【快速推理】OpenCV三行代码部署YOLOv8全系模型

学习《OpenCV应用开发:入门、进阶与工程化实践》一书,学会本文所有技能就这么简单! 做真正的OpenCV开发者,从入门到入职,一步到位! YOLOv8全系模型推理支持 大家好,OpenCV实验大师最新C SDK已…

【C语言】——数据在内存中的存储

【C语言】——数据在内存中的存储 一、整数在内存中的存储1.1、整数的存储方式1.2、大小端字节序(1)大小端字节序的定义(2)判断大小端 1.3、整型练习 二、浮点数在内存中的存储2.1、引言2.2、浮点数的存储规则2.3、浮点数的存储过…

3. BGP 实验(一):基础实验

3.1 BGP 基础实验 3.1.1 实验介绍 3.1.1.1 学习目标 1. 实现 IBGP 的配置 2. 实现 EBGP 的配置 3. 观察 BGP 的邻居表 4. 实现 BGP 更新源的配置 5. 实现 EBGP 多跳的配置 6. 观察 IBGP 和 EBGP 中路由的下一跳的变化 3.1.1.2 实验组网介绍 设备连接方式、IP 地址规划、BGP…

用于复杂任务的 AI 编码引擎:多文件多步骤拆解实现 | 开源日报 No.239

plandex-ai/plandex Stars: 3.1k License: AGPL-3.0 plandex 是一个用于复杂任务的 AI 编码引擎。 使用长时间运行的代理完成跨多个文件且需要多个步骤的任务将大型任务分解为较小子任务,逐一实现,直至完成整个工作帮助处理积压工作、使用陌生技术、摆…

内网端口转发与代理

思路:渗透的前提是双方能够建立通信。目前无法和win7建立通信,但是拿到了windows2003的权限,所以可以在Windows2003主机上面建立节点,作为跳板机去访问到内网。 目前状态:控制win2003(IP:192.1…

工作任务管理平台B端实战项目作品集+WebApp项目源文件 figma格式

首先,作品集是什么?通常应该包含什么内容?为什么大家都在做自己的作品集呢? 作品集是个人或公司展示其过往工作成果的集合,通常包括各种专案、作品或成就的范例,用以展示创建者的技能、经验和专业水平。 …

STM32利用硬件I2C读取MPU6050陀螺仪数据

有了前面的基本配置,这节读取MPU6050的数据还算是简单,主要就是初始化时给MPU6050一些配置,取消睡眠模式,MPU6050开机是默认睡眠模式的,读写无效,所以上来就要先更改配置: MPU6050寄存器初始化…