Linux基础命令(2)

目录

sudo命令:

用户、用户组: 

用户组管理: 

        创建用户组命令:

        删除用户组命令:

        修改用户组命令:

        查看已创建的组:

用户管理: 

        创建用户命令:

        删除用户命令:

        查看用户所属组命令:

       修改用户所属组命令:    

        查看已创建的用户:  

        更改设置用户密码: 

        getent命令:

        getent passwd命令

        getent group命令: 

​编辑

chmod命令:

权限的数字序号: 

chown命令: 

         setfacl命令和getfacl命令:

        chgrp命令: 

history命令: 

Ctrl+r快捷键:

yum命令: 

systemctl命令: 

ln命令创建软链接:

ping命令:

wget命令:

curl命令:

uname命令:

nmap命令:

netstat命令:

​编辑ps命令:

pstree命令: 

kill命令: 

top命令: 

pgrep命令:

​编辑

​编辑free命令:

ifconfig命令:

df命令:

nslookup命令:

du 命令:

iostat命令:

sar命令:

env命令: 

$符号:

export命令: 

rz命令: 

sz命令:

Linux的压缩格式:

tar命令:

zip命令:

unzip命令: 

 lscpu命令:

free命令:

  lsblk命令:

fdisk命令:

练习1:

 练习2:


su 和exit命令:

        语法:su  [-]  [用户名]

        密码:即是vm虚拟机用户的登录密码。

        - 符号是可选的,表示在切换用户后加载环境变量,建议带上

        参数:用户名,表示要切换的用户,也可以省略,省略后默认切换到root(管理员模式)

        切换后使用exit命令可以退回到上一个用户,也可以使用快捷键:ctrl+d

sudo命令:

        在得知root密码是,可以通过使用su命令切换到root最大权限。

        但是不建议长期使用root用户,避免带来系统损坏。

        所以我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

        语法:sudo  其他命令

        在其他命令之前加上sudo,即可为这条命令临时赋予root权限

        但是并非所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

        如何为普通用户配置sudo认证:

                先切换到root用户下,输入命令visudo,翻到最后一行,在文件最后添加:

                zhangjiajia  ALL=(ALL)         NOPASSWD:ALL

                添加好之后按esc键,再同时按 Shift键+:输入wq保存并退出。

                此处的zhangjiajai为自己的用户名,需要更换。 

                

        认证完成即可给命令添加赋予root权限。        

        如图所示,在 / 目录下普通用户无法用mkdir命令创建文件夹,在前面添加sudo命令即可。

        rm为删除文件夹命令,想了解该命令,请转至:Linux基础命令

         

用户、用户组: 

        Linux系统中可以:

                配置多个用户

                配置多个用户组

                用户可以加入多个用户组中(如图一个用户同时加入了两个用户组)

        Linux中关于权限的管控级别有两个级别,分别是:

                针对用户的权限控制

                针对用户组的权限控制 

用户组管理: 

以下命令需要root用户才能执行

        创建用户组命令:

                groupadd  用户组名

        删除用户组命令:

                groupdel  用户组名

        修改用户组命令:

                groupmod  [-n  -g]  用户组名

                选项 -n 常用于修改组名 

                选项 -g 常用于修改组id

        查看已创建的组:

                cat  /ect/group 

用户管理: 

以下命令需要root用户才能执行

        创建用户命令:

        useradd  [-g -d]  用户名

        选项:-g表示指定用户的组,不指定-g,会创建与用户同名的用户组并自动加入,指定-g需要组已经存在。如果已经存在与用户同名的用户组了,那就必须得使用-g

        选项:-d表示指定用户的HOME路径,不指定,HOME目录默认在: /home/用户名

        删除用户命令:

        userdel  [-r]  用户名

        选项:-r删除用户的HOME目录,不是用-r,删除用户时HOME目录保留 

 

        查看用户所属组命令:

        id  [用户名]

        参数:用户名,被查看的用户,如果不提供则表示查看自身。   

       修改用户所属组命令:    

        usermod  [-aG]  [用户名]  [组名]

        表示将指定用户添加到指定用户组

        查看已创建的用户:  

        cat /ect/passwd     

        更改设置用户密码: 

        语法:passwd  用户名

        不输用户名就是更改当前用户的密码

        getent命令:
        getent passwd命令

        语法:getent passwd  用户名

        结果里面共有七个信息,分别是:

        用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

        getent group命令: 

         语法:getent group  组名

        结果里面共有三个选项,分别是:

        组名:组认证(显示为x):组ID

chmod命令:

        我们可以使用chmod命令,修改文件、文件夹的权限信息

        注意:只有文件、文件夹的所属用户或root用户可以修改

        语法:chmod  [-R]  权限  文件或文件夹

        选项:-R,对文件夹内的全部内容应用同样的操作

        参数:权限的写法为u=rwx,g=rwx,o=rwx。其中,u,g,r三个选项可以任选,rwx三个选项也可任选,选满足需求的即可。

对文件进行操作:        

对文件夹进行操作:

权限的数字序号: 

        权限可以用3位数字来替代,第一位表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。

        数字细节如下:r记为4,w记为2,x记为1,可以有:

        0:无任何权限,即- - -

        1:仅有x权限,即- - x

        2:仅有w权限,即- w -

        3:有w,x权限,即- wx

        4:仅有r权限,即r - - 

        5:有r,x权限,即r - x

        6:有r,w权限,即r w -

        7:有r,w,x权限,即r w x

        

chown命令: 

        使用该命令,可以修改文件或文件夹的所属用户和用户组

        普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行

        语法:chown  [-R]  [用户]  [:]  [用户组]  [文件或文件夹]

        选项 -R 与chmod一样,对文件夹内的全部内容应用相同的规则

        选项 :用于分隔用户和用户组

        

         setfacl命令和getfacl命令:

命令格式:setfacl 选项 归属关系:用户名:权限 文档

常用选项:-m 设置权限-x 删除指定用户权限-b 删除所有用户权

一、setfacl的优势:
1.更细粒度的权限控制
ACL(通过 setfacl 设置)允许为文件和目录的多个用户和组设置更细粒度的权限。你可以为特定用户或组指定特定的权限,而不仅仅是所有者和所属组。

2.支持多个用户和组
传统权限模型只能指定一个文件的所有者和一个组。这限制了对复杂权限结构的支持。

ACL 允许为多个用户和组分别设置不同的权限。这对于需要复杂权限配置的环境非常有用,例如当一个文件需要允许多个用户不同级别的访问权限时:

setfacl -m g:groupname:rx file.txt

#这条命令为用户组 groupname 设置 file.txt 文件的读和执行权限。

 

        chgrp命令: 

        作用:改变文件或者目录的所属组

        语法:chgrp [最终用户组] [文件或目录]    

history命令: 

        直接输入history,就可以查看到历史输入过的命令。

        

                ! 加命令前缀,可以自动匹配上一个命令

        

Ctrl+r快捷键:

         同时按下Ctrl+r可以进入搜索模式,作用为搜索历史命令。

        

yum命令: 

        yum:用于自动化安装配置Linux软件,并自动解决依赖问题。

        语法:yum  [ -y ]  [ install | remove | search ]  程序名

        选项:-y,自动确认,无需手动确认安装或卸载过程

        install:安装

        remov:卸载

        search:搜索

        注意:yum命令需要root权限,可以用su命令切换到root,也可以用sudo命令给yum命令提权。(需要连接网络)

systemctl命令: 

        Linux系统的很多软件(内置或第三方)均支持使用systemctl命令控制:启动,停止,开机自启,能够被systemctl管理的软件,一般也称为:服务

        语法:systemctl start  |  stop  |  status  |  enable  |  disable  服务名

        start 启动

        stop 停止

        status 查看状态

        enable 开启开机自启

        disable 关闭开机自启

        系统内置的服务比较多,比如:

        NetworkManager,主网络服务

        network,副网络服务

        firewalld,防火墙服务

        sshd,ssh服务(Finalshell远程登录Linux使用的就是这个服务)

ln命令创建软链接:

        相当于快捷方式

        软连接特点:软连接可以跨分区,可以对目录进行链接,源文件删除后,链接文件不可用

        软连接命令格式:ln -s 源文件路径 目标路径

        注意:创建链接时一定要写目录或文件的绝对路径,哪怕是在当前路径下,也要写绝对路径

        硬链接特点:硬连接不可以跨分区,不可以对目录进行链接,源文件删除后,链接文件仍然可用

        硬连接命令格式:ln 源文件路径 目标路径

        语法:ln  -s  参数1  参数2

        -s选项:创建软链接

        参数1:被链接的文件或文件夹

        参数2:要链接去的目的地

ping命令:

        语法:ping  [-c num]  ip或主机名

        选项:-c,检查次数,不使用-c将无限次查询

        参数:ip或主机名,被检查的服务器的ip地址或主机名地址

wget命令:

         wget是非交互式的文件下载器,可以在命令行内下载网络文件

        语法:wget  [ -b ]  url

        选项:-b ,可选,后台下载,会将日志写入到当前工作目录的wget-log文件

        参数:url,下载链接

        通过tail命令可以监控后台下载进度:tail  -f  wget-log

        tail为监控命令,想了解该命令,请转至:Linux基础命令

curl命令:

        curl可以发送http网络请求,可用于:下载文件、获取信息等

        语法:curl  [-o]  url

        选项:-o ,用于下载文件,当url是下载链接时,可以使用此选项保存文件

        参数:url,要发起请求的网络地址

        示例:

        向cip.cc发起网络请求:curl  cip.cc

        

        向pthon.itheima.com发起网络请求(相当于直接用百度打开这个网页),会返回html的源码

       也可以用来下载文件。

uname命令:

        uname 命令用于显示系统内核信息

        命令格式:uname [-选项...]

        常用选项:-s :显示内核名称  -r :显示内核版本

nmap命令:

        使用nmap命令可以查看指定ip的对外暴露端口(已被占用端口)。

        语法:nmap  ip地址

        使用nmap命令前需要安装nmap,即:yum -y install nmap

        yum命令,需要在root用户下使用

        

        图中,被占用端口号为4个,127.0.0.1是一个特殊的IP地址,表示本机。该命令作用就是,查看本机被占用的一些端口。 

netstat命令:

        使用netstat命令可以查看本机指定端口号的占用情况。

        语法:netstat  -anp  |  grep  端口号

        上述命令是配合管道符和grep命令来使用的

        同样,netstat使用前也要使用yum命令下载

        yum -y install net-tools

        

        如图:0.0.0.0:111这个端口被占用,0.0.0.0与127.0.0.1一样表示本机。 

        为什么要查看端口呢?因为ip只能确定计算机,但是通过端口就能锁定要交互的程序。

        (ip就相当于小区,端口则相当于门牌号)

ps命令:

        语法:ps [ -e -f ]

        选项:-e,显示出全部的进程       

        选项:-f,以完全格式化的形式展示信息(展示全部信息)

        

UID:进程所属的用户ID

PID:进程的进程号ID

PPID:进程的父ID(启动此进程的其他进程)

C:此进程的cpu占用率

STIME:进程的启动时间

TTY:启动此进程的终端序号,如显示?,表示非终端启动

TIME:进程占用cpu的时间

 CMD:进程的启动路径

pstree命令: 

       语法: pstree  [-p  -u]#查看进程树

       选项 -p :显示进程id

       选项 -u:显示进程所属用户

       可同时使用

kill命令: 

        语法:kill  [ -9 ]  进程ID

        选项:-9,表示强制关闭进程。不使用此选项,会向进程发送信号要求其关闭,但是是否关闭还得看进程自身的处理机制。

top命令: 

        使用top命令可以,进行系统资源的监控

        语法:top

        top命令也支持选项:

        选项  功能

        - p 只显示某个进程的信息  如:top -p  1

        -d 设置刷新时间,默认是5s  如:top  -d  3

        -c 显示产生进程的完整命令  如:top  -c

        -n 指定刷新次数,刷新输出3次后退出  如:top  -n  3

        -i 不显示任何闲置或无用的进程  如:top  -i

        -u 查找指定用户(如:zhangjiajia)启动的进程  如:top  -u  zhangjiajia

        

 

        不使用-b选项打开时,默认为交互式。

        可以使用按键进行交互

        按键  功能

        h键    跳转到帮助画面        

        c键    显示产生进程的完整命令,和选项-c作用一样

        f键    可以选择需要展示的项目

        M键  根据驻留内存大小(RES)排序

        P键   根据cpu使用大小进行排序

        T键    根据时间/累计时间进行排序

        E键  切换顶部内存显示单位

        e键   切换进程内存显示单位

        l键    切换显示平均负载和启动时间信息

        i键    不显示闲置进程或无用进程,和选项-i作用一样

        t键    切换显示cpu状态信息

        m键  切换显示内存信息

pgrep命令:

pgrep 通过匹配其程序名,找到匹配的进程(检索进程)

命令格式:pgrep [选项...] [参数...]

常用选项:

-l #输出进程名与PID

-U #检索指定用户进程

-t #检索指定终端进程

-x #精确匹配完整进程名

free命令:

 /proc/meminfo文件用于存放系统内存信息

 free 用于查看内存使用情况

命令格式:free [-选项]

常用选项:-h #以人类易读方式显示大小(KB,MB,GB)

ifconfig命令:

        网卡配置文件地址: /etc/sysconfig/network-scripts/网卡名

        ifconfig 用于显示和设置网卡的参数

        命令格式: ifconfig [网卡名]    

df命令:

        使用df命令可以查看磁盘的使用情况

        语法:df  [ -h ]

        选项:-h 以更加人性化的单位显示

        

nslookup命令:

        nslookup用于查询域名解析是否正常,在网络故障时用来诊断网络问题

du 命令:

        作用:估计文件系统的磁盘已使用量,常用于查看文件或目录所占磁盘容量。du命令与df命令不同,df命令是统计磁盘使用情况,du命令是直接到文件系统内查找所有文件数据,所以命令执行时会耗费一点儿时间。

选项功能
-h以人们较易阅读的 GBytes,MBytes,KBytes等格式自行显示:
-a不仅查看子目录大小,还要包括文件
-c显示所有的文件和子目录大小后,显示总和
-s只显示总和
-max-depth=n指定统计子目录的深度为第n层
# 查看当前文件总占用
du -sh 

# 当前目录下所有文件磁盘占用
du -sh *

# 某文件夹下所有文件的磁盘占用
du -sh /home/*

# -c 显示总和
du -csh /home/*

iostat命令:

         iostat可以查看cpu、磁盘的相关信息

        语法:iostat  [ -x ]  [ num1 ] [ num2 ]

        选项:-x,显示更多信息

        num1:数字,刷新间隔,num2:数字,刷新几次

sar命令:

        可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)        

        语法:sar  -n  DEV   num1  num2

        选项:-n,查看网络,DEV表示查看网络接口

        num1:刷新间隔(不填就查看一次就结束),num2:查看次数(不填无限次数)

        

env命令: 

        可以用来查看当前系统中记录的环境变量

        语法:env  如:env  | grep  PATH

        环境变量是指操作系统在运行的时候,记录一些关键性的信息,用以辅助系统运行。

$符号:

        $符号用于取环境变量的值,不建议直接使用,建议配合echo命令使用

        语法:例如:echo  $PATH 、echo  $USER

        

export命令: 

        临时设置环境变量,

        语法:export 变量名=变量值

        永久生效:

                针对当前用户,配置在当前用户的:~/.bashrc文件中(用vi命令,如:vi  ~/.bashrc)

                在文件的最后输入export 变量名=变量值

                针对所有用户使用,配置在系统的:/etc/profile文件中

                通过语法:source配置文件,进行立刻生效,或重启生效

rz命令: 

        语法:直接输入rz即可

        使用rz命令可以上传文件

        也可以在桌面直接拖入

sz命令:

        语法:sz  要下载的文件

        使用sz命令可以下载文件到本地电脑

Linux的压缩格式:

        zip格式:Linux,Windows,MacOS,常用

        tar:Linux,MacOS,常用

        gzip:Linux,MacOS,常用

        .tar,归档文件,简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅只是简单的封装

        .gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大程度的减少压缩后的体积。

tar命令:

        语法:tar  [ -c  -v  -x  -f  -z  -c ] 参数1  参数2  .....  参数n

        -c,创建压缩文件,用于压缩模式

        -v,显示压缩,解压过程,用于查看进度

        -x,解压模式

        -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个

        -z,gzip模式,不使用-z就是普通的tarball格式

        -C,选择要解压的目的地,用于解压模式

        注意:

                -z选项使用时,一般处于选项第一个

                -f选项使用时,必须在选项最后一个

        常见压缩模式:tar  -cvf  test.tar   1.txt  2.txt  3.txt (将文件压缩到test.tar文件)

                                 tar  -zcvf  test.tar.gz  1.txt  2.txt  3.txt(将文件压缩到test.tar.gz中,使用gzip模式)

        常见的解压模式:tar -xvf  test.tar  (解压test.tar,将文件解压至当前目录)

                                     tar  -xvf  test.tar  -C  /home/itheima  (解压至/home/itheima) 

                                      tar  -zxvf  test.tar.gz  -C  /home/itheima  (以giz模式解压test.tar至/home/itheima) 

zip命令:

        使用zip命令,压缩文件为zip压缩包

        语法:zip  [ -r ] 参数1  参数2  ....  参数n        

        选项:-r 表示被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

         

unzip命令: 

        使用unzip命令可以方便的解压zip压缩包

        语法:unzip  [ -d ] 参数

        选项:-d表示要解压去的位置,和tar命令的-C选项功能一致

        参数:要被解压的zip压缩包文件

        

 lscpu命令:

        查看cpu信息

        语法:lscpu 或者  cat  /proc/cpuinfo

free命令:

        查看内存大小

        语法:free  或者  cat  /proc/meminfo

  lsblk命令:

        查看硬盘和分区情况

        语法:lsblk 或者  cat  /proc/partitions

fdisk命令:

        注意:该命令必须在 root 用户下才能使用

        语法:fdisk -l (功能描述:查看磁盘分区详情)

        fdisk  硬盘设备名 (功能描述:对新增硬盘进行分区操作)

        Linux 分区:
        Device:分区序列
        Boot:引导
        Start:从X磁柱开始
        End:到Y磁柱结束
        Blocks:容量
        Id:分区类型ID
        System:分区类型
        分区操作按键说明:
        m:显示命令列表
        p:显示当前磁盘分区
        n:新增分区
        w:写入分区信息并退出
        q:不保存分区信息直接退出

练习1:

1.命令行以$作为结尾代表什么含义? 普通用户

2.请写出Linux系统一般的命令格式? 命令字 [-选项...] [参数...]

3.在Linux系统下,如何辨别目录与文件及其他的文件? 白色:文件 蓝色:目录 浅蓝色:链接文件 绿色:可执行文件 红色:压缩文件 红色带闪动的文件:链接文件不可用 黄色:设备文件(硬盘,网卡,CPU,鼠标,键盘)

4.如何查看一个文件的详细属性? ls -l 文件名

5.如何查看一个目录本身的详细属性? ls -dl 目录名字

6.查看文件详细属性,并以KB、MB、GB的方式显示文件的大小? ls -lh 文件名

7.如何查看一个文件的inode号? ls -i 文件名

8.请写出Linux下文件和目录的三个归属关系? u 所有者 g 所属组 o 其他人

9.请写出Linux下基本权限的表示方式? r:读取,w写入,x执行

10.命令行以#作为结尾代表什么含义? 超级管理员

 练习2:

1.请在/tmp目录下创建student目录,并在student目录下同时创建t1、t2、t3文件 mkdir /tmp/student cd /tmp/student/ touch t1 t2 t3 touch /tmp/student/t1 /tmp/student/t2 /tmp/student/t3

2.请在/tmp目录下递归创建test1/test2/test3目录 mkdir -p /tmp/test1/test2/test3

3.切换到/tmp/test1/test2/test3目录下,并打印(查看)当前所在目录 cd /tmp/test1/test2/test3 pwd

4.请同时在/opt、/media目录下创建upload文件 touch /opt/upload /media/upload

5.请将/opt目录下的upload文件移动至/tmp/test1/test2/test3目录下,并改名为upload.bak mv /opt/upload /tmp/test/1/test/2/test3/upload.bak

6.请将/etc/passwd文件拷贝至/opt目录下,改名为passwd.bak,并保持属性不变 cp -p /etc/passwd /opt/passwd.bak

7.请将/etc/fstab文件拷贝至/opt目录下,并改名为fstab.bak cp -p /etc/fstab /opt/fstab.bak

8.请将/etc/sysconfig/network-scripts/ifcfg-ens32 文件拷贝至/opt目录下,并改名为ens32.bak cp /etc/sysconfig/network-scripts/ifcfg-ens32 /opt/ens32.bak

9.请删除/etc/yum.repos.d/目录下所有内容 rm -rf /etc/yum.repos.d/*

10.请在/etc/yum.repos.d/目录下创建local.repo文件 touch /etc/yum.repos.d/local.repo

11.请查看/etc/sysconfig/network-scripts/ifcfg-ens32文件末尾5行内容 tail -5 /etc/sysconfig/network-scripts/ifcfg-ens32 tail -n 5 /etc/sysconfig/network-scripts/ifcfg-ens32 12.请查看/etc/passwd文件第1行内容 head -n 1 /etc/passwd head -1 /etc/passwd

13.请查看/etc/hostname文件内容 cat /etc/hostname

14.请查看/etc/hosts文件内容 cat /etc/hosts

15.请说出软连接与硬连接的特点 软连接:可以跨分区,可以对目录链接,源文件删除后链接文件不可用 硬连接:不可以跨分区,不可以对目录进行连接,源文件删除后,链接文件以然可用

16.请在/opt目录下创建hello.soft文件,并创建软连接到/tmp目录下 touch /opt/hello.soft ln -s /opt/hello.soft /tmp

17.请在/opt目录下创建hello.hard文件,并创建硬连接到/tmp目录下,并查看连接文件详细属性 touch /opt/hello.hard ln /opt/hello.hard /tmp

18.如何获取ls命令的帮助信息? man ls ls --help

19.请说出Linux系统的运行级别 0:关机 1:单用户模式 2:多用户模式(没有NFS) 3:完全多用户模式,标准运行级别 4:保留 5:带GUI图形化界面,标准的运行级别 6:系统关闭并重启

20.如何重启Linux系统? reboot init 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值