
Linux常用命令
查看主机名称
hostname
设置主机名称
hostnamectl set-hostname es-node3
tee
其主要作用是从标准输入读取数据并将其写入到标准输出和一个或多个文件中。
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
用户
# 新增用户
useradd 用户名
# 删除用户 olduser 及其家目录
sudo userdel -r olduser
# 验证用户是否已被删除
getent passwd olduser
1. 使用 useradd
命令或 adduser
命令创建用户
使用 useradd
创建用户
使用
useradd
命令:运行以下命令来创建用户:sudo useradd <username>
将
<username>
替换为你想要创建的用户名。例如,创建一个名为newuser
的用户:sudo useradd newuser
设置用户密码:通常,创建用户后你需要为该用户设置密码:
sudo passwd <username>
例如,为
newuser
设置密码:sudo passwd newuser
配置其他选项:如果你想要为用户设置家目录、默认 shell 和其他选项,可以在
useradd
命令中指定。例如:sudo useradd -m -s /bin/bash <username>
这里的
-m
选项会为用户创建一个家目录,-s
选项指定用户的默认 shell。
使用 adduser
创建用户
adduser
是一个更友好的命令,它会引导你通过交互式方式创建用户。它通常在基于 Debian 的系统中(如 Ubuntu)可用。
使用
adduser
命令:sudo adduser <username>
替换
<username>
为要创建的用户名。例如:sudo adduser newuser
2. 查看当前系统上的用户信息
1. 查看当前系统的所有用户
要查看系统中所有用户的信息,可以查看 /etc/passwd
文件。可以使用以下命令:
cat /etc/passwd
这个命令将输出所有用户的详细信息,每一行代表一个用户。输出格式一般如下:
用户名:密码:用户ID:组ID:全名:家目录:登录Shell
例如:
root:x:0:0:root:/root:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
2. 查看当前登录用户
要查看当前登录的用户,可以使用 who
或 whoami
命令。
who
命令:who
输出当前登录的所有用户以及他们的登录时间和终端。
whoami
命令:whoami
输出当前会话的用户名。
3. 列出系统中的用户组
要查看系统中的所有用户组,可以查看 /etc/group
文件:
cat /etc/group
4. 列出所有用户的详细信息
可以使用 getent
命令来列出用户信息,getent passwd
将列出所有用户:
getent passwd
5. 查看用户的详细信息
要查看特定用户的详细信息,可以使用 id
命令:
id <用户名>
例如:
id user1
该命令将输出指定用户的 UID、GID 以及属于的组信息。
6. 列出用户的家目录
使用以下命令可以查看某个用户的家目录:
getent passwd <用户名> | cut -d: -f6
示例:
getent passwd user1 | cut -d: -f6
示例
以下是查看用户信息的命令的示例:
# 查看所有用户
cat /etc/passwd
# 查看当前用户
whoami
# 查看所有组
cat /etc/group
# 查看特定用户的信息
id user1
# 获取特定用户的家目录
getent passwd user1 | cut -d: -f6
3. 使用 userdel
命令删除用户
1. 使用 userdel
命令
基本语法
sudo userdel [选项] 用户名
2. 删除用户
要删除一个用户,可以运行以下命令:
sudo userdel <用户名>
例如,删除名为 olduser
的用户:
sudo userdel olduser
3. 删除用户及其家目录
如果你还想删除用户的家目录和用户相关的所有文件,可以使用 -r
选项:
sudo userdel -r <用户名>
例如,删除名为 olduser
的用户及其家目录:
sudo userdel -r olduser
4. 注意事项
权限:执行
userdel
命令通常需要超级用户权限,因此使用sudo
。进程:如果要删除的用户当前正在登录或有正在运行的进程,可能需要先停止这些进程。可以使用
ps -u <用户名>
查看该用户的进程,使用kill
命令终止它们。审慎操作:删除用户是一个不可逆的操作,请确保你要删除的用户及其数据不再需要。
5. 验证用户已被删除
你可以通过以下命令来检查用户是否已被成功删除:
getent passwd <用户名>
如果没找到该用户,命令不会有返回值。
示例
以下是一个完整的示例,包括删除用户和用户的家目录:
# 删除用户 olduser 及其家目录
sudo userdel -r olduser
# 验证用户是否已被删除
getent passwd olduser
4. 使用 chown
命令修改文件的所属(即更改文件的所有者和/或所属组)
1. 语法
基本的 chown
语法如下:
chown [选项] [新所有者][:新组] 文件名
[新所有者]
:新用户的用户名或用户 ID(UID)。[新组]
:新组的组名或组 ID(GID)。文件名
:你想要更改所有权的文件或目录。
2. 修改所有者
如果你只想修改文件的所有者,可以使用以下命令:
sudo chown <新所有者> 文件名
例如,将文件 example.txt
的所有者更改为 newuser
:
sudo chown newuser example.txt
3. 修改所属组
如果你只想修改文件的所属组,可以这样做:
sudo chown :<新组> 文件名
例如,将文件 example.txt
的所属组更改为 newgroup
:
sudo chown :newgroup example.txt
4. 同时修改所有者和所属组
你可以同时修改文件的所有者和所属组,使用 :
分隔它们,如下所示:
sudo chown <新所有者>:<新组> 文件名
例如,将 example.txt
的所有者更改为 newuser
,并将其所属组更改为 newgroup
:
sudo chown newuser:newgroup example.txt
5. 修改目录及其所有子文件
使用 -R
选项可递归地更改目录及其下所有文件和子目录的所有者和组:
sudo chown -R <新所有者>:<新组> 目录名
例如,如果要将目录 mydir
及其所有内容的所有者更改为 newuser
并将其所属组更改为 newgroup
,可以执行:
sudo chown -R newuser:newgroup mydir
6. 查看文件的所有者和所属组
你可以使用 ls -l
命令查看文件的所有者和所属组:
ls -l 文件名
示例
创建一个文件并修改其所有者和所属组的完整示例:
touch example.txt
sudo chown newuser:newgroup example.txt
ls -l example.txt
7. 注意事项
使用
chown
命令通常需要超级用户权限,因此要使用sudo
。确保你要更改的用户和组确实存在于系统中。