2025年Linux文件权限一共10位长度分成4段第3段表示的内容是(linux文件权限一共10位长度,第三段表示)

Linux文件权限一共10位长度分成4段第3段表示的内容是(linux文件权限一共10位长度,第三段表示)bin bin 是 Binary 的缩写 这个目录存放着最经常使用的命令 boot 这里存放的是启动 Linux 时使用的一些核心文件 包括一些连接文件以及镜像文件 dev dev 是 Device 设备 的缩写 该目录下存放的是 Linux 的外部设备 在 Linux 中访问设备的方式和访问文件的方式是相同的 etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录 home



/bin:

bin是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot:

这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :

dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc:

这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:

用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:

这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:

linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的

内容了。

/opt:

这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:

这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,

比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/root:

该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:

s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/selinux:

这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:

该目录存放一些服务启动之后需要提取的数据。

/sys:

这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的

devpts文件系统。该文件系统是内核设备树的一个直观反映。

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:

这个目录是用来存放一些临时文件的。

/usr:

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr/bin:

系统用户使用的应用程序。

/usr/sbin:

超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:

内核源代码默认的放置目录

Linux 命令在线查询:https://www.linuxcool.com/

1.scp
  1. 基本概念
    • SCP(Secure Copy)是一个基于 SSH(Secure Shell)协议的安全文件传输命令,用于在本地主机和远程主机之间复制文件或目录。它在传输过程中会对数据进行加密,确保数据的安全性,常用于在不同的 Linux 或 Unix 系统之间传输文件。
  2. 语法格式
    • 基本语法为:
    • 例如:,这个命令将本地的目录(包含其中的所有文件和子目录)递归地复制到远程主机上用户的目录下。
  3. 选项说明
    • -P(大写):指定远程主机的 SSH 端口号。默认情况下,SSH 使用端口 22,但如果远程主机的 SSH 服务运行在其他端口上,就需要使用这个选项。例如:,这里指定远程主机的 SSH 端口为 2222。
    • -p:保留文件的原始属性,如文件的修改时间、访问时间和权限模式等。例如:,这样传输后的文件在远程主机上会保留和本地文件相同的时间戳和权限。
    • -r:递归地复制目录及其内容。如果要传输的是一个目录而不是单个文件,就需要使用这个选项。例如:,会将目录下的所有内容(包括子目录和文件)复制到远程主机的目录下。
    • -v:详细模式,会输出详细的传输过程信息,包括连接建立、文件传输进度等。例如:,可以用于调试传输过程中出现的问题。
 

远程到本地传输

  • 源文件或目录是远程主机上的路径,目标文件或目录是本地文件系统中的路径。格式为。例如,要将远程主机上用户的传输到本地的,可以使用
 
2.mkdir
  1. 语法格式

    • 基本语法为:
    • 例如:,这个命令将在当前工作目录下创建一个名为的新目录。
  2. 选项说明

    • -p:这个选项用于创建多层目录结构。如果要创建的目录路径中的父目录不存在,使用选项可以自动创建所有必要的父目录。例如,命令将创建目录、目录和目录(假设这些目录在当前工作目录下都不存在)。如果不使用选项,当父目录不存在时,尝试创建子目录会导致错误。
    • -m:用于设置新创建目录的权限模式。权限模式通常用数字(如)或符号(如)来表示。例如,将创建一个名为的目录,并且设置其权限为所有者具有读、写和执行权限,而组用户和其他用户没有任何权限(用数字表示为)。
    • -v:详细模式。当使用选项时,命令会在创建目录时输出详细的信息,显示每个创建的目录名称。例如,会在创建目录时显示类似 “mkdir: created directory ‘my - directories’” 的信息。

    3.示例

 
3.cp
  1. 语法格式
    • 基本语法为:
    • 例如:,这个命令将文件复制为(假设不存在,若存在则会被覆盖)。如果要复制目录,可能需要使用选项,如(将目录及其内容复制到目录下)。
  2. 选项说明
    • -a:此选项通常用于归档复制,它等效于。这意味着它会尽可能保留文件的所有属性进行复制,包括文件的权限、所有者、组、时间戳等,并且在复制目录时会进行递归复制。例如:会完整地复制目录及其所有内容到,并且复制后的文件和目录的属性与源文件和目录尽可能相同。
    • -p:保留文件的原有属性,如权限、所有者、组和时间戳等。例如:,复制后的将具有和相同的权限、所有者、组和时间戳。
    • -r 或 -R(递归):用于复制目录及其所有内容。如果要复制的是一个目录,必须使用这个选项(在某些系统中,用于递归复制目录,也有相同的功能,但使用习惯可能因系统而异)。例如:,将目录下的所有文件和子目录递归地复制到目录下。如果不存在,将创建一个新的目录来存放复制的内容;如果已经存在,的内容将被复制到中。
    • -i(交互式):在覆盖目标文件之前会提示用户进行确认。例如:,如果已经存在,系统会询问用户是否要覆盖它,用户可以输入(是)或(否)来决定是否继续复制。
    • -v(详细模式):会输出详细的复制过程信息,显示每个被复制的文件或目录的名称。例如:,会显示类似于 “ -> ” 的信息,表明正在被复制为。
 
4.ln
  1. 语法格式

    • 基本语法为:
    • 例如:,这可能是在创建一个指向的链接。
  2. 类型及区别

    • 硬链接(Hard Link)
      • 硬链接是通过命令默认创建的链接类型(不使用选项时)。它直接指向文件系统中的物理文件,就好像是给文件起了一个额外的名字。硬链接和原始文件在文件系统中的 inode(索引节点)是相同的,这意味着它们实际上是同一个文件的不同名称。例如,如果你创建了一个文件,然后为它创建一个硬链接,这两个文件名指向的是同一个文件内容和磁盘存储位置。对其中一个文件进行修改(如写入新内容、修改权限等),等同于对另一个文件进行相同的操作。只有当文件的所有硬链接(包括原始文件名)都被删除时,文件的数据才会真正从磁盘上被删除。
    • 软链接(Symbolic Link 或 Symlink)
      • 软链接是通过命令创建的。它类似于 Windows 系统中的快捷方式,是一个特殊的文件,其中包含了指向另一个文件或目录的路径信息。软链接文件本身有自己独立的 inode,它的数据部分存储的是指向目标文件或目录的路径。例如,如果你创建一个指向的软链接,当你访问软链接时,系统会根据软链接中存储的路径去查找真正的。如果目标文件被移动或者删除,软链接就会失效(变成 “断链” 状态)。软链接可以跨越文件系统,而硬链接通常只能在同一个文件系统内创建。
  3. 示例
    在这里插入图片描述

5.vim

​ 应用:

​ 1.高亮显示

在这里插入图片描述

​ 2.文件恢复

​ 1.写文件写一半断电时,重新vim ~/lucky/hello.java进入文件,输出如下:

在这里插入图片描述

这个.hello.java.swp文件
在这里插入图片描述

就是用来帮助文件恢复的。

2.到这个页面然后按提示输入R即可恢复。然后把这个.swp文件删掉.

6.mv
  1. 语法格式
    • 基本语法为:
    • 例如:,这个命令将重命名为(假设不存在,若存在则会被覆盖);可能是将目录移动到目录下或者将重命名为,具体取决于和是否存在以及它们的性质。
  2. 选项说明
    • -i(交互式):在覆盖目标文件或目录之前会提示用户进行确认。例如,,如果已经存在,系统会询问用户是否要覆盖它,用户可以输入(是)或(否)来决定是否继续移动操作。
    • -f(强制):强制移动文件或目录,即使目标文件或目录已经存在,也不会提示用户,直接覆盖目标。使用这个选项要小心,因为它可能会导致数据丢失。例如:会直接将覆盖。
    • -v(详细模式):会输出详细的移动过程信息,显示每个被移动的文件或目录的名称。例如:会显示类似于 “ -> ” 的信息,表明正在被移动并重命名为。
    • -n(不覆盖已有文件):如果目标文件已经存在,不进行覆盖操作,直接跳过。例如:,若存在,不会被移动,以避免覆盖已有文件。
7.rsync

(一)rsync与scp, cp的比较

rsync 在文件同步和备份方面比 cp 和 scp 更强大和灵活。它有以下一些优点:

  • 增量传输:rsync 采用增量传输,只传输发生变化的部分,这可以大大减少传输的数据量,节省带宽和时间。
  • 快速更新:rsync 可以快速更新目标目录,只复制和更新修改了的文件,而不必复制整个文件夹。
  • 复制权限和属性:rsync 默认会保持文件的权限、时间戳、所有者等属性,保持原文件的完整性。
  • 支持远程传输:可以轻松在本地和远程系统之间同步文件,支持 ssh 协议,可以通过网络进行安全的同步。
  • 排除和包含:可以排除或包含特定文件或文件夹,灵活控制同步的内容。
  • 支持同步删除:可以选择是否将目标目录中多余的文件删除,保持目录的同步状态。
  • 支持同步符号链接和硬链接:可以正确地处理符号链接和硬链接,保持链接的完整性。
  • 续传功能:如果传输中断,rsync 具有续传功能,可以在中断处继续传输,而无需重新开始。

总体来说,rsync 是一个强大的工具,特别适合在本地和远程系统之间同步大量文件,进行备份和保持目录同步。


(二)rsync用于本机上的复制操作

当你想使用 rsync 在本机上进行复制操作时,你可以使用 rsync 命令来同步文件或目录到另一个位置,可以是本地的不同目录,也可以是远程服务器上的目录。

  1. 本地目录复制

要将一个本地目录复制到另一个目录,可以使用以下命令:

 

-a:表示归档模式,会保持文件的所有属性,递归复制子目录和文件。

-v:表示详细模式,显示复制过程中的详细信息。

例如,要将 /home/user/documents 目录复制到 /backup/documents 目录,可以运行:

 
  1. 本地文件复制

如果要复制单个文件,只需指定文件的路径即可,如:

 

例如,要将 /home/user/file.txt 复制到 /backup/ 目录,可以运行:

 

这个命令会将目录dir1递归地复制到dir2。

 
  1. 本地目录同步(保持同步)

如果你想保持两个目录同步,可以使用 rsync 命令的 --delete 选项,这将确保目标目录中不包含源目录没有的文件。

 

例如,要将 /home/user/documents 同步到 /backup/documents 并删除目标目录多余的文件,可以运行:

 

这些是一些基本的用法,可以根据具体需求调整参数和路径。使用 rsync 可以非常灵活地进行文件和目录的复制、同步和备份操作。

  1. 处理soft-link的复制问题

用-L选项,将soft-link直接复制为实体目录和文件,以解决复制后soft-link失效的问题。

 

​ 不加-L时虽然软连接被复制过去了,但是他们指向的不是同一个sb.txt,在目标目录的文件修改了之后不会影响原目录的文件,原目录的文件和软连接都不变

在这里插入图片描述

这是加了-L的结果,复制过去就没有软连接了。

在这里插入图片描述

(三)rsync的push与pull

在 rsync 中,“push” 和 “pull” 是两种常用的同步数据的方式,用于在不同系统之间复制文件和目录。这些术语描述了数据的流向和同步的方向。

Push

“Push” 意味着数据从本地系统传输到远程系统。你将本地文件或目录推送(上传)到远程目标位置。在 rsync 中,你使用源路径指定本地数据的位置,然后将数据同步到远程目标位置。

 

这样将会把本地 /local/path/ 中的数据推送到远程主机的 /remote/path/ 中。

Pull

“Pull” 意味着数据从远程系统传输到本地系统。你将远程文件或目录拉取(下载)到本地目标位置。在 rsync 中,你使用目标路径指定本地数据的位置,然后从远程主机拉取数据。

 

这样将会把远程主机的 /remote/path/ 中的数据拉取到本地系统的 /local/path/ 中。

结合使用 Push 和 Pull

有时你可能会同时使用 “push” 和 “pull” 操作。例如,你可能需要保持两个系统间的数据同步。在这种情况下,你可以先使用 “push” 将本地数据推送到远程系统,然后在需要时再使用 “pull” 将远程数据拉取到本地系统。

 

通过结合使用这两种操作,你可以确保数据在本地系统和远程系统之间保持同步。

(四)rsync的排除选项–exclude

rsync 允许你排除某些文件或文件夹,不进行复制(例如一些很大的文件或文件夹)。你可以使用 --exclude 选项来指定排除的文件或文件夹模式。

下面是一些示例:

排除特定文件

如果要排除特定文件,你可以使用 --exclude 选项并指定文件名或通配符模式。

 

这将排除名为 file.txt 的文件。

排除特定类型的文件

如果要排除特定类型的文件,可以使用通配符 *。

 

这将排除所有以 .jpg 结尾的文件。

排除特定目录

如果要排除特定目录,可以使用 --exclude 选项指定目录名。

 

这将排除名为 dir_to_exclude 的目录及其内容。

使用排除文件列表

你也可以将排除规则放在一个文件中,然后使用 --exclude-from 选项来指定该文件。

首先,创建一个文本文件,列出要排除的模式,例如 exclude.txt:

 

然后使用 rsync 并指定 --exclude-from 选项:

 

这样,rsync 将根据 exclude.txt 中的规则排除对应的文件或目录。

通过排除文件或目录,你可以根据需要灵活控制 rsync 的复制行为。

8.tar

在这里插入图片描述

示例:

 
zip/unzip

1.语法

zip -r 文件或目录地址…

unzip -d 解压的目标地址

2.示例

 
9.ssh
10.less
  1. 基本功能概述

    • 是一个文本文件查看器,用于查看文件内容。它的功能类似于命令,但比更强大,提供了更多的交互功能。它允许用户以页为单位来浏览文件内容,而不是一次性全部显示,这对于查看大型文件非常有用。
  2. 命令基本语法

    • 基本语法为,例如,其中是要查看的文件名。
  3. 常用操作命令

    • 移动光标
      • 上下箭头键:按向上箭头键可以向上移动一行,按向下箭头键可以向下移动一行。这是逐行浏览文件内容的基本方式。
      • **空格:**翻页
      • G 和 1G(或 g):按键可以跳转到文件的末尾,按或键可以跳转到文件的开头。
    • 搜索功能
      • 向前搜索:在命令中输入,然后跟上要搜索的字符串,按回车键就可以从当前位置向前搜索该字符串。例如,要搜索 “error” 这个单词,就输入然后回车。当找到第一个匹配项后,可以按键来查找下一个匹配项。
      • 向后搜索:输入,然后跟上要搜索的字符串,按回车键可以从当前位置向后搜索该字符串。比如输入可以向后搜索 “warning” 这个单词。找到第一个匹配项后,按键可以查找前一个匹配项
    1. 退出 less 命令
      • 要退出命令,可以按键。这会关闭文件查看界面并返回到命令行提示符。
    2. 其他有用的选项
      • -N 选项:在启动时使用选项,如,会在每一行前面显示行号,这和在命令内部使用的效果类似,但这个选项是在打开文件时就生效的。
      • -S 选项:对于包含很长行的文件,选项很有用。它会将长行进行截断显示,而不是自动换行。这样可以防止文件内容因为换行而变得混乱,只在屏幕边缘显示行的一部分,并且可以通过左右箭头键来查看截断行的其他部分。例如
11.lrzsz

rz:文件从windows上传至linux

sz:文件从linux下载至windows

12.find

1.按文件大小查

在这里插入图片描述

2.按文件名字查,支持通配符

在这里插入图片描述

13.tail(head)
  1. 语法

tail [选项] 文件地址

  1. 展示文件的前(后)面几行

  2. 选项:

-n : 6 展示6行

-f : 跟踪文件变化(末尾生效),但是文件被截断重写时(例如,日志文件被清空重新记录),后面就不会跟踪了。

-F:跟踪文件变化,文件被截断时也会继续跟踪。

  1. 示例
 
 
配置ssh免密登录

在使用Linux时,通常会在一台Linux上通过网络SSH到另外一台机器上,想要登录到另外一台Linux机器上进行操作操作就要正确的输入其用户名和密码,才能登录!例如我有两台CentOS,一台主机名是node-1,其IP地址为192.168.100.101,另外一台是node-2,其IP地址是192.168.100.102,现在想要在node-1上通过SSH登录到node-2上,要在node-1上输入下面的命令

 

在这里插入图片描述

① ssh为固定的命令,意为使用root用户通过SSH协议连接到192.168.100.102 ② 第一次建立SSH连接,要输入yes,回车后继续 ③ 输入node-2,即192.168.100.102这台Linux的root密码,输入完成回车继续,如果密码输入错误,需要重新输入④ 密码输入正确,就登录到了node-2上

如果想要退回到node-1这台Linux上,就在命令行上输入exit,就退出node-2,返回到node-1上了

在这里插入图片描述

还有一种常见场景就是通过SSH协议,将一台Linux上的文件拷贝到另外一台Linux上,例如:将node-1上的一个文件通过网络拷贝到node-2上,需要使用scp命令,即通过SSH网络协议的远程拷贝。

 

上面的命令是将node-1上/etc目录下的hosts文件拷贝到IP地址为192.168.100.102即的node-2的/etc目录下,如果node-2的/etc目录下有相同名称的文件,那么就覆盖原来的文件

在这里插入图片描述

① 输入scp命令进行远程拷贝 ② 输入192.168.100.102这台Linux root的密码,密码正确就进行拷贝

但是如果以后频繁的进行SSH登录,远程拷贝,在一台Linux上给另外一台Linux发送SSH指令,每一次都要输入对应Linux的命令就非常的麻烦,为了更加安全和方便,所以可以建立一种信任机制,就是让特定的机器、特定的用户可以不用输入密码就可以登录、远程拷贝、执行SSH命令了。这种信任机制可以通过配置SSH免密码登录实现

配置SSH免密码登录过程
  1. 在想要免密码登录到其他Linux的机器上生成一对秘钥,一个公钥,一个私约,例如:node-1想要免登陆到node-2上,那么就先要在node-1上生成一对秘钥
 

在这里插入图片描述

① 输入生成密码的命令,ssh-keygen命令是生成秘钥,-t是加密类型,rsa是一种加密方式 ② 回车继续 ③ 回车继续 ④ 回车完成

在这里插入图片描述

  1. 将公钥拷贝到想要远程登录的Linux上,机拷贝到node-2上

在这里插入图片描述

 

① ssh-copy-id命令的功能就是将当前机器的公钥拷贝到后面制定的192.168.100.102的机器上 ② 输入192.168.100.102这台机器root的密码,密码正确就执行拷贝

  1. 登录到192.168.100.102即node-2上查看公钥的内容是否被拷贝过来
 
 

① 在使用ssh命令登录到192.168.100.102这台Linux上,发现不用再输入密码了,非常方便,说明信任机制已经建立 ② 查看node-2这台Linux家目录的.ssh目录 ③ 发现多了一个authorized_keys文件

③ 查看这个文件的内容,发现有一条数据与node-1上的公钥一样

2.配置centOS阿里镜像

在这里插入图片描述

出现上面错误时需要配置:

​ 镜像地址:http://mirrors.aliyun.com/repo/Centos-7.repo

在这里插入图片描述

1.先加入/etc/yum.repos.d/目录

在这里插入图片描述

2.把下载的镜像文件替换掉上面的CentOS-Base.repo

​ 1.把原文件重命名(加.bak后缀)备份

在这里插入图片描述

​ 2.把下载的镜像文件拷贝到这个目录,改名为centOS-Base.repo

​ 3.问题解决

在这里插入图片描述

1. 时间命令

查看时区

ll /etc/localtime

/etc/localtime -> …/usr/share/zoneinfo/America/Los_Angeles

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

date

查看当前系统时间

cal 查看日历

cal 2020

修改时间

date -s 11:11:11

date -s 2019-11-11

date -s ‘2019-11-11 11:11:11’

2. 日期自动同步

首先安装时间同步的服务

yum -y install ntp

自动同步网络时间中心

ntpdate cn.ntp.org.cn

1.useradd

​ 用法:useradd [-选项] 用户名

​ 创建的用户保存在/etc/passwd文件中,选项:-d:指定用户的home目录

​ -e:用户终止日期日期的格式为 YYYY-MM-DD,-f:用户过期几日后永久停权,-g:指定用户的用户组

​ -G:指定附属组

​ 示例

 
2.usermod
 
3.userdel
 

​ 注意:使用 su 命令时,有 - 和没有 - 是完全不同的,- 选项表示在切换用户身份的同时,连当前使用的环境变量也切

换成指定用户的。我们知道,环境变量是用来定义操作系统环境的,因此如果系统环境没有随用户身份切换,很多命

令无法正确执行。

​ 举个例子,普通用户 zhangsan 通过 su 命令切换成 root 用户,但没有使用 - 选项,这样情况下,虽然看似是 root 用

户,但系统中的 $PATH 环境变量依然是 zhangsan 的(而不是 root 的),因此当前工作环境中,并不包含

/sbin、/usr/sbin 等超级用户命令的保存路径,这就导致很多管理员命令根本无法使用。不仅如此,当 root 用户接受

邮件时,会发现收到的是 zhangsan 用户的邮件,因为环境变量 $MAIL 也没有切换。

4.组
 
5.权限

chown命令:修改文件所属用户,所属用户组.

chown 用户:组 文件名 。

 

chmod命令:修改文件或递归修改目录的权限

1.ugo模型

u:所属用户 g:所属用户组 o:其他用户

+:加上权限 -:去掉权限

 
  1. 777模型

rwx:有这个权限则该位置为1,二进制转十进制得到。

 
6.权限赋予

在某些情况下我们可以赋予普通用户一些超级用户的命令,例如创建用户的命令我们可以交给一个特定的用户去操

作。但是默认情况下是不允许的,因为这个命令属于 sbin 命令即超级用户才可以使用的命令。

​  怎么解决这个问题呢?可以通过修改 /etc/sudoers 配置文件的方式来赋予普通用户这个权限。注意:修改这个文

件需要使用命令 visudo 打开。添加如下图红色框中内容:

在这里插入图片描述

 
 
1.|管道符
  1. 基本概念

    • 管道符 “|” 是一个在命令行环境(如 Linux、Unix 和 Windows 的命令提示符等)中使用的元字符,它的主要作用是将一个命令的输出作为另一个命令的输入,从而实现多个命令的组合和数据的传递。这种机制可以让用户通过简单的命令组合来完成复杂的任务。
  2. 工作原理

    • 当在命令行中使用管道符时,左边命令的标准输出(stdout)会被连接到右边命令的标准输入(stdin)。例如,命令 A | 命令 B 表示命令 A 的输出结果会成为命令 B 的输入内容。系统会自动处理这种数据的传递,使得命令 B 可以对命令 A 输出的数据进行处理.
  3. 示例说明

    • 文本处理

      • 在 Linux 系统中,

         

        命令用于查看文件内容。假设我们有一个文本文件

         

        ,内容是多行的单词列表。如果我们想统计这个文件中的单词数量,可以使用

         

        • 首先,会将文件的内容输出到终端(即标准输出)。
        • 然后,管道符 “|” 将命令的输出传递给命令。命令用于统计文本信息,选项表示统计单词数量。所以会对命令输出的文本内容进行单词数量的统计。
    • 数据过滤和筛选

      •  

        命令用于在文本中查找匹配特定模式的行。例如,我们有一个包含系统日志信息的文件

         

        ,想要找出其中包含 “error” 关键字的行,可以使用

         

        • 输出日志文件的内容,管道符将这些内容传递给命令。
        • 会在接收到的文本内容中筛选出包含 “error” 关键字的行,并将这些行输出到终端。
    • 数据排序和去重

      • 假设我们有一个文件

         

        ,里面包含了很多整数,每行一个数字。如果我们想对这些数字进行排序并去除重复的数字,可以使用

         

        • 输出文件内容,然后通过管道传递给。命令会对输入的数字进行升序排序。
        • 排序后的结果再通过管道传递给命令,命令会去除相邻的重复行,从而得到排序且去重后的数字列表。
2.重定向

1.输出重定向

​ 如果想收集这些内容或者不希望它输出干扰到终端,可以使用重定向将其进行处理:

 

2.输入重定向

输入重定向是指不使用系统提供的标准输入端口,而进行重新的指定。一般是将输入的内容重定向到文件中。

示例

 
 

8.1. 进程信息

 
 
1. 什么是环境变量?

​ 环境变量(environment variables):一般是指在操作系统在开机的时候帮我们维护系统运行时的一些动态参数。如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。

但是有没有注意过,你每次配置环境变量,你是往系统变量的Path中加呢?还是用户变量。

环境变量的用户变量与系统变量的区别

我也是刚注意到这个问题哈哈,下面就是环境变量的用户变量与系统变量的区别:

 
2.为什么配环境变量?

在Linux中也是同理:
在Linux的学习中,我们make编译文件后,执行这个可执行文件时【https://blog.csdn.net/m0_63924864/article/details/可执行文件 】。那你有没有想过为什么要加个https://blog.csdn.net/m0_63924864/article/details/呢?

这个https://blog.csdn.net/m0_63924864/article/details/其实就是相对路径的意思,加上后也就相当于补全了路径去执行。
也可以将你的可执行文件路径加入到环境变量中,就只需要一个名字即可执行。

3.环境变量使用
 

设置环境变量有几种方式:

profile(/etc/profile)
1.用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效。
当用户登录(login)时,文件会被执行,并从 /etc/profile.d 目录的配置文件中查找 shell 设置。
Linux 每次修改完成之后,需要重新加载文件 source /etc/profile

​ 2.自定义环境变量脚本(/etc/profile.d)
在 /etc/profile.d 目录下新增 .sh 格式的自定义环境变量文件

​ 3.bashrc 或 bash_profile
bashrc 文件只会对指定的 shell 类型起作用
系统级的位于 /etc/bashrc ,对所有用户生效
用户级的 ~/.bashrc ,对当前用户生效。
文件存储于 ~/.bash_profile ,该文件是一个用户级的设置,可以理解为某一个用户的 profile 目录下。
这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。

  • 用户级别(以 Bash 为例)

    • 通过文件设置(对 Bash 交互式会话有效)

      • 文件是 Bash shell 的用户配置文件,用于配置 Bash 交互式会话的环境。通常位于用户的主目录下()。可以在这个文件中添加命令来设置环境变量。例如,要添加一个名为的环境变量,可以在文件中添加(同样要注意等号两边空格问题)。
      • 每次打开一个新的 Bash 交互式会话(如打开一个新的终端)时,Bash 会读取并执行文件中的内容,从而设置相应的环境变量。这些环境变量在该用户的所有 Bash 交互式会话中都有效。
    • 通过文件设置(登录时有效)

      • 文件也是用户级别的配置文件,主要用于在用户登录时设置环境。它通常也位于用户的主目录下()。在这个文件中设置环境变量的方式与类似,使用命令。
      • 与的区别在于,主要在用户登录系统(如通过用户名和密码登录)时执行,而主要在打开新的 Bash 交互式会话(如在已经登录的系统中打开新的终端)时执行。如果两个文件都存在,在登录时,先执行,然后在打开新的 Bash 交互式会话时执行。

shell
不赞成使用这种方法,因为换个 Shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又
要重新设置,比较麻烦

例如:
当我们执行一个命令的时候,默认从当前路径开始查找
如果当前路径找不到对应的命令文件,从环境变量$PATH查找
$PATH的配置文件在 /etc/profile
window 路径与路径之间用;(分号)连接
Linux 路径与路径之间用:(冒号)连接

例如:

  • 当正确地在文件中设置(或者正确的无空格写法)并使其生效后(通常可以通过重新登录或者使用命令来生效),环境变量会被更新。
  • 环境变量用于指定系统在哪些目录中查找可执行文件。添加到后,系统就会在目录中查找可执行文件,就像在其他标准的目录(如、等)中查找一样。
  • 所以,如果目录下有一个文件,并且这个文件有可执行权限(可以通过来赋予),那么理论上可以在任意地方直接执行。因为系统在查找可执行文件时会在更新后的所包含的目录中查找,其中就包括了。
1. 安装方式

软件的安装方式大致分为以下几种:

  1. 使用安装包安装。
    RedHat/CentOS: rpm
    Debain/Ubuntu: deb
    Windows: .exe , .msi
    macOS: dmg
  2. 绿色版软件,解压即安装,解压就可以使用。
  3. 使用 yum 命令安装,例如 yum install wget 。
  4. 使用源码编译安装,例如:Redis、Nginx 等
rpm

​ rpm 命令来自于英文语句 “RedHat Package Manager” 的缩写,中文译为红帽软件包管理器,其功能是用于在
Linux/RedHat 系列系统下对软件包进行安装、卸载、查询、验证、升级等工作。
该命令基本格式如下:
常用选项:

 

以 JDK 为例,准备好 RPM 包 jdk-8u351-linux-x64.rpm ,可以去官网自己下载然后上传至服务器,或直接使用
wget 命令下载至服务器。

 
 

注意:待安装的 rpm 包所需的系统环境需提前安装好,否则安装 rpm 包时会报错.

压缩包

在这里插入图片描述

yum

yum 命令是基于 RPM 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理 RPM 软件包,能够从指定
的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下
载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。该命令基本格式如下:

yum [选项]

 

​ 替换 yum 源
​ 由于 yum 是自动帮我们下载并安装软件,所以我们最关心的就是资源的源头在哪,如果在国外那漂洋过海的去下载
岂不是很慢。而 CentOS 默认的 yum 源基本都在国外,导致 yum 在线安装及更新速度很慢。为了解决这个问题,国内一些
大公司搭建了自己的开源镜像站并且开源免费供大家使用,比如阿里和网易的,下面我们着重介绍一下国内 yum 源如何
使用。
请先确保自己安装了 wget ,如未安装请先运行 yum -y install wget 命令进行安装。

 

​ 优秀的程序员修改东西一定要养成备份的习惯,备份以后就可以大胆的进行尝试了。首先备份系统自带 yum 源配置
文件 /etc/yum.repos.d/CentOS-Base.repo 。

然后根据对应的 CentOS 版本,运行以下命令下载阿里 yum 源或者网易 yum 源至 yum 源配置文件存放目录。

 
 

yum 会将下载的软件包文件 rpm 和软件头文件 header 存放在硬盘缓存中,如果觉得占用磁盘空间,可以将这些内容
进行清除以释放磁盘空间。由于已经切换成为国内 yum 源,所以我们将之前缓存的文件都清除一下,然后重新生成缓
存。

 

在这里插入图片描述

源码安装

在这里插入图片描述

nginx常用命令:

 
2.系统服务

​ 对于 Linux 而言,可以使用 systemd 添加系统服务,甚至还可以设置为开机自启服务。systemd 是目前 Linux 系统上主
要的系统守护进程管理工具,由于 init(/etc/rc.d/init.d/) 一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面
init 也仅仅是执行启动脚本,并不能对服务本身进行更多的管理。所以从 CentOS 7 开始也由 systemd 取代了 init 作为默认
的系统进程管理工具。
​ systemd 所管理的所有系统资源都称作 Unit,通过 systemd 命令集可以方便的对这些 Unit 进行管理。比如 systemctl、
hostnamectl、timedatectl、localctl 等命令,这些命令虽然改写了 init 时代用户的命令使用习惯(不再使用 chkconfig、
service 等命令),但确实也提供了很大的便捷性。
systemd 是内核启动后的第一个用户进程,PID 为 1,是所有其它用户进程的父进程。

在这里插入图片描述

  1. 特点
    最新系统都采用 systemd 管理(RedHat7,CentOS7,Ubuntu15,…);
    CentOS7 支持开机并行启动服务,显著提高开机启动效率;
    CentOS7 关机只关闭正在运行的服务,而 CentOS6,全部都关闭一次;
    CentOS7 服务的启动与停止不再使用脚本进行管理,也就是 /etc/rc.d/init.d 下不在有脚本;
    CentOS7 使用 systemd 解决原有模式缺陷,比如原有 service 不会关闭程序产生的子进程。
  2. 语法
 

3.服务目录说明

 

​ CentOS 7 的服务 systemctl 脚本存放在:/usr/lib/systemd/,有系统和用户之分,即:/usr/lib/systemd/system 和
/usr/lib/systemd/user。

  • 每一个 Unit 都需要有一个配置文件用于告知 systemd 对于服务的管理方式;
  • 配置文件存放于 /usr/lib/systemd/system/ ,设置开机启动后会在 /etc/systemd/system 目录建立软链接文件;
  • 每个 Unit 的配置文件配置默认后缀名为 .service;
  • 在 /usr/lib/systemd/system/ 目录中分为 system 和 user 两个目录,一般将开机不登陆就能运行的程序存在系统服务
  • 里,也就是 /usr/lib/systemd/system;
  • 配置文件使用方括号分成了多个部分,并且区分大小写。

在这里插入图片描述

3.安装mysql
 

​ CentOS 7 的服务 systemctl 脚本存放在:/usr/lib/systemd/,有系统和用户之分,即:/usr/lib/systemd/system 和
/usr/lib/systemd/user。

  • 每一个 Unit 都需要有一个配置文件用于告知 systemd 对于服务的管理方式;
  • 配置文件存放于 /usr/lib/systemd/system/ ,设置开机启动后会在 /etc/systemd/system 目录建立软链接文件;
  • 每个 Unit 的配置文件配置默认后缀名为 .service;
  • 在 /usr/lib/systemd/system/ 目录中分为 system 和 user 两个目录,一般将开机不登陆就能运行的程序存在系统服务
  • 里,也就是 /usr/lib/systemd/system;
  • 配置文件使用方括号分成了多个部分,并且区分大小写。

[外链图片转存中…(img-olxcGQeK-1730204231965)]

3.安装mysql

                    
编程小号
上一篇 2025-02-09 23:06
下一篇 2025-03-06 23:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/40567.html