## 服务
远程登录: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
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐