admin 管理员组

文章数量: 887006

目录

  • 1 系统与设置命令
    • 1.1 用户和用户组管理
      • 1.1.1 账号管理
        • 1)添加用户
        • 2)用户口令
        • 3)修改用户
        • 4)删除用户
      • 1.1.2 用户组
        • 1)增加用户组
        • 2)修改用户组
        • 3)查询用户所属组
        • 4)删除用户组
      • 1.1.3 将用户添加到组
    • 1.2 系统管理
      • 1.2.1 日期管理
      • 1.2.2 显示用户
      • 1.2.3 su 切换账户
      • 1.2.4 id命令
      • 1.2.5 sudo 执行
      • 1.2.6 top 指令
      • 1.2.7 ps 命令
      • 1.2.8 kill 命令
      • 1.2.9 关机命令
      • 1.2.10 重启命令
      • 1.2.11 who命令
      • 1.2.12 timedatectl命令
  • 2 目录管理
    • 2.1 文件与目录
      • 2.1.1 目录常用命令
        • 1)pwd 显示当前目录
        • 2)mkdir(创建目录)
        • 3)rmdir(删空目录)
        • 4)cp (文件复制)
        • 5)rm(删除目录)
        • 6)mv(移动文件)
    • 2.2 文件基本属性
    • 2.3 文件属主和属组
      • 2.3.1 chgrp 更改属组
      • 2.3.2 chown 更改属主和属组
      • 2.3.3 chmod 权限命令
        • 1)数字权限
        • 2)符号权限
  • 3 文件管理
    • 3.2 vi与vim命令
      • vi/vim 介绍
      • 3.2.2 vi/vim模式
      • 3.2.3 打开和新建文件
      • 3.2.4 三种模式切换
      • 3.2.5 文件查看
        • 1)cat 命令
        • 2)grep命令
        • 3)tail命令
        • 4)less命令
      • 3.2.6 vim定位行
      • 3.2.7 异常处理
    • 3.3 echo 命令
      • 3.3.1 重定向 >(覆盖)和 >>(追加)
        • 实现
    • 3.4 awk 命令
    • 3.5 软连接
    • 3.6 find 查找
    • 3.7 read 命令
  • 4 备份压缩
    • 4.1 gzip
    • 4.2 gunzip
    • 4.3 tar 命令
    • 4.4 zip 命令
    • 4.5 unzip 命令
    • 4.6 bzip2 命令
    • bunzip2 命令
    • 4.8 总结
  • 5 网络与磁盘管理
    • 5.1 网络命令
      • 5.1.1 ifconfig 命令
      • 5.1.2 ping 命令
      • 5.1.3 netstat 命令
    • 5.2 磁盘命令
      • 3.2.1 lsblk 命令
      • 5.2.2 df 命令
      • 3.2.3 mount 命令
    • 5.3 总结
  • 6 shell 与 安装
    • 6.1 yum使用
      • 6.1.1 安装tree
      • 6.1.2 移除tree
      • 6.1.3 yum查找
      • 6.1.4 yum源
    • 6.2 rmp使用
    • 6.3 shell使用
      • 6.3.1 shell入门
        • 1)什么是shell
        • 2)shell环境
        • 3)编写第一个shell
      • 6.3.2 shell 注释
      • 4.3.3 shell变量
      • 6.3.4 shell 数组
      • shell 运算符
      • 6.3.6 shell流程控制
      • 6.3.7 shell 函数

1 系统与设置命令

1.1 用户和用户组管理

1.1.1 账号管理

1)添加用户

使用者权限:管理员用户
格式:

useradd 选项 用户名

参数说明:

  • 选项:
    • -c comment 指定一段注释性描述。
    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    • -g 用户组 指定用户所属的用户组。
    • -G 用户组,用户组 指定用户所属的附加组。
    • -s Shell文件 指定用户的登录Shell。
    • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户名:
    指定新账号的用户名(后续我们可以使用这个用户名进行系统登录)。

创建用户需要管理员账号,所以我们需要切换到root
然后再进行用户创建

su root
useradd aaa

2)用户口令

使用者权限:管理员用户
格式:

passwd 选项 用户名

可使用的选项:

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。
    设置当前用户的口令
passwd aaa

3)修改用户

使用者权限:管理员用户
格式:

usermod 选项 修改后用户名 用户名

常用选项:

下面将用户aaa用户名修改成qsl

usermod -l qsl aaa

4)删除用户

使用者权限:管理员用户
格式:

userdel 选项 用户名

可用选项:
下面将删除用户qsl

userdel -r -f qsl

1.1.2 用户组

1)增加用户组

使用者权限:管理员用户
格式:

groupadd 选项 用户组

可用选项:

创建一个用户组kaifa

groupadd kaifa

2)修改用户组

使用者权限:管理员用户
格式:

groupmod 选项 用户组

可用选项:

将组kaifa 的组名修改为kaifazu

groupmod -n kaifazu kaifa
3)查询用户所属组

在查询用户所属的用户组前,我们先增加一个用户aaa

useradd aaa

要查询一个用户属于哪个用户组,使用groups命令,其格式如下

groups 用户名

查询用户aaa属于某个用户组,执行groups命令

groups aaa

4)删除用户组

使用者权限:管理员用户
格式:

groupdel 用户组

可用选项

删除kaifazu用户组

groupdel kaifazu

以上操作,若执行没有报错,则代表操作成功

1.1.3 将用户添加到组

什么是gpasswd:

gpasswd 是 Linux 下的管理工具,用于将一个用户添加到组或者从组中删除。
格式:

gpasswd [选项] 组名

可用选项:

  1. 创建一个组
groupadd kaifa
  1. 创建三个用户
useradd user1
useradd user1
useradd user1
  1. 将三个用户添加到组里
gpasswd -a user1 kaifa
gpasswd -a user2 kaifa
gpasswd -a user3 kaifa
  1. 最后我们可以用grep查看是否添加成功
grep 'kaifa' /etc/group

1.2 系统管理

1.2.1 日期管理

date 可以用来显示或设定系统的日期与时间
使用者权限:所有用户
格式:

date [参数选项]

可用选项:

  • -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
  • -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
  • -u:显示GMT;
  • –help:在线帮助;
  • –version:显示版本信息
  1. 设置时间
    用 -s 选项可以设置系统时间,如下:
date -s "2030-11-9 :19:21:00"

这里修改的是系统时间,所以需要管理员权限,需要进入管理员用户

  1. 显示时间
date

1.2.2 显示用户

logname命令用于显示用户名称。
执行logname指令,它会显示目前用户的名称
格式:

logname [--help] [--version]

参数

  • –help  在线帮助。
  • –vesion  显示版本信息。

显示登陆账号的信息

logname

1.2.3 su 切换账户

su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
格式:

su

变更账号为root并在执行 ls 指令后退出返回原使用者

su -c ls root


切换到root

su root

1.2.4 id命令

id命令用于显示用户的ID,以及所属群组的ID。
id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
使用者权限:所有用户
格式:

id [-g] [--help] [--version][用户名称]

参数说明:

  • -g或–group  显示用户所属群组的ID。
  • -G或–groups  显示用户所属附加群组的ID。
  • -n或–name  显示用户,所属群组或附加群组的名称。
  • -r或–real  显示实际ID。
  • -u或–user  显示用户ID。
  • -help  显示帮助。
  • -version  显示版本信息。
    显示当前用户信息
id

总结
id命令参数虽然很多
但是常用的也就是id命令,不带参数的
主要看他的uid和组信息

1.2.5 sudo 执行

sudo:控制用户对系统命令的使用权限,root允许的操作。
通过sudo可以提高普通用户的操作权限
使用者权限:普通用户
格式:

sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command

参数说明

  • -V 显示版本编号
  • -h 会显示版本编号及指令的使用方式说明
  • -l 显示出自己(执行 sudo 的使用者)的权限
  • -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
  • -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
  • -b 将要执行的指令放在背景执行
  • -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
  • -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
  • -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
  • -H 将环境变数中的 HOME 指定为要变更身份的使用者HOME目录(如不加 -u 参数就是系统管理者 root )
  • command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

sudo 命令使用

sudo ls


指定root用户执行指令

sudo -u root ls -l

1.2.6 top 指令

top命令用于实时显示 process 的动态。
使用权限:所有使用者
显示进程信息

top


各进程(任务)的状态监控属性解释说明:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

显示完整命令,与top命令不同的就是command属性像是进行了命令补全

top -c


显示指定的进程信息,以下显示进程号为6972的进程信息,CPU、内存占用率等

 top -p 32

top命令的用法很多
但是常用的就是top(不带参数),有的时候,在进程比较多的时候,我们常常记住进程的pid,然后通过top -p pid进行查看
也就是说,top+ top -p是经常被用到的

1.2.7 ps 命令

Linux ps命令用于显示当前进程 (process) 的状态信息
使用者权限:所有用户
格式:

ps


显示进程信息

ps -A


显示指定用户信息

ps -u txt


显示所有进程信息

ps -ef

1.2.8 kill 命令

Linux kill命令用于删除执行中的程序或工作(可强制中断)
使用者权限:所有用户
格式:

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数说明

  • -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。
  • -s <信息名称或编号>  指定要送出的信息。
  • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。
    杀死一个进程
kill 15642

强制杀死进程

kill -KILL 15642

彻底杀死进程

kill -9 15642

杀死指定用户所有进程

  1. 方法一:过滤出txt用户进程
kill -9 $(ps -ef | grep txt)
  1. 方法二:直接杀死
kill -u txt

注意
上面列举了很多kill进程的命令
但是我们我们常用的就是kill -9命令,我们常常找到进程的pid
然后通过kill -9进行杀死进程

1.2.9 关机命令

shutdown命令可以用来进行关闭系统,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机
使用者权限:管理员用户
格式:

shutdown [-t seconds] [-rkhncfF] time [message]

**

shutdown [-t seconds] [-rkhncfF] time [message]

参数说明

  • -t seconds : 设定在几秒钟之后进行关机程序。
  • -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
  • -r : 关机后重新开机。
  • -h : 关机后停机。
  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
  • -c : 取消目前已经进行中的关机动作。
  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)。
  • -F : 关机时,强迫进行 fsck 动作。
  • time : 设定关机的时间。
  • message : 传送给所有使用者的警告讯息。

立即关机

shutdown -h now
或者
shutdown

指定1分钟后关机,1分钟关机并显示警告信息

shutdown +1 “System will shutdown after 1 minutes” 

指定1分钟后重启,并发出警告信息

shutdown –r +1 “1分钟后关机重启”

1.2.10 重启命令

reboot命令用于用来重新启动计算机
使用者权限:管理员、普通(需要验证)用户
格式:

reboot [-n] [-w] [-d] [-f] [-i]

参数

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止

开始重新启动

reboot

1.2.11 who命令

who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等
使用者权限:所有使用者都可使用。
格式:

who - [husfV] [user]

参数说明

  • -H 或 --heading:显示各栏位的标题信息列;
  • -i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
  • -m:此参数的效果和指定"am i"字符串相同;
  • -q 或–count:只显示登入系统的帐号名称和总人数;
  • -s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
  • -w 或-T或–mesg或–message或–writable:显示用户的信息状态栏;
  • –help:在线帮助;
  • –version:显示版本信息

显示当前登录系统的用户

who


显示明细(标题)信息

who -H

1.2.12 timedatectl命令

使用者权限:所有使用者都可使用,设置时间需要管理员,下面会标注。
几个常见的概念,进行总结如下:

显示系统的当前时间和日期,使用命令行中的timedatectl命令

timedatectl status


在上面的示例中,分别显示时区、CST时间和UTC时间,其中,RTC time就是硬件时钟的时间,硬件时间默认为UTC。
查看当前时区

timedatectl | grep Time
或者
timedatectl 


查看所有可用的时区

timedatectl list-timezones


设置本地时区

timedatectl set-timezone "Asia/Shanghai"


禁用时间同步(使用管理员账户)

timedatectl set-ntp false
在执行
timedatectl set-time "2019-03-11 20:45:00"

注意: 如果ntp时间同步为true时无法修改时间设定

打开ntp

timedatectl set-ntp true
在执行
timedatectl set-time "2019-03-11 20:45:00"

执行效果如下(ntp时间同步为true时无法修改时间设定)
报错信息 如下

启用时间同步
timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。
要开始自动时间同步到远程NTP服务器,在终端键入以下命令。

timedatectl set-ntp true

同步前

同步后

总结
在实际使用过程中
我们经常使用timedatectl进行时区、CST、UTC的设置

2 目录管理

2.1 文件与目录

2.1.1 目录常用命令

  • ls: 列出目录
  • cd: 切换目录
  • pwd: 显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录或修改文件与目录的名称
    自动补全
  • 在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下 tab
  • 如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令
1)pwd 显示当前目录

查看当前所在目录

pwd -P

2)mkdir(创建目录)

格式:

mkdir [-p] dirName

参数说明:

  • -p 确保目录名称存在,不存在的就建一个
    建立一个名为jinyanlong 的子目录
mkdir -p jinyanlong


在工作目录下的 aaa目录中,建立一个名为 bbb的子目录。 若 aaa目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 aaa目录不存在,则产生错误。)

mkdir -p aaa/bbb


由上图我们发现,aaa目录被强制创建,里面包含了bbb文件。

3)rmdir(删空目录)

rmdir命令删除空的目录
使用权限:于目前目录有适当权限的所有使用者。
格式:

rmdir [-p] dirName

参数

  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
    将工作目录下,名为 jinyanlong 的子目录删除 :
rmdir -p jinyanlong


在工作目录下的 aaa目录中,删除名为 bbb的子目录。若 bbb删除后,aaa目录成为空目录,则 aaa同时也会被删除

总结:
rmdir -p aaa/bbb也就是说
在删除bbb目录完成后,发现aaa目录也是空目录了,在删除完bbb后aaa也同时被删除了。

4)cp (文件复制)

cp命令主要用于复制文件或目录。
使用权限:于目前目录有适当权限的所有使用者
格式:

cp [options] source dest
或
cp [options] source ... directory

参数说明:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r/R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

1、数据准备
创建aaa目录并且aaa下包含bbb目录

mkdir -p aaa/bbb
mkdir -p ccc


aaa目录下有bbb
ccc下面没有目录和文件
2、执行复制

cp -r aaa/* ccc

总结:
用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
如果不加参数"-r"或者"-R",只复制文件,而略过目录

5)rm(删除目录)

rm命令用于删除一个文件或者目录。
使用权限:于目前目录有适当权限的所有使用者
格式:

rm [options] name

参数:

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

如果我们要删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

rm -r ccc


注意
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令
如果删除文件(比如.sh 、.txt)
直接使用rm name.txt

6)mv(移动文件)

mv 命令用来为文件或目录改名、或将文件或目录移入其它位置
格式:

mv [options] source dest
mv [options] source... directory

参数说明:

  • -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
  • -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;


将文件 bbb更名为 ccc:

mkdir -p bbb
mv bbb ccc


将ccc目录放入ddd目录中。
注意,如果ddd目录不存在,则该命令将ccc改名为ddd。

2.2 文件基本属性

在Linux中我们可以使用ll或者 ls –l 命令或者 ls -al 命令来显示一个文件的属性以及文件所属的用户和组,如:

ls -l
or
ls -al

本文标签: 合集 命令 基础 Linux