Kali Linux基础
目录
一、Linux简介
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991年10月5日(第一次正式向外公布时间)。Linux存在许多不同的版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备上,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux 这个词本身只表示 Linux 内核,但人们已经习惯了使用 Linux 来形容整个基于 Linux 内核,并且使用GNU工程各种工具和数据库的操作系统。Linux 的发行版说简单点,就是将 Linux 内核与应用软件做一个打包。
下载地址
二、shell
在计算机科学中,shell 俗称外壳(用来区别于内核),它类似于Windows的DOS,够接收用户的命令并翻译给操作系统执行,是用户与操作系统(内核)之间的桥梁(中间人)。
shell开机自启,如果没有shell,我们无法使用Linux。shell与终端的区别:终端:接收用户的输入,并传递给shell程序,接收程序输出并展示到屏幕shell:接收并解析用户的命令给操作系统执行,将结果输出到终端。
三、SSH系统服务
SSH服务是目前比较可靠,专门为远程登录服务器和其他网络服务提供安全的协议。相当于Windows的远程桌面协议(mstsc)。SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有较高的安全性。SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。SSH对我们主要的作用是:操作远程服务器系统 Kali配置SSH服务:
1、安装leafpad
2、使用编辑器打开SSH配置(1)搜索PermitRootLogin将其更改为
更改之后,允许root账户登录(2)搜索PermitEmptyPasswords更改为更改之后,允许空密码登录
3、重启SSH服务
其他命令:
4、登陆测试使用xshell、MobaXterm、putty等工具测试。使用本机cmd远程连接:(1)查看虚拟机IP,在Kali终端允许命令(2)打开本机cmd,先查看能否与Kali远程连接(3)在本机cmd运行以下命令输入远程连接Kali账户的密码即可,注意密码是不可见的,输入回车即可使用MobaXterm远程连接:一般使用MobaXterm,免费,且支持协议较多,安装简单,图形化界面较好,缺点是没有中文版。点击Session,选择SSH,填入远程连接地址、账户名,输入密码
连接好后,就可以将虚拟机挂起,直接通过MobaXterm使用虚拟机了。虚拟机挂起,IP一般不会改变,可以持续连接,但如果关机了,IP就会改变了。如果IP改变了,重新设置一边就可以了。如果出现乱码,设置一下字体即可,Sessions -> 右键IP -> Edit session
使用Xshell远程连接:
四、vim编辑器
VM编辑器是Unix及Linux系统下标准的编辑器,相当于Windows系统中的记事本,它的强大不逊色于任何文本编辑器,是我们使用Linux系统不可缺少的工具。vim具有程序编辑的能力,其会依据文件扩展名或者文件内的开头信息,判断该文件的内容,自动执行该程序的语法判断式,再以颜色显示程序代码与一般信息,可以辨别语法的正确性。vim加入了许多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。这些功能可以帮助我们在Linux上进行一些配置文件的修改。
vim编辑器模式
命令模式(默认):刚进入vim的时候,默认为命令模式,可以复制行、删除行等
输入模式:可以输入内容
模式转换
命令模式下,关闭、保存文件
查找
五、Linux常用命令
帮助命令:在 Linux 环境中,如果遇到困难,可以使用帮助命令来取得帮助
常用系统工作命令:系统状态检测命令:查看Linux配置系统的基本命令
工作目录切换命令:在Linux中,工作目录指的是用户当前在系统中所处的位置
Linux命令手册
echo——用于在终端输出字符串或变量提取后的值
rm——删除文件
date——用于显示及设置系统的日期或时间
poweroff——用于关闭系统
reboot——重启
init——需要root权限
top——显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率等,使用q键退出
kill [进程号]——杀死某个进程
ps——查看进程
ifconfig——用于获取网卡配置与网络状态等信息
ip a——可以查看IP
ip add——可以查看IP
uname——用于查看系统内核与系统版本等信息
who——用于查看当前登入主机的用户终端信息
id——查看当前登入主机的用户终端信息
whoami——查看当前登入主机的用户终端信息
history——用于显示历史执行过的命令
pwd——用于显示用户当前所处的工作目录
cd——用于切换工作路径
ls——用于显示目录中的文件信息,目录为蓝色,普通文件为白色,压缩包为白色
ll——查看文件详情
六、文本文件编辑命令
cat——用于查看纯文本文件(内容较少的)
more——用于查看纯文本文件(内容较多的)
head——用于查看纯文本文档的前N行
wc——用于统计指定文本的行数、字数、字节数
stat——用于查看文件的具体存储信息和时间等信息
七、文件目录管理命令
touch——用于创建空白文件或设置文件的时间,创建时间和最近改动时间无法更改
mkdir——用于创建空白的目录
cp——用于复制文件或目录
mv——用于移动文件或将文件重命名
file——用于查看文件的类型
八、打包压缩命令
tar——用于对文件进行打包压缩或解压,压缩-cvf,解压-xvf(c为压缩,x为解压,v为路径,f为文件)
gzip——一般与tar一起使用,tar只负责打包并未做压缩,使用 -z 选项可以调用gzip压缩,完成打包压缩
zip——压缩效率比不上gzip
九、搜索命令
which——用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。使用which命令,可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令,此命令会去搜索$PATH环境变量中的目录路径,可以使用echo $PATH 查看。
whereis——与which命令相似,whereis也可以查找到命令的绝对路径。两者不同的是,which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置。
locate——根据文件名来搜索文件的命令。区别于 find 命令,locate 命令无需指定路径,直接搜索即可,运行速度较快,可以根据关键字列出所有文件。locate 命令在 mlocate.db 数据库下搜索,这个数据库位于 /var/lib/mlocate/mlocate.db,它包含了系统里所有文件的索引,并且会在每天早上由 cron 工具自动更新。但是 locate 命令有个弊端,它无法搜索当天所创建的文件,因为它的数据库一般只在早上更新一次,我们可以使用 updatedb 命令手动去更新它的数据库。
find——用于在一个目录(及子目录)中搜索文件,可以指定一些匹配条件,如按文件名、文件类型、用户等条件查找文件。默认从当前路径开始检索,其搜索速度比locate慢。
grep——一种强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来。grep可以与find结合使用
十、文件管理权限命令
chmod——进行文件的权限修改,Linux中文件和目录的权限有所不同
文件的权限:
目录的权限:
Linux用户及权限管理