常用命令

apt安装软件包

点击这里,看视频讲解,学习下面内容

在 Ubuntu上,安装软件通常使用 apt (全称 Advanced Packaging Tool) 软件包管理工具安装。

apt 能够从指定的 apt 源服务器自动下载安装包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。


!!! 注意:视频上讲的要更换 apt 源服务器, 但是那是老版本的才需要。

Ubuntu 24 以后的新版本不需要这样的操作了。

系统会根据你的IP地址选择合适的源 ,目前国内使用的是清华大学的源。


apt 命令用法

apt install package1 

安装指定的安装包package1, 比如 apt install net-tools

apt list --installed

显示所有已经安装的程序包

apt list package1

显示指定程序包package1的安装情况

apt remove package1 

删除程序包package1


启动、重启、关闭服务


点击这里,看视频讲解,学习下面内容

Linux上有些软件程序是以服务的形式安装的,比如 SSH 服务、 MySQL服务、 nginx服务等。

这些 软件 的启动、重启、关闭 要使用特殊的命令

在当前的 Ubuntu 系统上,使用命令 systemctl 来 启动、重启、关闭 服务。

比如,

要查看 服务 ssh 状态, 执行命令 systemctl status ssh

要启动 服务 ssh, 执行命令 systemctl start ssh

要重启 服务 ssh, 执行命令 systemctl restart ssh

要关闭 服务 ssh, 执行命令 systemctl stop ssh


打包与压缩


点击这里,看视频讲解,学习下面内容

打包

Linux下打包的最常用命令是tar 命令,可将多个文件、目录打包到一个文件中。

下面是使用tar命令打包的操作演示:

在当前工作目录下面创建3个文件,使用下列命令:

touch  123.txt  456.txt  789.txt

将这3个文件放到一个文件包files.tar,使用下列命令:

tar  cvf  files.tar  123.txt   456.txt  789.txt

也可以使用通配符,如 *.txt,这样的格式代表以txt结尾的文件

tar  cvf  files1.tar   *.txt  

tar命令同样可以打包目录,假设 当前目录下 byhy是一个子目录,byhy.txt是一个文件

tar cvf byhy.tar  ./byhy  byhy.txt

这个命令就把目录 byhy 和 文件 byhy.txt 都 打包到 文件 byhy.tar 中了。


要 将 上面创建的 files1.tar 解压到当前目录,使用下列命令:

tar  xvf   files.tar 

如果只是想查看 上面创建的 files1.tar 内容,使用下列命令:

tar  tvf   files.tar 

如果想 在 files1.tar中 添加 新文件 newfile,使用下列命令:

tar  rvf  files.tar  newfile

注意:tar命令只是把文件、目录打包到一个文件中。 并不会压缩文件


压缩


点击这里,看视频讲解,学习下面内容

gzip命令用于文件的压缩与解压缩,压缩后的文件名后缀为“.gz”

比如

要 压缩文件abc.txt ,执行命令

gzip abc.txt

这样就产生了一个名为 abc.txt.gz 的压缩后的文件

要 解压文件abc.txt.gz,执行命令

gzip -d abc.txt.gz

tar工具与gzip工具联合使用,实现打包并压缩、解压缩并解包功能

假设 在当前目录有如下3个文件 touch 111.txt 222.txt 333.txt

我们要,打包并压缩这3个文件,放到压缩包文件 byhy.tar.gz里面,使用下面命令:

tar zcvf   byhy.tar.gz   *.txt 

解压缩并解包,使用下面命令:

tar zxvf  byhy.tar.gz 

● bzip2、zip 压缩、解压

bzip2 和 zip 也是常见的压缩解压工具, 使用方法和 gzip 类似

如下


---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip -r FileName.zip DirName
---------------------------------------------

注意:如果你的Linux上没有安装 bzip2、zip、unzip,可以执行命令 apt install bzip2 zip unzip 来安装

top 查看系统进程的动态运行情况


点击这里,看视频讲解,学习下面内容

执行top命令可以查看 当前系统中,运行的进程的信息,比如

[root@localhost ~]# top

top - 14:01:00 up 15:52,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  97 total,   1 running,  96 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  2895572 total,  2507692 free,   118824 used,   269056 buff/cache
KiB Swap:  3145724 total,  3145724 free,        0 used.  2598756 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 2041 root      20   0       0      0      0 S  0.3  0.0   0:03.60 kworker/0:3
    1 root      20   0  127960   6580   4104 S  0.0  0.2   0:01.91 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.29 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    6 root      20   0       0      0      0 S  0.0  0.0   0:00.05 kworker/u2:0
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S  0.0  0.0   0:01.94 rcu_sched
   10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-dra+
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.48 watchdog/0
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
   14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
   15 root      20   0       0      0      0 S  0.0  0.0   0:00.01 khungtaskd
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset

● CPU 整体负载

在这行显示了 CPU 整体负载

Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st

● 各个CPU 的负载(按键盘1,可以在整体cpu和所有cpu之间切换)

Cpu0  :  0.3%us,  0.3%sy,  0.0%ni, 97.7%id,  1.3%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

缺省情况下,进程列表里就是按CPU占用率来排序的。

如果不是,可以按快捷键大写的P要求top按照CPU占用率来排序。(按b,再按x可以显示当前排序列)

KiB Mem :  2895572 total,  2507692 free,   118824 used,   269056 buff/cache
KiB Swap:  3145724 total,  3145724 free,        0 used.  2598756 avail Mem

注意:上面显示 2507692 free,并非只有 2507692 的内存可用。

因为 buffer 和 cache 部分的内存都是临时缓存用了, 其实也是可用的内存

实际可用的内存大概是 free + buffers + cached

按快捷键大写的 M 可以 对进程列表按照内存使用率来排序


查看系统内存使用情况

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2827         115        2449           8         262        2538
Swap:          3071           0        3071

查看设置系统时间

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

[byhy@localhost ~]$ date
Mon Nov 7  23:25:05 PST 2018
# date -s 20161109
# date -s 21:05:50

查看系统版本

# uname -a
Linux byhy-server 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

说明 5.4.0 为Linux内核的版本。

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

其中,显示Ubuntu发行版本为 20.04 版本


作业和练习

请使用 root 账号本机直接登录登录 Linux,依次执行下面的操作