Linux笔记整理


#!/bin/sh
指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后表示解释此脚本程序路径。可用各种各样的解释器来写对应的脚本,例如:/bin/bash,/bin/perl

local本地变量
shell脚本中定义的变量默认是global的,其作用域从被定义的地方开始,到shell结束。
函数内定义的变量可被显式地定义为local的,其作用域局限于函数内。

set指令
set的+和-选项用于关闭或者打开某些特性,有多种特性,例如-x特性,
set -x与set +x指令用于脚本调试:set -x 开启调试   set +x 关闭调试   set -o 查看调试
想知道脚本内部执行的变量值或执行结果,这时可在脚本内部指定set -x 
set的--选项表示将参数值传给位置参数($1,$2...),例如:
set -- p1 p2 -host -4
echo $@
  p1 p2 -host -4
echo $1,$2,$3,$4
  p1 p2 -host -4

chmod指令
chmod +x variable

shift指令
   位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。
   不带参数的shift命令相当于shift 1,shift 1命令每执行一次,变量的个数($#)减一,而变量值提前一位

cut/awk/sed/grep
---cut用于对数据进行“列”的提取操作(语法:cut [选项] [file]),例如:cut -d ':' -f 1,3 ./package.json表示以:为分隔符,截取package.json第一列和第三列内容
   cut命令缺点是不能以空格作为分隔符,解决办法是使用awk命令
---awk用于对数据进行“列”的提取操作(语法:awk '条件1 {执行动作} 条件2 {执行动作} ' 文件名),提示:条件是可以省略的
   比cut功能更强大,支持条件判断,数组,循环等功能。它先一行一行的按行读取数据,然后再按列提取数据。
   awk '{print $1}' /etc/passwd表示打印/etc/passwd文件第一列,{print $1}表示执行动作,根据awk的语法,我们并没有添加条件,awk默认把一整行当成一列
   awk -F ':' '{print $1}' /etc/passwd或cat /etc/passwd | awk -F ':' '{print $1}',表示根据“:”进行分隔,若不指定-F ':',默认以空格分隔
   df -h | awk 'NR==1 {print $1}' 表示打印df -h命令输出内容的第一行第一列(未指定-F参数,默认以空格进行列分隔)
   df -h | awk '(NR>=2 && NR <=5) {print $1}' 表示打印第二行到第五行的第一列,df -h | awk '{print $NF}'表示打印最后一列
---sed命令主要对数据进行处理(选取,新增,替换,删除,搜索,语法:sed [选项] [动作] 文件名)
   df -h | sed -n '2p' 表示打印第二行内容;df -h | sed '2d' 表示将打印内容的第二行删除;
   df -h | sed '2a 123456表示在第2行下面插入123456;df -h | sed '2i 123456表示在第2行上面插入123456
   df -h | sed '2c 1234567890' 表示将第2行内容替换为1234567890;sed -n '/zh/p' 123.txt 表示搜索123.txt中包含‘zh’的行,并打印出来
   df -h | sed 's/容量/size/g' 表示将打印内容的容量替换为size;sed -i 's/cong/科技/g' 123.txt 表示将文件中的'cong'替换为'科技'
   
---grep家族总共有三个:grep,egrep,fgrep,用于查找过滤内容。常用选项:-i忽略大小写,--color将匹配到的内容以高亮显示,-o只显示被模式匹配到的字符串


$0/$1/$2/...位置变量
$0表示当前shell脚本名,$1传给当前脚本的第1个参数,$2传给当前脚本的第2个参数,...
$#表示传给脚本的参数个数。
$*或$@表示所有参数列表,两者区别在于返回数据格式不一样。
$$表示当前脚本运行的进程ID号。
$!表示后台运行的最后一个进程的进程ID号。
$?表示上一个命令的返回值(显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)

通过$?变量可获取exit的数值,一般用来判断程序是否正常结束,用于进行shell脚本业务流程控制:
exit 0:正常运行程序并退出程序,为0即表示程序运行正常
exit 1:非正常运行导致退出程序,也可以约定为其他数字,表示不同异常情况,不为0即表示程序运行出错

整数比较
-eq     等于,如:if ["$a" -eq "$b" ]
-ne     不等于,如:if ["$a" -ne "$b" ]
-gt     大于,如:if ["$a" -gt "$b" ]
-ge    大于等于,如:if ["$a" -ge "$b" ]
-lt      小于,如:if ["$a" -lt "$b" ]
-le      小于等于,如:if ["$a" -le "$b" ]
<  小于(需要双括号),如:(("$a" < "$b"))
<=  小于等于(需要双括号),如:(("$a" <= "$b"))
>  大于(需要双括号),如:(("$a" > "$b"))
>=  大于等于(需要双括号),如:(("$a" >= "$b"))
例如:while [ "$#" -ne 0 ]中-ne表示不等于,表示传给脚本参数个数不为0

while循环
利用while循环计算1到100的和:
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
  let sum=sum+$i
  let i++
done
echo $sum

使用read结合while循环读取文本文件:
#!/bin/bash
file = $1
if [ $# -lt 1 ];then   #判断用户是否输入了位置参数
  echo "Usage:$0 filepath"
  exit
fi
while read -r line  #从文件中读取文件内容赋值给line(选项-r会屏蔽文本中的特殊符号,只做输出不做转译)
do
   echo $line
done < $file


case条件
以run.sh脚本第一个参数为例,当第一个参数为start时,调用startup方法,当第一个参数为stop时,调用shutdown方法...
case $1 in
    start)
       startup 
    ;;
    stop)
       shutdown 
    ;;
    restart)
       shutdown
       startup
    ;;
esac
    
   
=================================================================

当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们
类型      文件描述符    默认情况                对应文件句柄位置
标准输入  0                从键盘获得输入            /proc/slef/fd/0
标准输出  1                输出到屏幕(即控制台)    /proc/slef/fd/1
错误输出  2                输出到屏幕(即控制台)    /proc/slef/fd/2

执行shell命令都默认是从键盘获得输入,将结果输出到控制台上。但可通过更改文件描述符默认指向,将输入输出的重定向。
使用>或者>>对输出进行重定向。符号的左边表示文件描述符,如果没有的话表示1,也就是标准输出,例如:
将原本在屏幕打印的内容重定向写入到test.txt文件
echo "hello" >test.txt 等价于 echo "hello" 1>test.txt
echo "hello" >>test.txt 等价于 echo "hello" 1>>test.txt

>或>>右边可以是一个文件,也可以是一个输出设备。
当使用>时,直接创建新文件(若存在则先删除)。
当使用>>时,表示追加内容到文件,则不会删除原来已存在的文件。

echo 'aaa' >/dev/null 2>&1。这条命令实际分为两命令,1>/dev/null 和 2>&1
1>/dev/null
该命令作用是将标准输出1重定向到linux空设备文件/dev/null文件中(所有往/dev/null文件写入的内容都会丢失,俗称“黑洞”)。
执行了>/dev/null后,标准输出就不再存在,没有任何地方能够找到输出的内容。
2>&1
&表示将错误输出2和标准输出1输出到相同的地方,相当于echo 'aaa' 1>/dev/null 2>/dev/null,这样该命令不会输出任何信息到屏幕和文件。

对换位置会产生不同结果
命令             标准输出    错误输出
>/dev/null 2>&1     丢弃        丢弃
2>&1 >/dev/null     丢弃        屏幕

注意:
不应echo 'aaa' 1>/dev/null 2>/dev/null,因为这样写会导致标准输出和错误输出打开两次/dev/null文件,会抢占向文件写入的管道,导致输出
内容出现缺失和覆盖等,或出现乱码,或只有错误内容或标准内容。而>/dev/null 2>&1只会打开一次/dev/null文件,IO效率较高。

nohup结合
经常会用nohup command &命令形式来启动一些后台程序,例如:nohup java -jar xxxx.jar &
为了不让一些执行信息输出到前台(控制台),我们还可加上>/dev/null 2>&1丢弃所有输出:nohup java -jar xxxx.jar >/dev/null 2>&1 &

===========================================================================

SSH保活
SSH连接Linux时,若几分钟没操作,连接就会断开,解决办法:
vi /etc/ssh/sshd_config
ClientAliveInterval 60     #每60秒发送一次保活请求
ClientAliveCountMax 3   #保活请求没响应的情况下最多重试3次,超过该数次数后则断开ssh连接

lsof -i:8080    #查看使用8080端口的进程

kill -9 23719            --强制杀死id等于23719的resin进程

设置用户可以使用的资源限制
[root@yussion psinfo]# ulimit -a            --显示用户可以使用的资源限制
[root@yussion psinfo]# ulimit -n 4096    --设置用户可同时打开的最大文件数,防止too many open files错误
[root@yussion psinfo]# ulimit -u 77824   --设置用户可以同时运行的最大进程数(max user processes)
[root@yussion psinfo]# ulimit -n            --查看单个用户能打开的最大文件数(socket连接也算在里面),系统默认值1024

服务器上信息相关统计
[root@yussion html]# du -h stuff                                         --察看stuff文件夹文件所占空间
[root@yussion html]# find ./stuff -type f | wc -l                      --察看stuff文件夹文件个数
[root@yussion html]# find ./stuff/ -name 'view*'-type f | wc -l   --在stuff目录下找出以“view”开头的文件,-name按文件名筛选

显示各分区的信息
[oracle@yussion ~]$ df -k  --以千字节KB为单位显示各分区的信息; df -a显示所有分区
Filesystem           1K-blocks      Used      Available     Use%  Mounted on
/dev/sda1             49696084      30402920  16727988     65%   /
/dev/sda3             39775804      1226256   36496444     4%    /home
[root@yussion bin]# vmstat    --显示当前的内存使用情况
[root@yussion bin]# top         --动态统计当前用户所有进程占用内存和cpu情况,按1显示每个cpu使用情况,按ctrl+c退出统计

网络连接、端口监控和统计
[root@yussion biserver]# netstat -tlnp|grep port                -- Linux下查看占用端口的进程
[root@yussion biserver]# netstat -nat|grep -i "80"|wc -l      --统计80端口连接数
[root@yussion biserver]# ps -ef|grep httpd|wc -l                --统计httpd协议连接数
[root@yussion biserver]# netstat -na|grep ESTABLISHED|wc -l   --统计已连接上的,状态为“established' 
[root@yussion bin]# netstat -p                                             --显示网络状况,使用参数p可以查看对应的进程号及程序名
[root@yussion bin]# netstat -an | grep ESTABLISHED           --查看服务器已建立的连接
[root@yussion bin]# netstat -an | grep LISTEN                      --查看服务器侦听情况

设置系统linux最大打开文件(网络连接)数(针对Too many open files问题)
[root@yussion psinfo]# lsof                                       --显示系统当前打开的文件列表,包括建立的socket连接等
[root@yussion psinfo]# lsof -p 390 | wc -l                   --通过lsof -p [进程的pid]来查看指定进程打开的文件资源数
[root@yussion psinfo]# sysctl -w fs.file-max=372158  --设置系统允许同时打开的最大文件数

==================================================

本地文件上传到FTP服务器:curl --ftp-create-dirs -T ./clear_iptables.sh sftp://uid:pwd@localhost:22/root/test.shell --insecure -S

列出FTP服务器/home/ubuntu目录下的所有目录和文件信息:

curl --ftp-ssl -k sftp://uid:pwd@localhost:22/home/ubuntu --insecure

========================================

SVG 在 image 标签中的动态修改技巧 - 简书

<img width="400" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iNDQ5LjEwNTE2IgogICBoZWlnaHQ9IjQyNS43MTQyOSIKICAgaWQ9InN2ZzIiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4wIHI5NjU0IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyLnN2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDUyNi4xODEwOSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF96PSI3NDQuMDk0NDggOiA1MjYuMTgxMDkgOiAxIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjM3Mi4wNDcyNCA6IDM1MC43ODczOSA6IDEiCiAgICAgICBpZD0icGVyc3BlY3RpdmUyOTg1IiAvPgogIDwvZGVmcz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjAuMzUiCiAgICAgaW5rc2NhcGU6Y3g9Ii0yNzUuNDk2MDciCiAgICAgaW5rc2NhcGU6Y3k9IjExMS45OTI1MSIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0icHgiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjEzMTkiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iNzgxIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDQuNzgxNzgsLTIxOC42NDA0KSI+CiAgICA8cmVjdAogICAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICAgIGlkPSJyZWN0MzgzNCIKICAgICAgIHdpZHRoPSI0NDkuMTA1MTYiCiAgICAgICBoZWlnaHQ9IjQyNS43MTQyOSIKICAgICAgIHg9IjE0NC43ODE3OCIKICAgICAgIHk9IjIxOC42NDA0IgogICAgICAgcng9IjcuNzM2NTM4NCIKICAgICAgIHJ5PSIwIiAvPgogICAgPHBhdGgKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZjM3O2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojZmM3NTAwO3N0cm9rZS13aWR0aDoxOTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2UtZGFzaG9mZnNldDowIgogICAgICAgaWQ9InBhdGgzNzc1IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjUiCiAgICAgICBzb2RpcG9kaTpjeD0iMTkxLjQyODU3IgogICAgICAgc29kaXBvZGk6Y3k9IjE0Ni43MjA3OSIKICAgICAgIHNvZGlwb2RpOnIxPSIyMDYuNDI3MzQiCiAgICAgICBzb2RpcG9kaTpyMj0iOTMuMjYwNTY3IgogICAgICAgc29kaXBvZGk6YXJnMT0iLTEuNTcwNzk2MyIKICAgICAgIHNvZGlwb2RpOmFyZzI9Ii0wLjk4MDYyODQ5IgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwLjAxNSIKICAgICAgIGQ9Ik0gMTg4Ljk5NjA0LC02MS4zODQxNDUgMjQxLjc0MDIsNjcuOTU0NjU1IDM4NC45NjU3Miw4NC4yNjM1OTIgMjgxLjA5OTQ0LDE3My44MTUwNCAzMTUuMjQ0NTMsMzEzLjM3MzA5IDE5Ny44MDQ4MywyNDEuODQxMjggNzEuMDM4MDU3LDMxNS43MzE1OCAxMDMuMDI3NDEsMTc3LjM5MDA5IC0yLjE0Mzk3MTIsODIuMjcwMDIyIDEzMS44OTU0Miw3NS4zNDgxOTQgeiIKICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Mi4xNTAzMywzMDQuODQ2MzEpIgogICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSIwLjAxNzcwMzI1OSIKICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteT0iLTE5LjU0NzA3NCIgLz4KICA8L2c+Cjwvc3ZnPgo="></img>
<img src="data:image/svg+xml;utf8,
<svg xmlns='http://www.w3.org/2000/svg'><circle cx='100' cy='50' r='40' stroke='black' stroke-width='2' fill='red' /></svg>" />

btoa(svgStr)
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxjaXJjbGUgY3g9JzEwMCcgY3k9JzUwJyByPSc0MCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBmaWxsPSdyZWQnIC8+PC9zdmc+" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux 学习笔记整理 一、Linux 简介 Linux,全称 GNU/Linux,是一种自由和开放源代码的类 Unix 操作系统,它主要是由 Linus Torvalds 在 1991 年创建的。Linux 操作系统具有多用户、多任务、多线程、支持多种文件系统、网络功能强大等优点。 二、Linux 基础命令 1. 基本操作命令 cd:切换目录,例如:cd /usr/local ls:查看目录下文件,例如:ls /usr/local mkdir:创建目录,例如:mkdir test rmdir:删除目录,例如:rmdir test cp:复制文件,例如:cp a.txt b.txt rm:删除文件,例如:rm a.txt mv:移动文件或修改文件名,例如:mv a.txt b.txt 或 mv a.txt /usr/local 2. 文件操作命令 cat:查看文件内容,例如:cat a.txt more:分页显示文件内容,例如:more a.txt less:分页显示文件内容,例如:less a.txt head:显示文件头部内容,例如:head a.txt tail:显示文件尾部内容,例如:tail a.txt grep:查找文件中的关键字,例如:grep "hello" a.txt 3. 权限相关命令 chmod:修改文件权限,例如:chmod 755 a.txt chown:修改文件所属用户和组,例如:chown user:group a.txt su:切换用户,例如:su root sudo:以管理员权限执行命令,例如:sudo apt-get install nginx 4. 网络相关命令 ping:测试网络连通性,例如:ping www.baidu.com ifconfig:查看网络接口信息,例如:ifconfig netstat:查看网络连接状态,例如:netstat -an nslookup:解析域名,例如:nslookup www.baidu.com 5. 系统管理命令 ps:查看进程状态,例如:ps -ef top:实时查看系统资源占用情况,例如:top kill:终止进程,例如:kill 1234 free:查看系统内存使用情况,例如:free -m df:查看磁盘使用情况,例如:df -h 三、常用 Linux 发行版 1. CentOS CentOS(Community Enterprise Operating System)是一款基于 Red Hat Enterprise Linux(RHEL)源代码的 Linux 发行版,它是一个稳定、可靠且高性能的服务器操作系统,广泛用于企业服务器领域。 2. Ubuntu Ubuntu 是一款基于 Debian 的 Linux 发行版,它以易用性、稳定性和安全性著称,适合用于桌面和服务器领域。 3. Debian Debian 是一个由志愿者组成的开源社区开发的 Linux 发行版,以稳定性和安全性著称,适合用于服务器和桌面领域。 4. Fedora Fedora 是由 Red Hat 公司赞助的一个社区项目,它是一个面向桌面用户的 Linux 发行版,以最新的软件包和技术为特点。 四、Linux 常用软件 1. Apache Apache 是世界上最流行的 Web 服务器软件之一,它是一款免费、开源的软件,支持多种操作系统和编程语言,适用于企业和个人网站搭建。 2. MySQL MySQL 是一款流行的关系型数据库管理系统,它是免费、开源的软件,支持多种操作系统和编程语言,适用于企业和个人网站数据存储。 3. Nginx Nginx 是一款高性能的 Web 服务器软件,它是免费、开源的软件,支持多种操作系统和编程语言,适用于企业和个人网站搭建。 4. Git Git 是一款流行的分布式版本控制系统,它是免费、开源的软件,支持多种操作系统和编程语言,适用于团队协作和代码管理。 五、Linux 学习资源推荐 1. Linux 命令大全 2. Linux 教程 3. Linux 学习路径 4. Linux 知识库 5. Linux 命令在线手册 六、总结 本文介绍了 Linux 的基础知识、常用命令、常用发行版、常用软件和学习资源,希望能够帮助读者快速了解 Linux 并入门。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值