Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作

Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作

前置学习内容:Linux学习(一)

1. 用户管理

1.1 用户密码管理

创建用户密码
  • 使用 passwd 命令可以为指定用户设置密码:
shell 复制代码
sudo passwd `userName`
密码找回

当忘记密码时,可以采取以下步骤找回:

  1. 在登录界面按 e 键进入编辑模式。
  2. 在 utf-8 后面添加 init=/bin/sh。
  3. 按 Ctrl + x 退出编辑模式。
  4. 输入 mount -o remount,rw /,使根文件系统可写。
  5. 输入两次密码。
  6. 输入 touch /.autorelabel,标记系统需要重新标记安全上下文。
  7. 输入 exec/sbin/init,重启系统。

1.2 切换用户

使用 su 命令可以切换到其他用户,其中 - 选项可以保持当前用户的当前环境变量:

shell 复制代码
su - 切换用户名

高级别用户切换为低级别用户时,通常不需要输入密码。

1.3 查看用户信息

  • who am i:查看当前登录用户的信息。
  • last:查看用户的历史登录记录。

1.4 查看密码文件

  • /etc/passwd:存储用户账户信息的文件,包括用户名、用户ID、主目录和登录Shell等。
  • /etc/shadow:存储用户密码哈希值,安全性更高。
  • /etc/group:存储用户组信息。
shell 复制代码
cat /etc/passwd
cat /etc/shadow
cat /etc/group

2. 运行级别

运行级别切换:Linux 系统可以通过不同的运行级别来控制其功能。

2.1 切换运行级别

  • 使用 init 命令可以切换到不同的运行级别:
shell 复制代码
init [0-5]

2.2 查看默认运行级别

  • systemctl get-default:查看当前系统的默认运行级别。
  • runlevel:查看当前系统的运行级别。

2.3 设置默认运行级别

使用 systemctl set-default 命令可以设置默认的运行级别:

shell 复制代码
systemctl set-default ...

2.4 切换到图形界面

本操作前提是你在安装的时候安装了图形界面

  • 使用 startx 命令可以切换到图形界面,而不会改变当前的运行级别
shell 复制代码
startx

3. 命令行操作

3.1 帮助

man
shell 复制代码
man 命令
info
shell 复制代码
info 命令
help

3.2 快捷键

3.3 语法用法

查看目录列表:
  • ls -a:显示所有目录,包括以 . 开头的隐藏目录。
  • ls -al /目录:以详细列表形式显示指定目录的内容。
查看当前目录
shell 复制代码
pwd
返回用户根目录
shell 复制代码
cd ~
返回上一级目录
shell 复制代码
cd ..
清屏
shell 复制代码
clear

3.4 别名

创建别名
  • 方法一

  • 方法二

shell 复制代码
#在 .bashrc 或 .bash_profile 文件中添加如下内容:
vi .bashrc 或 vi .bash_profile
#按 `i` 进入插入模式
#添加
alias ll='ls -l'
#按 `ESC` 后 再按 :wq保存退出
然后使用 source .bashrc 或 source .bash_profile 使别名生效。

3.5 常用选项



3.6 历史命令

  • Ctrl + p:向上翻历史命令
  • Ctrl + n:向下翻历史命令

3.7 录制命令


3.8 外部命令与内部命令

判断命令类型

使用 type 命令 可以判断命令是外部命令还是内部命令。

shell 复制代码
type 命令
查看外部命令路径

使用 which 命令 可以查看外部命令的路径。

shell 复制代码
which 命令
命令搜索顺序
相关推荐
Mephisto.java8 分钟前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Yawesh_best23 分钟前
思源笔记轻松连接本地Ollama大语言模型,开启AI写作新体验!
笔记·语言模型·ai写作
算法与编程之美29 分钟前
文件的写入与读取
linux·运维·服务器
南宫生37 分钟前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming1 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
武子康2 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
Ven%2 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
CXDNW2 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
使者大牙2 小时前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型