• Linux 文件与目录管理


    1. pwd:显示工作目录路径
    pwd [-P]
    -P:显示出确实的路径,而非使用连结 (link) 路径。
    
    1.显示当前目录路径
    pwd -P
    
    • 1
    • 2
    • 3
    • 4
    • 5
    2. cd:更改工作目录路径
    cd [相对路径或绝对路径]
    
    1.切回到用户主目录
    cd  或者 cd ~
    2.切回到上次所在的目录
    cd -
    3.切回到当前目录
    cd .
    4.切换到上一级目录
    cd ..
    5.切换到上两级目录
    cd ../..
    6.使用绝对路径切换到root目录下的doc目录
    cd /root/doc/
    7.使用相对路径切换到与自己同级的目录
    cd ../data/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    3. ls:列出目录和文件信息
    ls [选项] [目录名]
    -a:全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
    -l:长数据串列出,包含文件的属性与权限等等数据(可以简写成`ll`)
    -d:仅列出目录本身,而不是列出目录内的文件数据
    
    1.列出当前目录下所有的文件,包含隐藏文件
    ls -a
    2.列出doc目录下的文件及显示其文件属性
    ls -l doc/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    4. mkdir:创建目录
    mkdir [-mp] 目录名称
    -m: 配置文件的权限
    -p:直接将所需要的目录(包含上一级目录)递归创建起来
    
    1.在当前目录下创建一个名为test的目录
    mkdir test
    2.在当前目录下同时创建test目录及其下面的data目录
    mkdir -p test/data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    5. rmdir:删除空目录
    rmdir [-p] 目录名称
    -p: 从该目录起,一次删除多级空目录
    
    1.删除当前目录下的test空目录
    rmdir test
    2.删除当前目录下的test空目录及其下面的data空目录
    rmdir -p test/data/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    6. rm:删除文件或目录
     rm [-fir] 文件或目录
     -f: 强制删除,忽略不存在的文件,不会出现警告信息
     -i: 互动模式,在删除前会询问使用者是否动作
     -r: 递归删除,目录以及目录下的所有文件全部删除
    
    1.强制删除file.txt文件
    rm -f file.txt
    2.删除test目录及其目录下的所有文件,删除前询问是否确定要删除
    rm -ir test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    7. cp:复制文件或目录
    cp [-adfilprsu] 来源档  目标档
    -a:相当于 -pdr 的意思
    -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身
    -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次
    -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行
    -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身
    -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
    -r:递归持续复制,用於目录的复制行为
    -s:复制成为符号连结档 (symbolic link)
    -u:若 destination 比 source 旧才升级 destination 
    
    1.将test目录下的file.txt文件复制到tmp目录下并取名为file1.txt
    cp test/file.txt tmp/file1.txt
    2.将test目录及其目录下的所有文件复制到tmp目录下
    cp -r test tmp/
    3.将test目录下的file.txt和file1.txt文件同时复制到tmp目录下
    cp file.txt file1.txt tmp/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    8. mv:移动文件与目录,或修改名称
    mv [-fiu] source destination
    -f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    -i:若目标文件 (destination) 已经存在时,就会询问是否覆盖
    -u:若目标文件已经存在,且 source 比较新,才会升级
    
    1.将文件file.txt更名成file1.txt
    mv file.txt file1.txt
    2.将tmp目录移动到test目录下
    mv tmp test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    9. vi或vim:打开一个文件
    vim 文件名
    
    1.打开file.txt文件,如果该文件不存在则先创建一个空白文件再打开该文件
    vim file.txt
    
    • 1
    • 2
    • 3
    • 4
    10. touch:修改文件或者目录的时间属性,包括存取时间和更改时间
    touch [-acmr] [文件或目录…]
    -a: 只更新访问时间,不改变修改时间
    -c: 如果要更新文件或者目录存在,则更新文件的访问时间和修改时间,若果不存在,也不会创建新的文件
    -m: 只更新修改时间,不改变访问时间
    -r 其他文件名:使用指定的文件访问时间和修改时间更新目标文件的访问时间和修改时间
    -t: 按指定时间更新文件的访问时间。格式: [[CC]YY]MMDDhhmm[.ss],CC指的是年的前两位,YY指的是年的后两位,MM为月数,DD为天数,hh为小时数,mm为分钟数,SS为秒数
    -d: 按指定时间更新文件的访问时间,可以使用各种不同的格式。
    
    1.新建一个文件file.txt
    touch file.txt
    2.只更新文件的访问时间为当前时间
    touch -a file.txt
    3.更新文件的访问时间和修改时间为当前时间,若文件不存在也不会创建新的文件
    touch -c file.txt
    4.只更新文件的修改时间
    touch -m file.txt
    5.将file1.txt文件的修改时间和访问时间更新到file.txt
    touch -r file1.txt file.txt
    6.将文件的访问时间更新为2022/07/15 2:02
    touch -t 202207150202.00 file.txt
    7.将文件的访问时间更新为2022-08-15 08:00:00
    touch -d "2022-08-15 08:00:00" file.txt
    8.将文件的访问时间更新成两天前
    touch -d "2 days ago" file.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    11. echo:输出字符串
    echo 字符串
    
    1.输出字符串"is new file"
    echo "is new file"
    2.使用转义字符输出带双引号的字符串('\'对其后面的特殊符号进行转义成普通字符串)
    echo "\"is new file\""
    3.显示带变量的字符('$'+'变量名'来引用实际的变量值)
    echo "$name is new file"
    4.原样输出字符,不进行转义(用单引号包裹)
    echo '$name\"'
    5.现在字符串并将该字符串写入文件中,若文件中有内容会覆盖掉原内容,若文件不存在会创建新文件
    echo "is new file" > file.txt
    6.显示命令执行的结果(用反引号包裹)
    echo `date`
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    12. cat:从第一行开始显示文件内容
    cat [-AbEnTv] fileName
    -A:相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已
    -b:列出行号,仅针对非空白行做行号显示,空白行不标行号
    -E:将结尾的断行字节 $ 显示出来
    -n:列出行号,连同空白行也会有行号,与 -b 的选项不同
    -T:将 [tab] 按键以 ^I 显示出来
    -v:列出一些看不出来的特殊字符
    
    1.从第一行显示整个file.txt文件内容
    cat file.txt
    2.将file.txt复制到file2.txt,若file2.txt不存在则创建一个新的文件
    cat file.txt > file2.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    13. tac:从最后一行开始显示文件内容
    tac fileName
    
    1.从最后一行显示整个file.txt文件内容
    tac file.txt
    
    • 1
    • 2
    • 3
    • 4
    14. tail:显示文件后面几行
    tail [-n number] fileName
    -n:后面接数字,代表显示几行的意思
    
    1.显示file.txt最后10行的内容
    tail -n 10 fileName
    
    • 1
    • 2
    • 3
    • 4
    • 5
    15. less:显示文件内容,支持翻页和搜索,支持向上翻页和向下翻页
    less [参数] fileName
    -e:当文件显示结束后,自动离开
    -f:强迫打开特殊文件
    -i:忽略搜索时的大小写
    -N:显示每行的行号
    -m:显示类似more命令的百分比
    b: 向上翻一页
    d: 向后翻半页
    Q: 退出less 命令
    u: 向前滚动半页
    y: 向前滚动一行
    空格键: 滚动一页
    回车键: 滚动一行
    [pagedown]:向下翻动一页
    [pageup]:向上翻动一页
    
    1.查看file.txt文件内容
    less file.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    16. more:以一页一页的形式显示文件内容
    less [参数] fileName
    -num:一次显示的行数
    -s:当遇到有连续两行以上的空白行,就代换为一行的空白行
    -u:不显示下引号
    +num:从第 num 行开始显示
    Enter: 向下n行,默认为1行
    空格键: 向下滚动一屏
    Ctrl+F: 向下滚动一屏
    Ctrl+B: 返回上一屏
    q: 退出more
    
    1.逐页显示file.txt文档内容,如有连续两行以上空白行则以一行空白行显示
    more -s file.txt
    2.逐页显示file.txt文档内容,每页只显示10行数据
    more -10 file.txt
    3.从第10行开始显示 file.txt 之文档内容
    more +10 file.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    调度算法1
    kubernetes集群编排——k8s认证授权
    【Lua 入门基础篇(三)】流程控制&函数&ipairs&pairs
    [LeetCode]剑指 Offer 12. 矩阵中的路径
    实现Ubuntu交叉编译程序和Nvida Nano运行程序
    RabbitMQ 镜像集群部署
    复习单片机:直流电机(内含1 直流电机介绍+2 ULN2003 芯片介绍+3 硬件设计+4 软件设计+5原始代码+6. 实验现象)
    规格模式 Specification Pattern
    websocket学习
    el-table中的el-input标签修改值,但界面未更新,解决方法
  • 原文地址:https://blog.csdn.net/qq_33807380/article/details/125774363