美文网首页
Linux高频操作

Linux高频操作

作者: Zzmi | 来源:发表于2019-05-20 15:43 被阅读0次

    Linux快捷键

    ctrl + L 清屏
    ctrl + U 删除光标前字符 ***
    ctrl + K 删除光标后字符
    ctrl + A 光标移动行首 ***
    ctrl + E 光标移到行末 ***
    ctrl + 左右箭头 光标移动到上/下一个单词

    ctrl + C 结束当前正在运行的进程
    ctrl + Z 将当前正在运行的进程调到后台并挂起它(即暂停执行)
    ctrl + B 光标移动到前一个字符
    ctrl + F 光标移动到后一个字符

    常用命令

    1.mkdir /data 新建目录
    -p 创建多级目录
    2.ls /data/ 显示目录 list
    ls -l /data/ 显示目录详细信息
    3.cd /data/ change directory
    4.pwd 显示当选所在位置 print working directory
    5.touch /data/a.txt 创建文件 修改文件的时间戳

    6.vi/vim操作: 编辑文件
    vi 文件 打开文件
    i 插入模式
    esc 退出编辑
    :wq 保存退出 :q! :x 退出

    yy 复制(前面可以加数字)
    p 粘贴(前面可以加数字)
    dd 删除/剪贴(前面可以加数字)
    u 撤销
    dG 光标所在行到尾行 删除
    G 移动光标到尾行
    gg 移动光标到首行
    
    Ctrl + V 批量操作  然后上下左右箭头选择 操作
    :set nu 显示行号
    :set nonu 隐藏行号
    

    7.cat 显示文件内容
    8.cp 文件位置 目的地位置 复制
    cp a a.bak 备份文件
    9.man 命令名 查看命令的帮助
    10.mv 1 2 移动文件
    11.rm 删除文件或目录
    -r 递归删除
    -f 强制删除且不提示
    12.find | xargs 查找
    -type f(file)或者d(dir)
    -name 名字,支持通配符
    例 find /root/ -type f -name "*.txt" |xargs ls -l
    13.grep 'xxx' 过滤xxx
    -v 排除过滤
    14.head -2 显示前两行的内容(默认10行)
    15.tail -2 显示末尾两行(默认10行)
    -f 实时显示文件的更新
    16.sed 取某行
    -n 取消默认输出
    -i 修改文件内容
    17.tar 压缩和解压缩
    -c 压缩
    -x 解压
    -v 显示执行明细
    -z 是否使用gzip压缩
    -f 指定压缩文件的名称
    tar zcf /压缩后 /file 压缩
    tar tf /压缩包 查看
    tar xf /压缩包 解压
    z=== gzip
    c=== create
    f=== file
    t===list

    常用符号

    ; 多个命令的分隔符
    / 根目录或路径分隔符

    重定向,数据沿箭头方向流动,原来文件内容会被丢弃

    追加重定向,在原来文件结尾追加内容
    .. 上一级目录
    . 当前目录

    ~ 用户家目录
    |管道 通过管道把前一个命令的输出交给后一个命令继续处理。
    {} 配合echo打印序列echo {1..10}
    PATH 环境变量,所有包含在环境变量里面的路径,都可以直接敲出来执行。
      全局生效/etc/profile 普通用户生效/.bash_profile或者/.bashrc

    重定向:在Linux里经常使用,意思是将数据流重新定向。

    或1> 标准输出重定向:把流向标准输出的数据重新定位到后边的文件中,文件原本内容被丢弃

    或1>> 标准输出追加重定向:把流向标准输出的数据重新定位到后边的文件结尾处,在其尾部添加数据。文件原本内容不会被丢弃
    <或<0 标准输入重定向:把源数据流从标准输入重定向到其它文件,覆盖原来数据
    <<或<<0 标准输入追加重定向:把源数据流从标准输入重定向到其它文件,不覆盖原来数据,在后面追加
    2> 标准错误重定向:把流向标准错误的数据重新定位到后边的文件中,文件原本内容被丢弃
    2>> 标准错误追加重定向:把流向标准错误的数据重新定位到后边的文件文件结尾处,在其尾部添加数据。文件原本内容不会被丢弃

    标准输入,标准输出,标准错误是Linux内核给每一个进程打开的三个文件,其文件描述符分别为0,1,2
    Linux shell中单引号,双引号以及不加引号的区别
    单引号:
      可以说是所见即所得,即将单引号内的内容原样输出

    双引号:
      把双引号内的内容输出出来,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容。双引号内命令或变量的写法为命令或变量或$(命令或变量)。

    无引号:
      把内容输出出来,可能不会将含有空格的字符串视为一个整体输出,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要加引号,一般连续的字符串,数字,路径等可以用,不过最好用引号替代之。

    Linux软件安装方式

    yum安装

    # 1.更改安装来源 https://opsx.alibaba.com/mirror 
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    # 2.yum安装新软件
    yum install -y  tree bash-completion  wget vim 
    

    rpm安装

    # mount 给 /dev/cdrom 创建一个入口 /mnt/
    mount /dev/cdrom /mnt/
    cd /mnt/
    # ls -l 缩写为ll
    ll /mnt/     
    
    # rpm查找软件
    ll /mnt/Packages/telnet-0.17-64.el7.x86_64.rpm 
    
    # rpm安装软件
    rpm -ivh  /mnt/Packages/bash-completion-2.1-6.el7.noarch.rpm 
    
    # 删除软件 rpm -e 软件名称
    
    注意:
    rpm -qa 后面要跟上包的名字才能搜索到
        -qa  = query all
    比如,rpm -qa http 搜不到,是因为包的名字叫做 httpd
    rpm -qa | grep 是把搜索到的全部包的名字交给 grep 去过滤,只要包含那个字符串就会被显示出来
    

    安装Nginx前提

    关闭selinux

    cp  /etc/selinux/config  /etc/selinux/config.bak 先备份
    
    # 永久修改SELINUX并显示结果,下次重启服务器生效
    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    cat /etc/selinux/config  查看修改结果
    
    # 临时修改SELINUX并显示结果,下次重启服务器生效
    setenforce 0  # 修改状态
    getenforce    # Permissive 结果正确
    

    关闭防火墙

    systemctl 管理服务
    
    #查询防火墙状态 
    systemctl status  firewalld.servic
    
    #当前正在运行的防火墙  --- 临时 
    systemctl stop firewalld.service(关闭)
    systemctl start firewalld.service (打开)
    
    
    #让防火墙不会开机自启动 --- 永久
    systemctl disable firewalld.service(禁止启动)
    systemctl enable firewalld.service (自启动)
    
    #is-active  是否正在运行 
    #systemctl is-active firewalld.service 
    #is-enabled   是否开机自启动 
    #systemctl is-enabled firewalld.service 
    

    定时任务

    crond 定时任务
    crontab -l
        -l  list 查看
    crontab -e
        -e  edit 编辑
        -r  delete  删除
    
    # 每两分钟同步一次系统时间  
    */2 * * * *  /usr/sbin/ntpdate ntp1.aliyun.com 
    # 修改系统时间
    date -s "20180101"
    # 同步服务器时间
    ntpdate ntp[1-7].aliyun.com
    

    Nginx安装

    # 安装nginx
    # 下载
    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    # 解压
    tar xf nginx-1.12.2.tar.gz 
    cd nginx-1.12.2 
    
    # 安装依赖
    yum install pcre-devel  openssl-devel -y 
    
    #编译安装三部曲 :1 ./configure  2 make     3 make install 
    
    # 第一步
    ./configure --prefix=/application/nginx-1.12.2 --with-http_stub_status_module  --with-http_ssl_module
    # 第二步
    make
    # 第三步
    make install
    
    echo $?  # 检查上一条命令的执行结果 返回0 表示正确
    
    #检查语法 
    /application/nginx-1.12.2/sbin/nginx  -t
    
    #启动nginx
    /application/nginx-1.12.2/sbin/nginx  
    /application/nginx-1.12.2/sbin/nginx  -s reload
    
    
    对比两个文件区别
    diff conf/nginx.conf  conf/nginx.conf.default # 没区别
    
    egrep -v "#|^$" /application/nginx-1.12.2/conf/nginx.conf.default >/application/nginx-1.12.2/conf/nginx.conf
    
    worker_processes  1;          
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;                #媒体类型
        default_type  application/octet-stream;
        sendfile        on;                      #开启高效的传输模式
        keepalive_timeout  65;                   #超时时间
        server {                               #一个server相当于是一个网站 虚拟主机
            listen       80;                   #监听的端口
            server_name  www.etiantian.org;            #网站名字 域名
            location / {
                root   html;                   #根 站点的根目录
                index  index.html index.htm;   #首页文件
            }
        }
    }
    

    other

    连不上IP解决方案

    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl restart network

    获取IP

    dhcclient

    查看网关

    ip r

    快捷键

    esc + . 上个命令最后一个文件

    查找目录

    which ntpdate

    从根下找

    find / -type f -name "ntpdate"

    显示命令的绝对路径

    which ntpdate
    /usr/sbin/ntpdate
    find / -type f -name "ntpdate"
    /etc/sysconfig/ntpdate
    /usr/sbin/ntpdate

    相关文章

      网友评论

          本文标题:Linux高频操作

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