zoukankan      html  css  js  c++  java
  • Linux实用命令

    日常使用中用过的linux命令

    用户管理

    pskill -kill -t tty名称(可用w命令查看)  踢出已登录用户 
    useradd -m -G sudo,video,audio,cdrom -s /bin/bash 用户名 #kali添加普通账户
    visudo  #linux添加sudo帐号
    "在root ALL=(ALL:ALL) ALL 的下方添加一个新的sudo用户例如XXX用户:XXX ALL=(ALL:ALL)"

    文件管理

    du -sh *                   查看文件夹内所有文件大小
    zip -r aa.zip aa               压缩aa目录下所有文件,生成zip文件
    chgrp 用户名 -R 目录/文件名 组名      递归更改目录/文件所属用户组
    chown 用户名 -R 目录/文件名         递归更改目录/文件拥有者
    sed -i "s/原字符串/要替换的字符串/g" `grep "原字符串" -rl 路径`   把某路径下所有文件中某段字符串替换为我们想修改的

    压缩
    zip命令
      压缩:zip FileName.zip DirName 
      解压:unzip FileName.zip
    
    tar命令
      解包:tar zxvf FileName.tar
      打包:tar czvf FileName.tar DirName
    
    gz命令
      压缩:gzip FileName   解压1:gunzip FileName.gz   解压2:gzip
    -d FileName.gz      .tar.gz 和 .tgz   解压:tar zxvf FileName.tar.gz   压缩:tar zcvf FileName.tar.gz DirName
      压缩多个文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ... bz2命令   压缩: bzip2
    -z FileName   解压1:bzip2 -d FileName.bz2   解压2:bunzip2 FileName.bz2   .tar.bz2   压缩:tar jcvf FileName.tar.bz2 DirName   解压:tar jxvf FileName.tar.bz2 bz命令   解压1:bzip2 -d FileName.bz   解压2:bunzip2 FileName.bz   压缩:未知   .tar.bz   解压:tar jxvf FileName.tar.bz Z命令   压缩:compress FileName   解压:uncompress FileName.Z   .tar.Z   解压:tar Zxvf FileName.tar.Z   压缩:tar Zcvf FileName.tar.Z DirName


    系统备份命令:
    #tar cvpzf MyBackup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/tmp --exclude=/media /
    # tar cvpjf MyBackup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys --exclude=/tmp --exclude=/media / (bzip2压缩率更高)
    另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西,必须把“/media”也排除在外

    恢复系统:

      把文件“backup.tgz”拷贝到分区的根目录下,执行恢复命令:# tar xvpfz backup.tgz -C /
      把文件“backup.tar.bz2”拷贝到分区的根目录下,执行恢复命令:# tar xvpfj backup.tar.bz2 -C /

      重新创建那些在备份时被排除在外的目录
      # mkdir proc
      # mkdir lost+found
      # mkdir mnt
      # mkdir sys
      # mkdir tmp

    用netcat进行网络备份
    接收端   nc -nvv -l -p 端口 > backup.tar.bz2
    备份端   tar cvpj / | nc -q 0 IP 端口
    传输完毕后nc连接自动断开
    事实上一个真正快的网络比写备份文件到磁盘要快.

    进程管理


    开启自启动
    (1)直接将可执行脚本文件放在脚本放在目录 /etc/init.d/ 下
    (2)在/etc/init.d/rcS 文件中添加要执行的命令或程序,如:sh /home/start.sh

    以root权限自动运行脚本 在etc目录下的rc.local 文件中添加应用代码的可执行文件路径。 例: 开机启动hello应用代码,则添加一行
    /home/./hello 开机启动sh脚本   以root登录linux   vi /etc/rc.d/rc.local   在文档末尾添加一行语句:sh /home/sun/startXX.sh
        以非root权限:su 用户 -c "/home/startXX.sh"
    保存rc.local即可

      

    防火墙设置

    linux防火墙被整合到内核当中,防火墙在默认开启的情况下,只有ping和ssh不会被拦截。
    
    iptables -L                   查看防火墙规则状态。
    iptables -F                   清除防火墙规则,重启失效。
    iptables -X                           清除预设表filter 中,使用者自订链中的规则
    service iptables save            
    保存规则,CentOS专用,Debian/Ubuntu自动保存
    chkconfig iptables off / service iptables stop  关闭防火墙
    
    

     流量转发

    iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT #把网卡eth1的流量转发给网卡eth0  

     DNS服务

    iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
    iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

     支持由本机通过SSH连接其他机器

    iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state ESTABLESHED -j ACCEPT
    iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
    
    注:CentOS默认开启了防火墙,所以80端口是不能正常访问的)
      iptables -I INPUT -p tcp --dport 80 -j ACCEPT  #让防火墙打开80端口给外部即可。
    可以加入到开启启动当中。
    开机启动,可以参考:http://www.cnblogs.com/HD/p/4011479.html
    参考文章:http://www.tuicool.com/articles/UvYVbq

    iptables-persistent组件

    防火墙规则重启后就丢失了,为了能够规则开机自动加载,可以使用iptables-persistent组件
    该组件默认会将防火墙规则保存到
    /etc/iptables/rules.v4中。
      安装该组件:
    sudo apt-get install iptables-persistent 根据其提示进行初次设置(一路确认) 使用如下命令保存和读入规则:   保存现有规则: sudo service netfilter-persistent save   读取并应用先有规则: sudo service netfilter-persistent reload
    
    
    
    

    设备管理

    lspci ( 列举 pci 设备)
    lsusb ( 列举 usb 设备)
    lsscsi ( 列举 scsi 设备)
    fdisk -l ( 磁盘分区信息)
    dmidecode ( 列举硬件型号, 序列号, cpu, 内存等)
    cat /proc/cpuinfo (CPU信息)
    cat /proc/meminfo (内存信息)

    通过控制台连接外部设备

    例:Linux连接主机名为ant-fw的思科ASA5505主机

    screen -L /dev/ttyUSB (-L保留会话日志)

    ant-fw>enable

    Password:××××××

    ant-fw#show version/clock/run    (常用命令)

     

  • 相关阅读:
    Matlab 绘制三维立体图(以地质异常体为例)
    Azure DevOps的variable group实现array和hashtable参数的传递
    Azure DevOps 利用rest api设置variable group
    Azure AADSTS7000215 其中一种问题的解决
    Power BI 实现实时更新Streaming Dataset
    AAD Service Principal获取azure user list (Microsoft Graph API)
    Matlab 沿三维任意方向切割CT图的仿真计算
    Azure Powershell script检测登陆并部署ARM Template
    Azure KeyVault设置策略和自动化添加secrets键值对
    Azure登陆的两种常见方式(user 和 service principal登陆)
  • 原文地址:https://www.cnblogs.com/ssooking/p/5880962.html
Copyright © 2011-2022 走看看