kali常用命令
前言
由于自己一个寒假没碰kali, 开学kali命令全忘了这件事,所以整理一下三位师傅的文章,熟能生巧,大家平时还是要多敲命令
https://blog.csdn.net/qq_44171009/article/details/104617579
https://blog.csdn.net/qq_44902875/article/details/104143557
https://www.cnblogs.com/wbly2019/p/10730298.html
软件安装、升级的几个命令
安装软件包
apt-get install [package_name]
更新,每次安装新软件包、升级操作系统、应用程序都需要进行检查
apt-get update
升级,先执行跟新后再执行下面命令,针对软件
apt-get upgrade
版本升级,如kali版本2.0升级到2.n
apt-get dist-upgrade
移除,删除所有非必须的软件包
apt-get remove [package_name]
自动移除,旧的软件包会被新的替代,会自动删除不必要的软件包
apt-get autoremove
完全移除,和移除的区别是会删除配置文件(慎重)
apt-get purge [package_name]
8.清理,清理已经安装过的安装软件包文件
apt-get clean
自动清理,在版本过度的时候,会清理掉旧版,而清理则是都会被清理
apt-get autoclean
压缩包相关命令
使用tar压缩,压缩当前目录下的所有文件,
c表示创建新存档文件,f指定压缩名,*表示所有文件都加入,t表示列出.tar中的内容
mkdir tar_text
echo “Hellow World” > tar_text/text1 #把Hellow World写进text1文件中
echo “Hellow World” > tar_text/text2
cd tar_text
tar -cf tar_text.tar *
tar -tf tar_text.tar
解压tar文件,-C指定解压放置的目录
mkdir tar_text1
tar -xf /root/tar_text/tar_text.tar -C /root/tar_text1/
压缩tar文件
gunzip指的是gzip,z表示压缩这个文件
mkdir tar_text2
echo “Hellow World” > tar_text2/text1
cd tar_text2
压缩成一个文件包
tar -czf tar_text.tar.gz *
文件操作
在linux的命令均区分大小写
Tab补全功能也是linux特别的功能之一
Ctrl+C可中断正在执行的命令
在一行内输入多行命令需要使用;号间隔
- 绝对路径
bash 以根目录为起点,例:/proc/local/bin
- 相对路径
bash 以当前目录为起点,例:./local/bin
- 查看当前的工作目录
[root@dyzx~]# pwd
/root //当前目录是/root
- 改变工作目录
[root@dyzx~]# cd /usr/local/lib //改变目录到/usr/local/lib目录下
[root@dyzx lib]# cd .. //返回上一层目录
[root@dyzx local]# cd ../etc //进入当前目录的父目录下的etc子目录
[root@dyzx~ etc]# cd ~ //进入root用户登录时的工作目录
[root@dyzx~]# cd 桌面 //进入当前目录下的“桌面”子目录
[root@dyzx 桌面]# cd //进入当前用户的家目录
- 列表显示目录内容——ls命令
ls [选项] [目录1|文件1] [目录2|文件2] …
-a——显示所有子目录和文件的信息 ,包括隐藏文件
-A——与-a选项的作用类型,但不显示隐藏文件
-c——按文件的修改时间排序后,予以显示
-d——显示指定目录本身的信息,而不显示目录的各个文件和子目录的信息
-h——以K,M,G为单位显示目录或文件的大小
-l ——以长格式显示文件和目录的详细信息
-R——以递归的方式显示指定目录及其子目录的所有内容
[root@dyzx~]# ls //列出当前目录下的文件及子目录
[root@dyzx~]# ls -hl //以K,M,G为单位显示目录或文件的大小
- 创建目录——mkdir命令
mkdir [选项] 目录1 [目录2] …
-p——在创建目录时,如果父目录不存在,则连父目录一起创建
[root@dyzx~]# mkdir -p dir2/bak //创建dir2目录和bak目录
- 统计并显示目录或文件的空间占用量——du命令
du [选项] [目录1] [目录2] …
-a——显示对涉及的所有文件的统计,而不只是包含子目录
-s——对每个指定目录只显示总和,而不显示各子目录的大小
-h——以K,M,G为单位显示目录或文件的大小
[root@dyzx~]# du -sh /boot //统计/boot目录中所有文件占用空间量
123M /boot
- 创建文件或者更新已有文件或目录的修改日期——touch命令
touch [选项] 文件或目录列表
-d yyyymmdd——把文件的存取或修改时间改为yyyy年mm月dd日
-a——只把文件的存取时间改为当前时间
-m——只把文件的修改时间改为当前时间
[root@dyzx~]# touch f1 f2 f3 //在当前目录下建立三个空文件
[root@dyzx~]# touch -d 20180604 f1 //文件的存取或修改时间修改为20180604
- 复制文件或目录——cp命令
cp [选项 ] 源文件或目录 目录文件或目录
-f——覆盖目标同名文件或目录时不进行提醒
-i——覆盖目标同名文件或目录时进行提醒
-p——复制的目标文件或目录,保持与源文件或目录相同的权限,属主等属性
-r——复制目录时必须使用该选项,以实现将原目录下的文件和子目录一并复制
-u——只有当源文件的创建日期晚于目标文件时才会覆盖
[root@dyzx~]# cp /etc/hosts ~/f1 //将/etc/hosts文件复制到用户家目录下,并改名为f1
[root@dyzx~]# cp -r /etc/java/ dir2/bak //将/etc/java目录复制到当前目录的dir2/bak目录下
- 移动文件或目录——mv命令
mv [选项] 源文件或目录 目标文件或目录
-b——移动后的源文件或目录不删除,效果相当于复制
[root@dyzx~]# mv f1 dir1 //将当前目录下的f1文件移动到当前目录下的dir1子目录下
[root@dyzx~]# mv f2 f2.txt //将当前目录下的f2文件更名为f2.txt
- 删除文件或目录——rm命令
rm [选项] 文件1或目录1 [文件2或目录2] …
-f——删除文件或目录时不进行提醒直接删除
-i——用于交互式删除文件或目录,在删除的时候需要用户确认
-r——用于删除目录
[root@dyzx~]# rm -ir dir2/bak //删除当前目录的dir2/bak目录
rm:是否进入目录“dir2/bak”? y
rm:是否进入目录“dir2/nak/java”? y
..........
- 为文件或目录建立链接——ln命令
ln [选项] 源文件或目录 [目标链接文件或目录]
-s——建立符号链接(软链接),不加该选项为硬链接
-f——若建立的目标文件或目录已存在,则强行删除后建立
-i——若建立的目标文件或目录已存在,则以交互性方式提示用户是否覆盖
- 显示文件的内容——cat命令
cat [选项] 文件名列表
-n——对输出内容中所有行标注行号
-b——对输出内容中非空行标注行号
[root@dyzx~]# cat /etc/os-release //查号此文档的内容
- 检索过滤文件内容——grep命令
grep [选项] 要查找的字符串或条件表达式 被查找的文件名
-i——查找内容时不分大小写
-v——反转查找,即输出与查找条件不相符的行
[root@dyzx~]# grep ftp /etc/passwd //在文件passwd中查找包括“ftp”的行
[root@dyzx~]# grep "user1 $" /etc/passwd //在文件中查找只含“user1”的行
- 重定向操作符——“>” “>>” “<” “<<”
[root@dyzx~]# echo 'this is web'
[root@dyzx~]# echo 'this is web' >f1 //将字符写入f1
- 文件打包与解包命令的使用
tar [选项] [被打包的文件或目录列表]
c——创建一个包文件
v——显示打包或解包的过程
f 包文件名——指定被打包或被解包的包文件名
p——打包时保留文件或目录的权限
z——以gzip格式压缩或解压缩文件,是使用最广泛的压缩方式
j——以bzip2格式压缩或解压缩文件
J——以xz格式压缩或解压缩文件
t——列出包文件的内容清单
x——释放包文件
-C 目标文件夹——将包文件的内容释放到指定的目标文件夹中
- 创建非压缩的包文件名
tar cvf 包文件名 被打包的文件或目录名列表
[root@dyzx~]# touch f1 f2 f3
[root@dyzx~]# tar cf my_file.tar f1 f2 f3 //将f1 f2 f3打包为my_file.tar包文件
[root@dyzx~]# tar cvdf /root/my_etc.tar /etc //创建/etc目录的包文件并显示打包过程
- 创建带压缩的包文件名
tar [z|j|J]cf 包文件名 被打包的文件或目录名列表
[root@dyzx~]# tar czf /root/my_etc.tar.gz /etc
[root@dyzx~]# ls -lh /root/my_etc* .*
- 列出包文件中的文件列表
tar t[v]f 包文件名
[root@dyzx~]# tar tf /root/my_file.tar
f1
f2
f3
- 释放包文件到指定目录
tar x[z|j|J][v]f 包文件名 [-C 目标文件夹]
[root@dyzx~]# tar xf /root/my_etc.tar.gz -C /tmp/etc/bakup //前者释放到后者
centos7有关操作
由于我的云服务器是centos7的系统,所以也用到了一点这些操作,也记录一下吧 防止之后忘了
创建文件夹
1、创建本目录下文件夹
mkdir dir
2、创建其他目录下文件夹
mkdir dir/file
3、创建多级目录文件夹
mkdir -p tmp/dir
4、创建file.txt文件
mkdir dir/file.txt
修改文件夹名
1、文件夹重命名
mv dir dir1
2、文件重命名
mv dir/file.txt dir/files.txt
查看文件夹/文件
1、cd dir
2、cd dir/dir1
3、cd dir/dir1/dir2
4、查看目录下内容 ll (或者ls)
5、返回上一级 cd ..
删除文件夹/文件
1、删除本目录下文件夹及文件
rm -rf dir1 (强制删除,不提示)
2、强制删除文件,不提示
rm -f file
3、递归删除其文件和文件夹
rm -r dir
centos7配置java环境变量
这里我云服务器是centos7系统,所以也是经过了一番功夫才配好,记录一下
下载java 地址:https://www.oracle.com/java/technologies/downloads/#java8 我这里是下载的x64的压缩包,大家根据自己的系统选择下载
下载好后直接将压缩包上传到服务器上,现在还是一个压缩包
解压缩
tar -zxvf jdk-8u271-linux-x64.tar.gz
创建java存放目录
mkdir /usr/local/java
将解压缩的文件移动到/user/local/java
目录下
mv jdk1.8.0_321 /user/local/java
配置环境,键入vi /etc/profile
,并在最后添加下面代码
export JAVA_HOME=/usr//java #注意这里是自己java在的目录
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
输入:wq
即可保存退出,关于这些文件操作大家可以去看这位师傅的文章https://blog.csdn.net/kevin860/article/details/87836472
更新配置
source /etc/profile
查看配置是否成功
java -version
可以看到显示了java版本,那么我们就配置成功了。