Linux 系统编程-开发环境(二)

目录

[7 压缩包管理](#7 压缩包管理)

[7.1 tar](#7.1 tar)

[7.2 rar](#7.2 rar)

[7.3 zip](#7.3 zip)

[8 进程管理](#8 进程管理)

[8.1 who](#8.1 who)

[8.2 ps](#8.2 ps)

[8.3 jobs](#8.3 jobs)

[8.4 fg](#8.4 fg)

[8.5 bg](#8.5 bg)

[8.6 kill](#8.6 kill)

[8.7 env](#8.7 env)

[8.8 top](#8.8 top)

[9 用户管理](#9 用户管理)

[9.1 创建用户](#9.1 创建用户)

[9.2 设置用户组](#9.2 设置用户组)

[9.3 设置密码](#9.3 设置密码)

[9.4 切换用户](#9.4 切换用户)

[9.5 root用户](#9.5 root用户)

[9.6 删除用户](#9.6 删除用户)

[10 网络管理](#10 网络管理)

[10.1 ifconfig](#10.1 ifconfig)

[10.2 ping](#10.2 ping)

[10.3 netstat](#10.3 netstat)

[10.4 nslookup](#10.4 nslookup)

[10.5 finger](#10.5 finger)

[11 常用服务器构建](#11 常用服务器构建)

[11.1 ftp](#11.1 ftp)

[11.1.1 ftp服务器](#11.1.1 ftp服务器)

[11.1.2 ftp客户端](#11.1.2 ftp客户端)

[11.1.3 lftp客户端](#11.1.3 lftp客户端)

[11.2 nfs](#11.2 nfs)

[11.3 ssh](#11.3 ssh)

[11.4 scp](#11.4 scp)

[11.5 telnet](#11.5 telnet)

[12 其它命令](#12 其它命令)

[12.1 终端翻页](#12.1 终端翻页)

[12.2 man](#12.2 man)

[12.3 clear](#12.3 clear)

[12.4 alias](#12.4 alias)

[12.5 echo](#12.5 echo)

[12.6 date](#12.6 date)

[12.7 umask](#12.7 umask)

[12.8 创建终端](#12.8 创建终端)

[13 关机重启](#13 关机重启)

[13.1 poweroff](#13.1 poweroff)

[13.2 shutdown](#13.2 shutdown)

[13.3 reboot](#13.3 reboot)

[13.4 查看内核版本信息](#13.4 查看内核版本信息)

[13.5 查看发行版信息](#13.5 查看发行版信息)

[13.6 查看空闲内存](#13.6 查看空闲内存)

[14 练习](#14 练习)

[15 需要安装的组件](#15 需要安装的组件)


7 压缩包管理

7.1 tar

tar [主选项+辅选项] 文件或者目录
tar可以为文件和目录创建档案。利用tar命令用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。使用该命令时,主选项是必须要有的,辅选项是辅助使用的,可以选用。 主选项包括:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。(常用)

辅选项包括:

f 使用档案文件或设备,这个选项通常是必选的。(常用)
k 保存已经存在的文件。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。(常用)
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。(常用)
j 用bzip2来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。(常用)

要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
打包:

tar cvf dir.tar dir
tar xvf dir.tar dir

打gz压缩包:

tar zcvf dir.tar.gz dir
tar zxvf dir.tar.gz

打bz2压缩包:

tar jcvf dir.tar.bz2 dir
tar jxvf dir.tar.bz2

指定目录解压缩:

tar zxvf dir.tar.gz -C ~/test

7.2 rar

打包:把dir压缩成newdir.rar
rar a -r newdir dir
解包:把newdir.rar解压缩到当前目录

unrar x newdir.rar

7.3 zip

打包:

zip -r dir.zip dir

解包:

unzip dir.zip

8 进程管理

8.1 who

查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将显示以下三项内容:
login name:登录用户名;
terminal line:使用终端设备;
login time:登录到系统的时间。

8.2 ps

ps [选项]
ps命令用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。选项部分如下:

-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
-r 只显示正在运行的进程。
-a:即all,查看当前系统所有用户的所有进程
-u:查看进程所有者及其他一些详细信息
-x:显示没有控制终端的进程

这个命令参数有很多,但一般的用户只需掌握一些最常用的命令参数就可以了。 最常用的三个参数是u、a、x, 我们首先以root身份登录系统,查看当前进程状况。

Head标头:

  1. ss状态

    • S:睡眠状态(Sleeping or interruptible sleep)指示进程正在等待某个事件的发生。这个事件可能是IO操作的完成、等待用户输入等。当进程处于这个状态时,它是可以被中断的,响应系统信号。

    • R:运行状态(Running)表示进程正在运行或准备运行。进程正在执行指令或者正在等待CPU时间片以继续执行。

    • D:不可中断状态(Uninterruptible sleep)指示进程正在等待某个事件,但这个状态不可被中断。通常是由于进程正在执行系统调用或者等待IO操作的完成。

    • T:停止状态(Stopped)表示进程已被停止,通常由用户或其他进程发送的信号导致。进程在停止状态下不会执行任何指令。

    • Z:僵尸状态(Zombie)表示进程已经终止执行,但是其父进程尚未处理该进程的退出状态。僵尸进程会继续占用系统资源,直到被其父进程收回。

  2. s+状态

    • S+:使用s表示睡眠状态(Sleeping or interruptible sleep),表示进程处于可中断的睡眠状态。
    • R+:使用R表示运行状态(Running),表示进程正在运行

8.3 jobs

用来显示当前shell 下正在运行哪些作业(即后台作业)

$ cat

(按下Ctrl-z挂起当前进程)

[1]+ Stopped
cat
$ cat

(按下Ctrl-z挂起当前进程)

[1]+ Stopped
cat
$ jobs
[1]- Stopped
cat
[2]+ Stopped
cat
第一列方括号中的数字表示作业序号,它是由当前运行的shell 分配的,而不是由操作系统统一分配的。在当前shell 环境下,第一后台作业的作业号为1,第二作业的作业号为2,等等。第二列中的"+"号表示相应作业的优先级比"-"号对应作业的优先级高。第三列表明作业状态,是否为运行、中断、等待输入或停止等。最后列出的是创建当前这个作业所对应的命令行。

8.4 fg

fg [job...]

把指定的后台作业或挂起作业移到前台运行。 参数job是一个或多个进程的PID,或者是命令名称,或者是作业号(作业号前面要带一个%号)。通常在shell中输入命令启动进程后,如果该进程需要与用户交互,那么此后用户的键盘输入都被该进程读取,直到该进程退出后才出现shell提示符$,这种进程为前台进程。如果在命令行的末尾加上&字符,则shell为这个命令创建一个后台进程,它虽然也可以输出到屏幕,但是不能读取键盘输入,不管执行命令的进程有没有退出都立刻回到shell提示符接受下一条命令的输入。如果该进程也需要读取键盘输入,则被挂起等待直到用户用fg命令把它变成前台进程。如果一个命令需要较长的处理时间并且不需要与用户交互,就适合把它放在后台执行。

8.5 bg

bg [job...]
把被挂起的进程提到后台执行。 其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要带%号。

$ cat

(按下Ctrl-z挂起当前进程)

[1]+ Stopped
cat
$ bg %1
[1]+ cat &
(再回车一次) \[1\]+ Stopped cat fg %1
cat
(按Ctrl-d输入文件结束符)
$

8.6 kill

向指定进程发送信号

kill [ -signal | -s signal ] pid ...

查看信号编号
kill -l [ signal ]
给一个进程发信号,或终止一个进程的运行。

kill命令如果不带参数而直接跟pid,就是发给该进程SIGTERM信号,大部分进程收到该信号就会终止。但是被挂起的进程不能处理信号,所以必须发SIGKILL信号,由系统强制终止进程。

8.7 env

查看当前进程环境变量
$env
* vim /.bashrc
配置当前用户环境变量
* vim /etc/profile
配置系统环境变量,配置时需要有root权限

export PATH=$PATH:新路径

8.8 top

top命令在Linux中用于实时监视系统的关键性能指标和运行中的进程。它提供了一个动态更新的任务管理器,可以显示CPU、内存、磁盘IO、网络等系统资源的使用情况,同时还列出了当前运行的进程的详细信息。

9 用户管理

9.1 创建用户

sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcast
sudo useradd -s /bin/sh -g group -G adm,root xwp
此命令新建了一个用户xwp,该用户的登录Shell是/bin/sh,他属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
-s 指定新用户登陆时shell类型
-g 指定所属组,该组必须已经存在
-G 指定附属组,该组必须已经存在
-d 用户家目录
-m 用户家目录不存在时,自动创建该目录

9.2 设置用户组

sudo groupadd itcast

9.3 设置密码

sudo passwd itcast

9.4 切换用户

su 用户名

su itcast

9.5 root用户

变成root用户

sudo su

设置root密码

passwd

9.6 删除用户

userdel 选项 用户名
常用的选项是-r,他的作用是把用户的主目录一起删除。 例如:
sudo userdel -r itcast
此命令删除用户itcast在系统文件(主要是/etc/passwd,/etc/shadow,/etc/group等)中的记录,同时删除用户的主目录。

10 网络管理

安装

10.1 ifconfig

1.查看网卡信息
ifconfig
2.关闭网卡
sudo ifconfig eth0 down
3.开启网卡eth0
sudo ifconfig eth0 up
4.给eth0配置临时IP
sudo ifconfig eth0 IP

10.2 ping

ping [选项] 主机名/IP地
查看网络上的主机是否在工作。它向该主机发送ICMP ECHO_REQUEST包。有时我们想从网络上的某台主机上下载文件,可是又不知道那台主机是否开着,就需要使用ping命令查看。
命令中各选项的含义如下:

-c 数目 在发送指定数目的包后停止。
-d 设定SO_DEBUG的选项。
-f 大量且快速地送网络封包给一台机器,看它的回应。
-I 秒数 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l 次数 在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q 不显示任何传送封包的信息,只显示最后的结果。
-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s 字节数 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

10.3 netstat

netstat [选项]
显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。命令中各选项的含义如下:

-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同"ifconfig -e"。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同"route -e"。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。

10.4 nslookup

nslookup name
查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。不带参数使nslookup命令时,出现提示符">",在后面输入要查询的IP地址或域名并回车即可。如果要退出该命令,输入exit并回车即可。

itcast@ubuntu:~$ nslookup
> www.itcast.cn
Server:
127.0.0.1
Address:
127.0.0.1#53
Non-authoritative answer:
Name:
www.itcast.cn
Address: 115.29.149.42
>

10.5 finger

finger [-lmsp] user [user@host ...] 查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接"@主机名",采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。 命令中各选项的含义如下:
-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。

itcast@ubuntu:~$ finger itcast
Login: itcast
Name: itcast
Directory: /home/itcast
Shell: /bin/bash
On since Mon Sep 8 08:55 (CST) on tty7 14 hours 48 minutes idle
On since Mon Sep 8 21:57 (CST) on pts/1 from :0
11 minutes 18 seconds idle
On since Mon Sep 8 23:12 (CST) on pts/2 from :0
6 seconds idle
No mail.
No Plan.

11 常用服务器构建

11.1 ftp

11.1.1 ftp服务器

1.安装vsftpd服务器

sudo apt-get install vsftpd

2.配置vsftpd.conf文件

sudo vi /etc/vsftpd.conf

添加下面设置

anonymous_enable=YES
anon_root=/home/itcast/ftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=0022
3.重启服务器,重新加载/etc/vsftpd.conf配置文件
注意:在重启服务器前要在/home/itcast目录下创建好ftp目录。

ubuntu12.04下

sudo /etc/init.d/vsftpd restart
ubuntu14.04下
sudo /lib/init/upstart-job vsftpd restart
4.进入你的/home/itcast/ftp目录下创建一个空目录,供用户上传
cd ~/ftp
mkdir anonymous
chmod 777 anonymous

5.测试上传功能,登陆ftp服务器,进入到anonymous目录

ftp IP
cd anonymous

6.上传命令,可以把你当前目录下的文件上传到ftp服务器的anonymous目录

put somefile
get somefile

11.1.2 ftp客户端

Ubuntu 默认已经安装ftp客户端

11.1.3 lftp客户端

lftp也是一种 ftp客户程序。它是以文本方式操作的,但是比起图形界面更为方便。lftp几乎具有bash的所有方便功能,Tab 补全,bookmark, queue, 后台下载等可以得到支持。用法与ftp类似,主要的指令如下:

put 上传文件
mput 上传多个文件
get 下载文件
mget 下载多个文件
mirror 下载整个目录及其子目录
mirror --R 上传整个目录及其子目录
!command 调用本地shell执行命令command
注意,有的发行版可能缺省没有安装lftp工具,需要用户自己安装。如果是Debian或 Ubuntu系统,则安装lftp软件包。
sudo apt-get install lftp

11.2 nfs

1.安装nfs服务器

sudo apt-get install nfs-kernel-server

2.设置/etc/exports配置文件

sudo vi /etc/exports

添加这行配置

/home/用户名/nfs *(rw,sync,no_root_squash)

3.在用户目录下创建nfs目录

mkdir /home/用户名/nfs

4.重启服务器,重新加载配置文件

sudo /etc/init.d/nfs-kernel-server restart
充当nfs服务器的主机,启动服务以后,可以使用showmount -e 查看共享出来的目录

5.在/home/用户名/nfs目录下创建测试文件hello

cd /home/用户名/nfs
touch hello

6.测试服务器,把服务器共享目录nfs挂在到/mnt节点
sudo mount -t nfs -o nolock -o tcp IP:/home/用户名/nfs /mnt
7.进入/mnt目录可以看到hello文件,表示构建成功
8.卸载网络共享目录
sudo umount /mnt
补充常见错误

(1).虚拟机下,mount 之前使用install nfs-common可以结决虚拟机不能mount实体系统的情况。
(2).如在mount期间出现类似"超级坏块"错误导致无法挂载,很有可能是因为nfs-kernel-server未安装

11.3 ssh

1.安装ssh服务器

sudo apt-get install openssh-server

2.远程登陆
ssh 用户名@IP
使用ssh访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件解决。

11.4 scp

远程拷贝文件,scp -r 的常用方法:
1.使用该命令的前提条件要求目标主机已经成功安装openssh-server
如没有安装使用 sudo apt-get install openssh-server 来安装
2.使用格式:

scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径
举例:
scp -r itcast@192.168.1.100:/home/itcast/QQ_dir/ ./mytest/lisi
在后续会提示输入"yes"此时,只能输"yes"而不能简单输入"Y"

拷贝单个文件可以不加 -r参数,拷贝目录必须要加。

11.5 telnet

明文传输数据,请大家自行测试

12 其它命令

12.1 终端翻页

Shift-pageup
Shift-pagedown

12.2 man

看手册(叫做manual或man page)。每一个命令和系统函数都有自己的man page。

man man
man read 查看read命令的man page
man 2 read 查看read系统函数的man page(在第二个section中,表示为read(2))
man -k read 以read为关键字查找相关的man page

12.3 clear

清屏。使光标和提示符回到屏幕第一行。

命令:clear
快捷键:Ctrl-l

12.4 alias

alias [-p] name=value ...
将value字符串起个别名叫 name,以后在命令行输入 name,shell自动将其解释为value,如果不带参数执行本命令,或以参数-p执行,则显示当前定义的别名列表。

$ alias
alias ls='ls --color=auto'
alias rm='rm -i'

防止rm误删除,把下面这段代码写到*∼*/.bashrc里最后面。

mkdir -p ~/.trash
alias rm=trash
trash()
{
mv $@ ~/.trash/
}

12.5 echo

echo [-n] 字符串
在显示器上显示一段文字,一般起到一个提示的作用。其中选项n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。查看上一个程序退出数值,正常情况程序退出值是0

echo $?

12.6 date

查看当前时间

12.7 umask

umask [-p] -S [mode]
umask指定用户创建文件时的掩码,其中的mode和chmod的命令中的格式一样。如果不用mode参数,则显示当前的umask设置。如果用-S参数,则以符号形式显示设置。

$ umask
0022
$ umask -S
u=rwx,g=rx,o=rx
比如该用户touch或gedit创建一个文件,则其默认权限为-rw-r-r--,如果该用户创 建一个可执行文件(比如编译生成的程序),则其默认权限为-rwxr-xr-x。也就是说,由于umask的设定,创建的文件默认是不具有g的w权限和o的w权限的,除非用chmod更改权限。

12.8 创建终端

创建终端标签 Ctrl + Shift + t
切换标签 Alt+n(n=1)
新开终端 Ctrl + Shift + n

13 关机重启

关机重启这些操作都需要有root权限

13.1 poweroff

13.2 shutdown

shutdown -t 秒数 [-rkhncfF] 时间 [警告讯息]

-t 秒数 : 设定在切换至不同的runlevel之前, 警告和删除二讯号之间的延迟时间(秒).
-k : 仅送出警告讯息文字, 但不是真的要 shutdown.
-r : shutdown 之後重新开机.
-h : shutdown 之後关机.
-n : 不经过 init , 由 shutdown 指令本身来做关机动作.(不建议你用)
-f : 重新开机时, 跳过 fsck 指令, 不检查档案系统.
-F : 重新开机时, 强迫做 fsck 检查.
-c : 将已经正在 shutdown 的动作取消.

例子:

shutdown -r now 立刻重新开机
shutdown -h now 立刻关机
shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有真的关机
shutdown -t3 -r now 立刻重新开机, 但在警告和删除processes 之间, 延迟3秒钟.
shutdown -h 10:42 'Hey! Go away!' 10:42 分关机
shutdown -r 10 'Hey! Go away!' 10 分钟後关机
shutdown -c 将刚才下的 shutdown 指令取消,必须切换至其它tty, 登入之後, 才能下此一指令.
shutdown now 切换至单人操作模式(不加任何选项时)
注意事项:
时间参数务必要加: 不是用 now, 便是用 hh:mm 或 mm now 其实就是 0 的意思

13.3 reboot

重启系统

13.4 查看内核版本信息

uname -a

13.5 查看发行版信息

lsb_release -a

13.6 查看空闲内存

free -m

14 练习

1.创建test目录,在里面创建aa bb cc三个目录,在aa里创建hello文件,在bb里创建 world目录,在cc里创建itcast.c,然后执行tree/ls -R,最后删除test

  1. 打开终端。

  2. 创建test目录:输入以下命令并按下Enter键。

    插入代码复制代码
    mkdir test

    这将在当前目录下创建一个名为test的目录。

  3. 进入test目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd test

    现在你在test目录中进行操作。

  4. 创建aa、bb和cc目录:输入以下命令并按下Enter键。

    插入代码复制代码
    mkdir aa bb cc

    这将在test目录下创建名为aa、bb和cc的三个子目录。

  5. 进入aa目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd aa

    现在你在aa目录中。

  6. 创建hello文件:输入以下命令并按下Enter键。

    插入代码复制代码
    touch hello

    这将在aa目录中创建一个名为hello的空文件。

  7. 退出aa目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd ..

    现在你回到了test目录。

  8. 进入bb目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd bb

    现在你在bb目录中。

  9. 创建world目录:输入以下命令并按下Enter键。

    插入代码复制代码
    mkdir world

    这将在bb目录中创建一个名为world的子目录。

    退出bb目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd ..

    现在你回到了test目录。

  10. 进入cc目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd cc

    现在你在cc目录中。

  11. 创建itcast.c文件:输入以下命令并按下Enter键。

    插入代码复制代码
    touch itcast.c

    这将在cc目录中创建一个名为itcast.c的空文件。

  12. 退出cc目录:输入以下命令并按下Enter键。

    插入代码复制代码
    cd ..

    现在你回到了test目录。

  13. 查看目录结构:使用tree命令或者ls -R命令都可以显示目录结构。输入以下命令并按下Enter键。

    • 使用tree命令: 插入代码复制代码

      tree

    • 使用ls -R命令: 插入代码复制代码

      ls -R

    这将显示test目录及其子目录和文件的树状结构或分层列表。

  14. 删除test目录及其内容:输入以下命令并按下Enter键。

    插入代码复制代码
    rm -r test

    这将递归地删除test目录及其所有子目录和文件。

请注意,在执行删除操作之前,请务必确保你确实想要删除这些目录和文件,并且已经备份了重要的数据。

15 需要安装的组件

sudo apt-get install openssh-server
sudo apt-get install nfs-kernel-server
sudo apt-get install vsftpd

相关推荐
花姐夫Jun7 分钟前
在 CentOS 8 系统上安装 Jenkins 的全过程
linux·centos·jenkins
运维&陈同学13 分钟前
【Beats01】企业级日志分析系统ELK之Metricbeat与Heartbeat 监控
运维·elk·elasticsearch·云原生·kibana·heartbeat·metricbeat
地球资源数据云15 分钟前
全国30米分辨率逐年植被覆盖度(FVC)数据集
大数据·运维·服务器·数据库·均值算法
是店小二呀23 分钟前
【Linux】Linux开发利器:make与Makefile自动化构建详解
linux·运维·自动化
baihb10241 小时前
Jenkins 构建流水线
运维·jenkins
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea1 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
深海的鲸同学 luvi1 小时前
【HarmonyOS NEXT】hdc环境变量配置
linux·windows·harmonyos
dowhileprogramming2 小时前
Python 中的迭代器
linux·数据库·python
过过过呀Glik2 小时前
在 Ubuntu 服务器上添加和删除用户
linux·服务器·ubuntu