linux--目录结构、编辑器及常用命令

linux 一些主要目录的认识:
    /bin         二进制可执行命令
    /boot        存放系统引导文件,如 内核、grub 等
    /dev        设备文件
    /etc        系统配置目录
    /home        普通用户家目录
    /lib        系统库文件
    /lib64        64位库
    /proc        进程目录,了解系统的一个窗口,在此可以查看很多内核信息
    /root        root用户的家目录

    /sbin        管理员使用命令的存放目录
    /selinx     selinux 工作目录
            如果该目录为空表示禁用了 selinux
            如果不为空,则表示启用了 selinux
    
    /src         系统、用户源文件工作目录
            有时用户在编译源代码时,会把代码放到该目录

    /var        存放比较大的,经常变化的文件
            如果系统经常把日志放在该目录
        
linux 命令:
    命令分类:
    linux 把命令分为内部命令和外部命令.
    
    内部命令:
        shell 自带的命令,常驻内存
    
    外部命令:
        不常驻内存,以文件的形式放在磁盘上

    判断方法:
        能执行,去找不到文件就是内部命令

        或者

        type cd

    获取命令帮助的方法:
    1) man
        格式:man 命令名
        如:  man fdisk   --获得fdisk的帮助信息
        

       2) help
        格式: help 命令名
          命令名 --help
        
        如:   help cd
          useradd -help
                
    3) info  侧重介绍信息
        如: info fdisk
            info mount


    使用命令前,了解命令特征:
    1、命令、参数等区分大小写
    2、程序能否执行与扩展名没有关系,与文件能否执行,是否有执行权限有关
    3、命令名和路径可以使用 tab  来补齐
    

文件、目录管理命令
    ls   列文件目录清单
    格式: ls [option] 查看目标

    如:   ls /soft
          ls /boot
          ls /var
                ls        --如果省掉目标的话,查看当前目录

    option:
        -l     长格式显示
        -a     显示全部(包括隐含文件)
           隐含文件方法:文件名以 . 开头
        -t     按修改时间排序
        -r        反向排序
            -S    按大小排序
        
    
          ls -l
        -rw-------. 1 root root  1638 10月 29 23:24 anaconda-ks.cfg
        -rw-r--r--. 1 root root 55504 10月 29 23:24 install.log
                 表类型和权限

    
        第一列的第一位:文件类型
            -        普通文件
            d       目录
            b        块设备文件
            c        字符设备文件
            l         软链接
            p        管道文件
                   s           socket

        第一列2-10 表权限
            linux 权限用三个字母表示  r(读)   w(写)   x(执行)
                                    4      2       1
            9位分成三组:每三位一组,每组对应一类用户:属主(自己)、
            开放组、其它用户

        第二列:硬链接数

        第三列:属主
        
        第四列:开放组

        第五列:文件大小

        第六列:修改日期

        第七列:文件名


    touch     新建空文件,如果文件存在不覆盖,但是会更新其修改时间
    

    rm       删除文件或目录
    格式: rm [option]  目标文件或目录


    option:
        -r   删除目录
        -f   强制删除不提示
        
        rf  组合时要慎用


    如果删除目录: rm -r  目录名
    
    如:   rm /test/a     --删除/test/ 下的a
          rm  b          --删除当前目录下的 b
    
    mkdir     创建目录
    mkdir [option]  目录名

    option:
        -p    如果目录的上层目录不存,自动创建
        -v    显示过程
    
    例:在/下创建 test  
            mkdir /test
        
        例:在 /  下创建  u01
        mkdir /u01

    例:在 /soft 下创建 myshare
        mkdir /soft/myshare
                --做的时候要确保 /soft要存在

    例:在 /u01 建 app
        mkdir -pv /u01/app

    cp  复制文件
    格式: cp 源文件  目标文件
    option:
        -r    复制目录
        -f    强制覆盖,不提示
        -i    覆盖时提示
        

    例: cp /etc/yp.conf  /test/
            把/etc/yp.conf 复制到 /test 下

        例: 把 /etc 下所有以a开头的文件复制到 /test 下
         

    scp  网络复制
    格式: scp  源文件   目标文件
    
    如果文件不在本机的表示方法:
        ip:路径

           如:172.16.1.116:/etc/fstab
            表示 172.16.1.116 的 /etc/fstab 这个文件

    本机文件表示无须ip
            如:/etc/fstab

    
    例:把 172.16.1.132 的文件 /etc/fstab 复制到本机的 /test 下
        scp 172.16.1.132:/etc/fstab  /test/

    例:把本机的 /etc/yp.conf 复制到 172.16.1.123 下的 /root
        scp /etc/yp.conf 172.16.1.123:/root/

       

    注:scp 依赖于sshd 服务,sshd 不要关掉了,另外在拷贝时要求输入对方机器的密码


    mv  移动或改名
    格式:mv 源文件 目标文件
    

    例: mv a b    --将当前目录下的文件a 改名为b
    
    例: mv a /tmp/b   --将当前目录下的a 移动到/tmp 下,并改名为 b

        究竟是改名还是移动,主要看前后位置,前后位置没变就是改名

        移动和改名可以同步进行

   
          

    cd   切换目录
     格式:cd  目标目录
        
          cd ..      --回到上一级
          cd         --回到家目录,查看用户家目录 echo $HOME
          cd ~       --回到家目录
          cd ~tom    --到tom的家目录
     
     例: cd /test    --将当前目录转到 /test
             cd test     --将当前目录转到当前目录下的 test


    pwd  显示当前目录

    rmdir 删除空目录

    cat   显示文件内容
    
    格式:  cat [option] 文件名
    
    option:
        -n     显示行号
           -b     显示行号
       -E     显示行尾符
           -A     显示非打印字符

    如:  cat /proc/cpuinfo
    
    more  分屏显示文件内容
    
    less  分屏显示文件内容
          还可通过箭头向上或向下移动看


   


重定向
    重定向即改变输入或输出的方向
 
    输入重定向
    <    

        [root@s100 ~]# cat myfile
        123456
        123456

        [root@s100 ~]# passwd <myfile

    输出重定向
    >       以覆盖的方式输出重定向
    >>      以追加的方式输出重定向


    双向重定向  tee
    一般的重定向,将信息写到文件后,屏幕就不会再显示了,tee 既能把信息显
        示在屏幕上,同时也能把信息写到文件,这就是称之的双向重定向

    操作时一般用管道的形式
       如: uptime | tee myfile



    重定向的编码
    0       标准输入
    1    标准输出
    2    错误输出

    由于信息的不同,于是重定向时就有变化了
    1>   
    2>  

    cat myfile  abcd 1>a.txt 2>b.txt   
              --将标准输出定向到a.txt 错误信息定向到b.txt

    cat myfile  abcd 1>a.txt 2>&1
          --将标准输出定向到a.txt 错误信息定向到标准输出的文件(即放到一块)
            实际上可以简写为

    cat myfile abcd >& a.txt
    
    
        >/dev/null    --将信息定向到空设备,将所有的输出信息丢弃掉,不显示


管道   
    
    管道主要用来将命令连接起来,将前一个命令处理的结果,传给后一个
    有时一些需求比较复杂,可能一个命令没办法完成,这里就可以用管道
    让每个命令处理一部分,最后完成需求。使用格式上,就是将命令用 “|” 连起来

    例:显示每个用户的用户名和所使用的shell
    cat /etc/passwd | awk -F: '{printf("%-15s%s\n",$1,$7)}'

    cat /etc/passwd | awk -F: '{printf("%-15s%s\n",$1,$7)}'|sort -k2

    例:看 /etc/passwd 中是否有root的行
    cat /etc/passwd | grep root

    例:看 /etc/passwd  有没有 shutdown 的行
    cat /etc/passwd | grep shutdown

    例:看无线网卡的地址
    ifconfig | grep wlan0 | awk '{print $5}'


head  看文件头的前多少行
    head /etc/passwd   --默认看前10行

    head -n 5 /etc/passwd 看文件前 5 行

tail  看文件后的多少行
    tail -n 3 /etc/passwd  看文件的最后3行

      tail -f /etc/passwd    监控文件的变化(用于rhel5)

     

    查看文件指定范围的行,如 3-5 行
        head -n 5 /etc/passwd | tail -n 3


vi/vim 使用
    vi/vim 是linux下使用非常广泛的文本编辑器

    学习前我们切到  /test  下,并把 /etc/yp.conf 复制到 /test
    mkdir /test
    cp /etc/yp.conf /test
    cd /test
    vim yp.conf

    vim 的工作模式:
    编辑模式
        该模式主要用于输入一些编辑指令,如 dd, u  等,不能输入文本内容
        它的特点是 左下角无任何提示字样        

        切换到该模式的方法:按左上解的 ESC 键

    插入模式
        该模式主要用于插入文本,
        它的特点是 左下角有 “插入”字样

        切换到该模式的方法: i I a A o O s S


    末行命令模式
        主要用来输入一些编辑指令,特点是左下角有个冒号(:)

        切换到该模式的方法:编辑模式下(如果不在编辑模式,要切到编辑模式),
                            输入冒号(:)

        常用的末行命令:
        w         保存
        q         退出
        wq        保存退出
        w!        不保存退出
        set number  显示行号
        set nonumber 不显示行号
    


编辑模式下的一些指令:
    删除:
    dd       删除行
    DD    只清空当前行
    50dd      删除50行

    d^    删除到行首
    d$    删除到行尾
    
    撤消:
    u      撤消
    
    复制
    yy     复制一行
    5yy     复制5行

    p     粘贴

    方法二: v  进入可视化操作 -> 移动光标选内容  -> y (copy)  -> 移到光标到目标
           位置 -> 在编辑模式下 按 p
    
    移动
    方法一:先复制,再删除
    
    方法二: v  进入可视化操作 -> 移动光标选内容  -> c (cut)  -> 移到光标到目标
           位置 -> 在编辑模式下 按 p

    查找
    /+查找字符  (向下查找)
         如: /abc     --查看字符abc
         /yp    --查找字符yp

    /+查找字符 (向上查找)
         如: ?abc     --查看字符abc
         ?yp    --查找字符yp
    
    
    n   下一个
    

    替换
    要在末行命令模式下

    范围s/原字符/新字符/参数
    
    范围:
        1         第1行
        10      第10行
        $        最后1行
        1,$        从第1行到最后1行
        %        全文

    参数
        g         全局替换(适用于一行有多个符合条件的字符)
    
    例:将1-5行中的#换成*
    
        :1,5s/#/*/g

    例:把所有的#删除掉
        :%s/#//g

   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值