文章目录
1.>
echo “hello” > file.txt //没有文件 创建新文件 覆盖式写入
2. cat
cat file.txt
打开file.txt
文件,读取其内容,并将这些内容输出到标准输出。
类似于C语言中fopen函数 打开文件后可以使用fread等函数操作
cat < file.txt
将文件file.txt
的内容作为cat
命令的标准输入(stdin)。
将原来指向键盘输入缓冲区的指针重定向到文件(没有执行打开文件的操作)
3.系统命令
这条命令 uname -a
的输出提供了您当前Linux系统的详细信息。具体来说,这条输出信息说明了以下几点:
- 系统名称:
Linux
,表明这是一个Linux系统。 - 主机名:
hcss-ecs-79af
,服务器名。 - 内核版本:
5.4.0-170-generic
,内核版本。Linux内核是操作系统的核心,管理着硬件和软件资源。这里的版本号5.4.0
是主版本号,-170
可能是针对Ubuntu系统进行的特定修订或补丁版本,而generic
表明这是一个适用于大多数硬件配置的通用内核版本。 - 内核编译日期和时间:
#188-Ubuntu SMP Wed Jan 10 09:51:01 UTC 2024
,这部分信息提供了内核编译的日期(2024年1月10日,星期三,UTC时间)和编译编号(#188),以及这是由Ubuntu团队(SMP表示对称多处理,即支持多CPU)编译的版本。 - 硬件架构:
x86_64
,这表示您的系统是基于x86-64架构的,也就是常说的64位处理器架构。x86_64
是x86
架构的64位扩展,也称为AMD64或Intel 64。 - GNU/Linux:最后,这表示您的系统遵循GNU项目(GNU’s Not Unix)的开源原则和理念,并运行在Linux内核之上。GNU项目提供了许多核心工具和库,这些工具和库与Linux内核一起构成了现代Linux系统的基础。
总之,这条命令的输出让您了解了您当前Linux系统的基本情况和配置。
bash和shell和kernel
- Kernel:操作系统的核心,负责管理硬件资源和提供核心服务。
- Shell:命令行解释器,提供了一个用户与操作系统交互的界面。
- Bash:一种广泛使用的shell,提供了丰富的命令集和编程功能,是Linux系统中默认的shell之一。
权限只被认证一次
“权限只被认证一次”可以理解为每次用户尝试对文件或目录进行访问时,系统都会独立地验证用户的权限。
粘滞位引入
这个场景涉及到了Linux系统中的文件权限和sudo命令的使用,以及它们如何影响文件和目录的操作。我会尽量用通俗易懂的方式来解释。
前提知识
-
文件权限:在Linux中,每个文件或目录都有三组权限,分别对应文件的所有者(owner)、所属组(group)和其他人(others)。每组权限包括读(r)、写(w)和执行(x)。
-
sudo命令:sudo命令允许普通用户以超级用户(通常是root)的身份执行命令。这意味着,即使一个操作通常需要管理员权限,普通用户也可以通过sudo来执行它。
场景解释
在这个场景中,有一个目录和一个文件,文件的初始权限设置为rw- r-- r--
(即所有者可以读写,所属组可以读,其他人可以读)。现在,有一个普通用户和一个root用户(或通过sudo获得root权限的普通用户)在这个目录下。