zoukankan      html  css  js  c++  java
  • 【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

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

  • 相关阅读:
    u-boot下延时程序失效的bug调试
    tiny4412u-boot烧写及根文件系统制作(不进入终端问题)
    tiny4412学习笔记-将uboot、zImage、文件系统烧到emmc中 (转)
    Tiny4412 U-BOOT移植(转)
    为何ARM linux会引入Device Tree(转)
    嵌入式开发社区
    基于tiny4412的u-boot移植(二)(转)
    ARM Linux 3.x的设备树(Device Tree)(转)
    HTML基础-------HTML标签(1)
    HTML基础-------最初概念以及相关语法
  • 原文地址:https://www.cnblogs.com/qq1148932219/p/10222712.html
Copyright © 2011-2022 走看看