目录
目录结构
SSH连接
开关机与重启
关机
重启
文件目录
目录
显示/切换
创建与删除
文件
创建
复制
移动
查看
重定向和追加
软链接
查找
备份与压缩
.gz
.zip
.tar.gz
用户管理
用户
添加用户
删除用户
修改用户
显示用户信息
查看/切换用户
用户组
添加用户组
删除用户组
组和权限管理
修改文件所有者/所在组
权限介绍
修改权限
符号模式
数字模式
系统管理
时间日期
任务调度
进程管理
查看
杀死
软件安装/卸载
安装
apt方式
压缩包方式
卸载
apt方式
其他
命令查看
运行级别
查看
进入
帮助
man
help
渗透测试软件
Metasploit
Ettercap
Sqlmap
Shell编程
下载网站:kali.org
打开这里偷个懒,直接下载VMware的压缩包,解压后,打开即可。
Linux的目录结构,类似于一棵树,根节点是“/”。
总览
打开“文件系统根目录”
或者
root@frank:/# cd /
root@frank:/# ls
可查看根目录下的文件,
蓝色表示目录;
绿色表示可执行文件,包括.sh,.py等;
红色表示压缩文件,包括.zip、.tar等;
浅蓝色表示链接文件;
灰色表示其它文件,包括.conf,.db,.img,.old等;
黄色是设备文件,包括block, char, disk等。
bin
存放命令/可执行文件
dev
管理设备
etc
配置文件
lib/lib32/lib64
库文件,.so或相关后缀
root
该目录为系统管理员,也称作超级权限者的用户主目录。
usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/local 一般通过编译源码方式安装的程序会放在此目录
var
放着不断扩充的东西,一般将经常修改的目录放在此目录下,例如,临时目录,备份,日志文件等。
其他
可以使用MobaXterm、XShell、SecureCRT等进行连接,不了解SSH协议的可以查看:
网络-Telnet协议与SSH协议(命令、免密登录)及其安全性
shutdown
语法
shutdown [-t seconds] [-rkhncfF] time [message]
参数说明:
halt
若系统的 runlevel 为 0 或 6 ,则Linux halt命令关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代。
使用权限:系统管理者。
语法
halt [-n] [-w] [-d] [-f] [-i] [-p]
参数说明:
poweroff
用于关闭计算器并切断电源。
使用权限:系统管理者。
语法
poweroff [-n] [-w] [-d] [-f] [-i] [-h]
参数说明:
reboot
用于重新启动计算机。
若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代。
语法
reboot [-n] [-w] [-d] [-f] [-i]
参数:
例如, 立即关机
shutdown -h now
poweroff
halt
后面学习的 init 0也可以关机
例如,立即重启
reboot
shutdown -r now
pwd
显示当前绝对路径
ls
显示目录及文件
xr等是权限,后面再讲
还有 -a 选项比较常用,显示 . 开头的隐藏文件
cd
change directory, 切换目录
切换到/usr/lib目录
灵活使用,比如,在/usr/lib下,进入同级的bin目录,即回到上一级再进入bin
cd ../bin/
创建
make a directory / directorys
语法
mkdir [-p] dirName dirName ...
参数说明:
例如,在家目录下创建一个 lady_killer9 目录
例如,在家目录下创建一个 lady/killer/9 的多级目录
删除空目录
remove an empty directory/ directorys
语法
rmdir [-p] dirName
参数:
例如,将刚才新建的空目录删除
非空目录如何删除?
语法
rm [options] name...
参数:
家目录下新建一个目录lady,里面新建一个文档(touch killer.txt)
语法
touch 路径/文件名 路径/文件名 路径/文件名 ...
上面有了,不再展示。展示一下一次创建多个,前面的mkdir也可以一次创建多个目录。
语法
cp [options] source dest
参数说明:
将家目录下的lady.txt文件复制到lady目录下
将家目录下的lady目录复制到killer目录下
kali linux下是默认覆盖,不提示,要提示可使用-i选项。
move file
语法
mv [options] source dest
mv [options] source... directory
参数说明:
重命名
将某文件移动到同一个目录下
将家目录下的文件killer.txt重命名为killer9.txt
将killer.txt移动奥家目录下的lady目录下
全部查看
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
使用权限
所有使用者
语法格式
cat [-bn] fileName
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
查看 /etc/profile 文件,显示行号
cat -n /etc/profile
注意,直接显示全部,如果行数过多,不太合适
清空文件
cat dev/null > filepath
例如,清空 lady目录下的lady.txt文件
滚动查看
语法
more [-num] [fileNames..]
参数:
操作:
查看 /etc/file 文件,一页5行
相较于cat,more可以分页,提前退出,适合大文件,缺点是没有行号显示
使用管道符 | ,将两个命令合起来用,管道左边的内容作为右边的输入
cat -n /etc/profile | more -5
上面的命令相当于 more -5 有行号的 /etc/profile
特大文件查看
对于几兆甚至更大的日志文件等使用cat或more就不合适了
语法
less [参数] 文件
参数说明:
使用前段时间爬取的小说Python-简单小说爬虫(以《天官赐福》为例),3M多的小说,在Windows上鼠标右键打开,还会转2-3秒
我传到了家目录的文档目录下
>:用前面的内容覆盖掉后面文件的内容
>>:用前面的内容追加到后面的文件尾部
第一个前面清空文件时提到过
echo
语法
echo 字符串
head
命令格式:
head [参数] [文件]
参数:
tail
命令格式:
tail [参数] [文件]
参数:
举例:
将家目录的文件目录列表写到lady.txt文件中
将"study hard during winter vacation" 追加到lady.txt文件后面
注:head、tail无参数默认查看10行
语法:
ln [参数][源文件或目录][目标文件或目录]
必要参数:
类似于Windows下的快捷方式
上图可以看到,我安装了pyhton2和python3,部分旧软件版本没有跟上,会使用python2,并找名为python的软链接,我们创建一个python的软链接,链接到python2.7
ln -s /usr/bin/python2.7 /usr/bin/python
这样对于开头是
#!/usr/bin/env python
的文件,你也可以通过./xxx来运行了。
语法
find [搜索范围] [选项]
选项
查找家目录下名为lady.txt的文件
查找家目录下大于3M的文件
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,可以手工更新数据库 ,命令为:
updatedb
查找家目录下名为lady.txt的文件
语法
grep [选项][文件或目录...]
-e <样式>:通过正则表达式进行匹配
-i : 忽略字符大小写的差别。
-n: 在显示符合样式的那一行之前,标示出该行的列数编号。
查找lady.txt文件中包含lady的行,并显示行号,使用管道符 |
查找lady.txt文件中包含ad的行,并显示行号,使用管道符 |
查找lady.txt文件中40几分创建的文件或目录所在行,并显示行号,不使用管道符
gzip [选项] 文件
选项:
gunzip [选项] 文件
选项
压缩家目录下的lady.txt
注意:源文件不会保留。
解压缩家目录下的lady.txt
注意:源压缩文件不会保留。
zip [选项] xxx.zip 目录或文件
选项
压缩家目录下的lady目录为lady.zip
这个原目录或文件还是在的
unzip [选项] 目录或文件
选项
解压缩lady.zip到家目录下的killer目录下
注意,由于前面压缩时目录填写的为~/lady,所以解压后路径为绝对路径,即多了一层目录,若使用lady/则不会有root这一层。
tar [选项] 文件或目录
选项
压缩家目录下的 9.txt 和lady.txt 为 lady9.tar.gz,显示过程
tar -zcvf lady9.tar.gz 9.txt lady.txt
将家目录下的killer目录压缩为killer.tar.gz
tar -zcvf killer.tar.gz killer/
解压killer.tar.gz到家目录下的lady目录
tar -zxvf killer.tar.gz -C lady/
用户组:一个组有一个或多个用户。初始状态下有 root组和root用户。
home:家目录,一个用户登录时会进入对应的家目录。例如,home/lady
useradd 选项 用户名
参数说明:
passwd 用户名 来添加密码
例如,添加lady用户,主目录为/home/lady
使用SSH客户端登录后,当前目录就是
userdel [-r] 用户名
-r:删除用户家目录及里面包含的所有目录、文件
先退出登录后再进行用户删除
例如,删除lady用户,保留家目录
userdel lady
语法
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
参数说明:
不进行截图了,一般很少用,都是创建时想好了,参数和useradd也差不多。在用户组一节有展示。
语法
id [-gGnru][--help][--version]用户名
参数说明:
显示用户lady的所有信息。
没有用户时会显示
root@frank:/home# id lady_killer
id: “lady_killer”:无此用户
whoami
显示当前用户
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
例如,切换到lady用户,并进入对应家目录
切到root
注意,低权限到高权限需要输入密码
注:修改组usermod不常用,没有展示
语法
groupadd 命令 语法格式如下:
groupadd [-g gid [-o]] [-r] [-f] group
参数说明:
例如,添加组 fashi、sheshou,添加用户 houyi 到组 sheshou
cat /etc/group
查看用户houyi的信息
创建用户时会默认创建对应名称的组,如果没有指定的话,否则不会创建。lady没有指定组,所以有lady组。但houyi指定了组sheshou,就没有再生成组houyi。
例如,创建yewang组,id为1003,将houyi改到yewang组
groupdel [用户组名]
前面学习了,目录和文件,以及用户
文件有属性,包括所有者,所在组,其它组,可执行权限等。
使用用户houyi在其家目录下,创建一个xixue.txt
chown具有root权限才能使用,助记:chage owner
语法
chown [-cfhvR] user[:group] file...
参数 :
将lady.txt的所有者改为lady
chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。 助记:change group
语法
chgrp [-cfhRv] 所在组 文件或目录
选项
将lady.txt的所在组改为lady
修改权限首先得看得懂文件的权限有哪些,就是ls -l展示的d、r、w等
第一个字母表示文件类型,
接下来是文件所有者权限、文件所在组的用户的权限、文件其他组的用户的权限,每组三个
数字
接下来是拥有者、所在组、文件大小/4096、文件创建时间、文件名
以目录lady为例
d rwx r-x r-x lady lady 4096 1月20 17:01 lady
目录 拥有者可读、写、进入 所在组用户可读、进入 同左 拥有者 所在组 目录都是4096 创建时间 目录名
下面模式记一种即可。
使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 命令 chmod 将修改 who 指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在 who 的位置来说明,如 who 的符号模式表所示:
who | 用户类型 | 说明 |
---|---|---|
u | user | 文件所有者 |
g | group | 文件所有者所在组 |
o | others | 所有其他用户 |
a | all | 所用用户, 相当于 ugo |
operator 的符号模式表:
Operator | 说明 |
---|---|
+ | 为指定的用户类型增加权限 |
- | 去除指定用户类型的权限 |
= | 设置指定用户权限的设置,即将用户类型的所有权限重新设置 |
permission 的符号模式表:
Permission | 名字 | 说明 |
---|---|---|
r | 读 | 设置为可读权限 |
w | 写 | 设置为可写权限 |
x | 执行权限 | 设置为可执行权限 |
X | 特殊执行权限 | 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行 |
s | setuid/gid | 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限 |
t | 粘贴位 | 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位 |
例,对于lady.txt拥有者赋予读、写、执行权限,所在组和其他组读、执行权限
注:权限一样时,可写在一起,go=rx
可以看到lady.txt变绿了,前面提到绿色是代表可执行文件
例,对于lady.txt拥有者赋予去除 执行 权限,所在组增加 写 权限
数字 | 权限 | rwx | 二进制 |
---|---|---|---|
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r-- | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | --x | 001 |
0 | 无 | --- | 000 |
例,将lady.txt的权限修改为rwxr-xr-x
date '格式'
日期时间显示格式,变化无穷,根据需要来,无法展示全面。
日历
cal 显示当前月日历
cal 年份
cal 月份 年份
语法
crontab [ -u user ] { -l | -r | -e } file
参数说明:
时间格式如下:
f1 f2 f3 f4 f5 program
0 */2 * * * /sbin/service httpd restart 每两个小时重启一次apache 50 7 * * * /sbin/service sshd start 每天7:50开启ssh服务
例,设置每分钟执行的任务,追加'lady_killer9'到/tmp/crontab_test.txt
验证一下:
当然,一般比较复杂的话会写脚本,这里就拿一个简单的脚本举例子。
例,在家目录下写一个脚本mydate.sh,将当前日期追加到/tmp/mydate.txt文件中,给mydate.sh添加可执行权限;设置每分钟执行一次dateadd脚本。
添加任务
稍微有一点延迟
查看一下当前的任务,然后删除所有任务
语法
ps [options]
参数
标题解释
STAT: 该行程的状态:
还有pstree命令,使用树状来查看
语法
kill [参数] 进程号
参数
例,用户lady登录,检测到lady用户异常,现需使lady用户断连
还有killall命令,来杀死相关的一组进程
apt-get install package=version
wget link
apt-get remove --purge xxx
apt-get autoremove --purge xxx
前面说了很多命令,我们来看看如何查看之前的命令
history [选项]
用法:
显示最近使用过的10个命令
通过键盘上下方向键可进行切换
runlevel
init 级别
级别:0~6,不切换到4
博主前面给的命令的选项只是常用的,可以查看官方给的详细命令情况。一般情况下,使用下面的一个命令找不到帮助信息,在另一个会有。
man[命令或配置文件](功能描述:获得帮助信息,按Enter向上滚动查看,按q退出)
例如,查看ls的用法
和man类似
例如,查看cd的用法
为避免文章过长,部分内容另写了文章
《MetaSploit渗透测试魔鬼训练营》之环境搭建
《MetaSploit渗透测试魔鬼训练营》之信息搜集
网络安全-sqlmap学习笔记
未完待续...
更多内容查看:网络安全-自学笔记
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。