Linux 基础命令

Linux

一、 Linux账号管理

1.添加用户

使用者权限:管理员用户 root

useradd 选项 用户名

参数说明:

  • 选项:

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

    指定新账号的用户名(后续我们可以使用这个用户名进行系统登录)。

添加用户xiaohei执行

useradd xiaohei

我们使用useradd命令创建了一个用户xinzhi

useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。

执行如下
在这里插入图片描述

以下是useradd常用选项

在这里插入图片描述

2.用户口令

使用者权限:管理员用户

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

passwd 选项 用户名

可使用的选项:

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

设置当前用户的口令

passwd xiaohei

此处我们设置密码 xiaohei666 (注意密码必须高于8位,不能简单的都是数字,不然报错)

在这里插入图片描述

修改用户

usermod 命令通过修改系统帐户文件来修改用户账户信息

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

使用者权限:管理员用户

修改已有用户的信息使用usermod命令,其格式如下:

usermod 选项 用户名

下面命令将用户xiaohei用户名修改成xiaobai

usermod -l 新用户名 旧用户名

usermod -l xiaobai xiaohei

在这里插入图片描述

以下是usermod常用选项
在这里插入图片描述

删除用户

假如我们其中一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

使用者权限:管理员用户

删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项 用户名

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件

此命令删除用户xiaobai(建议加上-rf)

userdel xiaobai

在这里插入图片描述

成功删除用户 xiaobai

以下是userdel常用选项
在这里插入图片描述

Linux用户组

增加用户组

新增一个用户组(组名可见名知意,符合规范即可),然后将用户添加到组中

使用者权限:管理员用户

groupadd 选项 用户组

使用的选项有:

  • -g GID 指定新用户组的组标识号(GID)。

  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

    新增用户组heibaizu

    groupadd heibaizu
    

在这里插入图片描述

以下是groupadd常用选项

在这里插入图片描述

修改用户组

使用者权限:管理员用户

groupmod 选项 用户组

常用的选项有:

  • -g GID 为用户组指定新的组标识号。

  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

  • -n新用户组 将用户组的名字改为新名字

  • groupmod -n 新组名 旧组名

    groupmod -n honglanzu heibaizu
    

    上面的命令将组heibaizu的组名改为honglanzu

    在这里插入图片描述

以下是groupmod常用选项

在这里插入图片描述

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

groups 用户名

这里先增加一个用户xiaohong
在这里插入图片描述

查询用户xiaohong属于某个用户组,执行groups命令
在这里插入图片描述

由此可见,xiaohong用户属于用户组xiaohong(用户组默认与用户名一样)

删除用户组

使用者权限:管理员用户

要删除一个已有的用户组,使用groupdel命令,其格式如下

groupdel 用户组

删除honglanzu用户组,注意不能删除xiaohong的用户组

groupdel honglanzu

在这里插入图片描述

在这里插入图片描述

以下是groupdel常用选项
在这里插入图片描述

将用户添加到组

1.已经存在的用户添加到组中 usermod -a -G 组名 用户名

usermod -a -G honglan xiaohong

执行效果如下

这里增加一个组 honglan
在这里插入图片描述
在这里插入图片描述

2 新用户添加到指定组 useradd -g 组名 新用户名

useradd -g honglan xiaolan

在这里插入图片描述

系统管理

  1. 日期管理

date 可以用来显示或设定系统的日期与时间

使用者权限:所有用户

语法如下:

date [参数选项]

参数

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
–help:在线帮助;
–version:显示版本信息

1、设置时间

用 -s选项可以设置系统时间,如下:

在这里插入图片描述

世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。

2 查看时间

date

在这里插入图片描述

显示用户

logname命令用于显示用户名称。

执行logname指令,它会显示目前用户的名称

语法为如下:

logname [--help][--version]

参数

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

显示登录账号的信息

logname

在这里插入图片描述

su切换账户

引子:
比如我们在新增用户、修改用户或者操作用户组的时候常常需要切换到管理员账户,这个时候,我们就可以使用su进行快速切换

su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

使用权限:所有使用者。

语法如下:

su 

从root管理员权限切换到其他用户,直接 su 用户名

su xiaohong

在这里插入图片描述

切换到root

exit

在这里插入图片描述
如果你最初登录的不是管理员则用

su root ,然后输入密码
在这里插入图片描述

这样的话,我们就进入到了root用户下。

sudo执行

sudo执行

yum install lrzsz -y

上传,直接拖拽

下载 sz 文件名

提高普通用户的操作权限

比如我们使用普通用户操作用户或者操作用户组、以及修改网卡配置文件的时候,需要切换到root用户才操作,此时我们可以使用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 更改为其他人)执行的指令

top命令

在企业级开发中,开发人员(运维人员也会经常使用)常常为了查看服务器上运行的程序占用的CPU情况以及占用内存情况,目的就是检测我们的程序是否在正常范围内运行

top命令用于实时显示 process 的动态。

使用权限:所有使用者。

显示进程信息

top

执行效果如下
在这里插入图片描述

各进程(任务)的状态监控属性解释说明:
PID:进程ID
USER:进程的所有者
PR:进程的优先级
NI:
VIRT:占用的虚拟内存
RES:占用的物理内存
SHR:使用的共享内存
S:进行状态 S:休眠 R运行 Z僵尸进程 N nice值为负
%CPU:占用的CPU
%MEM:占用内存
TIME+: 占用CPU的时间的累加值
COMMAND:启动命令

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

 top -p 1

执行效果如下
在这里插入图片描述

top命令的用法很多

但是常用的就是top(不带参数),有的时候,在进程比较多的时候,我们常常记住进程的pid,然后通过top -p pid进行查看

也就是说,top+ top -p是经常被用到的

ps命令

ps命令类似于我们在Windows中通过任务管理器查看进程信息

Linux ps命令用于显示当前进程 (process) 的状态信息

使用者权限:所有用户

常用语法如下:

ps -ef | grep 进程名称

kill命令

Linux kill命令用于删除执行中的程序或工作(可强制中断)

使用者权限:所有用户

语法如下:

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

参数说明

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

杀死一个进程

 kill - 9 进程号

一般配合ps使用,ps 可以查到进程的pid

clear命令

clear命令用于清除屏幕

使用者权限:所有使用者都可使用。

语法

clear

执行clear前
在这里插入图片描述

执行clear后
在这里插入图片描述

通过执行clear命令,就可以把缓冲区的命令全部清理干净了

系统管理的常用命令都是在开发过程中经常使用到的

Linux 文件与目录管理

在Linux系统中,所有的的目录结构为树状结构,最顶级的目录为根目录 /。
在实际开发过程中,文件的操作是非常频繁也是非常重要的
下面的章节我们将学习下Linux系统所有的系统目录和文件通过命令是如何进行管理的 

目录常用命令

  • ls: 列出目录
  • cd: 切换目录
  • pwd: 显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录或修改文件与目录的名称

1. ls语法如下:

ls [选项]  目录名称

选项与参数:

  • -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
 ls -l

执行效果如下
在这里插入图片描述

ls -l 可以查看文件夹下文件的详细信息, 从左到右 依次是:

  • 权限(A区域), 第一个字符如果是 d 表示目录
  • 硬链接数(B区域), 通俗的讲就是有多少种方式, 可以访问当前目录和文件
  • 属主(C区域), 文件是所有者、或是叫做属主
  • 属组(D区域), 文件属于哪个组
  • 大小(E区域):文件大小
  • 时间(F区域):最后一次访问时间
  • 名称(G区域):文件的名称
ls

在这里插入图片描述

总结
以上三种是经常被使用到的命令
它们之间的区别是
ls  显示不隐藏的文件与文件夹
ls -l 显示不隐藏的文件与文件夹的详细信息
ls -al   显示所有文件与文件夹的详细信息
2. pwd显示当前目录

查看当前所在目录

pwd -P

执行效果如下
在这里插入图片描述

3.cd (切换目录)

语法如下:

 cd [相对路径或绝对路径]
4.mkdir(创建目录)

语法

mkdir [-p] dirName

参数说明:

  • -p 确保目录名称存在,不存在的就建一个

建立一个名为jinyanlong 的子目录

mkdir video

执行效果如下

在这里插入图片描述

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

mkdir -p aaa/bbb
5. rmdir(删空目录)

rmdir命令删除空的目录

使用权限:于目前目录有适当权限的所有使用者。

语法

rmdir [-p] dirName

参数

  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

将工作目录下,名为 jinyanlong 的子目录删除 :

rmdir video

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

rmdir  -p aaa/bbb

总结:

rmdir -p aaa/bbb也就是说

在删除bbb目录完成后,发现aaa目录也是空目录了,在删除完bbb后aaa也同时被删除了。

6.cp(文件复制)

cp命令主要用于复制文件或目录。

使用权限:于目前目录有适当权限的所有使用者

语法

cp [options] source dest

cp [options] source... directory

参数说明:

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

我们将当前目录"aaa/"下的所有目录以及文件复制到新目录"ccc"下,输入如下命令:

1、数据准备

创建aaa目录并且aaa下包含bbb目录

mkdir -p aaa/bbb
mkdir -p ccc

执行效果如下
在这里插入图片描述

aaa目录下有bbb

ccc下面没有目录和文件

2、执行复制

cp –r aaa/*  ccc  

执行效果如下

我们将aaa下面的所有文件、目录复制到了目录c下面
在这里插入图片描述

总结:

用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。

如果不加参数"-r"或者"-R",只复制文件,而略过目录

scp root@82.157.173.221:/usr/local/elasticsearch-7.12.1-linux-x86_64.tar.gz /home

7.rm(删除目录)

rm命令用于删除一个文件或者目录。

使用权限:于目前目录有适当权限的所有使用者

语法

rm [options] name...

参数:

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

常用 rm -rf 文件 (删除命令慎重使用)

8) mv(移动文件)

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

语法

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

参数说明:

  • -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
  • -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
    在这里插入图片描述
9.touch 文件名 创建文件

Linux 文件基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

下面我们就一起学习下Linux系统不同权限的文件和目录在怎么表示的

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

ls -l

在这里插入图片描述

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

每个文件的属性由左边第一部分的10个字符来确定(如下图)。
在这里插入图片描述

从左至右用0-9这些数字来表示。

第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;

第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-“字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用”-"字符表示,则没有执行权限。

Linux文件属主和属组

chown更改属主和属组

我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限(属主)
我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组(属组),然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的

Linux是多任务操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限

使用权限 : 管理员账户

语法如下

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
 chown han a.txt

效果如下
在这里插入图片描述

我们通过下面的命令查询文件aaa的属主是否发生了变化,执行

ls -l

在这里插入图片描述

chmod权限命令

Linux文件属性有两种设置方法,一种是数字,一种是符号

Linux的文件调用权限分为三级 : 文件属主、属组、其他。利用 chmod 可以控制文件如何被他人所调用。

使用权限 : 所有使用者

语法

chmod [-cfvR] [--help] [--version] mode file...

参数说明

mode : 权限设定字串,格式如下

[ugoa...][[+-=][rwxX]...][,...]

解释:

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

1 数字权限

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组(owner/group/others就是所说的三个一组 )的,我们也可以使用数字来代表各个权限,各权限的分数对照表如下

各权限的数字对照表:[r]:4;[w]:2;[x]:1;[-]:0
在这里插入图片描述

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= — = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是770啦,变更权限的指令chmod的语法是这样的

chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

上面的 可以表示如下

chmod  -R 770     档案或目录

上面说了这么多,我们举例说明一下:

chmod -R 777 a.txt

在这里插入图片描述

由此可见,as.txt的属主权限、属组权限、其他权限都发生了改变

根据前面的换算我们已经知道如何将一个文件的属主、属组、其他权限换算成数字了,换算成数字后,我们只需要通过chmod命令即可更改文件的权限

2 符号权限

还有一个改变权限的方法,就是 符号权限,我们先回顾下之前提到的9个权限

  • (1)user 属主权限
  • (2)group 属组权限
  • (3)others 其他权限

那么我们就可以使用 u, g, o 来代表三种身份的权限!

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看
在这里插入图片描述

如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

chmod u=rx,g=rw,o=r a.txt

在这里插入图片描述

由上图我们发现,as.txt的权限变成了-rwxr-xr–

假如我们要将权限去掉而不改变其他已存在的权限呢?举个例子,比如我要拿掉全部人的可读权限,则

 chmod  o-r a.txt

执行如下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值