Linux 命令
用户权限
创建用户(useradd)
useradd命令用来创建新的用户或更改用户的信息。
useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
语法格式:useradd [参数] [用户名]
常用参数:
命令 | 作用 |
---|---|
-D | 改变新建用户的预设值 |
-c | 添加备注文字 |
-d | 新用户每次登陆时所使用的家目录 |
-e | 用户终止日期,日期的格式为YYYY-MM-DD |
-f | 用户过期几日后永久停权。当值为0时用户立即被停权,而值为-1时则关闭此功能,预设值为-1 |
-g | 指定用户对应的用户组 |
-G | 定义此用户为多个不同组的成员 |
-m | 用户目录不存在时则自动创建 |
-M | 不建立用户家目录,优先于/etc/login.defs文件设定 |
-n | 取消建立以用户名称为名的群组 |
-r | 建立系统帐号 |
-u | 指定用户id |
参考实例 |
添加新用户linuxcool:
[root@linuxcool ~]# useradd linuxcool
不创建家目录,并且禁止登陆:
[root@linuxcool ~]# useradd -M -s /sbin/nologin linuxcool
添加新用户linuxcool,设置家目录为/tmp/linuxcool,用户过期时间为2019/05/01.过期后两天停权
[root@linuxcool ~]# useradd -e "2019/05/01" -f 2 -d /tmp/linuxcool linuxcool
删除帐号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已有的用户账号使用userdel命令,其格式如下:
userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。
例如:
userdel sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
修改帐号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例如:
usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
修改密码(passwd)
passwd命令用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。直接运行passwd命令修改当前的用户密码,对其他用户的密码操作需要管理员权限。
常用格式:passwd [参数]
常用参数
命令 | 作用 |
---|---|
-d | 删除密码 |
-l | 锁定用户密码,无法被用户自行修改 |
-u | 解开已锁定用户密码,允许用户自行修改 |
-e | 密码立即过期,下次登陆强制修改密码 |
-k | 保留即将过期的用户在期满后能仍能使用 |
-S | 查询密码状态 |
参考实例
修改当前登陆的账户密码:
[root@linuxcool ~]# passwd
修改其他用户密码(假设有linuxprobe用户):
[root@linuxcool ~]# passwd linuxcool
锁定密码不允许用户修改:
[root@linuxcool ~]# passwd -l linuxcool
解除锁定密码,允许用户修改:
[root@linuxcool ~]# passwd -u linuxcool
下次登陆强制改密码:
[root@linuxcool ~]# passwd -e linuxcool
清除登录密码。清除之后登录时无需密码,风险极大,不推荐使用:
[root@linuxcool ~]# passwd -d linuxcool
查询密码状态:
[root@linuxcool ~]# passwd -S linuxcool
用户组groupadd
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
语法格式:groupadd 选项 用户组
常用参数:
命令 | 作用 |
---|---|
-g | GID 指定新用户组的组标识号(GID)。 |
-o | 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。 |
-r | 创建系统工作组,系统工作组的组ID小于500 |
-K 覆盖配置文件“/ect/login.defs” |
参考实例
使用-g参数新建linuxcool工作组名,1005是工作组id:
[root@linuxcool ~]# groupadd -g 1005 linuxcool
使用-r创建系统工作组:
[root@linuxcool ~]# groupadd -r -g 368 linuxcool
chown命令
Linux/Unix 属于多用户多任务操作系统,所有的文件皆有拥有者。利用 chown 命令可以将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID,
组可以是组名或者组ID,文件是以空格分开的要改变权限的文件列表,支持通配符。 一般来说,这个指令仅限系统管理者(root)所使用,普通用户没有权限改变文件所属者及所属组。
语法格式:chown [参数]
常用参数:
命令 | 作用 |
---|---|
-R | 对目前目录下的所有文件与子目录进行相同的拥有者变更 |
-c | 若该文件拥有者确实已经更改,才显示其更改动作 |
-f | 若该文件拥有者无法被更改也不要显示错误讯息 |
-h | 只对于连结(link)进行变更,而非该 link 真正指向的文件 |
-v | 显示拥有者变更的详细资料 |
--help | 显示辅助说明 |
--version | 显示版本 |
参考实例 |
将test.txt文件用户组与用户都改为bin:
chown bin:bin test.txt
将当前目录下所有文件的拥有者都改为 linuxcool,用户组改为 linuxcoolgroup:
chown -R linuxcool:linuxcoolgroup *
chmod命令 – 改变文件或目录权限
chmod命令的英文原意是“change the permissions mode of a file”,我们简称为“change mode”,意为用来改变文件或目录权限的命令,但是只有文件的属主和超级用户root才能执行这个命令。有两种模式,一种是采用权限字母和操作符表达式;另一种是采用数字。
语法格式: chmod [参数] [文件]
常用参数:
命令 | 作用 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
参考实例 |
将档案 file1.txt 设为所有人皆可读取:
[root@linuxcool ~]# chmod a+r file.txt
将目前目录下的所有文件与子目录皆设为任何人可读取 :
[root@linuxcool ~]# chmod -R a+r *
将 file.txt 设定为只有该文件拥有者可以执行:
[root@linuxcool ~]# chmod u+x file.txt
此外chmod也可以用数字来表示权限如 :
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4(读),w=2(写),x=1(执行)
若要 rwx 属性则 4+2+1=7;
若要 rw- 属性则 4+2=6;
若要 r-x 属性则 4+1=5。
进程相关(ps)
-
可以使用一下命令查使用内存最多的10个进程
ps -aux | sort -k4nr | head -n 10
-
可以使用一下命令查使用CPU最多的10个进程
ps -aux | sort -k3nr | head -n 10 -
查看Java 进程
ps -ef |grep java
Xshell 连接虚拟机特别慢 解决方案
原因: ssh的服务端在连接时会自动检测dns环境是否一致导致的,修改为不检测即可,操作如下:
修改文件:/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
修改大概129行的
#UseDNS yes 改为 UseDNS no
然后重启ssh服务
systemctl restart sshd
top 命令
top命令用于动态地监视进程活动及系统负载等信息,输入后回车执行即可
-
第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
-
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
-
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“99.9 id”意味着有99.9%的CPU处理器资源处于空闲。
-
第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。
-
第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
目录结构

-
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
-
etc (etcetera)存放系统配置文件
-
usr (unix shared resources)用于存放共享的系统资源
-
home 存放用户文件的根目录
-
root 超级用户目录
-
dev (devices)用于存放设备文件
-
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
-
mnt (mount)系统管理员安装临时文件系统的安装点
-
boot 存放用于系统引导时使用的各种文件
-
tmp (temporary)用于存放各种临时文件
-
var (variable)用于存放运行时需要改变数据的文件
VIM
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入一个冒号就可以了。末行模式中常用的命令如表4-2所示。 末行模式中最常用的一些命令
命令 | 作用 |
---|---|
:w | 保存 |
:q | 退出 |
:q! | 强制退出(放弃对文档的修改内容) |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:命令 | 执行该命令 |
:整数 | 跳转到该行 |
?字符串 | 在文本中从下至上搜索该字符串 |
/字符串 | 在文本中从上至下搜索该字符串 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现