常用Linux命令(一)

1、cd 命令

cd(Change Directory)是 Linux 和类 Unix 系统中最基础且最高频使用的 Shell 内置命令,主要用于切换当前工作目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

cd ~  快速回到家目录,等价于 cd $HOME
cd ..  返回上一级目录
cd ../../.. 可以快速向上回退三层目录。
cd -  在“当前目录”和“上一个工作目录”之间来回切换

2、pwd 命令

pwd(Print Working Directory)用于‌显示当前工作目录的绝对路径‌。

3、ls 命令

ls(List)是 用于‌列出目录内容‌。它不仅能显示文件名,还能通过丰富的选项展示文件的权限、大小、修改时间、所有者等详细元数据。
最常用的带参数命令

ls -l  (long format)  长格式列表‌。显示权限、硬链接数、所有者、组、大小、修改时间和文件名。这是最常用的选项
ls -a   (all) ‌显示所有文件‌。包括以 . 开头的隐藏文件(如 .bashrc)以及 . (当前目录) 和 .. (上级目录)
ls -h   (human-readable) ‌人类可读格式‌。与 -l 配合使用,将文件大小转换为 K, M, G 等单位,而非字节

4、cp 命令

cp(Copy)是用于‌复制文件或目录‌的核心命令。它可以将一个或多个源文件/目录复制到指定的目标位置。

cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录

‌复制单个文件‌:

cp file1.txt file2.txt(将 file1 复制为 file2,若 file2 存在则覆盖)。

‌复制多个文件到目录‌:

cp file1.txt file2.txt /tmp/(将多个文件复制到 /tmp 目录下)。

‌复制目录‌:必须使用 -r 或 -a 选项,否则报错。

# 复制文件并重命名
cp source.txt backup.txt

# 复制文件到指定目录(保持原名)
cp source.txt /home/user/documents/
# 递归复制整个目录
cp -r project_folder/ project_backup/

# 归档模式复制(推荐用于备份,保留所有权限和时间)
cp -a project_folder/ project_backup/

5、mv 命令
mv(Move)是用于‌移动文件或目录‌以及‌重命名文件‌的核心命令

mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录

‌重命名‌:当目标是‌文件名‌时,执行重命名操作。

mv old_name.txt new_name.txt

‌移动‌:当目标是‌已存在的目录‌时,执行移动操作。

mv file.txt /tmp/
mv file1.txt file2.txt /backup/(支持批量移动)

6、rm 命令
rm(Remove)是用于‌删除文件或目录‌的命令。

rm [选项] 文件...

‌删除单个文件‌:

rm file.txt

‌删除多个文件‌:

rm file1.txt file2.txt

‌删除目录‌:必须使用 -r 选项。

实际用例

# 删除单个文件
rm test.txt

# 删除前确认(推荐)
rm -i test.txt
# 输出: rm: remove regular empty file 'test.txt'? y
# 删除空目录(也可以用 rmdir)
rm -d empty_dir

# 递归删除非空目录及其所有内容
rm -r project_folder/

# 强制递归删除(无提示,速度快,风险高)
rm -rf project_folder/
# 删除当前目录下所有 .log 结尾的文件
rm *.log

# 删除当前目录下所有以 temp 开头的文件
rm temp*

# 交互式批量删除(每个文件都问)
rm -i *.tmp

rm是个比较危险的命令,Linux不像Windows有垃圾桶,所以删除之前一定谨慎

‌核心原则‌:

‌三思而后行‌:执行 rm 前,务必确认路径和文件名。
‌先用 ls 预览‌:在执行 rm *.log 前,先执行 ls *.log 看看会删除哪些文件。
‌慎用 -f‌:除非你非常确定,否则不要加 -f,保留 -i 或 -I 作为最后一道防线。

7、mkdir 命令

mkdir(Make Directory)是用于‌创建新目录‌的命令。它简单易用,但配合特定选项可以高效地处理复杂目录结构的创建。

mkdir [选项] 目录名...
# 在当前目录下创建一个名为 'projects' 的目录
mkdir projects

# 同时创建三个同级目录
mkdir docs src tests
# 错误示范:如果没有 a 或 a/b,这条命令会报错
mkdir a/b/c

# 正确示范:使用 -p 自动创建所有缺失的父目录
mkdir -p a/b/c

常见错误
‌目录已存在‌:
不加 -p 时,如果目录已存在,mkdir 会报错:mkdir: cannot create directory ‘xxx’: File exists。
‌解决‌:加上 -p 选项,它会静默忽略已存在的目录。
‌权限不足‌:
如果在没有写权限的目录下创建文件夹,会报错:Permission denied。
‌解决‌:检查父目录权限,或使用 sudo(谨慎使用)。

8、touch 命令

touch 是用于‌创建空文件‌或‌更新文件时间戳‌的命令。

虽然它常被用来“新建文件”,但其核心功能其实是修改文件的 ‌Access Time (atime)‌ 和 ‌Modification Time (mtime)‌。如果文件不存在,它会创建一个大小为 0 的新文件;如果文件已存在,它会将文件的时间戳更新为当前系统时间(或指定时间),而‌不会改变文件内容‌。

touch [选项] 文件名...
touch new_file.txt
ls -l new_file.txt
# 输出: -rw-r--r-- 1 user user 0 Oct 27 10:00 new_file.txt
# 假设 old.log 最后修改时间是昨天
touch old.log
# 现在 old.log 的修改时间变成了“刚才”
# 一次性创建多个空文件
touch index.html style.css script.js

# 结合花括号扩展创建序列文件
touch log_{1..10}.txt
# 生成: log_1.txt, log_2.txt, ..., log_10.txt
# 将文件时间设置为 2023年1月1日 12:30
touch -t 202301011230.00 report.pdf

# 使用自然语言设置时间(需 GNU coreutils 支持)
touch -d "2 days ago" old_backup.tar.gz
touch -d "next Monday" meeting_notes.txt
posted @ 2026-05-25 14:53  alex_lau  阅读(15)  评论(0)    收藏  举报