Linux基础操作:常用命令、文件权限与Vim编辑器

各位同学,今天我们来聊聊Linux基础操作。说实话,做验证工程师这几年,我每天打交道最多的就是Linux终端。你想想看,从EDA工具的启动到仿真脚本的运行,再到日志分析,哪一步离得开命令行?所以这部分内容,我建议你当成吃饭喝水一样,练成本能。

一、常用命令:ls, cd, mkdir, rm, cp, mv

这些命令是Linux的“手脚”,每天都要用。我刚开始学的时候,总觉得记不住,后来发现多用几次就刻在肌肉记忆里了。

1. ls —— 看看目录里有什么

ls就是列出当前目录下的文件和文件夹。我个人习惯用 ls -l 看详细信息,用 ls -a 看隐藏文件。有一次我在项目中找配置文件,死活找不到,后来才发现文件名前面有个点,是隐藏文件。嗯,从那以后我每次ls都加个-a。

ls          # 列出文件名
ls -l       # 列出详细信息(权限、大小、修改时间)
ls -a       # 列出所有文件(包括隐藏文件)
ls -lh      # 以人类可读的方式显示大小(K、M、G)

2. cd —— 切换目录

cd就是“change directory”。我常用的几个技巧:

  • cd .. 回到上一级目录
  • cd ~ 回到用户主目录
  • cd - 回到上一次所在的目录(这个我经常用,来回切换两个目录时特别方便)

我曾经在调试一个复杂的仿真环境时,需要在三个不同目录之间来回切换。用 cd - 配合 pwd,效率提升不少。

3. mkdir —— 创建目录

创建目录很简单,但有个参数我特别推荐:-p。它可以一次性创建多级目录。

mkdir test_dir              # 创建单级目录
mkdir -p project/src/tb     # 创建多级目录,如果父目录不存在会自动创建

我在搭建仿真环境时,经常用 mkdir -p 一次性把整个目录结构建好,省时省力。

4. rm —— 删除文件或目录

这个命令要小心。rm删除的文件不会进回收站,直接没了。

rm file.txt                 # 删除文件
rm -r dir_name              # 递归删除目录及其内容
rm -f file.txt              # 强制删除,不提示确认
警告: 我曾经有一次在清理临时文件时,不小心在根目录下执行了 rm -rf *,结果整个系统都崩了。所以,永远不要在不确定的情况下使用 rm -rf。建议先 ls 确认一下再删。

5. cp —— 复制文件或目录

复制文件时,我习惯用 -i 参数,防止覆盖重要文件。

cp file1.txt file2.txt      # 复制文件
cp -r dir1 dir2             # 递归复制目录
cp -i file1.txt file2.txt   # 复制时如果目标存在,会提示确认

6. mv —— 移动或重命名

mv既可以移动文件,也可以重命名。说白了,就是“剪切+粘贴”。

mv file.txt /tmp/           # 移动文件到 /tmp 目录
mv old_name.txt new_name.txt # 重命名文件

二、文件权限管理

Linux的文件权限,说白了就是“谁能读、谁能写、谁能执行”。我刚开始做验证时,经常遇到“Permission denied”的错误,后来才搞明白是权限没设对。

1. 查看权限

用 ls -l 查看,输出像这样:

-rwxr-xr-- 1 user group 1024 Jan 1 12:00 script.sh

这串字符分成四部分:

  • 第一个字符:文件类型(- 普通文件,d 目录)
  • 第2-4位:文件所有者的权限(rwx)
  • 第5-7位:所属组的权限(r-x)
  • 第8-10位:其他人的权限(r--)

r=读(4),w=写(2),x=执行(1)。

2. 修改权限:chmod

我常用数字法,简单直接:

chmod 755 script.sh         # 所有者:rwx,组:r-x,其他人:r-x
chmod +x script.sh          # 给所有用户添加执行权限
chmod -w file.txt           # 移除所有用户的写权限
小技巧: 对于仿真脚本,我通常设置 755 权限。这样自己可以读写执行,其他人只能读和执行,防止误修改。

3. 修改所有者:chown

有时候需要把文件的所有权转给另一个用户:

sudo chown user:group file.txt   # 修改文件所有者和所属组

我曾经在团队协作时,因为文件所有者不对,导致其他同事无法修改仿真配置文件。后来统一用 chown 调整了一下,问题就解决了。

三、Vim编辑器基本使用

Vim是Linux下的“神器”。说实话,刚开始用的时候我觉得它反人类,但用顺手之后,真香。我写脚本、改配置文件,基本都在Vim里完成。

1. 三种模式

Vim有三种模式,搞懂这个就入门了:

模式 作用 如何进入
普通模式 移动光标、复制粘贴、删除 启动Vim时默认进入
插入模式 输入文本 按 i 进入
命令行模式 保存退出、搜索替换 按 : 进入

2. 常用操作

我整理了一份“生存指南”,记住这些就够了:

  • 移动光标: h 左,j 下,k 上,l 右
  • 进入插入模式: i(当前光标前),a(当前光标后),o(下一行)
  • 保存退出: :wq(保存并退出),:q!(不保存强制退出)
  • 删除: dd 删除一行,dw 删除一个单词
  • 复制粘贴: yy 复制一行,p 粘贴
  • 撤销: u 撤销,Ctrl+r 重做
# 一个典型的Vim操作流程
vim testbench.sv           # 打开文件
i                          # 进入插入模式,开始编辑
... 输入代码 ...
Esc                        # 回到普通模式
:wq                        # 保存并退出
避坑指南: 我曾经在编辑一个重要的仿真脚本时,不小心按了 Ctrl+s 锁住了终端,以为Vim卡死了。后来才知道 Ctrl+s 是锁定屏幕,按 Ctrl+q 解锁。嗯,这个小坑我踩过一次就记住了。

知识体系总览

下面这张图,是我自己总结的Linux基础操作知识框架。你可以把它当成一张“地图”,学完这部分内容后,对照着检查自己掌握了多少。

Linux基础操作 常用命令 ls cd mkdir rm cp mv 文件权限管理 查看权限:ls -l 修改权限:chmod 修改所有者:chown Vim编辑器 普通模式 插入模式 命令行模式 掌握这些,日常仿真环境搭建基本够用了

好了,这部分内容就到这里。Linux命令这东西,光看是记不住的,得多敲。我建议你打开终端,把今天讲的命令每个都试一遍。遇到问题别怕,多查查 man 手册,或者直接上网搜。慢慢来,熟能生巧。

可可精品资料库