Linux基础part-3

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. 用于管理时间和日期,包括显示当前时间、设置系统时间、同步系统时间和硬件时间,以及查看日历和设置时区等功能。通过这些命令,可以方便地管理系统的时间和日期,确保系统的时间信息准确和一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值