Linux常见命令手册 | 干货
2023-11-20 22:13:43 Author: 渗透安全团队(查看原文) 阅读量:4 收藏


文件和目录命令

cd
cd /home : 进入 ‘/ home’ 目录’

cd .. : 返回上一级目录

cd ../.. : 返回上两级目录

cd : 进入个人的主目录

cd /etc : 进入配置文件目录

cd /etc/sysconfig/network-scripts : 进入有关于网卡的配置文件目录下

cd ~half : 进入个人的主目录

cd - : 返回上次所在的目录

pwd
pwd : 显示工作路径

ls
ls : 查看目录中的文件

ls -F : 查看目录中的文件

ls -l : 显示文件和目录的详细资料

ls -a : 显示隐藏文件

tree
tree : 显示文件和目录由根目录开始的树形结构

mkdir
mkdir dir1 : 创建一个叫做 ‘dir1’ 的目录’

mkdir dir2 dir3 : 同时创建两个目录

mkdir -p /tmp/dir1/dir2 : 创建一个目录树

touch file{1…100} :创建一百个文件

rm
rm -f file1.txt : 删除一个叫做 ‘file1.txt’ 的文件

rmdir dir1 : 删除一个叫做 ‘dir1’ 的目录’

rm -rf dir2 : 删除一个叫做 ‘dir1’ 的目录并同时删除其内容

rm -rf dir3 dir4 : 同时删除两个目录及它们的内容

mv dir1 dir2 : 重命名/移动 一个目录

cp
cp file1 file2 : 复制一个文件

cp -a /tmp/dir1 . : 复制一个目录到当前工作目录

cp -a dir1 dir2 : 复制一个目录

cat
cat filename : 查看文件名
more filename : 查看文件名

sbin目录和bin目录的区别
/bin目录存在所有的系统指令(linux默认的自带指令),这个目录中的所有指令都可以被所有的Linux用户正常的使用(包括普通用户),也可以被root使用。
/sbin目录存放的指令是只有root才可以使用的指令,s表示super的意思,因此sbin就是超级管理指令,普通用户不能执行/sbin当中的指令

|管道符
“|”是管道命令操作符,简称管道符。利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。


文件的权限命令

chomd
ls -lh : 显示权限

chmod ugo+rwx dir1 : 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限

chmod go-rwx dir1 : 删除群组(g)与其他人(o)对目录的读写执行权限

chmod 755 dir1 : 使用数字符号分配权限设置将所有权限分配给文件的所有者

chown root:root test1.txt : 在test文件夹下创建test1.txt,修改这个文件夹的所有者为root:root

chattr
lsattr : 显示特殊的属性

chattr +a file1 : 只允许以追加方式读写文件(使用 “+” 设置权限,使用 “-“ 用于取消)

chattr +d file1 : 在进行文件系统备份时,dump程序将忽略这个文件

chattr +i file1 : 设置成不可变的文件,不能被删除、修改、重命名或者链接

chattr +S file1 : 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘

chattr -a file1 : 取消允许以追加方式读写文件


文件搜索命令

find
find / -name file1 : 从 ‘/‘ 开始进入根文件系统搜索文件和目录

find / -user half : 搜索属于用户 ‘half’ 的文件和目录

find /home/half -name *.bin : 在目录 ‘/ home/half’ 中搜索带有’.bin’ 结尾的文件

find /usr/bin -type f -atime +100 : 搜索在过去100天内未被使用过的执行文件

find /tmp/dir -type f -mtime -10 : 搜索在10天内被创建或者修改过的文件

find / -xdev -name *.rpm 搜索以 ‘.rpm’ : 结尾的文件,忽略光驱、捷盘等可移动设备

ll | grep bin :在根目录下 找出 名字包含bin的文件夹


查看进程命令

ps
显示进程信息,参数可省略

  1. -aux BSD风格显示进程 常用

  2. -efH System V风格显示进程

  3. -e , -A 显示所有进程

  4. a 显示终端上所有用户的进程

  5. x 显示无终端进程

  6. u 显示详细信息

  7. f 树状显示

  8. w 完整显示信息

  9. l 显示长列表

pstree
树状显示进程信息

  1. -a 显示完整命令及参数

  2. -c 重复进程分别显示

  3. -c 显示进程ID PID

  4. -n PID 排列进程

pgrep
显示进程的PID

  1. -l 显示进程名和进程PID

  2. -o 进程起始ID

  3. -n 进程终止ID


关闭进程命令

kill
根据PID向进程发送信号,常用来结束进程,默认信号为 -9
信号代码,可取值如下:

  1. -l [信号数字] 显示、翻译信号代码

  2. -9 , -KILL 发送 kill 信号退出

  3. -6 , -ABRT 发送 abort 信号退出

  4. -15 , -TERM 发送 Termination 信号

  5. -1 , -HUP 挂起

  6. -2 , -INT 从键盘中断,相当于 Ctrl+c

  7. -3 , -QUIT 从键盘退出,相当于 Ctrl+d

  8. -4 , -ILL 非法指令

  9. -11 , -SEGV 内存错误

  10. -13 , -PIPE 破坏管道

  11. -14 , -ALRM

  12. -STOP 停止进程,但不结束

  13. -CONT 继续运行已停止的进程

  14. -9 -1 结束当前用户的所有进程

pkill
结束进程族。如果结束单个进程,请用 kill

killall
killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单
个进程,请用kill 来杀掉。

xkill
在图形界面中点杀进程。
当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想
终止xkill ,就按右键取消。


cat /ect/group : 查看系统中所有的组

cat /etc/passwd : 查看系统所有的用户

groups half : 查看用户所在组

groupadd group_name1 : 创建一个新用户组


groupdel group_name1 : 删除一个用户组

groupmod -n group_name2 old_group_name1 : 重命名一个用户组


useradd user1 : 创建一个新用户

/home/zhangsan : zhangsan用户的家目录

userdel -r user1 : 删除一个用户 ( ‘-r’ 排除主目录)

passwd : 修改口令

passwd user1 : 修改一个用户的口令 (只允许root执行)


firewall-cmd

说明
Linux上新用的防火墙软件,跟iptables差不多的工具
irewall-cmd 是 firewalld的字符界面管理工具,firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念。
firewalld跟iptables比起来至少有两大好处:

  1. firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效。

  2. firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/ip协议也不理解也可以实现大部分功能。
    firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结 构以及使用方法不一样罢了。

    命令格式

    firewall-cmd [选项 ... ]

网络应用命令

wget
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
语法 :

  1. wget(选项)(参数)

lftpget
lftpget命令通过调用lftp指令下载指定的文件。
语法 :

  1. lftpget(选项)(参数)

mail
mail命令是命令行的电子邮件发送和接收工具。操作的界面不像elm或pine那么容易使用,但功能非常完整。
语法 :

  1. mail(选项)(参数)

curl
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。
语法 :

  1. curl(选项)(参数)

ipcalc
ipcalc命令是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。
语法 :

  1. ipcalc(选项)

telnet
telnet命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
语法 :

  1. telnet(选项)(参数)


高级网络命令

ip
ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
语法 :

  1. ip(选项)(参数)

iptraf
iptraf命令可以实时地监视网卡流量,可以生成网络协议数据包信息、以太网信息、网络节点状态和ip校验和错误等信息。
语法 :

  1. iptraf(选项)

pfctl
pfctl命令是PF防火墙的配置命令,PF防火墙( 全称:Packet Filter )是UNIX LIKE系统上进行TCP/ip流量过滤和网络地址转换的软件系统。PF同样也能提供TCP/IP流量的整形和控制,并且提供带宽控制和数据包优先集控制。

nstat/rtacct
nstat命令和rtacct命令是一个简单的监视内核的SNMP计数器和网络接口状态的实用工具。
语法 :

  1. nstat/rtacct(选项)

lnstat
lnstat命令用来显示Linux系统的网路状态。
语法 :

  1. lnstat(选项)(参数)


网络测试命令

ping
ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
语法 :

  1. ping(选项)(参数)

iperf
iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。Windows版更新慢。Windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能。

Linux版本下载地址:http://code.google.com/p/iperf/downloads/list

host
host命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
语法 :

  1. host(选项)(参数)

nc/netcat
nc命令是netcat命令的简称,都是用来设置路由器。
语法 :

  1. nc/netcat(选项)(参数)

arp
arp命令用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系。
语法 :

  1. arp(选项)(参数)


网络安全命令

ssh
ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。
语法 :

  1. ssh(选项)(参数)

ssh-agent
ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。

其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。
语法 :

  1. ssh-agent [-c | -s] [-d] [-a bind_address] [-t life] [command [arg ...]]

  2. ssh-agent [-c | -s] -k

ssh-add
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。
语法 :

  1. ssh-add [-cDdLlXx] [-t life] [file ...]

  2. ssh-add -s pkcs11

  3. ssh-add -e pkcs11

iptstate
iptstate命令以top指令类似的风格时显示Linux内核中iptables的工作状态。
语法 :

  1. iptstate(选项)

nmap
nmap命令是一款开放源代码的网络探测和安全审核工具,它的设计目标是快速地扫描大型网络。
语法 :

  1. nmap(选项)(参数)


网络配置命令

ethtool
ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。
语法 :

  1. ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX

  2. ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off]

  3. ethtool [-C] ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N][pkt-rate-low N][rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-lowN] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N]

  4. ethtool [-G] ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N]

  5. ethtool [-e] ethX [raw on|off] [offset N] [length N]

  6. ethtool [-E] ethX [magic N] [offset N] [value N]

  7. ethtool [-K] ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off]

  8. ethtool [-p] ethX [N]

  9. ethtool [-t] ethX [offline|online]

  10. ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external]

  11. [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]

nisdomainname
nisdomainname命令用于显示主机NIS的域名。
语法 :

  1. nisdomainname(选项)(参数)

hostname
hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。
语法 :

  1. hostname(选项)(参数)

ifconfig
ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了
语法 :

  1. ifconfig(参数)

ifcfg
ifcfg命令是一个Bash脚本程序,用来设置Linux中的网络接口参数。
语法 :

  1. ifcfg(参数)

参数 :

  1. 网络接口:指定要操作的网络接口;

  2. add/del:添加或删除网络接口上的地址;

  3. ip地址:指定IP地址和子网掩码;

  4. Stop:停用指定的网络接口的IP地址。


yum install 软件名 : 安装软件命令

yum remove 软件名 : 卸载软件命令

wget : 下载文件命令


arch : 显示机器的处理器架构(1)

uname -m : 显示机器的处理器架构(2)

uname -r : 显示正在使用的内核版本

dmidecode -q : 显示硬件系统部件 - (SMBIOS / DMI)

hdparm -tT /dev/sda : 在磁盘上执行测试性读取操作

cat /proc/cpuinfo : 显示CPU info的信息

cat /proc/interrupts : 显示中断

cat /proc/meminfo : 校验内存使用

cat /proc/swaps : 显示哪些swap被使用

cat /proc/version : 显示内核的版本

cat /proc/net/dev : 显示网络适配器及统计

cat /proc/mounts : 显示已加载的文件系统

lspci -tv : 罗列 PCI 设备

lsusb -tv : 显示 USB 设备

date : 显示系统日期

cal 2021 : 显示2007年的日历表

date 062212002021.00 : 设置日期和时间 - 月日时分年.秒

clock -w : 将时间修改保存到 BIOS

whereis 命令 : 查看某个命令安装在哪里

man : 查看命令的帮助命令


vi 编辑器有 3 种基本工作模式,分别是命令模式、插入模式和可视化模式。
按下i : 进入vi编辑器的插入模式
按下v : 进入vi编辑器的可视化模式
按下y : 在vi编辑器中复制一行
按下p : 在vi编辑器中进行粘贴
:3,15d : 删除从3行到15行的所有数据

:wq : vi编辑器保存并且退出命令

:q! : vi编辑器不保存并且退出命令

more : 一次显示一页内容,上一页和下一页

tail -n 10 文件名 : 显示一个文件的最后10行

wc -l 文件名 : 统计一个文件的行数


shutdown -h now : 关闭系统(1)
init 0 : 关闭系统(2
telinit 0 : 关闭系统(3)
shutdown -h hours:minutes & : 按预定时间关闭系统
shutdown -c : 取消按预定时间关闭系统
shutdown -r now : 重启(1)
reboot : 重启(2)
logout : 注消


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247512134&idx=2&sn=2172c332d40836b5a68287c65d4c165b&chksm=c1764de9f601c4ff060e84bdba545695e4f8e31a8667e1f30d1f0161345b077683c34057ad6d&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh