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、搜索引擎

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

  • 相关阅读:
    c++ 学习笔记
    python 2048游戏控制器
    c++ 动态内存
    c++ 拷贝构造函数、拷贝运算符、析构函数
    c++ struct enum union加typedef与不加typedef
    c++ 动态内存2
    c++ 指针数组与指向数组的指针
    c++ TextQuery程序
    c++ virtual
    c++ 动态内存 动态数组
  • 原文地址:https://www.cnblogs.com/wuzdandz/p/9519059.html
Copyright © 2011-2022 走看看