---------------辅助类---------------------
TAB:自动补齐
\ :强制换行
ctrl+u:清空至行首
ctrl+k:清空至行尾
ctrl+l:清屏
ctrl+c:取消本次命令编辑
命令 --help 查看帮助(man 命令)
在终端下:
复制命令:Ctrl + Shift + C 组合键.
粘贴命令:Ctrl + Shift + V 组合键.
--------------文件类---------------------
cd 切换工作目录 (/目录/,文件/)
绝对路径加/
相对路径不加/
如cd /root 和cd root等效,前者为绝对的根目录,后者为当前根目录下的相对路径。
cd .. 返回上一级目录
pwd 查看当前路径
ls 查看当前目录
/ 查看根下的目录
/目录名/ 查看目标目录的文件
-l 详细查看
-h 显示文件大小单位
-alh 直观显示
-a 查看包括隐藏文件
-d 显示目录本身的属性
-A 类似于a
-R 目录 递归查看该目录
| wc -l 显示文件数目
--color 以颜色区分不同目录
--sort=size 按大小排序
--sort=time
> 1.txt 将该目录下内容导入到1.txt中
wc 统计文件中的行号 单次数量 字节数
-l file 统计行数
-w file 统计单词数
-c file 统计字符数
du 查看某个文件或目录的大小
-a 文件 统计时包括所有的文件
-h 文件 以更易读的字节单位显示信息
-s 文件 只统计每个参数所占用空间的大小
mkdir 创建新的目录
目录名 在当前路径创建
/目录名 递归创建(前者已存在)
-p /路径/目录名 递归创建(根目录下不存在的路径)
touch 文件名 新建文件或更新文件时间标记(当前路径下已有该文件)
ln -s /源文件或目录 /链接文件或目标目录 为文件或目录创建链接(文件结尾需/,目录不需要)
cp /源文件或目录/ /目录或文件 复制文件或目录
-r 递归复制整个目录树
-p 保持源文件的所有属性不变
-f 强制覆盖目标同名文件或目录
-i 需要覆盖文件或目录时提醒
rm -f /文件或目录 强行删除文件或目录
-i /文件或目录 删除时提醒
-r /文件或目录 递归删除
-rf /文件或目录 强制删除
--no-preserve-root / 删除root
mv 选项 源文件或目录 目标文件或目录 移动文件或目录(并改名)
find 查找范围 查找条件 用于查找文件或目录
/ -name 文件或目录名名 在根下按名称查找系统所有符合文件
-size 大小 按大小查找
-user 属主 按文件属主查找
-type 按文件类型查找
find / -name nmap 从根开始查找nmap文件
find / -iname nmap 不区分大小写从根开始查找nmap文件
find . -name "ps*" 从当前目录开始查找ps开头的文件
find . -name "ps*" -exec cp {} /tmp/{}.bak \; 执行拷贝操作并以文件名.bak 结尾
vi [-options] [+[n]] [file] 编辑文件
-r 用于恢复系统突然崩溃时正在编辑的文件
-R 用于以只读方式打开文件
+n 用来指明进入vi后直接位于文件的第几行,如果不指定则默认最后一行
命令模式:该模式下不能修改
/搜索的内容 开始向下搜索(n键显示下一个指定搜索内容)
?搜索的内容 开始向上搜索(n键显示上一个指定搜索内容)
dd 剪切光标后一行,p粘贴
2dd 连续剪切光标后两行
D 从光标的位置删到行尾
gg 返回到文本开始位置
G 返回到文本最后位置
yy 复制当前行
yw 复制一个单词
y$ 复制光标到结尾
y^ 复制光标到行首
m,ny 复制m到n行内容
. 重复上一个命令
u 返回上一部操作
ctrl+g 显示当前行数
插入模式:命令——>插入
输入a 开始在光标后插入模式
输入A 在行尾插入
输入i 在当前字母前插入
输入I 在行首插入
输入o 在下一行插入
输入O 在上一行插入
输入10回车 光标后挪10行
Esc 退出插入模式,进入命令模式
底行模式:命令——>底行
set nu 显示行数
10d 删除第十行
10,15d 删除10-15行
20 光标跳到20行
.,$d 从光标所在位置到最后全部删除
%s/查找内容/目标内容/g 将(s)搜索全部(%)内容替换为目标内容,不提示(g)
1,5s/seven/domain/g 将一到五行的seven替换为domain
e! 恢复到打开文本最初状态
!ls / 执行ls /的命令 ,回车切换
cat 显示出文件的全部内容
file1 file2 显示文件一和文件二
-n 给输出的所有行加上编号
file1 file2 > file3 将文件一和文件二合并为文件三
/etc/passwd 查看所有用户的信息
/shadow 密码所在
file |grep 111 >>1.txt 将从file中查找的111输入到新建的1.txt中
cat /var/log/messages
more /var/log/messages
less /var/log/messages
tail /var/log/messages tail -20 /var/log/messages
watch -n 2 tail -20 /var/log/messages 每隔2秒查看日志后20行的内容
head file 查看文本内容默认前十行
tail file 查看文本内容默认后十行
more file 以逐条查看方式显示文件,适用于查看大文件 空格翻页,回车跳行
tail -f file 监测文件的变化,可用于查看日志
echo "111" >>file 将111输入到file的最后一行
echo "111" >file 将111输入到file,并清空file原来的数据
grep
grep ssh /etc/passwd 筛选ssh字符串
whereis命令
updatedb
whereis nmap 在数据库中搜索字符串,并显示路径
whereis -b nmap 查找名称为nmap的二进制文件
echo "hello world" 显示hello world
管道:多个命令通过管道的方式一起执行或按照逻辑关系输出结果
cat /etc/passwd | grep ssl
cd aaa & ls 执行两个命令
cd aaa && ls 如果前面的命令执行成功再执行后面的命令
cd aaa || ls 如果前面的命令执行不成功再执行后面的命令
shell脚本
vi 1.sh
#!/bin/bash 使用/bin/bash解释下面的脚本语言
echo -n "IP : " #-n 让光标停留在本行
read ip
echo "your ip addr is :" $ip
:wq
chmod +x 1.sh
./1.sh
gedit 图形化文本编辑(kali)
--------------软件类---------------------
tar
-xvf 3.tar 解包归档文件(列表)
-tvf 4.tar 查看包内私网文件(详细)
4.tar -r 追加tar文件至归档结尾
-rvf 4.tar 5 把5加入4.tar
-cvf 3.tar 1 2 将文档1 文档2 归档为3.tar
-cvzf test.tar.gz 被压缩的文件1 被压缩的文件2 ——创建归档压缩文件, 后缀为gz
-cvif test.tar.bz2 被压缩的文件1 被压缩的文件2 ——创建归档压缩文件, 后缀为bz2
-zxvf 3.tar.gz -C (路径) 解压3.tar.gz
jxvf 3.tar.bz2 -C(路径) 解压3.tar.bz2
-c 创建归档文件
-v 输出详细信息
-f 表示使用归档文件
-x 解开归档文件
-t 列表查看包内的文件
-p 解包时保留原始文件及目录的权限
-C 解包时指定释放的文件夹
-z 调用gzip程序,进行解压或压缩
gzip 文件名 压缩后的文件名.gz 压缩
-d 压缩文件 解压
-9 文件名 压缩后的文件名.gz 高度压缩文件
bzip2 文件名 压缩后的文件名.bz2 压缩
-d 压缩文件 解压
-9 文件名 压缩后的文件名.bz2 高度压缩文件
rpm [options] RPM包文件 安装、卸载RPM软件
-ivh /软件路径 安装软件
-i 装一个新的rpm软件包
-U 升级某个rpm软件
-F 更新某个rpm软件
-e 软件名 卸载
-qa 查看安装的软件
-qi 软件名 查看软件详细版本信息 (红帽)
yum -y install 软件名 安装软件(光盘自带)--包含依赖关系
yum -y remove 软件名
yum -y remove 软件名 卸载软件
配置yum:vi /etc/yum.repos.d/rhel-source.repo
.,$d 删除光标到最后 用底行模式删除最后六行 (.代表光标所在位置,$代表最后,d代表删除)
在enabled按a再按1 将0替换为1
将ftp从t后整行删除,输入ile:///media/Server
复制/etc...,在底行模式下wq保存退出
输入rpm --import 粘贴 导入密钥
yum -y install firefox 安装firefox (红帽)
编译安装:
tar解包,并释放到指定目录
./configure 设置安装目录,安装模块
make编译 生成可执行的二进制文件
make install 复制二进制文件到系统,配置应用环境
apt-get update 更新远方仓库里包的信息下载下来(更新数据库,对系统没有影响)
apt-get upgrade 进行系统更新
apt-get -cache search apche 搜索有哪些包可安装,如apche
apt-get update 下载软件源的数据包的信息
install apche2 安装数据包,如apche2
remove apche2 卸载数据包
clean 清除已下载的包 (kali)
dpkg -i xx 安装下载程序
-l 简明地列出软件包的状态。
-r xx 卸载
-L xx 列出指定软件包的信息
-S|--search <表达式> ... 搜索含有指定文件的软件包。 (kali)
(kali)
----------------系统类---------------------
uname 查看系统相关信息
-a显示主机名,内核版本,硬件平台等
-r显示内核版本
hostname 查看主机完整名称,所在域的名称
vi /etc/selinux/config 配置安全机制
service iptables stop 关闭防火墙
chkconfig iptables off 禁止开机启动
init 6 优雅关机
ls /etc/init.d 查看服务
cat /proc/cpuinfo 查看cpu信息
meminfo 查看内存
date 查看时间
查看时间
halt 关机
reboot 重启
shutdown -h now 关机
chmod
+x file 给file增加执行的权限
-R 777 file 给file目录递归最大权限(所有子目录)
chmod 444 filename 取消运行权限(444分别代表三个使用者的权限)
chmod 755 filename 开启运行权限(权限大小r为4,w为2,x为1)
chmod u-w 让所有者失去写的权限(u代表所有者,g代表属组,其他人为e)
chown username file 修改文件的所有者
top 监视Linux系统信息
k kill 2441 结束2441进程
q quit
dmesg 查看var/log/messages
ps 调出系统进程
-ef 详细显示进程信息
-aux 调出详细进程
ps -aux |grep nginx 调出该进程
kill -9 pid 强制关闭该id对应的进程
chkconfig mysql on 开机启动该服务
off
--list 列出所有服务 (红帽)
umount /dev/sr0 卸载光盘
mount /dev/sr0 /media 重新挂载
cd /media
ls
useradd options username 添加用户账号
-u 指定UID标记号
-d 指定宿主目录
-e 指定账号失效的时间
-g 指定用户的基本组名(UID号)
-G 指定用户的附加组名(GID号)
-M 不为用户建立并初始化宿主目录
-s 指定用户登录shell
userdel -r 用户名 彻底删除用户
su - 用户名 切换用户
kill -kill -t user 注销用户
passwd 用户名 设置密码
cat /etc/passwd 查看本地用户--------ls /home
user:x:500:500::/home/user:/bin/bash(x:影子密码,UID:用户标识,GID:分组标识)
将用户的UID 号和GID号改为0,提权为iroot
cat /etc/shadow 查看用户密码
----------------网络类---------------------
ifconfig 查看所有网卡ip地址
etho 只查看etho
:1 192.168.0.2/24 创建逻辑接口
192.168.9.1 临时修改ip
iptables -F 清空防火墙
setenforce 0 关闭防火墙
macchanger -m 00:11:11:11:11:11 eth0 修改mac地址
down
up 开启接口
netstat :查看系统的网络连接状态,路由表,接口统计等信息
-a:显示所有活动连接
-n:以数字形式显示
-p:显示进程信息
-t:查看TCP协议相关信息
-u:查看UDP协议相关信息
-r:显示路由表信息
-tnlp 查看tcp开启端口
-unlp 查看udp开启端口
netstat -pantu 查看当前计算机的tcp和udp连接
netstat -pantu | egrep -v '0.0.0.0|:::' 筛选掉含有0.0.0.0或:::的行
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $5}' 拼接显示每行第五列内容
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $5}' | cut -d ':' -f 1 进一步通过:分块只显示第一块内容
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $S}' | cut -d ':' -f 1 | sort | uniq 排序并过滤重复内容
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $S}' | cut -d ':' -f 1 | sort | uniq > ip 输出到ip文件
|awk '{print $5}' 拼接显示每行第五列内容
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $5}' | cut -d ':' -f 1 进一步通过:分块只显示第一块内容
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $S}' | cut -d ':' -f 1 | sort | uniq 排序并过滤重复内容
netstat -pantu | egrep -v '0.0.0.0|:::' |awk '{print $S}' | cut -d ':' -f 1 | sort | uniq > ip 输出到ip文件
service network start 启动network的服务
stop
restart 释放IP,重新获取
status 显示服务状态
dhclclient eth0 重新获取接口ip
/etc/init.d/network restart 重新获取接口ip
ifdown eth0 禁用网络接口
ifup eth0 启用网络接口 (redhat有神效)
route -n: 查看路由表信息
route del default gw IP地址 删除路由器中的默认网关记录
route add default gw IP地址 向路由器中添加默认网关记录
route add net 网段地址/24 gw ip地址 添加到指定网段的路由记录
route del net 网段地址 删除到指定网段的路由记录
dns配置
vi /etc/resolv.conf 修改本机需要使用的DNS服务器的配置
nameserver 192.168.0.1
nameserver 8.8.8.8
redhat配置ip:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
编辑文件如下:
DEVICE=eth0 //指出设备名称
BOOTPROT=static //启动类型 dhcp|static
BROADCAST=192.168.1.255 //广播地址
HWADDR=00:06:5B:FE:DF:7C //硬件Mac地址
IPADDR=192.168.0.2 //IP地址
NETMASK=255.255.255.0 //子网掩码
NETWORK=192.168.0.0 //网络地址
GATEWAY=192.168.0.1 //网关地址
ONBOOT=yes //是否启动应用
TYPE=Ethernet //网络类型
配置参考:
DEVICE=eth0
BOOTPROT=static
IPADDR=192.168.1.188
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
redhat配置网关
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.2.2
kali配置ip地址
配置使用动态IP地址
vi /etc/network/interfaces
iface eth0 inet dhcp //用于设置网络接口eth0 通过dhcp协议获取网络配置
/etc/init.d/networking restart
配置使用静态IP地址
vi /etc/networking/interfaces