Linux命令笔记(非运维人员)

文件操作

  1. Find命令:

    1. find -name:直接根据文件名字来查找,比如,find / -name a.txt:在根目录下查找 a.txt文件
    2. find -perm:根据文件权限来查找,比如:find / -perm 777,:查找根目录下权限为 777(rwx-rwx-rwx)的文件
    3. find -mtine -n(+n):根据文件的更改时间来查找,其中-n代表n天之内的文件,+n 代表n天之前的文件,比如:find / -mtime -1:查找1天内修改过的文件
    4. find -type:查找某一类型的文件,后带一些参数:
      -d:目录
      -p:管道文件
      -f:普通文件
      -i:符号链接文件
  2. grep 命令:
    grep content *.log > time.txt //输出log为后缀名的文件中包含content字符串的行到文件time.txt中
    grep ‘[content]’ *.log > time.txt //输出log为后缀名的文件中包含[content]特殊字符串的行到文件time.txt中

  3. 压缩、解压:
    压缩: tar -cvzf xxx.tar.gz /pmts/cfg
    解压: tar -xvzf xxx.tar.gz
    压缩: tar xvf fileName.zip fileName
    解压: unzip fileName.zip

  4. 查看文件夹占用空间
    du -sh dirname

  5. 建立软连接:
    ln -s src dist //eg: ln -s /data/afa/log /home/afa/log
    rm -rf name //注意不是rm -rf name/

  6. ls命令:
    ls -l
    d|rwx|r-x|r-x ex: 111|101|101 -> 755
    类型|文件所属用户|文件所属组|其他用户

  7. 挂载iso文件:
    mount -o loop ***.iso /mnt/cdrom
    mount -t nfs hostname(or ip):/home/afe/upbs /home/afe/upbs # 挂载nfs目录
    umount -f /home/user # 卸载挂载的/home/user 目录

  8. Linux 常用字符集:
    locale -a
    export LANG=zh_CN.gbk
    export LANG=zh_CN.utf8

  9. Linux 修改时间
    date -s “2015-04-13 15:31:00”

linux硬件相关

  1. 查看进程
    ps -ef|grep (关键字)

  2. 使用过命令
    history |grep (关键字)

  3. 磁盘空间
    df -hl

  4. CPU
    top

  5. 内存相关
    查看内存使用
    free -h
    查看内存总数
    cat /proc/meminfo | grep MemTotal

  6. 获得CPU的详细信息:
    cat /proc/cpuinfo

  7. 逻辑CPU个数:
    cat /proc/cpuinfo | grep “processor” | wc -l

  8. 物理CPU个数:
    cat /proc/cpuinfo | grep “physical id” | sort | uniq | wc -l

  9. 几核处理器:
    cat /proc/cpuinfo | grep “cores” | sort | uniq

用户管理

  1. 创建用户和组
    groupadd -g 405 mqm
    useradd -g 700 -d /home/afa -s /bin/bash -m afa

  2. Linux 添加用户到用户组
    usermod -a -G group user # 添加用户所属组
    usermod -g group user # 指定用户所属组
    usermod -d /var/mqm -s /bin/bash -m mqm

  3. 把目录的读写权限分配给普通用户
    chmod 755 dir # 分配权限
    chgrp -R group dir # 更改目录的所属组
    chown -R user dir # 更改目录的所有者
    chown -R user:group dir #

  4. 得到用户权限
    su root

  5. 切换到root
    sudo -i

  6. 文件夹赋权限
    chmod -R 777 /sheep

网络配置

  1. ifconfig使用:
    ifconfig eth0 10.30.7.13 netmask 255.255.252.0 broadcast 10.30.5.254

  2. ssh, scp命令:
    ssh cx@188.188.230.41
    scp cx@188.188.230.41:/home/cx/nmon/data/paymentdb1_140109_1126.nmon /home/afa/paymentdb1_140109_1126.nmon

  3. nfs整理:
    服务端:
    a. rpm -qa|grep nfs
    rpm -qa|grep portmap
    b. vi /etc/exports
    添加:
    /home/afe/upbs 10.16.0.65(rw,sync,all_squash)
    chown -R nfsnobody:nfsnobody /home/afe/upbs
    service nfs restart
    以后再添加内容,不用重启NFS,只需用root执行# exportfs -rv
    客户端:
    a. root用户执行 # showmount -e 显示NFS挂载的目录
    b. mount -t nfs 10.16.0.64:/home/afe/upbs /home/afe/controller_4.1/upbs
    注意:服务端同时做为客户端时,服务端目录和客户端目录不能是同一个,不然服务器会崩溃

  4. SSH登录慢
    #vi /etc/ssh/sshd_config
    UseDNS no
    #service sshd restart
    服务端步骤如下:
    编辑配置文件 /etc/ssh/sshd_config
    vim /etc/ssh/sshd_config
    找到 UseDNS选项,如果没有注释,将其注释
    #UseDNS yes
    添加
    UseDNS no

  5. 找不到eth0 网卡
    #ifconfig eth0 up
    #vi /etc/sysconfig/network-scripts/ifcfg-eth0
    ONBOOT=no //将其改为yes
    #service network restart

  6. Linux 端口开放
    vi /etc/sysconfig/iptables //添加需要开放的端口
    service iptables restart //使iptable生效

Redhat专用

  1. rpm 命令:
    rpm -ivh .rpm # 安装.rpm软件包
    rpm -qa|grep keyword # 查找系统是否安装过包含keyword的软件包
    cat /etc/redhat-release # 查看redhat版本

    工具使用

  2. Nmon命令:
    nmon -f -s 5 -c 180 # 启动nmon,每5秒采集一次系统数据,共采集180次

  3. SVN基于apache:
    /usr/local/apache2/bin/htpasswd /data/svn/passwd.conf lvyang
    /usr/local/apache2/bin/htpasswd -D /data/svn/passwd.conf zhangjian

    性能调优

  4. TCP调节TIME_WAIT状态:
    net.ipv4.tcp_tw_recycle = 1(default 0,it means close)
    net.ipv4.tcp_tw_reuse = 1(default 0,it means close)

  5. 高并发服务器参数
    net.nf_conntrack_max = 25000000
    net.netfilter.nf_conntrack_max = 25000000
    net.netfilter.nf_conntrack_tcp_timeout_established = 180
    net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
    net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

linux 安装SSH
mount -t iso9660 /dev/cdrom /mnt/cdrom #挂载光盘
.bash_profile 添加 export TMOUT=1000000 #设置SSH超时时间
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config 设置 ClientAliveInterval=60
service sshd restart

kail工具

扫描nmap

-sS 半开扫描TCP和SYN扫描。
-sT 完全TCP连接扫描。
-sU UDP扫描
-PS syn包探测(防火墙探测)
-PA ack包探测(防火墙探测)
-PN 不ping。
-n 不dns解析。
-A -O和-sV。
-O 操作系统识别。
-sV 服务版本信息(banner)
-p 端口扫描。
-T 设置时间级别(0-5)
-iL 导入扫描结果。
-oG 输出扫描结果。

操作系统识别:
p0f -i eth0 -U -p 开启混杂模式。
xprobe2 ip|域名 检测os。

banner获取:
nc ip port 检测端口是否打开。
telnet ip port 检测端口是否打开。
wget ip 下载主页。
cat index.html | more 显示主页代码。
q 退出。

windows枚举
nmap -sS -p 139,445 ip 扫描windows。
cd /pentest/enumeration/smb-enum
nbtscan -f targetIP 检测netbios。
smbgetserverinfo -i targetIP 扫描name,os,组。
smbdumpusers -i targetIP 列出用户。
smbclient -L //targetIP 列出共享。

使用windows:
net use \ipipc$ “” /u:"" 开启空会话。
net view \ip 显示共享信息。
smbclient:
smbclient -L hostName -I targetIP 枚举共享。
smbclient -L hostName/share -U “” 用空用户连接。
smbclient -L hostName -I targetIP -U admin普通用户连接。

rpcclient:
rpcclient targetIP -U “”打开一个空会话。
netshareenum 枚举共享。
enumdomusers 枚举用户。
lsaenumsid 枚举域SID。
queryuser RID 查询用户信息。
createdomuser 创建用户访问。

ARP欺骗:
ettercap:
nano /usr/local/etc/etter.conf配置文件
Sniff > Unified sniffing > Network interface: eth0 > OK 设置抓包的网卡
Hosts > Scan for hosts (do this two times)扫描网段的主机
Hosts > Hosts list 显示主机列表
Select the default gateway > Add to Target 1 添加主机
Select the target > Add to Target 2 添加主机
Mitm > Arp poisoning > Sniff remote connections > OK 设置ARP攻击
Start > Start sniffing 开始攻击
dsniff -i eth0 监听网卡窃听登录用户密码
urlsnarf -i eth0 嗅探http请求
msgsnarf -i eth0 嗅探聊天软件的聊天内容
driftnet -i eth0 网络管理嗅探图片,音频。

dns欺骗:
nano /usr/local/share/ettercap/etter.dns编辑配置文件
Plugins > Manage the plugins > dns_spoof 设置dns欺骗
Mitm > Arp poisoning > Sniff remote connections > OK 设置ARP
Start > Start sniffing 开始攻击

Exploits漏洞利用:
cd /pentest/exploits/exploit-db 进入目录
cat sploitlist.txt | grep -i [exploit] 查询需要的漏洞
cat exploit | grep "#include"检查运行环境
cat sploitlist.txt | grep -i exploit | cut -d " " -f1 | xargs grep sys | cut -d “:” -f1 | sort -u只保留可以在linux下运行的代码

Metasploit:
svn update 升级
./msfweb Web接口127.0.0.1:55555。.
./msfconsole 字符下的Console。
help 帮助
show 显示选项 searc

python
nohup python3 /opt/postServer.py &
nohup python3 -u postServer.py > test.log 2>&1 &

https://blog.csdn.net/weixin_32759777/article/details/84635583

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能。该发布版本将会专注在性能加强,源自PHP版本树中的phpng分支 . . 截止到目前为止,PHP官方已经发布了php7的RC5版本,预计在11月份左右会发布第一个正式版本!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了。后续一些版本的迭代主要也就是修修bug,优化之类的。下面就来说话我们一直期待的php7.0五大新特征吧。 层流罩 www.bjyongjiekang.com 如果你使用的是基于 composer 和 PSR-4 的框架,这种写法是否能成功的加载类文件?其实是可以的,composer 注册的自动加载方法是在类被调用的时候根据类的命名空间去查找位置,这种写法对其没有影响。 1. 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用。用法: ? 1 $a = $_GET['a'] ?? 1; 它相当于: ? 1 2 <?php $a = isset($_GET['a']) ? $_GET['a'] : 1; 我们知道三元运算符是可以这样用的: ? 1 $a ?: 1 但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算符可以简化判断。 2. 函数返回值类型声明 官方文档提供的例子(注意 … 的边长参数语法在 PHP 5.6 以上的版本中才有): ? 1 2 3 4 5 6 7 8 <?php function arraysSum(array ...$arrays): array { return array_map(function(array $array): int { return array_sum($array); }, $arrays); } print_r(arraysSum([1,2,3], [4,5,6], [7,8,9])); 从这个例子中可以看出现在函数(包括匿名函数)都可以指定返回值的类型。 这种声明的写法有些类似于 swift: ? 1 2 3 4 func sayHello(personName: String) -> String { let greeting = "Hello, " + personName + "!" return greeting } 这个特性可以帮助我们避免一些 PHP 的隐式类型转换带来的问题。在定义一个函数之前就想好预期的结果可以避免一些不必要的错误。 不过这里也有一个特点需要注意。PHP 7 增加了一个 declare 指令:strict_types,既使用严格模式。 使用返回值类型声明时,如果没有声明为严格模式,如果返回值不是预期的类型,PHP 还是会对其进行强制类型转换。但是如果是严格模式, 则会出发一个 TypeError 的 Fatal error。 强制模式: ? 1 2 3 4 5 6 <?php function foo($a) : int { return $a; } foo(1.0); 以上代码可以正常执行,foo 函数返回 int 1,没有任何错误。 严格模式: ? 1 2 3 4 5 6 7 8 <?php declare(strict_types=1); function foo($a) : int { return $a; } foo(1.0); # PHP Fatal error: Uncaught TypeError: Return value of foo() must be of the type integer, float returned in test.php:6 在声明之后,就会触发致命错误。 是不是有点类似与 js 的 strict mode? 3. 标量类型声明 PHP 7 中的函数的形参类型声明可以是标量了。在 PHP 5 中只能是类名、接口、array 或者 callable (PHP 5.4,即可以是函数,包括匿名函数),现在也可以使用 string、int、float和 bool 了。 官方示例: ? 1 2 3 4 5 6 7 <?php // Coercive mode function sumOfInts(int ...$ints) { return array_sum($ints); } var_dump(sumOfInts(2, '3', 4.1)); 需要注意的是上文提到的严格模式的问题在这里同样适用:强制模式(默认,既强制类型转换)下还是会对不符合预期的参数进行强制类型转换,严格模式下则触发 TypeError 的致命错误。 4. use 批量声明 PHP 7 中 use 可以在一句话中声明多个类或函数或 const 了: ? 1 2 3 4 <?php use some/namespace/{ClassA, ClassB, ClassC as C}; use function some/namespace/{fn_a, fn_b, fn_c}; use const some/namespace/{ConstA, ConstB, ConstC}; 但还是要写出每个类或函数或 const 的名称(并没有像 python 一样的 from some import * 的方法)。 需要留意的问题是:如果你使用的是基于 composer 和 PSR-4 的框架,这种写法是否能成功的加载类文件?其实是可以的,composer 注册的自动加载方法是在类被调用的时候根据类的命名空间去查找位置,这种写法对其没有影响。 5. 其他的特性 其他的一些特性我就不一一介绍了,有兴趣可以查看官方文档:http://php.net/manual/en/migration70.new-features.php 简要说几个: PHP 5.3 开始有了匿名函数,现在又有了匿名类了; define 现在可以定义常量数组; 闭包( Closure)增加了一个 call 方法; 生成器(或者叫迭代器更合适)可以有一个最终返回值(return),也可以通过 yield from 的新语法进入一个另外一个生成器中(生成器委托)。 生成器的两个新特性(return 和 yield from)可以组合。具体的表象大家可以自行测试。PHP 7 现在已经到 RC5 了,最终的版本应该会很快到来。 以上所述是关于php7.0新特征的全部内容,希望本文介绍大家喜欢。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值