菜鸟科技网

Linux增删改查命令有哪些?

Linux系统中的文件和目录管理是日常运维和开发的核心操作,其中增删改查(CRUD)命令是基础中的基础,这些命令通过简洁的语法实现了对文件系统的高效操作,下面将详细介绍常用的增删改查命令及其使用场景。

Linux增删改查命令有哪些?-图1
(图片来源网络,侵删)

查询(Read)命令:查看文件与目录信息

查询操作是Linux中最频繁的操作之一,主要用于获取文件、目录的属性及内容。

  1. ls命令:列出目录内容

    • ls:列出当前目录的文件和目录名,默认不显示隐藏文件(以开头)。
    • ls -l:以长格式显示,包含权限、所有者、大小、修改时间等详细信息。
    • ls -a:显示所有文件,包括隐藏文件。
    • ls -h:以人类可读格式显示文件大小(如K、M、G)。
    • ls -R:递归列出子目录内容。
  2. cat命令:查看文件内容

    • cat filename:直接显示整个文件内容,适合小文件。
    • cat -n filename:显示行号。
    • cat file1 file2 > file3:合并多个文件到新文件。
  3. less/more命令:分页查看文件内容

    Linux增删改查命令有哪些?-图2
    (图片来源网络,侵删)
    • less filename:支持上下翻页、搜索()、退出(q),适合大文件。
    • more filename:基本分页功能,按空格键翻页,按q退出。
  4. head/tail命令:查看文件开头或结尾部分

    • head -n 5 filename:显示文件前5行。
    • tail -n 5 filename:显示文件后5行。
    • tail -f filename:实时跟踪文件内容变化(如日志文件)。
  5. wc命令:统计文件信息

    • wc filename:显示文件的行数、单词数、字节数。
    • wc -l filename:仅统计行数。
  6. find命令:按条件查找文件

    • find /path -name "*.txt":在指定路径下查找扩展名为.txt的文件。
    • find /path -type f -size +10M:查找大于10MB的普通文件。
    • find /path -mtime -7:查找7天内修改过的文件。

增加(Create)命令:创建文件与目录

增加操作主要用于创建新文件或目录,或向文件中添加内容。

Linux增删改查命令有哪些?-图3
(图片来源网络,侵删)
  1. mkdir命令:创建目录

    • mkdir newdir:创建单个目录。
    • mkdir -p parentdir/newdir:递归创建多级目录(包括父目录)。
    • mkdir -m 755 newdir:创建目录并设置权限(rwxr-xr-x)。
  2. touch命令:创建空文件或更新文件时间

    • touch newfile.txt:创建空文件。
    • touch -a file.txt:仅更新文件的访问时间。
    • touch -m file.txt:仅更新文件的修改时间。
  3. echo命令:向文件中添加内容

    • echo "Hello World" > file.txt覆盖写入文件(若文件不存在则创建)。
    • echo "Hello World" >> file.txt追加到文件末尾。
    • echo -e "Line1\nLine2" > file.txt:写入多行内容(-e支持转义字符)。
  4. tee命令:同时输出到文件和终端

    • echo "test" | tee file.txt写入文件并在终端显示。
    • echo "append" | tee -a file.txt并显示。

修改(Update)命令:编辑文件与属性

修改操作包括更新文件内容、更改权限、所有者或移动文件位置。

  1. 文本编辑器:直接修改文件内容

    • nano filename:简单易用的命令行编辑器。
    • vim filename:功能强大的编辑器,需学习基本命令(如i进入编辑模式,wq保存退出)。
  2. chmod命令:修改文件权限

    • chmod 755 filename:设置权限为所有者可读写执行,其他用户可读执行。
    • chmod u+x filename:为所有者添加执行权限。
    • chmod go-w filename:移除组用户和其他用户的写权限。
  3. chown命令:修改文件所有者

    • chown user:group filename:同时修改所有者和所属组。
    • chown -R user /path:递归修改目录及其内容的所有者。
  4. mv命令:移动或重命名文件/目录

    • mv oldname newname:重命名文件或目录。
    • mv /path/to/file /new/location/:移动文件到新位置。
    • mv -i filename.txt ../:移动前提示确认(覆盖已存在文件)。
  5. cp命令:复制文件或目录

    • cp source.txt dest.txt:复制文件。
    • cp -r /source/dir /dest/dir:递归复制目录(需加-r)。
    • cp -p source.txt dest.txt:保留文件权限、时间戳等属性。

删除(Delete)命令:移除文件与目录

删除操作需谨慎,尤其是使用rm -rf时,数据通常无法恢复。

  1. rm命令:删除文件或目录

    • rm filename.txt:删除文件(需确认)。
    • rm -f filename.txt:强制删除,不提示确认。
    • rm -r directory/:递归删除目录及其内容(需逐个确认)。
    • rm -rf directory/:强制递归删除(危险操作,慎用)。
  2. rmdir命令:删除空目录

    • rmdir emptydir:仅能删除空目录,非空目录需用rm -r

常用命令对比表格

操作类型 命令 常用选项 功能说明
查询 ls -l, -a, -h, -R 列出目录内容,显示详细信息
cat -n 查看文件内容
find -name, -type, -size 按条件查找文件
增加 mkdir -p, -m 创建目录(含多级和权限设置)
touch -a, -m 创建空文件或更新时间
echo >, >> 写入或追加内容到文件
修改 vim/nano 编辑文件内容
chmod 755, u+x, go-w 修改文件权限
mv -i 移动或重命名文件/目录
删除 rm -f, -r, -rf 删除文件或目录(强制/递归)
rmdir 删除空目录

相关问答FAQs

Q1: 如何批量重命名文件?
A1: 可以结合mv和循环命令实现,例如使用for循环将当前目录下所有.txt文件扩展名改为.bak

for file in *.txt; do mv "$file" "${file%.txt}.bak"; done

或使用rename命令(需安装):

rename 's/\.txt$/\.bak/' *.txt

Q2: 如何查看文件中的特定行(如第10-20行)?
A2: 可以组合使用sedawk命令,

  • sed -n '10,20p' filename:显示文件第10到20行。
  • awk 'NR>=10 && NR<=20' filename:通过行号(NR)筛选指定行。
    或使用headtail组合:
    head -n 20 filename | tail -n +11
分享:
扫描分享到社交APP
上一篇
下一篇