• 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    (常用命令)

     

  • 相关阅读:
    ios开发常用工具集合网站
    xib自定义UIView报错误 "forUndefinedKey:]: this class is not key value coding-compliant for the key"
    IOS MJExtension json转模型的轻量级框架的使用(转载)
    升级Xcode之后VVDocumenter-Xcode不能用的解决办法
    iOS开发系列--并行开发其实很容易
    通讯录开发
    UIGestureRecognizer手势
    UIScrollView
    UIStepper
    UIPickerView
  • 原文地址:https://www.cnblogs.com/ssooking/p/5880962.html
Copyright © 2020-2023  润新知