Linux学习
本笔记用作个人学习和查漏补缺使用,欢迎借鉴学习,有一些经验来自于网络上各位大佬的文章,若未注明出处,请提醒,如果不能转载,就删除,转载需标注出处www.jjyaoao.space
由于做项目需要用到Linux,好像去年做的笔记已经找不到了,鉴于以上情况,决定重启Linux新篇章,首先从遇到的第一个困难vi编辑器开始吧!
Vi编辑器
基本操作
转载自:http://blog.csdn.net/u010648555/article/details/50676647
初学Linux的时候,在使用vi 操作时候,有时候可能进入的是一个文件夹,这样子在退出的时候很不好操作!
下面总结一些vi 命令,学习!
进入命令行模式 —– Esc or Ctrl + [
进入编辑模式,按 o 进行编辑
编辑结束,按ESC 键 跳到命令模式,然后输入退出命令:
:w保存文件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file将修改另存到file中,不退出vi 编辑
:wq保存文件并退出vi 编辑
:wq!强制保存文件并退出vi 编辑
:q不保存文件并退出vi 编辑
:q!不保存文件并强制退出vi 编辑
:e!放弃所有修改,从上次保存文件开始在编辑
j 向下移动 k 向上移动 h 向左移动 l 向右移动
二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)*
a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本
A //在当前行的末尾位置添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
o //在当前行的下面新建一行
R //替换(覆盖)当前光标位置及后面的若干文本
J //合并光标所在行及下一行为一行(依然在命令模式)
返回开头 【【 到结尾 】】
:x :wq
vi文件保存退出命令":wq"和":x"的区别2011-04-08 16:41vi是Unix/Linux系统最常用的编辑器之一,我习惯使用”:x”命令来保
存文件并退出,不愿意使用”:wq”命令是因为它得多敲一个字母。
但是,今天我才知道”:x”和”:wq”的真正区别,如下:
:wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
:x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,”:wq”强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。
在正常模式复制,剪切以及粘贴
当你启动 Vim 编辑器时,默认就进入了正常模式。在这个模式,你可以运行 Vim 命令,并且浏览整个文件。
从其他任何模式返回正常模式,你只需要按Escc
键。
Vim 对于复制,剪切,粘贴有它自己的一套术语。复制被叫做 yank(y),剪切被叫做 delete(d),以及粘贴被叫做 put(p)。
复制 (Yanking)
想要复制文本,将光标放到你想要的地方,然后参考下面的命令按键y
。下面是一些有用的命令:
yy
- 复制当前行,包括换行符3yy
- 复制从光标所在的当前行开始的三行文本y$
- 复制从光标位置到行尾的文本y^
- 复制从光标位置到行首的文本yw
- 复制到下一个词的开头yiw
- 复制当前词y%
- 复制匹配符号范围内容。默认支持的符号对是()
,{}
,[]
.这个在复制括号内内容时,很有用处。
剪切 (Deleting)
在正常模式下,d
按键是用来剪切文本的。把光标移动到想要的位置,参考下面的命令按d
按键。下面是一些有帮助的命令:
dd
- 剪切当前行,包括换行符3dd
- 剪切从光标位置所在行开始的 3 行文本d$
- 剪切从光标位置到行尾的内容
这些命令同时适用于删除的场景。例如,dw
可以删除到下一个词的开头。而d^
可以删除光标位置到行首的内容。
粘贴 (Putting)
想要粘贴被剪切的内容,先将光标移动到想要的位置,然后按p
键可以将内容粘贴到当前光标后面,或者按P
按键可以粘贴到当前光标前面。
在可视模式下复制,剪切,粘贴
Vim 可视模式下,允许你选择和操作文本。
01.将光标放到你想要开始复制或者剪切的那一行。
02.可视模式有三个子类型
- 按
v
进入可视模式 - 按
v
进入可视行模式。该模式下文本可以按行来选择。 - 按
Ctrl+v
进入可视块模式。该模式下文本可以按照文本块来选择。
进入可视模式当然也标记了你的开始选择点。
03.将光标移动到你想要复制或者剪切的文本最后面。你可以使用上下左右按键来进行移动。
04.按y
进行拷贝,按d
剪切选择文本。
05.移动光标到你想要粘贴的位置。
06 按P
将内容粘贴到光标前面,按p
将内容粘贴到光标后面。
多次粘贴
我们平常在使用Vim时候,通过viwy
或者yy
等复制操作之后,p
操作粘贴的时候,只能粘贴一次,想要粘贴多次怎么办?
解决方案:在使用
p
的是时候使用"0p
,这样就能无限制的一直粘贴了。注意,需要加 “
可是,为什么呢?
因为,寄存器位置0
的地方存放的就是最近复制的内容。(使用:reg
可以查看寄存器存储列表)
类似的使用xxp
就能粘贴相应位置的内容了。(xx
标识reg列表前面的序号)
替换命令
vim提供了一个简单的替换命令:r命令。r命令用于替换光标所在的字符,做法是先将光标移动到需要替换的字符处,按一下r键,然后输入新的字符。注意,全程无需进入插入模式,也不会进入插入模式。
如果先输入[数字]再输入r,最后输入新的字符,说明从当前光标的位置开始,替换【数字】个新字符。
替换模式
R命令让你一步到位进入替换模式:对于需要替换多个字符,更好的方案是直接进入替换模式。按下大写的R键,屏幕左下角出现–REPLACE–字样,说明你已经处于替换模式。此时输入字符可以连续替换光标及其后边的内容。注意:退格键(Backspace)在替换模式中被解释为如果左边的内容被替换过,则恢复到原来的样子;如果没有被替换过,则简单的向左移动。修改完毕后,按下Esc键回到普通模式。
1 | 首先使用查找指令,例如我们要找a1 :/a1+回车,后续用n和N来选择查找下/上一个字符,找到之后点r,然后就可以输入你对应想要替换的了,例如你要替换成a2,就输入a2,然后自动把a1覆盖 |
删除
一、命令行模式下简化删除
- 向后删除单个字符:【x】
- 向前删除单个字符:【X】
- 删除从光标开始到单词结尾:【dw】
删除从光标后的2个单词:【d2w】 - 删除整个单词:【daw】
仅当光标停留在一个单词开头,【dw】才能删除整个单词,否则只能删除一部分;而【daw】不考虑光标的停留位置,只要在该单词上,则会自动删除整个单词 - 删除光标停留的那整行:【dd】
假设想连续删除多行,则用【4dd】连续删除4行 - 从光标处往前删除单词:【db】
和【dw】的作用方向正好相反- 删除光标位置到本行开头:【d0】
- 点命令【.】含义是重复上次修改,上次修改的单位可以是字符,整行,甚至整个文件。
因此如果删除整行【dd】,配合【.】也可以起到重复操作的目的。
点命令最大的用处在于,每次从输入模式到命令模式切换时,整个阶段vim会记录每一个按键操作,使用点命令可以重新执行所有的这些按键操作,就好像“一键回放”,我们可以把点命令当成一个宏。
比如要给结构体语句添上‘;’号
按照常规方法做会比较慢,这时候光标先移动到第一条语句上,【A】【;】【ESC】
再反复使用【j】【.】即可。
选中单词
命令行模式下 按v进入可视模式,后按e可以选择当前光标,及其这个单词的后半段 ,按iw可以选择整个单词
在此基础上,如果我们按j, k或者上,下,可以继续选中后一个单词前一个单词啥的
撤销与恢复撤销
在使用VIM的时候,难免会有输错的情况,这个时候我们应该如何撤销,然后回到输错之前的状态呢?答案:使用u(小写,且在命令模式下)命令。
但如果有时我们一不小心在命令模式下输入了u,然后刚输入的一大片代码都不见了,这个时候我们应该如何恢复刚才的撤销操作呢?答案:使用Ctrl + r命令。
总结:
撤销:u
恢复撤销:Ctrl + r
多行缩进
Vim多行缩进技巧
- 按v进入visual状态,选择多行,用>或<缩进或缩出
- 通常根据语言特征使用自动缩进排版:在命令状态下对当前行用**==** (连按=两次)(也可以鼠标选中多行,然后==), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。
- gg shift+G 首尾
常用指令
init 6 重启 init 0 关机
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
1 | Cat命令(concatenate的缩写)是Linux操作系统中使用最广泛的命令行实用工具之一。 它是一个标准的Linux实用程序,用于查看文件的内容,而不需要在任何文本编辑器中打开它。 cat命令的另一个主要用法是将多个文件串联到一个文件中。 |
cp 拷贝
1 |
|
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
1 | tail 命令用法 |
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
1 | wc 命令,这个名字很好记,因为什么,你懂的,对,就是 word count,和我想的一样! |
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
chown -R jjyaoao:kali /log root授权普通用户jjyaoao使用/log
./xxxx xx为文件名不带 . 文件类型,即为运行程序 ../为上一目录
ps -ef |grep xxxx为查找进程
ctrl + c or killall 程序名(不带cpp)—– 终止程序运行
Linux指令中出现特殊字符,例如* 我们就得用双引号括起来
例如/log/idc 就不用括起来, *.log.20*作为一个参数就需要括起来
gerp命令可以搜索日志文件内容, 精确到每一秒, 在管道输出wc(world count)
GDB调试
实例
143行写入输出语句
启动编译器
进入gdb模式,在143行设置断点,设置传入参数,run!
断点此时顺利的执行到了143行,然后停下,使得程序未结束,等待命令指示
我们可以查看执行到末尾时,vsurfdata的size和里面存放的东西
这里提醒一下,vsurfdata是结构体的一个向量对象
我们用这样的方式,和用日志记录的形式大同小异,均能在编写代码的时候反映出程序是否正确执行
man
man命令是Linux下最核心的命令之一。而man命令也并不是英文单词“man”的意思,它是单词manual的缩写,即使用手册的意思。
man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是,不仅可以查看Linux中命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等帮助信息。
man手册页文件存放在/usr/share/man目录下。
语法格式:man [命令]
常用参数:
-a | 在所有的man帮助手册中搜索 |
---|---|
-d | 主要用于检查,如果用户加入了一个新的文件,就可以用这个参数检查是否出错 |
-f | 显示给定关键字的简短描述信息 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜索的路径 |
-w | 显示文件所在位置 |
man命令内容组成的介绍:
- 用户命令的使用方法,可以使用的参数等
- 系统调用,只有系统才能执行的函数
- 库调用,大多是libc函数,如qsort(3)
- 设备和特殊文件
- 文件格式和约定
- 游戏
- 宏命令包和约定
- 系统管理命令,多数只有root可以执行
- 内核程序
- Tcl或Tk指令
配置汉语输入法
难以想象居然整好了
(20条消息) Kali 2021 设置中文输入法_@Mr.mark的博客-CSDN博客_kali输入中文
(20条消息) kali 安装中文中文输入法(一遍成功无错误)_Linux-tuomasi的博客-CSDN博客_kali输入法
CLION + VIM + CMAKE
(20条消息) Linux软件安装:安装Clion和运行使用总结_BigCowPeking的博客-CSDN博客_clion linux
(20条消息) CLION + VIM + CMAKE__RTFSC的博客-CSDN博客_clion vim插件
标准输出和标准错误重定向
(20条消息) 标准输出和标准错误重定向_2022冲鸭的博客-CSDN博客_标准输出和错误输出重定向
程序:指令+数据
读入数据:Input
输出数据:Output
在linux中一条指令或者程序,可以分为三种形式:
标准输入:-0 默认接受来自键盘的输入
标准输出:-1 默认输出到终端窗口
标准错误: - 2 默认输出到终端窗口
I/O重定向:改变默认位置
把输出和错误重新定向到文件
支持的操作符号包括:
> 把STDOUT重定向到文件,这里默认的是1,省略
2> 把STDERR重定向到文件
&> 把所有输出重定向到文件
需要注意的是,多次> 会覆盖,而并非追加到文件里面的内容
/dev/null是一个类似于回收站的东西,且不能删除此文件,经常利用这个文件来配合使用重定向
例如;给 ttyang用户修改密码123456
echo 123456 | passwd –stdin ttyang > /dev/null
> 文件内容会被覆盖
set -C 禁止将内容覆盖已有文件,但可追加
>| file 强制覆盖
set +C 允许覆盖
>> 原有内容基础上,追加内容
例如;此用法了解即可
[root@centos7 data]#echo time out > /data/stdout.log
[root@centos7 data]#set -C
[root@centos7 data]#echo time out > /data/stdout.log
-bash: /data/stdout.log: cannot overwrite existing file
2> 覆盖重定向错误输出数据流
2>> 追加重定向错误输出数据流
标准输出和错误输出各自定向至不同位置
COMMAND > /path/to/file.out 2> /path/to/error.out
>默认就是1,标准输出 2>标准错误
合并标准输出和错误输出为同一个数据流进行重定向
&> 覆盖重定向
&>> 追加重定向
两种写法;
COMMAND > /path/to/file.out 2>&1 (顺序很重要)
COMMAND >> /path/to/file.out 2>&1
之前其实一直不懂第一种写法, 是这样理解的,将标准输出追加到/path/to/file.out,2放到1里面,而1前面已经定义。所以是将所有信息打印到/path/to/file.out
ftp配置
(20条消息) Kali设置Ftp_Colzry的博客-CSDN博客_kali配置ftp服务器
(20条消息) kali 安装ftp_chunxque的博客-CSDN博客_kali安装ftp
kali 安装FTP服务器-vsftpd - starnight_cyber - 博客园 (cnblogs.com)
Linux启动ftp服务器530 Permission denied解决方法(已试,行)-百度网盘下载-Java自学者论坛 - Powered by Discuz! (javazxz.com)
我是zz,不要画蛇添足在白名单加上jjyaoao,在黑名单# root,白名单也# root, 并且# jjyaoao,以后遇到问题先进行命令行的ftp测试,太感动了
配置自动执行脚本
(20条消息) kali2019之后版本shell脚本自启动_秋点兵的博客-CSDN博客_kali开机自启动脚本
WC和grep
每天学点Linux命令之grep 和 wc命令 — !管道命令! - 暴力的轮胎 - 博客园 (cnblogs.com)
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expr
ession Print,表示全局正则表达式版本,它的使用权限是所有用户。
wc
1.命令格式:
wc [选项]文件…
2.命令功能:
统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。
3.命令参数:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
–help 显示帮助信息
–version 显示版本信息
例子: 在文件a中统计 hello 出现的行数:
1 | grep hello a | wc -l |
在文件a中统计hello出现的次数:
1 | grep -o hello a | wc -l |
grep命令和wc命令 这种可以在命令行中通过 | 互相链接 ,作为输入的命令原来有同一的名字 叫做 :::::::管道命令!!!!
没错就是下面这种感觉
1、管道命令只处理前一个命令正确输出,不处理错误输出
2、管道命令右边命令,必须能够接收标准输入流命令才行。
1 | cat test.sh | grep -n 'good' |
1 | cat test.sh | ls |
因为 ls不支持标准输入 所以test.sh中的内容被丢弃.
1 | cat test1.sh test.sh 2>/dev/null | grep -n 'good' |
>是重定向
|是管道重定向
区别是:
1、左边的命令应该有标准输出 | 右边的命令应该接受标准输入
左边的命令应该有标准输出 > 右边只能是文件
左边的命令应该需要标准输入 < 右边只能是文件
2、管道触发两个子进程执行”|”两边的程序;而重****定向是在一个进程内执行
nice啊 终于理清楚 grep 为啥总与 | 其他命令连用 , < >是重定向 ,
动态库和静态库
(22条消息) 【Linux】动态库和静态库_xiaomage1213888的博客-CSDN博客_linux 动态 静态
MySQL配置
kali自带mysql配置 - Kali’s Blog (bbskali.cn)
c语言操作mysql,需要添加头文件
(22条消息) 添加mysql.h头文件_iwi_ac的博客-CSDN博客_#include
搞了半天,还是删除重开最实在=-=(最后采用下面这个链接安装完成了mysql)
(22条消息) Linux 安装 MySQL5.7_码农米格的博客-CSDN博客
明天继续
重新更新软件,试试能不能把mysql整回来
Linux MySQL 常见无法启动或启动异常的解决方案 - 又见江南 - 博客园 (cnblogs.com)
初始化数据库遇到了麻烦。。。
已经累了
(22条消息) Kali 2019.4 下卸载并重新安装MySQL_tiandh987的博客-CSDN博客_kali重装mysql
vscode配置无密码SSH登录linux
(22条消息) VSCode - 使用VSCode远程连接到Linux并实现免密码登录_t’insight的博客-CSDN博客_vscode远程连接linux
Tabby下载服务端文件到本地
(22条消息) windows远程linux工具之tabby的使用_spark-aixin的博客-CSDN博客
vscode配置上传文件
(22条消息) 将本地项目/文件上传到远程服务器中详细教程(vscode,sftp)_friedrichor的博客-CSDN博客_vscode上传文件到服务器
centos配置mysql
kali被我搞废了,我就不想用了=-=
CentOS安装mysql - 云+社区 - 腾讯云 (tencent.com)
centos开启ssh服务(之前瞎搞整坏
(13条消息) Centos开启SSH服务_心若十年的博客-CSDN博客_centos ssh
deb安装包
当缺少依赖包时,去外网下载,deb rpm之类的格式的包,从而使得我们需要的包安好
deb包是debian,ubuntu等LINUX发行版的软件安装包,是类似于rpm的软件包,而非debian,ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。
安装方法有两种:
- 一般在此类发行版中可以直接双击安装。
- 手动安装。如果您喜欢使用终端,您需要管理员权限来安装一个 .deb 文件。
- 打开终端后,输入:
sudo dpkg -i package_file.deb
- 但是在包含有依赖关系的安装包手动安装的过程中会出现安装不成功的问题,这时只需输入命令:
sudo apt-get -f install
待命令执行完成,软件也就安装成功了。
- 打开终端后,输入:
卸载安装包时,在终端中,输入:
sudo dpkg -r package_name
kali无法找到mysql头文件
https://blog.csdn.net/qq_35308053/article/details/114535239
https://blog.csdn.net/fengxinlinux/article/details/75675360
我靠,找了无数无数的经验贴,终于!!!!!!!!!
CentOS7安装mysql
(23条消息) CentOS7下安装mysql5.7(亲测完成)_ic_xcc的博客-CSDN博客_centos7安装mysql5.7
[(16条消息) MySQL报错:ERROR 1054 (42S22): Unknown column ‘‘root’‘ in ‘where clause‘_gao_jun1的博客-CSDN博客_mysql查询10、】
54](https://blog.csdn.net/gao_jun1/article/details/111029254)
远程连接mysql(navicat)
mysql 远程连接数据库的二种方法 - 云+社区 - 腾讯云 (tencent.com)
如何开启MySQL远程连接 - 知乎 (zhihu.com)
navicat破解
软件是这里下的
Navicat Premium 15 永久破解激活工具及安装教程(亲测可用) - MarchXD - 博客园 (cnblogs.com)
过程跟着这个来的
Navicat premium 破解步骤(完整详细记录) - 骨灰盒少女 - 博客园 (cnblogs.com)
PowerDesigner安装+汉化+破解
PowerDesigner 安装+汉化+破解+使用过程 - 沦陷 - 博客园 (cnblogs.com)
重装系统centos
(17条消息) VMware Workstation创建CentOS7虚拟机(详细教程)_无敌菜中菜的博客-CSDN博客_vmware创建centos7虚拟机
vmware配置固定ip
(17条消息) Vmware虚拟机如何设置固定IP_阿雷在编程的博客-CSDN博客_虚拟机固定ip地址怎么设置
centos安装cmake
(17条消息) Centos7 安装CMake_张志翔 ̮的博客-CSDN博客_centos7安装cmake
Linux制作镜像
(17条消息) CentOS 7 安装Mondo Rescue_allway2的博客-CSDN博客
vmware扩容磁盘
(17条消息) CentOS 8 扩展磁盘 基于 LVM逻辑盘卷管理_会飞的果粒橙的博客-CSDN博客
这里面cl是基于实际情况改的,我这里是
所以应该从cl改成centos
分区也要看好,别乱改
(18条消息) Linux磁盘管理-磁盘分区_weixin_34329187的博客-CSDN博客
vscode上传下载
(18条消息) 将本地项目/文件上传到远程服务器中详细教程(vscode,sftp)_friedrichor的博客-CSDN博客_vscode上传文件到服务器
定期清理磁盘
查看磁盘大小:df -h
查看当前层的容量:du -h --max-depth=1
VSCODE弹出enter your password
vscode 总弹出enter your password…弹框,怎么回事?-CSDN社区
PIP方式配置镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
腾讯云服务器gitclone不了(附带加速功能)
git config –global http.sslVerify “false”
ubuntu配置go
(48条消息) ubuntu 安装go_ubuntu安装go_凉晓风的博客-CSDN博客
1 | go env -w GO111MODULE=on |
ubuntu配置cmake与删除
ubuntu 20.04安装(升级)cmake - 知乎 (zhihu.com)
ubuntu配置python3虚拟环境
创建Python 3虚拟环境:您可以使用Python 3自带的venv模块创建一个Python 3虚拟环境,并在其中安装所需的Python软件包。在Linux、Mac OS X或其他类Unix系统中,您可以使用以下命令创建虚拟环境:
1 | python3 -m venv myenv |
然后,您可以通过运行以下命令来激活虚拟环境:
1 |
|
Ubuntu配置Spark
- 安装 Java
Apache Spark 是基于 Java 开发的,因此需要先安装 Java。可以使用以下命令安装 OpenJDK:
1 | sudo apt-get update |
- 下载 Apache Spark
可以从 Apache Spark 的官方网站 http://spark.apache.org/downloads.html 下载最新版本的 Apache Spark。选择一个预编译的二进制包,例如 spark-3.1.2-bin-hadoop3.2.tgz
。下载完成后,将该文件解压缩到某个目录中,例如 /opt/spark
:
apache
1 | sudo tar -xvzf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/ |
- 设置环境变量
将以下三行代码添加到 ~/.bashrc
文件中,以设置 Apache Spark 的环境变量:
routeros
1 | export SPARK_HOME=/opt/spark |
然后重新加载 ~/.bashrc
文件,使其生效:
1 | source ~/.bashrc |
- 测试安装
可以使用以下命令启动一个本地的 Spark Shell,测试 Apache Spark 是否安装成功:
1 | spark-shell |
如果一切正常,将显示 Spark Shell 的欢迎信息,并出现 Spark Shell 的命令行提示符。
windows安装WSL
win10开启wsl系统,让我们愉快的使用Linux - 知乎 (zhihu.com)
(54条消息) windows下通过wsl迁移默认安装的ubuntu到其他磁盘_ubuntu系统迁移到另一盘_luffy5459的博客-CSDN博客
windows运行linux脚本
在Windows下运行shell脚本,你需要一个类似于Unix或Linux的环境,比如Git Bash,或者Windows Subsystem for Linux (WSL)。然后,你可以使用一个简单的命令来批量修改文件的格式。
如果你已经安装了Git Bash或者WSL,你可以打开它,然后使用下面的命令来批量修改文件的格式:
1 | find /path/to/your/directory -name "*.sh" -exec dos2unix {} \; |
这个命令会在你指定的目录(替换/path/to/your/directory
为你的实际目录)中找到所有的.sh
文件,并使用dos2unix
命令来将它们的格式从DOS/Windows格式转换为Unix格式。
如果你没有安装dos2unix
,你可以在WSL使用下面的命令来安装它:
1 | sudo apt-get install dos2unix |
然后,你就可以使用上面的find
命令来批量修改文件的格式了。
注意:在运行这些命令之前,你需要确保你有权限修改这些文件。如果没有,你可能需要使用sudo
来获取权限。