zoukankan      html  css  js  c++  java
  • Centos 03 基础命令

    切换目录

    cd ~    切换到当前用户的家目录
    cd -     切换到上一次的目录

    上传与下载

    支持包在Dial-up Networking Support选项里,没有装可以通过

    1、yum install lrzsz -y
    2、yum groupinstall "Dial-up Networking Support" -y
    下载文件:
        sz -y install.log(-y表示覆盖)
    上传到服务器
        rz -y 找到内容
    只能上传下载文件
    上传文件可以是任意文件

    在使用远程工具上:root用户的命令后标记是#号,而一般用户的话则是$号

    一些基础命令

    ls -ld                                =>    以长目录的格式显示目录,-a 显示目录的隐藏文件
    touch file.txt                        =>    新建文件,如果文件存在就改变文件的访问时间
    pwd                                   =>    查看当前路径
    cp    a.txt /usr/                     =>    复制文件a.txt到/usr/路径
    cp -a /etc/aaa/    /tmp/              =>    拷贝目录到tmp文件夹下,正常用-a不用-r,a=dpr
    cp -r                                 =>    递归的拷贝目录
    cp -p                                 =>    连同文档属性一起复制过去,而非使用默认属性
    cp /data/dandy.txt /test/            =>    拷贝到另一个目录,覆盖文件,不提示是否覆盖
    mv    /data /root/                    =>    把根下面的data目录移到root的目录下面
    xargs                                 =>    用于把find/ls的输出交给后面处理
    ~ 当前用户家目录
    | 管道;把前一个命令的输出交给另一个命令继续处理,两边不需要空格

    cat命令

    cat    aa.txt                            =>    查看文件内容
    cat -n aa.txt                            =>    显示行号

    进阶

    输入内容覆盖文件,注意这里是键入回车的一行,然后输入ctrl + d,特别是在mac上不是command + d!!!!

    [dandy@centos7 ~]$ cat dandy.txt 
    a
    b
    c
    [dandy@centos7 ~]$ cat > dandy.txt 
    1
    2
    3
    ^C
    [dandy@centos7 ~]$ cat dandy.txt 
    1
    2
    3

    追加进文件;>>代表追加;<<代表输入

    [dandy@centos7 ~]$ cat >> dandy.txt << 11
    > elina
    > dandy
    > taylor
    > 11
    [dandy@centos7 ~]$ cat dandy.txt 
    1
    2
    3
    elina
    dandy
    taylor
    [dandy@centos7 ~]$ 

    另一种简单追加方法:同理是ctrl + d

    [dandy@centos7 ~]$ cat >> dandy.txt 
    time1
    time2
    # 回车到空行 ctrl + d [dandy@centos7 ~]$ cat dandy.txt 1 2 3 elina dandy taylor time1 time2 [dandy@centos7 ~]$

    echo命令

    [dandy@centos7 ~]$ echo "hello"
    hello  # 屏幕打印
    echo {a..f}
    echo {1..7}      =>     打印输出、横向

    进阶:

    重定向,单行文本覆盖文件,有内容全部丢失

    [dandy@centos7 ~]$ echo "write your words" > dandy.txt
    [dandy@centos7 ~]$ cat dandy.txt 
    write your words  
    [dandy@centos7 ~]$ 

    追加重定向,追加到现有文件的结尾部分

    [dandy@localhost ~]$ echo 'adding to the end' >> dandy.txt 
    [dandy@localhost ~]$ cat dandy.txt 
    write your words
    adding to the end
    [dandy@localhost ~]$ 

    > 标准输入重定向

    < 标准输出重定向

    vi命令

       a        或者i进入编辑模式
        :q       保存
        :wq!      强制保存        
        :set nu    显示行号    
        dd        删除当前行
        yy        拷贝当前行
        p         粘贴
        2gg       定位行号
        G        切换到文件尾
        gg        切换到文件头 

    vimdiff dandy.txt dandy1.txt  # 比较两个文件的差异

    mv dandy.txt /data/                      =>  将dandy.txt文件移到/data/目录下,如果后面/data/变成/data/dandy111.txt就有了改名的功能
    mv /data /usr/                           =>  将data文件目录移到/usr/目录里面
    rm dandy.txt                            =>  删除文件
    rm -f dandy.txt                         =>  强制删除
    rm -r /data                         =>  删除目录
    rmdir data                           =>  删除空目录  鸡肋的命令            

    find命令

    find / -type f -name "dandy.txt"    =>    在/根目录查找 类型文件,名字cat
    find / -type f -name "dandy.txt" -exec rm -f {} ;
                                        =>    {}代表find找到的内容
                                              -exec 到 都是参数
                                              rm -f {} 
                                              ; bash 是特殊的意义,用反斜杠转义
    find / -type f -name "test.txt" | xargs rm -f
                                        =>    xargs把查找出来的文件结果集,按行交给rm -f命令处理                           
    find /root/ -type f -name "*.log" -mtime 5 | xargs rm -f
                                        =>    5 是找到所有5天前4天后被更改的档案文件
                                              modify time-4 是4天内被改的档案,
                                              +4 是4天后被改的档案。

    查找文件内容

    grep -v dandy test.txt                 =>    过滤文件中包含dandy的行,并排除
    grep dandy test.txt                    =>    过滤出来文件中包含dandy的行
    head -2 test.txt                       =>    显示文件前两行;不接参数,默认显示前10行
    tail -2 test.txt                       =>    显示文件后两行;不接参数,默认显示后10行
    tail -f test.txt              =>   监控文件结尾处的变化
    sed -n /dandy/p test.txt               =>    取出包含dandy的一整行,取消其它行的输出
                                                 p是打印筛选的意思, -n表示取消默认输出或者取消原始输出
    sed /^dandy/d test.txt                 =>    把以dandy开头的行过滤掉
                                                 d代表删除
    
    sed '/dandy/d' test.txt                =>    包含dandy的行删除,引号加不加没区别 
    awk /dandy/ test.txt                   =>    过滤出来带dandy的行

    创建目录

    mkdir a b c                            =>    创建多个文件夹
    mk -p /data/test                       =>    递归创建文件夹
    tree /data                             =>    查看data文件夹下的目录结构

    查看命令路径

    which cp                               =>     查看cp的所在路径, whereis   locate   find

    全路径执行命令

    /usr/bin/cp /data/dandy.txt /tmp       =>    用全路径执行命令

    别名alias

    alias                                 =>    查看当前所有的别名
    alias cp                              =>    查看cp的别名
    alias rm = 'echo "rm can not be executed."'    
                           => 修改别名 alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' 如上 ll命令的意思就是ls命令加上-l参数 可以用unalias来取消别名,一般不改系统默认的别名,它具有一定的保护措施。 别名的作用: 1)通过给危险命令加一些保护参数,防止人为误操作 2)把很多复杂的字符串变成一个简单的字符串 系统别名的位置 cat ~/.bashrc # User specific aliases and functions

    seq命令

    seq 5                                  =>    竖着打出1~5序列
    seq -s " " 5                           =>    -s指定分隔符空格,横着输出 1~5序列
    seq 2 5                                =>    竖着打出2~5序列
    seq 1 2 9                              =>    隔2个数输出
    seq 5|tac                              =>    tac 反转内容输出
    seq 100 >> dandy.txt                   =>   产生100的序列追加进dandy.txt文件

    提取文件中指定的行号

    head -30 dandy.txt|tail -11            =>     查找20~30行的内容输出
    tail -81 dandy.txt|head -11            
    sed -n 20,30p dandy.txt                =>     取消其它行输出,打印20~30行
    sed -n '20,30p' dandy.txt             
    sed -n 30p dandy.txt                   =>    输出打印第30行
    awk '{if(NR>19&&NR<31) print $0}' dandy.txt
                                           =>  NR变量代表行号,如果>19, <30
                                               $0 代表print整个列
                                               '{}' 固定格式,执行内部命令

    sed 擅长输出行

    awk 擅长输出列

    awk -F ":" '{print $1}' /etc/passwd =>  输出打印文件第一列
                                            -F ":" 分割参数
                                            $1 第一列,$2第二列,$0 整行

    替换文件内容

    sed -i s#dandy#elina#g dandy.txt
                                        =>  s代表编辑替换,g代表全部替换
                                            -i 插入或者写入原文件
    find / -type f -name "dandy.txt" | xargs sed -i s#dandy#elina#g
                                        =>    查找到所有的dandy.txt文件,并对每一个执行替换命令

    不能忘本

    cat /etc/redhat-release                =>     查看系统版本
    uname -r                             =>    查看系统内核
    uname -m                             =>    查看操作系统位数

    快捷键

    快捷键
    tab                                    =>    补全命令或者路径
    ctrl + c                               =>    终止当前任务命令程序
    ctrl + d                               =>    推出当前用户环境,相当于exit、logout
    ctrl + a                               =>    快速移动至行开头
    ctrl + e                               =>    快速移动到行结尾
    ctrl + u                               =>    不留痕迹的清楚
    ctrl + r                               =>    从历史记录查找命令
    ! 165                                  =>    执行历史记录里面的165行的记录
    !!                                     =>    执行最近的命令
    ! c                                    =>    调用最近以c开头的命令

    此篇blog虽然全篇幅都是在讲命令,但也只是讲了其中的一部分命令的简单应用,之后还是会补充,不过不确定是在实战还是继续这样一种方式的篇幅。此时,这里给大家介绍几种自己查看命令使用方法的办法。

    1、man 命令 

    2、命令 --help 或者 命令 -- h

    3、搜索引擎

    不必多说,你懂我懂大家懂。

  • 相关阅读:
    BEM(Block–Element-Modifier)
    http://element.eleme.io/#/zh-CN/component/quickstart
    Commit message 的写法规范。本文介绍Angular 规范(
    好的commit应该长啥样 https://github.com/torvalds/linux/pull/17#issuecomment-5654674
    代码管理
    if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary
    Martin Fowler’s Active Record design pattern.
    The Zen of Python
    Introspection in Python How to spy on your Python objects Guide to Python introspection
    Object-Oriented Metrics: LCOM 内聚性的度量
  • 原文地址:https://www.cnblogs.com/wuzdandz/p/9519059.html
Copyright © 2011-2022 走看看