美文网首页
linux基础操作

linux基础操作

作者: uuu0 | 来源:发表于2018-10-09 14:53 被阅读26次

    linux笔记

    ssh 配置

    改端口号:
    cd/etc/ssh/ssh_config
    按i (insert)
    port 22原始的 改 端口号1-65535

    permitrootlogin yes
    搜索关键词 /+关键词 按n向下搜 按N向上
    将yes 改为no
    按esc
    :wq --保存并退出

    重启服务生效
    service sshd restart

    使默认用户能够sudu命令:
    sudo 临时提权
    1.centos 默认用户无法执行sudo
    visudo 打开文件
    2.vi /etc/sudoers打开打开文件
    然后寻找root
    在rott ALL=(ALL) ALL
    下面 默认用户 ALL=(ALL) ALL
    按esc
    :wq

    bash 相关命令:
    cat /ect/shells查看系统支持的shell
    echo /$0显示当前shell
    bash--version查看bash版本

    linux支持多用户
    控制台切换 ctrl+alt +F1-6

    linux有五种文件

    ls-lj查看文件属性
    -普通文件
    d文件夹字符设备文件和块文件
    c开头是字符设备文件
    b是块设备文件
    s套接口文件 属性s开头

    .代表本目录
    ..上次目录
    -代表前一个工作目录
    ~家目录 在root/home 所有普通用户在home目录创建目录 root的家目录是root
    cd cd+空格+/根目录 cd+空格+-回到上一次操作的目录
    pwd 显示目前所在的目录
    mkdir 创建目录 mkdir+' '+文件目 录 创建多目录 mkdir +' '-p /123/456/789 mkdir -h
    rmdir 删除目录 只能删除空文件
    rm -rf强制删除

    文件操作
    ls 列出文件目录 (ls-l , ll) 更加详细
    cp和scp文件的复制
    -r递归持续复制 cp 1.txt /txt/var/www cp /var/www/1.txt ./2.txt
    拷贝目录 cp -r 123/ /temp
    cp *.log /etc/log所有以.log
    scp 拷贝到远处电脑 scp 1.txt root@192.168.2.64:/temp/
    拷贝目录 scp -r 1.txt root@192.168.2.64:/temp/ (拷贝后的文件名可选)
    从远端拷贝文件 ro

    ot@192.168.2.64:/temp/ 1.txt scp 
    

    创建文件
    touch 1.txt
    vim 2.txt //打开 /如果没有 就创建
    echo hello>3.txt //将hello输入到3.txt 如果没有就创建

    uid =uer id 为0时候代表该账号为ROOT用户(系统管理员) 也可以把其他的账号的uid改为0 权限也和ROOT一样
    100-499 系统用户需要 500以后普通用户

    gid =ground id
    /etc/passwd 查看用户信息
    /etc/shadow 用户密码

    创建用户
    useradd 用户名
    password 用户名
    userdel
    用户状态 finger
    当前用户信息 id

    su经常是普通用户 切换到root用户 需要知道root权限
    sudo 临时提权 需要输入密码
    su - 切换到root的环境变量
    su 还是切换到普通用户的环境变量
    w 查看当前系统上有多少用户登录
    lastlog 每个账号的最近登录时间
    Write 用户 终端 不同终端用户传递信息

    vim 编辑工具(记事本)

    vim+#:打开文件,并定位于#行
    vim+:打开文件 定位最后一行
    :q!
    :w保存
    :w!强行保存
    :wq-->:x
    w : 到下一个单词的词首
    e :当前或者下一个单词的词尾
    b :前一个单词的词首
    
    行间
    
    #G 跳到#行
    gg第一行
    G最后一行
    
    行内
    0 :行首
    $ :行尾
    ^ : 行首第一个非空字符
    
    末行
    .当前
    $最后一行
    # 、第#行
    
    删除操作
    x :删除光标所在字符
    #x:删除光标所在处and向后的#个字符
    删除命令:
    dd :删除光标所在行
    #dd
    :>文件名//清空文件
    echo "">文件名字//清空文件
    
    复制命令y
    粘贴命令p 前面加数字
    
    取消编辑操作 u
    
    显示行号:
    :set nu
    :set nonu
        
    忽略字符大小写
    :set ic
    区分大小写
    :set noic
    

    0所有yu 第一个域 默认是空格 awk -F 分隔符 '{print1}'
    ARGC 看参数个数

    cat -n filename 显示行号

    sed 文件内容查询和替换 文本处理工具
    sed -n =文件名 显示文件 新增替换新增 以行为单位的新增/删除 nl 列行号 eg: nl /etc/passwd | sed '1,5d' 没去操作源文件 原文件没有进行删除 显示的删除了 nl /etc/passwd | sed'3,d' 删除3到最后一行
    sed '2,5d' filename

    a(after) 插入在后面
        eg:在第二行后加drink tea
        nl /etc/passwd | sed '2a drink tea'
    i(insert)插入在前面
    
    增加多行
    eg :\
        nl /etc/[asswd | '2a drink tea \sss'
    
    替换c
    eg:  nl /etc/passwd | sed '1,5c hellohack'
    
    显示p  指定行数显示
    eg: nl /etc/passwd | sed '1,5p'
    -n指定行显示
    eg  nl /etc/passwd | sed -n'1,5p'
    搜索并显示
    eg: nl /etc/passwd | sed -n'/word/p'
    搜索并取代
    eg:  sed's/old world/new world  /g'  
     g全局替换
    
    ^以什么开始
    $以什么结束
    .任意一个字符
    .*任意多个字符
    sed -i 修改原文件
    

    进程和任务管理:
    ps查看进程<div></div>
    ps-A | ps-ef查看所有的进程
    ps -u 用户名字 对应用户启用的进程
    PID 进程id
    PPID子进程id
    最后一个域是进程名称
    ps aux列出目前所有的正在内存当中的程序
    可以用|管道的more连接起来分页查看 pas -aux|more
    到处ps -ef 查看当前进程

    运维监控器top
    zombie 不是0的情况下  代表进程有问题  有僵尸进程
    wa  输入输出设备不是0  读写
    
    kill 终止后台进程
    kill -9(强制停止) 进程名字
    kill -l
    kill -9 pid
    
    watch -n 5 ps -ef
    
    df L
    du -h文件大小 --max-depth=N最大目录深度
    mount 磁盘挂载的语法
    mount -他
    
    挂载 cd:
    文件在dev/下面
    cdrom ->sr0
    cdrw->sr0
    软链接
    cd  /media/
    mount /dev/cdrom /media/cdrom
    成功显示
    umount /media/cdrom
    u盘文件 sgd1
    mkdir u
    mount sdb1 /media/u/
    

    分区:
    linux ext4
    window ntfs
    开机bios mbr

    fdisk 
    -l 查看硬盘及分区信息
    
    fdisk /dev/sdb 对sdb进行操作
    
    mkfs.ex44 /dev/sdb
    
    
    如过ssh连接不到虚拟机可能是ssh服务未开启
    service ssh restart
    

    kilinux 扫描端口
    nmap -sn 10.22.2.0/24>re.txt
    Shell脚本
    以.sh结尾
    whici bash 查看bash安装程序在哪
    #!声明 bash的位置
    ./文件名 执行文件
    ls-l查看文件执行权限
    chmod +x 文件名 获取文件执行权限
    wc -l查
    看文件的行数
    bash -s

    用 bash -x bash-script 命令,可以查看一个出错的 BASH 脚本到底错在什么地方,可以帮助程序员找出脚本中的错误

    iptables -F kaililinux关闭防火墙

    yum install ecpect
    for循环 for((i=1;i<=num;i++))do
    {

        }
        done
    

    ./xx.sh 参数一 参数二

    xx.sh 生变变量 12接传来的参数
    用到变量时候需要在变量前加上$
    expect 实现交互功能 (能够主动输入内容)

    rpm -qa | grep 软件名字 shell下面输入expect 查看是否安装过

    yum -y install expect 安装过程不需要按y
    创建iplist 这是被复制的主机ip地址
    vi ip.txt
    进行测试ip地址可有 ping 地址 telnet 地址加22 /shh加地址

    vi scp.sh
    chmod +x scp.sh

    ! bin/bash

    num='sed -n = ip.txt' user=1
    passwd=2 srcfile=3
    distinfile=4 for((i=1;i<=num;i++));do
    ip=sed -n"$i"p ip.txt
    ./scp.exp ipuser $passwd
    done

    第一行解释器
    set timeout 10 延迟10s

    nmap 查看是否存货
    ssh  查看22端口是否开启
    

    Bcast 广播地址 主机号为1
    RX发送 TX接受
    ip地址的配置:DHCO 动态分配地址 or手动配置

    ifconfig 网卡eth0 掩码netmask

    ifconfig eth0 down /up

    ifconfig hw ether 修改mac地址

    ifconfig eth0 arp
    ifconfig eh0 -arp

    网络配置文件: 、ofcfg-eth0

    、etc、sysconfig 、network-scripts、
    ifcfg-th0
    bootproto =“static/dhcp”
    ipaddr增减newip
    newmask=
    geteway网关

    service network restart

    route --help
    nerstat -r查看路由表
    route add default gw 10.66.66.250 配置网关
    ping 一下网关
    第一步ifconfig eth0 x.x.x.x netmask 255.255.0.0
    第二步 rount aad deault gw x.x.x.x
    namesvim etc/resolv.conf
    erver 8.8.8.8 谷歌的
    nameserver 114.114.114.114 阿里的

    0-6个模式 3纯cmd界面 5是图形化界面的
    默认是从5启动 服务:network(命令) networkmangger(用于图形画下管理)
    3只启动networ

    chkconfig --list | grep -i netw
    查看启动的服务(开机自动启动的) 匹配 netw

    service NetworkManager stop
    service network star

    学校网关10.66.66.250

    ifconfig eth0 10.66.3.33 netmask 255.255.0.0
    ping 网址
    ping 8.8.8.8
    ping 网关
    ping 114.114.114.114
    配default 路由
    netstat -r
    route add default gw 10.66.66.250
    netstat -r
    ping 114.114.114.114
    vim /etc/resolv.conf

    文件压缩和解压缩
    tar 用于压缩和解压的工具 .tar.gz tar.bz2 分别用算法gzip bzip

    zbip->j gzip->z
    -v 将正在处理的档名显示出来

    tar -zvxf 文件名

    将文件压缩到一个指定的目录中
    $ tar -xvzf abc.tar.gz -C 路径

    文件的权限
    owner-group-other
    owner r=4 w=2 x=1 rwx=7
    group
    otherz
    chmod 700 1.txt
    chmod +x 1.txt
    chmod g+x 1.txt
    chmod g-x 1.txt
    chmod a-x 1.txt
    chmod a+x 1.txt
    all

    chown apache ./image/ 把文件owner由root改为apache

    yum 安装 自动解决依赖性的关系 便于管理大量系统的更新问题
    rpm - qa | grep yum 检查是否安装了yum,系统默认情况下 都已经安装了
    如果没有yum 从网上下载rpm包 也可以从系统光盘中进行安装
    yum 分为i两部分 main 和respository

    cd  /etc/yum.repos.d/
    改Media
    
    
    Base.repo 网络yuan 配置
    

    yum 网络源配置
    https:mirrrors.163.com

    rpm
    rpm-ivh 名字
    i install
    v 查看更细节的安装咨询
    h 显示安装进度

      。。。*rpm
    man rpm   查看帮助文档
    rpm -qa 查看安装的软件
    

    rpm 卸载
    rpm -e 软件名字 考虑
    --nodeps 强制卸载 不考虑依赖关系
    升级
    rpm -Uvh 文件名
    在老的版本上更新 -oldpack

    linux 的源码安装
    需要编译环境 yum list | grep gcc
    yum install gcc gcc-c++

    ./configure --with-apr=/usr/local/apr/
    make
    make install
    prefix=/usr/local/apache

    ./configure
    make
    make install

    源码安装:
    准备工作
    系统编译环境的安装 yum -y install gcc gcc-c++
    下载安装源码安装包 wget httpd aapache org
    解压
    进去源码文档
    依赖关系 apr apr-ulti pcre
    apr ./configure
    apr-ulti ./cnonfigure --with=/usr/local/apr
    httpd, ./configure --prefix=/usr/local/aapache
    测试 cd /usr/local/apache/bin
    ./httpd -k start
    127.0.0.1.txt

    防火墙 软件防火墙

    ping 网址 看ip
    nslookup
    vim /etc/resolv.conf
    iptables -P OUTPUT ROP
    iptables -A OUTPUT -d dns地址 -p udp --dport 53 -j ACCEPT 允许能访问dns
    iptables -A OUTPUT -d 网站 -p tcp --dport 80O -j ACCEPT 允许能访问dns

    相关文章

      网友评论

          本文标题:linux基础操作

          本文链接:https://www.haomeiwen.com/subject/rroeaftx.html