前言

由于自己一个寒假没碰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版本,那么我们就配置成功了。

未完待续