当前位置: 首页 > news >正文

在 macOS 和 Linux 中,波浪号 `~`的区别

文章目录

  • 1、在 macOS 和 Linux 中,波浪号 `~`
      • macOS
        • 示例
      • Linux
        • 示例
      • 区别总结
      • 其他注意事项
      • 示例
        • macOS
        • Linux
      • 结论
  • 2、`root` 用户的主目录通常是 `/root`
      • 解释
      • 示例
      • 切换用户
        • 使用 `su` 命令
        • 使用 `sudo` 命令
      • 验证当前用户
      • 总结

1、在 macOS 和 Linux 中,波浪号 ~

在 macOS 和 Linux 中,波浪号 ~ 都表示当前用户的主目录(Home Directory)。尽管它们在不同的操作系统中表示相同的含义,但具体的路径和行为可能略有不同。以下是详细说明:

macOS

dgq@dgqdeMac-mini ~ % pwd
/Users/dgq

在 macOS 中,~ 通常表示当前用户的主目录,路径通常是 /Users/username,其中 username 是当前登录用户的用户名。例如,如果用户名是 john,那么 ~ 就表示 /Users/john

示例
  • cd ~:切换到当前用户的主目录,例如 /Users/john
  • cd ~/Documents:切换到当前用户的 Documents 目录,例如 /Users/john/Documents

Linux

[root@localhost home]# pwd
/home
[root@localhost home]# ls
dgq

在 Linux 中,~ 同样表示当前用户的主目录,路径通常是 /home/username,其中 username 是当前登录用户的用户名。例如,如果用户名是 john,那么 ~ 就表示 /home/john

示例
  • cd ~:切换到当前用户的主目录,例如 /home/john
  • cd ~/Documents:切换到当前用户的 Documents 目录,例如 /home/john/Documents

区别总结

  1. 路径前缀

    • macOS:主目录路径通常是 /Users/username
    • Linux:主目录路径通常是 /home/username
  2. 系统默认路径

    • macOS:默认的用户主目录位于 /Users 目录下。
    • Linux:默认的用户主目录位于 /home 目录下。
  3. 符号链接和别名

    • macOSLinux 都支持符号链接和别名,但具体路径可能因系统配置而异。

其他注意事项

  • 环境变量:在 shell 脚本中,可以使用 $HOME 环境变量来表示当前用户的主目录。例如:

    cd $HOME
    
  • 多用户系统:在多用户系统中,每个用户的主目录路径都会根据用户名有所不同。例如,用户 alice 的主目录可能是 /Users/alice(macOS)或 /home/alice(Linux)。

示例

假设你有一个用户 john,下面是两个操作系统中的一些命令示例:

macOS
# 切换到 john 的主目录
cd ~# 查看 john 的主目录内容
ls ~# 创建一个新文件在 john 的 Documents 目录下
touch ~/Documents/newfile.txt
Linux
# 切换到 john 的主目录
cd ~# 查看 john 的主目录内容
ls ~# 创建一个新文件在 john 的 Documents 目录下
touch ~/Documents/newfile.txt

结论

尽管 macOS 和 Linux 在文件系统路径前缀上有所不同,但 ~ 这个符号在两个操作系统中都表示当前用户的主目录。这使得跨平台的脚本编写更加方便,因为 ~ 的含义在大多数类 Unix 系统中是一致的。

2、root 用户的主目录通常是 /root

[root@localhost ~]# pwd
/root

你提到的 [root@localhost ~]# pwd 显示的结果是 /root,这是因为你当前是以 root 用户身份登录的。在 Linux 系统中,root 用户的主目录通常是 /root

解释

  1. root 用户

    • root 是系统的超级用户,拥有最高的权限。
    • root 用户的主目录默认是 /root
  2. 普通用户

    • 普通用户的主目录通常位于 /home 目录下。
    • 例如,如果用户名是 john,那么 john 的主目录通常是 /home/john

示例

假设你有两个用户:rootjohn

  • root 用户

    [root@localhost ~]# pwd
    /root
    
  • john 用户

    [john@localhost ~]# pwd
    /home/john
    

切换用户

如果你想要切换到另一个用户,可以使用 susudo 命令。

使用 su 命令
[root@localhost ~]# su - john
[john@localhost ~]# pwd
/home/john
使用 sudo 命令
[root@localhost ~]# sudo -u john bash
[john@localhost ~]# pwd
/home/john

验证当前用户

你可以使用 whoami 命令来查看当前登录的用户:

[root@localhost ~]# whoami
root

总结

  • root 用户的主目录/root
  • 普通用户的主目录:通常在 /home/username

所以,当你看到 [root@localhost ~]# pwd 输出 /root 时,这表明你当前是以 root 用户身份登录的。如果你想切换到其他用户,可以使用 susudo 命令。
在这里插入图片描述

相关文章:

在 macOS 和 Linux 中,波浪号 `~`的区别

文章目录 1、在 macOS 和 Linux 中,波浪号 ~macOS示例 Linux示例 区别总结其他注意事项示例macOSLinux 结论 2、root 用户的主目录通常是 /root解释示例切换用户使用 su 命令使用 sudo 命令 验证当前用户总结 1、在 macOS 和 Linux 中,波浪号 ~ 在 macO…...

【Java】实战:多数元素

一、题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出&#x…...

一文解决Latex中的eps报错eps-converted-to.pdf not found: using draft setting.

在使用Vscode配的PDFLatex编译IEEE TII的Latex模板时,出现eps文件不能转换为pdf错误,看了几十篇方法都没用,自己研究了半天终于可以正常运行了。主要原因还是Settings.JSON中的PDFLatex模块缺少:"--shell-escape", 命令…...

计算光纤色散带来的相位移动 matlab

需要注意的地方 1.以下内容纯属个人理解,很有可能不准确,请大家仅做参考 2.光速不要直接用3e8 m/s,需要用精确的2.9979.... 3.光的频率无论在真空还是光纤(介质)都是不变的,是固有属性,但是波长lambdac/f在不同的介…...

国内docker pull拉取镜像的解决方法

访问网站,查找该网站上可用的镜像源,然后替换掉下面代码中的hub-mirror.c.163.com: docker pull hub-mirror.c.163.com/library/nginx:latest 另外,进入到镜像之后,可以使用下面的命令查看操作系统版本。 lsb_releas…...

“Kafka面试攻略:核心问题与高效回答”

1,生产者发送消息的原理 发送消息的过程中,涉及到两个线程,main线程和sender线程,main线程会创建一个双端队列,main线程向双端队列发送消息,sender线程从双端队列里拉取消息,发送给Kafka Broke…...

C++ 多线程std::thread以及条件变量和互斥量的使用

前言 本文章主要介绍C11语法中std::thread的使用,以及条件变量和互斥量的使用。 std::thread介绍 构造函数 std::thread 有4个构造函数 // 默认构造函,构造一个线程对象,在这个线程中不执行任何处理动作 thread() noexcept;// 移动构造函…...

新华三H3CNE网络工程师认证—子接口技术

子接口(subinterface)是通过协议和技术将一个物理接口(interface)虚拟出来的多个逻辑接口。在VLAN虚拟局域网中,通常是一个物理接口对应一个 VLAN。在多个 VLAN 的网络上,无法使用单台路由器的一个物理接口…...

【MySQL】InnoDB内存结构

目录 InnoDB内存结构 主要组成 缓冲池 缓冲池的作用 缓冲池的结构 缓冲池中页与页之间连接方式分析 缓冲池如何组织数据 控制块初始化 页面初始化 缓冲池中页的管理 缓冲区淘汰策略 查看缓冲池信息 总结 变更缓冲区-Chang Buffer 变更缓冲区的作用 主要配置选项…...

基于大数据爬虫数据挖掘技术+Python的网络用户购物行为分析与可视化平台(源码+论文+PPT+部署文档教程等)

#1024程序员节|征文# 博主介绍:CSDN毕设辅导第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老…...

蓝桥杯每日真题 - 第19天

题目:(费用报销) 题目描述(13届 C&C B组F题) 解题思路: 1. 问题抽象 本问题可以看作一个限制条件较多的优化问题,核心是如何在金额和时间约束下选择最优方案: 动态规划是理想…...

CentOS7.9.2009的yum更换vault地窖保险库过期源,epel的archive归档源 笔记241117

CentOS7.9.2009的yum更换vault地窖保险库过期源,epel的archive归档源 笔记241117 备份 /etc/yum.repos.d 文件夹 tempUri/etc/yum.repos.d ; sudo cp -a $tempUri $tempUri.$(date %0y%0m%0d%0H%0M%0Sns%0N).bak清空 /etc/yum.repos.d 文件夹 sudo rm -rf /etc…...

Spark SQL大数据分析快速上手-完全分布模式安装

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 大数据与数据分析_夏天又到了的博客-CSDN博客 Hadoop完全分布式环境搭建步骤-CSDN博客,前置环境安装参看此博文 完全分布模式也叫集群模式。将Spark目…...

Java面试题2024-Java基础

Java基础 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、…...

局域网协同办公软件,2024安全的协同办公软件推荐

在2024年,随着数字化转型的深入和远程工作需求的增加,协同办公软件已成为企业提升工作效率、优化沟通流程的重要工具。 以下是一些值得推荐的安全的协同办公软件: 钉钉 功能全面:钉钉是一款综合性极强的企业级协同软件&#xff…...

osg、osgearth简介及学习环境准备

一、osg简介(三维场景图渲染与调度引擎) OSG是Open Scene Graphic 的缩写,OSG于1997年诞生于以为滑翔机爱好者之手,Don burns 为了对滑翔机的飞行进行模拟,对openGL的库进行了封装,osg的雏形就这样诞生了&…...

nodejs基于微信小程序的云校园的设计与实现

摘 要 相比于传统的校园管理方式,智能化的管理方式可以大幅提高校园的管理效率,实现了云校园管理的标准化、制度化、程序化的管理,有效地防止了云校园信息的不规范管理,提高了信息的处理速度和精确度,能够及时、准确地…...

uni-app快速入门(十)--常用内置组件(下)

本文介绍uni-app的textarea多行文本框组件、web-view组件、image图片组件、switch开关组件、audio音频组件、video视频组件。 一、textarea多行文本框组件 textarea组件在HTML 中相信大家非常熟悉,组件的官方介绍见: textarea | uni-app官网uni-app,un…...

golang基础

在 Go 中字符串是不可变的,例如下面的代码编译时会报错: cannot assign to s[0] 但如果真的想要修改怎么办呢?下面的代码可以实现: var s string "hello" s [ 0 ] c s : "hello" c : [] b…...

Selenium + 数据驱动测试:从入门到实战!

引言 在软件测试中,测试数据的多样性和灵活性对测试覆盖率至关重要。而数据驱动测试(Data-Driven Testing)通过将测试逻辑与数据分离,极大地提高了测试用例的可维护性和可扩展性。本文将结合Selenium这一流行的测试工具&#xff0…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求&#xff…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...