当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux文件操作高频使用命令小结

    栏目:Linux/apache问题 时间:2019-11-20 17:28

    0.新建操作:

    mkdir abc #新建一个文件夹
    touch abc.sh #新建一个文件

    1.查看操作

    查看目录:

    ll #显示目录文件详细信息

    查看文件内容:

    cat|head|tail命令

    cat abc.txt #查看abc的内容
    head -5 abc.txt #查看abc前5行内容。默认是10行
    
    tail [选项] 文件名
    各选项的含义如下:
    +num:从第num行以后开始显示
    -num:从距文件尾num行处开始显示。如果省略num参数,系统默认值为10.
    -f: 循环读取,例如查看服务器日志时,可以实时观察
    #filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新。
    tail -f filename 
    #查看最后20行
    tail -f filename

    ​ more命令:

    more命令一次显示一屏信息,若信息未显示完屏幕底部将出现“-More-(xx%)”。

    此时按Space键,可显示下一屏内容;

    按“回车”键,显示下一行内容;

    按B键,显示上一屏;

    按Q键,可退出more命令。

    ​ less命令:和more命令类似,但是比more命令更强大。在很多时候,必须使用less,比如管道。例如:

    ll /etc | less

    stat 命令:

    查看文件的详细信息,比如创建修改时间,大小等

    [root@localhost zx]# stat index.html 文件:"index.html" 大小:29006 块:64 IO 块:4096 普通文件设备:fd00h/64768d Inode:17589607 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:home_root_t:s0 最近访问:2019-09-02 21:47:41.824053666 +0800 最近更改:2019-09-02 21:44:33.588587500 +0800 最近改动:2019-09-02 21:44:33.588587500 +0800 创建时间:-

    du 命令:

    选项:-h 以合适的单位显示(会根据文件的大小自动选择kb或M等单位)

    [root@localhost zx]# du -h index.html 
    32K index.html

    2.删除操作

    rm -f aa.txt #强制删除aa.txt
    rm -rf fileDir #强制删除fileDir文件夹和里边的所有文件

    3.复制操作

    同一机器的复制:

    cp:复制文件或目录

    语法:

    cp [options] source dest

    -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。 -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。 -f:覆盖已经存在的目标文件而不给出提示。 -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。 -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。 -l:不复制文件,只是生成链接文件。

    举例:

    #将../html/index.html 复制到当前目录
    cp ../html/index.html . 
    #将../html/ 目录下的文件及子目录复制到当前的tt目录下,如果tt不存在,会自动创建
    cp -r ../html/ tt/  
    #将文件file复制到目录/usr/men/tmp下,并改名为file1
    cp file /usr/men/tmp/file1 
     
    #如果dir2目录已存在,则需要使用
    cp -r dir1/. dir2
    #如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。
    ps:dir1、dir2改成对应的目录路径即可。

    远程复制

    #将当前目录下的test.txt复制到远程111.12机器的/zx目录下
    scp test.txt root@192.168.111.12:/zx
    
    #将test.txt复制到远程用户的根目录,并命名为textA.txt
    scp test.txt root@192.168.111.12:testA.txt
    
    #也可以不指定用户,在后续提示中再输入,如下:
    scp test.txt 192.168.111.12:/zx
    
    #从远程复制到本地: -r用于递归整个目录
    scp -r remote_user@remote_ip:remote_folder local_path