在 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 命令。
在这里插入图片描述

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

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

相关文章

【LeetCode每日一题】——485.最大连续 1 的个数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 LeetCode 三【题目编号】 485.最大连续 1 的个数 四【题目描述】 给定…

windows 操作系统下载 Android源码教程

前言 开始我是装了hyber-v 虚拟机ubuntu 的,然而非常的卡顿且难用。因此我尝试在windows上使用repo,因此有了这篇文章 补充 第二天发现编译源码也需要linux命令因为源码中的很多脚本都是.sh的 因此最终通过安装WSL解决(在window应用商店就…

单片机进阶硬件部分_day2_项目实践

设计要求 从绘制原理图到画PCB板,完成智能云衣柜项目 STM32 (Modbus)云IOT衣物云端管理 华为PCB布线规范 基于IoT的智享家主控系统 步骤分析 需求分析 器件选型绘制原理图(器件连接)PCB布局、布线泪滴、铺铜、添加丝印…

【分享一个vue指令】元素变化指令v-resize

描述 自定义指令 v-resize mounted(el, binding):当元素被挂载到DOM上时,这个钩子会被调用。 如果浏览器支持 ResizeObserver,则创建一个 ResizeObserver 实例来监听元素的大小变化。当变化发生时,它会遍历所有的变化条目&#x…

接口上传视频和oss直传视频到阿里云组件

接口视频上传 <template><div class"component-upload-video"><el-uploadclass"avatar-uploader":action"uploadImgUrl":on-progress"uploadVideoProcess":on-success"handleUploadSuccess":limit"lim…

小R的随机播放顺序

问题描述 小R有一个特殊的随机播放规则。他首先播放歌单中的第一首歌&#xff0c;播放后将其从歌单中移除。如果歌单中还有歌曲&#xff0c;则会将当前第一首歌移到最后一首。这个过程会一直重复&#xff0c;直到歌单中没有任何歌曲。 例如&#xff0c;给定歌单 [5, 3, 2, 1,…

Flutter:photo_view图片预览功能

导入SDK photo_view: ^0.15.0单张图片预览&#xff0c;支持放大缩小 import package:flutter/material.dart; import package:photo_view/photo_view.dart;... ...class _MyHomePageState extends State<MyHomePage>{overrideWidget build(BuildContext context) {return…

目标驱动学习python动力

文章目录 迟迟未开始的原因打破思维里的围墙抛砖引玉爬虫 结束词 迟迟未开始的原因 其实我也是很早就知道有python&#xff0c;当时听说这个用于做测试不错&#xff0c;也就一直没有提起兴趣&#xff0c;后来人工智能火了之后&#xff0c;再次接触python&#xff0c;安装好pyth…

【Linux】详解僵尸进程与孤儿进程(Z僵死状态引发的内存泄漏与处理办法)

&#x1f308; 个人主页&#xff1a;谁在夜里看海. &#x1f525; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 丢掉幻想&#xff0c;准备斗争 目录 引言 一、僵尸进程 1.子进程的创建与退出 2.进程表 3.僵尸状态产生 4.直观感受一下&#xff1a; 二、…

网络协议之UDP

一、UDP协议定义 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种面向无连接的、不可靠的、基于数据报的传输层通信协议。UDP在传输数据时不需要建立连接&#xff0c;直接将数据包发送出去。这种特性使得UDP在实时性要求较高的应用场景中…

Go 工具链详解(八):go telemetry

目录 Go telemetry 的目的和工作原理 Go telemetry 的配置和命令 Telemetry 数据报告 telemetry.go.dev 是什么 小结 参考资料 Go 1.23 版本的工具链提供一个新工具——telemetry&#xff0c;用于收集 Go 工具链的使用和故障统计数据&#xff0c;以帮助 Go 团队了解工具链…

基于微信小程序的科学健身助手的设计与实现

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

FPGA经验谈系列文章——8、复位的设计

前言 剑法往往有着固定的招式套路,而写代码似乎也存在类似的情况。不知从何时起,众多 FPGA 工程师们在编写代码时开启了一种关于 always 语句块的流行写法,那就是: always @(posedge i_clk or negedge i_rstn) 就笔者所经历的诸多项目以及所接触到的不少工程师而言,大家在…

【Pytorch】torch.utils.data模块

torch.utils.data模块主要用于进行数据集处理&#xff0c;是常用的一个包。在构建数据集的过程中经常会用到。要使用data函数必须先导入&#xff1a; from torch.utils import data 下面介绍几个经常使用到的类。 torch.utils.data.DataLoader DataLoader(dataset, batch_…

Qt在designer设计师界面使用QSplitter

QSplitter控件是解决软件不同分辨率自适应布局的好帮手之一&#xff0c;该控件无法在控件列表找到&#xff0c;使用条件较为隐蔽 环境 qt5.12.12 MSVC2017 1.新建一个qt项目&#xff0c;初始自带Mainwindow&#xff0c;拖两个qwidget进来&#xff0c;注意此时centralWidget处于…

北京申请中级职称流程(2024年)

想找个完整详细点的申请流程资料真不容易&#xff0c;做个分享送给需要的人吧。 不清楚为什么说文章过度宣传&#xff0c;把链接和页面去掉了&#xff0c;网上自己找一下。 最好用windows自带的EDGE浏览器打开申请网站&#xff0c;只有在开始申请的时间内才可以进行网上申报&…

测评部署和管理 WordPress 最方便的面板

新版宝塔面板快速搭建WordPress新手教程 - 倚栏听风-Morii - 博客园 初学者使用1Panel面板快速搭建WordPress网站 - 倚栏听风-Morii - 博客园 可以看到&#xff0c;无论是宝塔还是1Panel&#xff0c;部署和管理WordPress都有些繁琐&#xff0c;而且还需要额外去配置Nginx和M…

文理学院数据库技术应用实验报告9

文理学院数据库技术应用实验报告9 实验名称数据库子查询实验日期2024年11月15日课程名称数据库技术应用实验项目数据库子查询的使用 一、实验目的 要求&#xff0c;通过sql脚本导入数据库&#xff0c;并在stuinfo数据库中对数据进行查询。使用select子查询进行查询操作。 s…

ubuntu:20.04安装协议逆向工具netzob

创建容器 docker run -d --name ubuntu_env ubuntu:20.04 /bin/bash -c "while true; do sleep 1; done" 63a8f5cf5431a930671ff0e7bb2b667adf001efb05fd7261da244879d2699bec 进入容器 PS E:\src> docker exec -it ubuntu_env /bin/bash 安装常用工具 apt upda…

SpringBoot实现WebSocket

参考链接&#xff1a;https://www.kancloud.cn/king_om/mic_03/2783864 一、环境搭建 1.创建SpringBoot项目&#xff0c;引入相关依赖 <dependencies><!-- Spring Boot核心启动器&#xff0c;引入常用依赖基础 --><dependency><groupId>org.springf…