• 【Linux】Linux文件跟目录管理


      熟悉Linux的大家都知道,在Linux中,一切皆文件,可能在有些人的理解中,Linux跟我们的Windows差不多,是都具有图形操作界面的一种操作系统,但是更深入的来说,Linux更偏向于用命令操作文件从而达到操作系统的目的,那么文件对于Linux来说就是非常关键的了,今天就来同大家分享一下我在Linux的学习过程中,文件跟目录的一些相关如下:

      首先,要学会Linux就要明白它的文件系统是个什么东西,在这里我给大家简单的用一张图片来说明一下:

        其中“/”为Linux文件系统的头层,我们称它为“根”。

        文件跟目录是相关的,我们简单的了解一下目录相关的操作,再详细介绍关于Linux文件

        Linux中,常规的目录操作需要我们知道这么几点:

          关于文件相对于目录的路径我们大致将其分为绝对路径和相对路径,绝对路径就是指不考虑你当前的位置,从“/”到达目标文件需要经过的文件系统目录树的所有分支                         1 /home/hello/docs/share 例如这个路径,就是绝对路径;那么相对路径呢,它恰恰是另一种情况

    1 [root@localhost ~]# cd /etc/httpd
    2 [root@localhost httpd]# cd ./conf
    3 [root@localhost zhangsan]# ls -dl ../hello
    4 drwx------ 2 hello hello 4096 09-14 21:50 ../hello

    以上这三个路径就是相对路径了。

        关于Linux的命令提示符我顺便说一下:        [ 登录用户@主机名 工作目录 ];

        以及Linux命令行的通用格式:      命令字 [选项] [参数];

      其中各个选项及参数的含义:选项:用于调节命令的具体功能

                   以 “-”引导短格式选项(单个字符),例如“-l”

                   以“--”引导长格式选项(多个字符),例如“--all”
                   多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
                   参数:命令操作的对象,如文件、目录名等

       那么,Linux命令是用来干什么的呢?

        Linux命令
        用于实现某一类功能的指令或程序
        命令的执行依赖于解释器程序(例如:/bin/bash)
        Linux命令的分类
        内部命令:属于Shell解释器的一部分
        外部命令:独立于Shell解释器之外的程序文件

     

    命令行编辑的几个辅助操作
        Tab键:自动补齐
        快捷键 Ctrl+C:终止当前进程
        快捷键 Ctrl+D: 输入结束
        快捷键 Ctrl+Z : 挂起程序
        快捷键 Ctrl+L:清屏,相当于clear命令
        快捷键 Ctrl+K:删除从光标到行末所有字符
        快捷键 Ctrl+U:删除从光标处到行首的字符
        快捷键 Ctrl+S:锁屏
        快捷键 Ctrl+Q:解锁

        快捷键Ctrl+A 快速将光标移动到命令行首

        快捷键Ctrl+E 快速将光标移动到命令行尾

        快捷键Ctrl+R 查找历史命令
        快捷键history 查看历史命令

    那么接下来就说一下关于目录的一些常规操作:

    pwd命令
      用途:查看工作目录(Print Working Directory)
    cd命令
      用途:切换工作目录(Change Directory)
      格式:cd [目录位置]
      特殊目录
      . 当前目录
      .. 上一级目录
      ~ 用户主目录
      - 上个工作目录

    ls命令
      用途:列表(List)显示目录内容
      格式:ls [选项]... [目录或文件名]

    mkdir命令
      用途:创建新的目录(Make Directory)
      格式:mkdir [-p] [/路径/]目录名
    rmdir命令
      用途:删除空的目录(Remove Directory)

    mkdir命令
      用途:创建新的目录(Make Directory)
      格式:mkdir [-p] [/路径/]目录名
    rmdir命令
      用途:删除空的目录(Remove Directory)

    1 [root@localhost ~]# mkdir -p mydir/level1/level2
    2 [root@localhost ~]# ls -R mydir
    3 mydir:
    4 level1
    5 mydir/level1:
    6 level2
    7 mydir/level1/level2:

    du命令
      用途:统计目录及文件的空间占用情况(estimate file space usage)
      格式:du [选项]... [目录或文件名]
    常用命令选项
      -a:统计时包括所有的文件,而不仅仅只统计目录
      -h:以更易读的字节单位(K、M等)显示信息
      -s:只统计每个参数所占用空间总的大小

    [root@localhost ~]# du -sh /etc/httpd/
    184K    /etc/httpd/
    

      

    touch命令
      用途:新建空文件,或更新文件时间标记
      格式:touch 文件名…

    1 [root@localhost ~]# touch  file1.txt  file2.doc
    2 [root@localhost ~]# touch   -ad  10:35 file1.txt
    3 [root@localhost ~]# touch   -md  11:25 file2.doc
    4 [root@localhost ~]# touch  -r  file2.doc  file1.txt

    cp命令
      用途:复制(Copy)文件或目录
      格式:cp [选项]... 源文件或目录… 目标文件或目录
      -r:递归复制整个目录树
      -a: 复制时保留链接、文件属性,并递归地复制目录
    mv命令
      用途:移动(Move)文件或目录
      —— 若如果目标位置与源位置相同,则相当于改名
      格式:mv [选项]... 源文件或目录… 目标文件或目录

    file命令
      用途:查看文件类型
      格式: file 文件名…

    1 [root@localhost ~]# file /bin/ls
    2 /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for ……
    3 [root@localhost ~]# file  /etc/passwd
    4 /etc/passwd: ASCII text
    5 [root@localhost ~]# file  /dev/cdrom
    6 /dev/cdrom: symbolic link to `hdc'

    rm命令
      用途:删除(Remove)文件或目录
      格式:rm [选项]... 文件或目录
      -f:强行删除文件或目录,不进行提醒
      -r:递归删除整个目录树

    注意:rm -rf 不要轻易使用,它会强行删除文件或者目录

    at命令
      用途:显示出文件的全部内容
      格式:cat -n 文件名
    tac命令
      用途:从最后一行倒着显示出文件的全部内容

    1 [root@localhost ~]# cat  /etc/aaa
    2 11111111111111111111
    3 222222222222222222
    4 [root@localhost ~]# tac  /etc/aaa
    5 222222222222222222
    6 11111111111111111111

    more命令
      用途:全屏方式分页显示文件内容
      交互操作方法:
      按Enter键向下逐行滚动
      按空格键向下翻一屏、按b键向上翻一屏
      按q键退出
    less命令
      用途:与more命令相同,但扩展功能更多
      交互操作方法:
      与more命令基本类似,但个别操作会有些出入
      【page down】【page up】上翻下翻页

    head命令
      用途:查看文件开头的一部分内容(默认为10行)
      格式:head -n 文件名
    tail命令
      用途:查看文件结尾的少部分内容(默认为10行)
      格式:tail -n 文件名 tail -f 文件名

    1 [root@localhost ~]# tail -2 /var/log/messages
    2 Sep  8 15:49:29 localhost scim-bridge: Cleanup, done. Exitting...
    3 Sep  8 15:49:29 localhost Cleanup, done. Exitting...

    tail命令高级用法
      格式:tail -n 数字 文件名
      数字:数字前有 +(加号),从文件开头指定的单元 数开始输出;数字前有 -(减号),从文件末尾指定的单元 数开始输出;没有 +或 -,从文件末尾指定的单元 数开始输出。
    例如:
      tail -n +3 /etc/passwd 从第三行开始显示
      tail -n -3 /etc/passwd 显示最后三行
      head -n -3 /etc/passwd 不显示最后三行
      head -n +3 /etc/passwd 显示前三行

    which命令
      用途:查找可执行文件并显示所在的位置
        —— 搜索范围由 PATH 环境变量指定
      格式:which 命令或程序名

    1 [root@localhost ~]# which  mkdir
    2 /bin/mkdir
    3 [root@localhost ~]# echo  $PATH
    4 /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    5 [root@localhost ~]# which  cd
    6 /usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

    whereis命令
      用途:查找文件的路径、该文件的帮助文件路径,原理和which类似
      格式:whereis 命令或程序名

    1 [root@localhost ~]# whereis which
    2 which: /usr/bin/which /usr/share/man/man1/which.1.gz
    3 [root@localhost ~]# touch sxkj
    4 [root@localhost ~]# whereis sxkj
    5 sxkj:
    6 [root@localhost ~]# mv sxkj /usr/bin
    7 [root@localhost ~]# whereis sxkj
    8 sxkj: /usr/bin/sxkj

    find命令
      用途:用于查找文件或目录
      格式:find [查找范围] [查找条件] [动作]
    常用查找条件
      -name:按文件名称查找
      -size: 按文件大小查找
      -user: 按文件属主查找
      -type: 按文件类型查找
      -perm :按文件权限查找
      -mtime :按文件更改时间查找
      -newer:按比某个文件更新的查找

    find命令
      格式:find [查找范围] [查找条件] [动作]
    特殊查找条件
      -o :逻辑或,只要所给的条件中有一个满足,寻找条件就算满足
      -not :逻辑非,在命令中可用“!”表示。该运算符表示查找不满足所给条件的文件
      -a:逻辑与,系统默认是与,可不加,表示只有当所给的条件都满足时,寻找条件才算满足。

    find命令
      格式:find /usr -mtime +/-数字
      数字:数字前有 +(加号),大于数字的天数;数字前有 -(减号),小于数字的天数;没有 +或 -,等于数字的天数。
    例如:
      find /usr -mtime 4 表示4天前那一天
      find /usr -mtime -4 表示4天内
      find /usr -mtime +4 表示4天前

    这里用一张图表示一下,便于理解:

    gzip命令
      用途:制作压缩文件、解开压缩文件
      格式:gzip [-9] 文件名...
    gzip -d .gz格式的压缩文件
      常用命令选项
      -9:表示高压缩比,取值1-9,默认为6
      -d:用于解压缩文件,同gunzip命令
      -c:将输出重定向到标准输出
    zcat命令
      用途:查看压缩文件内容
      格式:zcat 压缩文件名

    bzip2命令
      用途:制作压缩文件、解开压缩文件
      格式:bzip2 [-9] 文件名...
    bzip2 -d .bz2格式的压缩文件
      常用命令选项
      -9:表示高压缩比,取值1-9,默认为6
      -d:用于解压缩文件,同bunzip2命令
      -c:将输出重定向到标准输出
    bzcat命令
      用途:查看压缩文件内容
      格式:bzcat 压缩文件名

    tar命令
      用途:制作归档文件、释放归档文件
      格式:tar [选项]... 归档文件名 源文件或目录
      tar [选项]... 归档文件名 [-C 目标目录]
    常用命令选项
      -c:创建 .tar 格式的包文件
      -x:解开.tar格式的包文件
      -v:输出详细信息
      -f:表示使用归档文件
      -t:列表查看包内的文件
      -p:保持原文件的原来属性
      -P:保持原文件的绝对路径

    绝对路径和相对路径
    目录操作命令
    pwd、cd、ls、mkdir、du
    文件操作命令
    touch、file、cp、rm、mv、ln
    查找命令
    which、whereis、locate、find
    文件内容操作命令
    cat、more、less、head、tail
    归档及压缩命令
    zip、gzip、bzip2、zcat、bzat、tar

    好啦,今天就跟大家分享到这里,我会在后续的学习过程中继续跟大家分享我的收获!

  • 相关阅读:
    052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
    050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
    046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项
    045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
    剑指OFFER----面试题04.二维数组中的查找
    剑指OFFER----面试题03. 数组中重复的数字
  • 原文地址:https://www.cnblogs.com/qq1148932219/p/10222712.html
Copyright © 2020-2023  润新知