linux常用命令 (1)——基础文件操作命令20条

Linux运维自动化运维

​​​​​ ​​ hi,大家好,我是christine-rr ! 好久没更新了,今天来分享一下 linux常用命令——基础文件操作命令20条

linux基础文件操作命令

1.cp : 复制文件 / 目录

基本格式:cp <参数> <源路径> <目的路径>

功能复制文件或目录到指定位置
常用参数

  • -r递归复制目录(必须加,否则无法复制目录)
  • -i:覆盖前提示(避免误操作)
  • -v:显示复制过程(可视化操作)

实例

cp file.txt /home/user/ # 复制file.txt到/home/user目录 
cp -r docs/ /backup/ # 递归复制docs目录到/backup路径下 
cp -iv *.txt /tmp/ # 复制所有txt文件到/tmp,覆盖前提示并显示过程

2.ls : 列出目录内容

基本格式:ls <参数> <路径>

功能:查看当前目录或指定目录的文件 / 目录
常用参数

  • -a:显示所有文件(包括隐藏文件,以.开头的文件)
  • -l:以长格式显示(权限、所有者、大小、修改时间等)
  • -h:与-l配合,以人类可读格式显示大小(如 K、M、G)
  • -t:按修改时间排序(最新的在前)
  • -r:反向排序(如配合-t, oldest 在前)

示例

ls -a # 显示所有文件(包括.和..) 
ls -lh # 长格式显示,大小以K/M/G显示 
ls -ltr /etc/ # 按修改时间反向排序显示/etc目录内容

注:llls -l 的别名(大部分系统默认配置),更简洁地显示详细信息。

3.cd : 切换目录

功能:切换当前工作目录
特殊路径符号

  • .:当前目录(如 cp ./file.txt ../ 复制当前目录的 file.txt 到上一级)
  • ..:上一级目录
  • /:系统根目录(所有目录的起点)
  • ~:当前用户的主目录(如 /home/用户名
  • -:上一次所在的目录(快速切换回上一个工作目录)

示例

cd / #切换到系统根目录
cd ~ #(波浪号 tilde) #切换到用户主目录
cd ~/Downloads       # 切换到用户主目录下的Downloads
cd usr 切换到该目录下usr目录
cd ../ #切换到上一层目录
cd ../../var/log# 切换上两级目录
cd - #(减号) 切换到上一个所在目录(如已经从A到B,执行此命令后回到A)

4.mkdir : 创建新目录

功能:创建新目录
常用参数

  • -p:递归创建多级目录(父目录不存在时自动创建)
  • -v:显示创建过程

示例

mkdir notes # 创建notes目录 
mkdir -p data/logs # 同时创建data和其子目录logs(如果不存在) 
mkdir -v docs/{txt,pdf} # 一次性创建docs下的txt和pdf子目录(花括号展开)

5.touch : 创建文件 / 更新时间戳

功能

  • 创建 空文件(如果文件不存在)
  • 更新已有文件的访问时间和修改时间(不改变内容)

示例

touch readme.txt # 创建空文件readme.txt 
touch file1.txt file2.txt # 同时创建多个空文件 
touch -d "2025-01-01" old.txt # 修改old.txt的时间戳为2023年1月1日

6.rm : 删除文件 / 目录

功能:删除文件或目录(注意:Linux 中删除通常不可恢复,谨慎操作
常用参数

  • -r递归删除目录(必须加,否则无法删除目录)
  • -f强制删除(不提示,即使文件只读)
  • -i:删除前提示(比默认更安全)
  • -v:显示删除过程

示例

rm temp.txt # 删除文件temp.txt(默认可能提示) 
rm -rf old_dir/ # 强制递归删除old_dir目录及所有内容(慎用!) 
rm -i *.log # 删除所有log文件,每个都提示确认

7.mv : 移动 / 重命名文件 / 目录

功能

  • 移动文件 / 目录到指定位置
  • 重命名文件 / 目录(源和目标在同一目录时

常用参数

  • -i:覆盖前提示
  • -v:显示移动过程

示例

mv report.txt /home/user/docs/ # 移动report.txt到docs目录 
mv oldname.txt newname.txt # 重命名文件(同一目录) 
mv -i file.txt /tmp/ # 移动到/tmp,若存在则提示是否覆盖

8.pwd : 显示当前工作目录

功能:打印当前所在目录的绝对路径(从根目录/开始的完整路径)
示例

pwd # 输出如:/home/user/projects

9.tail : 实时输出文件的最后的内容

功能:显示文件的最后几行,默认 10 行
常用参数

  • -n <数字>:指定显示的行数(如 -n 20 显示最后 20 行)
  • -f:实时跟踪文件更新(常用于查看日志,按Ctrl+C退出)

示例

tail /var/log/syslog # 显示syslog的最后10行 
tail -n 5 error.log # 显示error.log的最后5行 
tail -100f access.log # 实时跟踪access.log的新增100行内容(如网站访问日志)

10.cat : 查看/合并文件内容

功能

  • 查看文件全部内容(适合小文件)
  • 合并多个文件内容到新文件 常用参数
  • -n:显示行号
  • -b:只给非空行显示行号

示例

cat README.md # 查看README.md的全部内容 
cat -n script.sh # 查看script.sh并显示行号 
cat part1.txt part2.txt > all.txt # 合并part1和part2到all.txt

11.find : 查找文件 / 目录

功能:在指定目录下按条件查找文件或目录

基本格式: find <查找路径> <条件>

常用条件

  • -name <文件名>:按名称查找(支持通配符*
  • -type f/d:查找文件(f)或目录(d)
  • -size <大小>:按大小查找(如 +10M 大于 10MB,-1k 小于 1KB)
  • -mtime <天数>:按修改时间查找(如 -7 7 天内修改的)

示例

find /home -name "*.pdf" # 在/home下查找所有pdf文件 
find /var/log -type f -mtime -1 # 在/var/log下查找1天内修改的文件 
find . -size +1G # 在当前目录查找大于1GB的文件

12.grep :文本搜索

功能:在文件或命令输出中搜索匹配指定模式的内容
常用参数

  • -i:忽略大小写
  • -n:显示匹配行的行号
  • -r:递归搜索目录下的所有文件
  • -v:反向匹配(显示不包含模式的行)

示例

grep "error" /var/log/syslog # 在syslog中搜索包含"error"的行 
grep -in "warning" *.log # 在所有log文件中忽略大小写搜索"warning"并显示行号
 grep -r "config" /etc/ # 递归搜索/etc目录下所有包含"config"的文件内容

13.head : 显示文件头部

功能:显示文件的前几行,默认 10 行
常用参数

  • -n <数字>:指定显示的行数

示例

head /etc/passwd # 显示passwd的前10行 
head -n 3 README.md # 显示README.md的前3行

14.which : 查找命令路径

功能:显示系统中可执行命令的绝对路径(基于PATH环境变量)
示例

which python3  # 输出如:/usr/bin/python3
which ls       # 输出如:/bin/ls

15.ln : 创建链接

功能:创建文件 / 目录的链接(类似 Windows 的快捷方式,但更灵活)
两种链接类型

  • 硬链接(默认):与原文件共享 inode,删除原文件不影响硬链接(不能跨文件系统,不能链接目录)
  • ** 软链接(符号链接,-s参数)** :类似快捷方式,指向原文件路径,删除原文件后软链接失效(可跨文件系统,可链接目录)

示例

ln file.txt link.txt # 创建file.txt的硬链接link.txt 
ln -s /home/user/docs doc_link # 创建docs目录的软链接doc_link

16.clear : 清除屏幕

clear #清空终端屏幕(快捷键`Ctrl+L`效果相同)

17.data : 显示/设置系统时间

功能:显示当前系统时间(date "+%Y-%m-%d %H:%M:%S" 格式化输出)

date #输出如Tue May 24 09:29:43 CST 2025
date '+%c' #输出如Tue 24 May 2025 09:30:03 AM CST
# date '+%D' //显示完整的时间 05/24/25
# date '+%x' //显示数字日期 05/24/2025
# date '+%T' //显示日期,年份用四位数表示 
# date '+%X' //显示24小时的格式 09:31:31 AM

18.history : 显示命令历史

基本格式:history [选项] [参数]

功能:显示命令历史记录(!n 重复执行第 n 条命令,!! 重复执行上一条命令)

history #查看完整历史记录
history 10  # 显示最近10条命令
history -c #清除所有历史记录
history -d 100 # 删除特定历史记录(例如删除第100条)
  • 快速执行历史命令
!n        # 执行历史记录中第n条命令
!!        # 执行上一条命令
!1024     # 执行历史记录中编号为1024的命令
!string   # 执行最近一条以string开头的命令
!vim      # 执行最近一条以vim开头的命令
  • 搜索历史命令 使用 Ctrl+R 可以反向搜索历史命令,输入部分关键词即可找到匹配的命令。

  • 历史命令替换 将上一条命令中的old替换为new后执行

格式:^ old ^ new

$ cat file1.txt
$ ^file1^file2  # 将上一条命令中的file1替换为file2,相当于执行 cat file2.txt
  • 显示命令时间戳

~/.bashrc 中添加以下配置可以显示命令执行时间:

export HISTTIMEFORMAT="%F %T "

然后执行:

source ~/.bashrc

之后 history 命令会显示每条命令的执行时间。

19.--help : 显示帮助

功能:查看命令帮助(如 cp --help

20.man : 查看命令手册

功能:查看命令手册,"manual" 单词的缩写

基本格式:man [选项] [节号] 命令/主题

常见的选项:

  • -f:显示与指定关键字相关的手册页面。
  • -k:搜索手册页中与关键字匹配的条目。
  • -a:显示所有匹配的手册页面。
  • -w:仅显示手册页的位置,而不显示其内容。

常见的节号包括:

  • 1:用户命令
  • 2:系统调用
  • 3:C库函数
  • 4:设备和特殊文件
  • 5:文件格式和约定
  • 6:游戏和演示
  • 7:杂项
  • 8:系统管理命令

示例

man ls #查看 ls 命令的手册页面(按`q`退出)
man 3 printf #查看 C 语言标准库函数 printf 的手册页面
man -k keyword #搜索包含特定关键字的手册页面条目,可以使用 -k 选项

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
抖音连麦音画质体验提升与进阶实践
随着互娱场景实时互动创新玩法层出不穷,业务伙伴对 RTC「体验」和「稳定」的要求越来越高。火山引擎 RTC 经历了抖音 6 亿 DAU 的严苛验证和打磨,在架构设计、音画质提升、高可靠服务等方面沉淀了丰富的经验,本次演讲将和大家分享火山引擎 RTC 在直播连麦等场景中的技术优化及其带来的新玩法。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论