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行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。

目录结构

* bin (binaries)存放二进制可执行文件
  • 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 不显示行号
:命令 执行该命令
:整数 跳转到该行
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串
posted @ 2022-02-18 15:35  学霸的芯  阅读(55)  评论(0编辑  收藏  举报