## 服务
远程登录:ssh 192.168.2.20 -l/-p root/端口(linux)
rdesktop IP -f 全屏
查看服务是否启动:systemctl is-active/status 服务名
systemctl restart/stop/start/status 服务 #重启/停止/启动/查看状态
service 服务 restart/stop/start/status #重启/停止/启动/查看状态
开机开启关闭服务:systemctl enable/disable 服务
开机启动服务:update-rc.d 服务名 enable/disable
防火墙(firwalld),网卡(network)
目录:. (当前),..(上级),~(根),-(上一个打开过的)
## 文件夹
创建: mkdir 文件夹
创建嵌套文件夹:文件夹/文件夹(如果上级文件夹不存在 mkdir -p 文件夹/文件夹)
删除:rm -r 文件夹(目录)
复制:cp 文件 文件夹
cp -p 完全复制,不是新建的
移动 :mv 文件 文件夹
mv 文件 文件 (可改文件名)
打开:cd 文件夹(相对路径:../文件夹,绝对路径:/root/...)
cd . .(上级目录)/~(家目录)/-(上一个工作目录)
## 文件
创建:touch 文件名
删除:rm 文件名
复制:cp -r 文件夹 文件夹
移动:mv 文件夹 文件夹(可改文件夹名)
打开查看文件内容:
cat 打开文件并查看 cat -v 文件 (显示颜色)
more/less 文件 显示文件分屏
head 文件|nl 显示文件前十行,|nl是标出行数
head -n 行数 文件|nl(查看指定行数内容)
tail 文件 末尾十行
tail -n 行数 文件
查看文件信息:stat 文件
ls -l
find查找文件:
find 路径 -name/-user *文件名关键字/用户名 (指定文件名关键字/指定用户找) -type f -mtime (time 天可换成min分钟,m修改过得可换成a访问过得,c状态改变了,mac)-数字(什么时间前进行过什么操作)
find 路径 -perm 777 (查找权限777的文件)
ag(包含grep和find 的用法):ag -i/w/A/B/C 关键词 路径(忽略大小写/严格按照大小写/匹配内容前n行/前n行/前后各n行)
ag -g 文件名 (找文件)
(如果不在将要操作的文件或文件夹的目录里,就得写路径,而不是名字;
在写目录时,只有文件后没/,文件夹后随便有无/,然后只有根目录前有/)
ls:
显示所有文件(包括隐藏文件,点开头): ls -a
除了文件,还有文件详细信息:ls -l(ll)
ls -al 整合以上两个命令(显示文件类型(d 文件,-常规,l 链接),主权限,组权限,其他人权限(r=4,w=2,x=1(执行权限),-(不给权限)),如果权限中有s,那么这个文件就是以root身份执行,属主是root)
更改文件权限:
更改属主:属组 :chown 属主:属组 更改的文件
chmod 数字/+x /-x /u+x 文件 文件赋予权限/加权限/减/用户加x权限
chmod -R 数字 文件夹
ls -alh :al功能加上显示文件大小
显示当前文件目录:pwd
which 命令 (显示命令的路径)
我是谁,我在哪儿,我要去哪儿 whoami ,pwd,cd
## 进程,端口
top:看进程CPU,内存状态
w:看用户登录信息
last:用户最近登录信息,读取信息的路径/var/log/wtmp (last -数字(指定最近几条))
ps:查看系统进程 -A 所有进程
-aux
ps -aux |grep /tmp 查看是否有后门 kill -9 端口 :杀掉进程/usr/bin/ls/usr/bin/ls
netstat 显示网络状态
netstat -an 显示所有连接了的socket,显示ip
netstat -anltp(t是tcp的意思)
筛除国外IP :netstat -anltp |awk '{print($4)}' |sort|uniq |grep -v /usr/bin/ls"::" |grep -v "Lo"
恢复被删文件:lsof (前提是有进程打开了这个文件)
lsof |grep /var/log/messages(查看被删除文件对应的pid)
cd /proc/<PID>/fd
cp 数字 被删文件
lsof跟进程有关:
lsof abc.txt /|grep 文件路径 #查看哪些进程打开了 abc.txt文件
lsof -c sshd #查看sshd服务所打开的文件
lsof -i :22 #查看22端口有哪些进程在访问
lsof -p 1168 #查看1168进程号所打开的文件
lsof -u 0 #查看uid为0的用户打开的文件
lsof |grep /var/log/ #查看/var/log/下的文件被哪些进程打开
## 命令后可以附加的命令(进行文本处理)
xargs -n数字 (echo 文件名/cat)按行排序,把前边执行结果调用到后边命令,作用就是把一个文件里的内容遍历执行命令
xargs -n数字 -P 线程数
awk文本处理:|awk ‘{print($数字)}‘ 输出第n列,以空格为间隔(所以文本是要有规律的)
|awk -F “指定分隔符” ‘{print($数字,”可加字符”,$)}‘ ,逗号就是以空格显示($NF是取最后一行)
sed 替换,增,删,提取数据:
替换:|sed ‘s/:/+/g’ (s搜索,g全文,打印在终端上的)
sed -i ‘s/:/+/g’ 文件 直接修改文件
添加:|sed ‘s/^/头添加内容/g’,|sed ‘s/$/尾添加内容/g’(语法的分隔符可以用其他符合替换)
grep 搜索:|grep 关键词
|grep -E “关键字|关键字”(或),^关键字(以关键字为开头),关键字$(以关键字为结尾)
-vE
|grep -v 关键词(排除)
grep "关键词" 文件 文件 (查多个文件)
grep “关键词” 路径 -rn /(进行全盘搜索)
split 切割文件 :-b 大小 切割文件(按大小)
-l 行数 切割文件(按行数)
sort (排序):数字前,字母后,按首位字符排
-n按照数字大小
-nr按数字大小倒序
uniq将重复行做合并(只能处理相同行): -c 统计重复行数
|nl 显示行号
## 访问和下载网络资源
访问:curl 网址
下载:curl -O 网址
下载:wget 网址
## 系统,内核
看系统内核:uname -a/-r(更全)
看最新内核命令:apt-cache search image
系统自动任务 :crontab -e
分 时 日 月 周 命令
/* 间隔
## vi 编辑
vi编辑: vi 文件 (若没有直接创建)
/字符: 查找
gg: 回到第一行
输入数字n: 向下跳n行
dd: 删除当前行
d2j : 删当前行和下两行
yy : 复制一行
y2y: 复制两行
p : 粘贴到光标之后
P : 粘贴到光标之前
set nu : 显示行号
按i或a进入编辑模式
编辑结束按esc退出编辑模,然后要退出输入:q/!q,保存退出:wq/!wq ,有!是强制执行
## linux文件及配置文件
linux文件:
/tmp:临时文件
/etc : 配置文件
/root : 用户专用家目录
/sbin : root用户可用命令文件,系统软件
/home : 存放普通用户
/bin : 命令文件
/sbin : root用户可用命令文件,系统软件
/opt : 附加软件
/boot : 系统启动
/dev : 设备文件或专有文件
/lib : 共享库和内核模块
/media 和 /mnt : 常见挂载点
/srv : 服务进程启动后,需读取的数据放在里面
/var : 系统日志
配置文件:
/etc/passwd : 存放用户数据 内容: 用户名:密码:uid:组id:无特别意义:家目录:使用的终端
/etc/ shadow : 存放密码 内容:用户名:加密密码:密码修改时间:密码可修改时间间隔:密码有效期:快到达有效期时间警告:密码到期后是否失效:失效时间
/etc/group : 存放组信息 内容:组名:密码:组id:用户列表
/etc/gshadow :存放组密码
创建用户: useradd (同时建立一个同名的组)
指定组:useradd 用户名 -g 组名
(指定uid :useradd 用户名 -u uid(换成 -o -u, uid可重复))
(建立一个uid为0的普通用户,这个普通用户其实就是root,这个用户 可用拥有root权限)
删除用户 userdel 组名
修改用户:
用户名: usermod 原 -l 改后
家目录: usermod 用户名 -d 家目录
创建组 /删除groupadd/groupdel
## 切换用户
su :输对方密码,随意切用户(切后是原来的环境),su - :环境也换
sudo : 输自己密码,只能切root(除非在配置文件/etc/sudoers修改定义)
sudo 只能跟一次命令
sudo -s终端改变用户(终端环境没变)
sudo -i 环境也变了(切换的更彻底)
## 网卡配置
网卡(network)也是服务 (最后都要重启网卡:/etc/init.d/networking restart #重启网卡)
kali : 修改配置文件/etc/network/interfaces 还有就是设置里面的图形化
设置静态IP:
auto [网卡名]
iface [网卡名] inet static
address 192.168.x.x #ip地址
gateway 192.168.x.x #网关
netmask 255.255.255.0 #子网掩码
设置动态IP:/usr/bin/ls
auto [网卡名]
iface eth0 inet dhbccp
centos: 两种方法,一个用命令,还有也是修改配置文件
命令:nmcli
nmcli c show #查看状态
nmcli c up/down [网卡名] #启动/关闭
nmcli c reload [网卡名] #重启
nmcli c modify enp0s3 ipv4.addresses 192.168.0.62/24
nmcli c modify enp0s3 ipv4.gateway 192.168.0.1
nmcli c modify enp0s3 ipv4.dns 8.8.8.8
修改配置文件:同kali