zoukankan      html  css  js  c++  java
  • Linux目录、文件的管理

    centos目录结构
    ls / 查看根目录下有哪些文件或者目录
    bin 可执行文件的目录
    sbin 存放root用户可执行文件目录
    etc 配置文件
    boot 引导文件
    home 普通用户宿主目录
    lib 系统的核心文件
    lib64 系统的核心文件
    dev 设备目录
    mnt 临时目录挂载点
    root root用户的宿主目录
    tmp 临时目录(比较重要文件不要往这里面方法)
    var 经常发生变化的文件或者目录存放处 variable var a=1
    usr 共享资源目录(一般软件安装,默认此目录)

    目录管理

    linux命令分类
    内部命令 cd , pwd... 外部命令 ls, mkdir...
    帮助命令
    内部命令:help 命令名称
    外部命令:man 命令名称
    man mkdir
    进入帮助文档后,点q键退出
    创建目录
    mkdir = make directories
    语法:
    mkdir [选项] 目录名称
    实例:
    mkdir qy97
    创建多级目录实例:
    mkdir -p spring/springmvc/config
    mkdir -p aaa/bbb/ccc

    学会看帮助文档
    -p的解释:
    -p, --parents
    no error if existing, make parent directories as needed
    删除目录
    rmdir= remove directory
    语法(只能删除空目录)
    rmdir 目录名称
    实例:
    rmdir aaa/bbb/ccc
    rmdir aaa/bbb
    rmdir aaa
    修改目录名称
    mv = move
    语法:
    mv 要修改名称的目录 修改后的目录名称(不能存在)
    实例:
    mv qy97 qy971
    如果要修改多级目录下的目录,要进(cd)到他上级目录然后修改
    复制目录
    cp = copy
    语法:
    cp -r 目录名称 目的位置
    实例:
    cp -r qy971 spring

    ls /tmp
    ls /var
    cp -r /var/db/ /tmp
    ls /tmp
    ls /var
    查看目录下的内容
    ls = list
    语法:
    ls [目录名称]
    实例:
    ls 查看当前目录下的所有内容
    ls /etc 查看etc目录下的所有内容(绝对路径)
    ls /etc/sysconfig/network-scripts 查看/etc/sysconfig/network-scripts目录下的所有文件
    ls spring/ 当前目录下存在spring可以使用相对路径查看
    ls spring/springmvc
    -a 查看目录下所有的文件,包括隐藏文件
    -a, --all
    do not ignore entries starting with .
    -l 以长格式显示目录下的所有文件(显示文件或者目录的详细信息)
    ls -l 可以简化为 ll
    -t 按更新时间倒叙排序显示目录下的内容
    ls -a /etc
    ls -l /etc
    ls -l -t /etc 等同于 ls -lt /etc

    -r文件 d目录 l快捷文件

    切换目录
    cd = change directory
    语法:
    cd 目录名称
    实例:
    cd 什么参数都要,切换到当前用户的主目录

    su admin 切换普通用户
    cd 进入普通用户主目录
    pwd 输出结果为/home/admin

    cd .. 切换到上级目录
    cd ../../ 切换到上级的上级目录
    cd spring 切换相对路径
    cd spring/springmvc
    cd /etc/ 切换绝对路径
    cd /etc/sysconfig

    文件管理

    创建文件
    touch 文件名称
    实例:
    touch spring.xml
    touch spring/springmvc/config/springmvc.xml
    touch /tmp/spring.xml
    复制文件
    cp 文件名称 目标位置(目标位置不存在,相当于复制后重命名)
    实例:
    cp spring.xml spring
    cp spring.xml springmvc.xml
    cp springmvc.xml spring/springmvc/
    cp /root/spring.xml /var/log/
    ls /var/log
    cp 如果是目录的话,需要加上 -r
    剪切文件(移动文件)
    mv 文件名称 目标位置
    实例:
    mv spring.xml qy971/ 移动spring.xml到qy971目录下
    mkdir /tmp/mydir
    mv /root/qy971/spring.xml /tmp/mydir/
    ls /tmp/mydir/
    删除文件
    rm =remove
    实例:
    touch a.txt b.txt c.txt 创建多个文件
    rm a.txt 带提示的删除
    rm -f b.txt -f =force 强制删除不带提示
    rm -rf qy971 -r =resursive 递归强制删除
    总结:
    无论是文件或者是目录,都可以使用
    rm -rf 文件/目录

    修改文件名称
    mv qy97.txt qy97.log qy97.log一定不是一个目录
    查看文件内容
    查看整个文件内容
    语法:
    cat 文件名称
    实例:
    cat install.log
    cat /etc/hosts
    分页查看文件内容
    less 文件名称
    more 文件名称
    实例:
    less install.log
    more install.log
    enter键一行一行查看
    空格键一页一页查看内容
    ctrl+f 下一页
    ctrl+b 上一页
    less和more一点区别,less 可以使用/ 查看具体内容 more不可以
    q 退出
    查看文件的前n行
    语法:
    head [-n] 文件名称
    实例:
    head HelloWorld.java 默认查看HelloWorld.java的前10行
    head -1 HelloWorld.java
    head -11 HelloWorld.java
    查看文件的后n行
    语法:
    tail [-n] 文件名称
    实例:
    tail HelloWorld.java
    tail -1 HelloWorld.java
    tail -5 HelloWorld.java
    重要用法 -f 实时监控HelloWorld.java的尾部:
    在一个窗口使用下面命令,产生阻塞,一直监控 HelloWorld.java的尾部:
    tail -f HelloWorld.java
    在链接一个新窗口,执行下面命令,观察第一个窗口的变化:
    date >> HelloWord.java
    向文件中写入或者追加内容
    echo 'hello world' linux向控制台打印 相当于java中的System.out.println("hello world");
    js 中打印 alert 'hello world' oracle 中打印 dbms_output.putline('hello world');
    >> 代表追加 在原有内容后面继续添加 > 代表写入 覆盖原有内容
    echo 'hello world' >> HelloWord.java 把hello world 追加到HelloWord.java 的尾部
    date >> HelloWord.java 把当前时间追加到HelloWord.java 的尾部

    统计文件内容
    wc=word count
    语法:
    wc [option] 文件名称
    实例:
    wc a.log 统计a.log中有几行,几个单词(用空格分割),几个字符(包括换行和空格)
    wc -l a.log 统计行数
    wc -w a.log 统计单词
    wc -c a.log 统计字节数
    wc -m a.log 统计字符数(一个中文字符,编码格式是utf-8,占三个字节)
    wc /etc/hosts 绝对路径
    查找文件
    语法:
    find [文件目录] -name '*关键字*'
    实例:
    find -name "*.log*" 在当前目录下查找名字中含有.log的文件
    find /etc -name '*.pp*' 在etc 目录下(子孙目录也包括)查找文件名称含有.pp的文件,并显示

    | 在命令中解释为 管道符 可以链接两个linux命令,第一个命令的执行结果为后面命令使用
    find /etc -name '*.pp' | wc -l 在etc 目录下(子孙目录也包括)查找文件名称含有.pp的文件 ,并且统计行数

    find /etc -name '*.pp' > a.log 输出结果写入a.lot文件中
    wc -l a.log 统计a.log有几行

    vim a.log
    :set nu
    点击大写G,到文件末尾

    查找文件内容
    grep = global(regexp 正则表达式) regular expression print
    grep = global search regular expression(RE) and print out the line

    语法:
    grep 关键字 文件名称
    实例:
    grep .pp a.log 在文件a.log中查找含有.pp的行,并显示
    grep 0.0 /etc/hosts 绝对路径 在hosts文件找0.0

    grep .pp a.log | wc -l 查找并统计行数
    grep 0.0 /etc/hosts | wc -l

  • 相关阅读:
    提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
    五维偏序模板(bitset+分块)
    【BZOJ5328】【SDOI2018】—物理实验(扫描线+双指针)
    【VIOLET3】【BZOJ2716】天使玩偶(cdq分治)
    【BZOJ3295】【CQOI2011】—动态逆序对(cdq分治)
    【BZOJ1492】【NOI2007】—Cash(cdq分治维护凸包优化斜率dp)
    【BJOI2018】【BZOJ2591】—链上二次求和(线段树维护二次函数)
    【COGS2479】【HZOI2016】偏序(cdq套cdq)
    【BZOJ5293】【BJOI2018】—求和
    【BZOJ4009】【HNOI2015】—接水果(整体二分+扫描线)
  • 原文地址:https://www.cnblogs.com/duguangming/p/11134961.html
Copyright © 2011-2022 走看看