zoukankan      html  css  js  c++  java
  • linux(centOS7)的基本操作(二) 目录和文件管理

    1.显示当前工作目录的绝对路径

    pwd

    2.显示当前工作目录下的子目录和文件

    ls [-l] [-h] [-a]

    如果只调用ls,子目录和文件会简单的罗列出来,-l表示将其以详细列表的形式展示,-h表示以适合人阅读的格式显示,-a表示同时显示隐藏目录或文件,即以点(.)开头的,例如/root/.ssh

    3.切换工作目录

    cd [path]

    其中,path为要切换到的目标目录,可以使用绝对路径或相对路径。path为空或~时,表示切换到当前登录用户的家目录;path为两个点(..)时,表示切换到当前目录的上一级目录。下面是一个应用示例

     

    如图,假设当前目录在opt,现在想切换到rpm,

    使用绝对路径:cd /usr/lib/rpm;

    使用相对路径:cd ../../usr/lib/rpm。

    4.创建目录

    mkdir [-p] path

    其中,path为要创建的目录,可以使用绝对路径(以/开头)或相对路径;-p是指创建多级目录。例如,要在当前目录下创建/animal/dog目录,如果只输入mkdir animal/dog,则会返回错误提示:无法创建目录,没有那个文件或目录。原因是当前目录下根本没有/animal这一级目录,现在相当于要一次性创建两级目录,因此要使用mkdir -p animal/dog。注意这时不能用mkdir -p /animal/dog,因为这是绝对路径,意思是要在根目录下创建这两级目录。

    5.删除空目录

    rmdir path

    其中path为要删除的目录,这个命令只能删除空目录,即下面没有子目录和文件;第二个命令可以删除空或非空的目录。

    6.删除文件或目录

    rm [-r] [-f] source

    其中source为要删除的文件或目录,当其为目录时,必须加-r。-f的意思是强制删除不提示。

    7.创建空文件

    touch file1 [file2 file3  ...]

    其中file1为文件名,该命令支持一次性创建多个文件,文件名中间以空格( )间隔。例如,touch hello.txt abc.txt,即在当前目录下创建了两个空文件。

    8.复制文件或目录

    cp [-r] source dest

    其中,source为要复制的文件或目录,当其为目录时,需要加-r,表示"递归复制整个目录",当其为文件时,不需要加-r,加了也没有效果;desc为要复制到的目标目录,可以使用绝对路径或相对路径。例如,现在要将当前目录下的/document/aaa.txt复制到当前目录下的/file目录下,可以使用cp document/aaa.txt file;而如果想要将当前目录下的/document目录整个复制到/file目录下,需要使用cp -r document file。

    9.移动文件或目录,重命名

    mv source dest

    这个命令有两个作用:移动、重命名。

    当用作移动时,source为要移动的文件或目录,dest为目标目录;

    当用作重命名时,source和dest要么都是文件,要么都是目录,而且是同一个位置。

    10.打开文件

    cat [-n] file [|more]

    其中,file为要打开的文件。这个命令跟vim的区别是,以只读方式打开文件,不能编辑 。-n的意思是显示行号;|more的意思是分页显示,回车键往下翻一行,空格键往下翻一页,q键退出。

    more file

    其中,file为要打开的文件。这个命令会以全屏分页的方式显示文件,回车翻一行,空格翻一页,q键退出。

    less file

    其中,file为要打开的文件。这个命令跟more很相似,区别是不会一次性加载整个文件,而是每次加载要显示的部分,空格翻页,q键退出。

    11.输出内容到控制台

    echo content

    其中,content是要输出的内容;特别的,当content=$PATH时,会输出linux的环境变量。

    12.覆盖文件或追加内容

    >:用内容覆盖文件,即替代文件原来的内容

    >>:保留文件原来的内容,将内容追加到文件末尾

    这两个符号通常跟别的命令合用,以确定上面所说的"内容",例如:

    ls -l > file

    ls -l >> file

    其中,file为文件,这个命令会将当前目录下的文件以列表的形式写到文件中;

    cat source > file

    cat source >> file

    其中,source为源文件,file为目标文件,这个命令会将source文件的内容写到file文件中。

    echo content > file

    echo content >> file

    其中,source为内容,file为目标文件,这个命令会将content写到文件中。

    这两个符号还可以跟其他的命令合用,总之就是用前面的命令产生"内容",然后用内容替代文件或追加到文件末尾。

    13.显示文件开头

    head [-n numberfile

    其中,number为显示的行数,file为要显示的文件,如果不加-n选项,则默认显示前10行。

    14.显示文件末尾

    tail [-n numberfile

    其中,number为显示的行数,file为要显示的文件,如果不加-n选项,则默认显示末尾10行。

    15.监控文件

    tail -f file

    其中,file为要监控的文件,当该文件有最新更新时,会实时显示,ctrl+c退出。

    16.创建快捷方式

    ln -s target name

    其中,target为快捷方式要指向的文件或目录,name为快捷方式名称。例如,在当前用户的家目录下要建立到/etc/X11/applnk目录的快捷方式,则使用命令:ln -s /etc/X11/applnk query,然后cd query,就进入到指定目录下。要删除快捷方式,按照删除文件或目录的方式即可,即调用rm命令。

    17.查找文件或目录

    find path -name name

    按名称查找,其中path为查找范围目录,name为文件或目录的名称,可以使用通配符,例如*.txt,hello.*。

    find path -size capacity

    按大小查找,其中path为查找范围目录,capacity为容量,例如+20M表示超过20M,-100k为小于100k。

    find path -user username

    按所属用户查找,其中path为查找范围目录,username为用户名。

    find path -mtime dayNum

    按最后修改时间查找,其中path为查找范围目录,dayNum为天数(前面用-表示x天内,前面用+表示x天以上),例如

    find /home/dubhlinn -mtime -7 查找指定目录下7天内修改的文件

    find /home/dubhlinn -mtime +30 查找指定目录下一个月前修改的文件

    18.在文件中查找内容

    grep [-n] [-i] content file

    其中,content为要查找的内容,file为文件,-n表示显示行号,-i表示忽略大小写。例如,要在当前目录的aaa.txt文件中查找may,显示行号且忽略大小写,调用命令:grep -ni may aaa.txt。

    另外,grep命令经常跟管道符合用,例如:

    cat file | grep [-n] [-i] content

    管道符的作用是将第一个命令的处理结果,作为第二个命令的参数。

    19.压缩、解压缩

    (1) gz格式

    gzip [-r] source

    gunzip [-r] depressed

    其中,source为源文件或目录,depressed为压缩后的.gz文件或者含有.gz文件的目录,如果参数为目录,需要加-r。这两个命令会直接替换源文件而不保留原文件,例如gzip hello.txt,会直接将当前目录下的hello.txt替换为hello.txt.gz,反之gunzip hello.txt.gz会直接将当前目录下的hello.txt.gz替换为hello.txt。

    (2) zip格式

    zip [-r] depressed source

    unzip [-d target] depressed

    其中,depressed为.zip格式的压缩文件,source为源文件或目录,当其为目录时需要加-r;target为要解压到的位置,如果不写-d选项会默认解压到当前目录下。注意,如果要压缩一个目录,却不写-r选项,也可以压缩成功,但只是压缩了空文件夹,没有包含其中的内容。

    (3) tar.gz格式

    tar -zcvf depressed source

    tar -zxvf depressed [-C target]

    其中,source为源文件或目录,depressed为.tar.gz格式的压缩文件,target为要解压到的位置,如果不写-C选项默认为解压到当前目录下。-z表示打包同时压缩,-v表示显示详细信息,-f表示指定压缩后的文件名,一般-zcvf联合使用表示压缩,-zxvf联合使用表示解压缩。

    20. 常用目录的意义

    在linux根目录下,有很多已经创建的一级子目录,有些子目录有特定的意义。

    /bin:存放常用命令,例如cat、ls、cd、cp等;

    /boot:存放启动系统的核心文件;

    /library:存放系统的动态连接库,供应用程序使用;

    /etc:存放用户和组管理的文件;

    /mnt:用于临时挂接别的文件系统;

    /sbin:存放系统管理员专用的命令;

    /usr:存放应用程序,用户自己用到的软件一般安装在/usr/local目录下;

    /var:存放一些经常变化的内容,例如日志;

    /lost+found:平时为空,当系统不正常关闭时,用于存放找不到合适位置的文件;

    /home:存放一般用户的家目录,例如dubhlinn用户的家目录一般在/home/dubhlinn;

    /dev:存放硬件设备;

    /opt:第三方软件安装时默认选择该目录。

  • 相关阅读:
    【Demo 0062】文件遍历
    【Demo 0068】获取分区信息
    【Demo 0060】记录个人信息
    【Demo 0069】文件读写
    【Demo 0064】监控文件/目录变更
    【Demo 0067】文件类型关联图标
    【Demo 0065】获取被修改的文件/目录
    【Demo 0062】目录及文件基本操作
    【Demo 0061】打开与保存文件
    【Demo 0066】监控被变更文件/目录(完成端口)
  • 原文地址:https://www.cnblogs.com/dubhlinn/p/11031051.html
Copyright © 2011-2022 走看看