Linux命令常识
Linux和Windows目录区别
| 核心区别 | Windows | Linux |
|---|---|---|
| 根目录标识 | 盘符(如 C:\,D:\) | 单一根目录 / |
| 路径分隔符 | 反斜杠 \(如 C:\Users\Bob) | 正斜杠 /(如 /home/bob) |
| 系统分区挂载 | 直接绑定到盘符(如 C: 是系统盘,D:用于存储用户数据、备份文件或安装非系统软件) | 挂载到根目录下的子目录(如 / 是根,硬盘挂载到 /mnt/data) |
| 用户主目录位置 | C:\Users\用户名 | /home/用户名 |
| 系统关键目录 | C:\Windows(系统) C:\Program Files(软件) | /bin(基础命令) /etc(配置文件) /usr(用户程序) |
| 环境变量分隔符 | 分号 ;(如 PATH=C:\A;C:\B) | 冒号 :(如 PATH=/bin:/usr/bin) |
Linux部分特殊目录
. 当前目录
.. 上级目录,也就是父目录
~ 当前用户的家目录
- 上次工作目录
/ 根目录
绝对路径和相对路径
- 绝对路径:指从根目录开始的完整路径。如:
/home/user/file.txt - 相对路径:指相对于当前工作目录的路径。如:
./file.txt表示当前目录下的 file.txt。
在使用命令行时,大多数情况下建议使用相对路径。因为相对路径更加简洁,而且更方便移植,不需要考虑在不同机器上的根目录位置不同,而绝对路径则需要考虑这一点。
Linux命令的基本组成
- 命令(Command)–> 动词,做什么
这是实际执行的操作或程序,比如 ls、cd、rm、touch、ssh等 - 选项(Options)–> 修饰行为,怎么做
选项用于修改命令的行为,通常以短横线(-)或双短横线(–)开头。选项可以是单个字母或完整单词,例如:
• -l:短选项(ls -l 显示详细信息)
• --help:长选项(显示命令帮助)
可以组合使用多个选项,例如 ls -la,表示同时使用 -l 和 -a 选项。 - 参数(Arguments)–> 行为作用的对象
参数是命令执行的对象,如文件名、目录路径等。例如:
• ls /home/user:/home/user 就是参数,指定要列出的目录。
• rm file.txt:file.txt 是参数,指定要删除的文件。
常用操作命令
常用文件操作命令
mkdir创建目录
mkdir new_dir #在当前位置创建一个new_dir的目录
mkdir /tmp/new_dir_1 #在/tmp下创建new_dir_1的目录
mkdir /new_dir #mkdir: cannot create directory ‘/new_dir’: Permission denied 根目录下无权限创建新目录
mkdir 123/456/789 #mkdir: cannot create directory ‘123/456/789’: No such file or directory 该指令意为在当前目录找123/456,并在456下创建789,因为当前目录下没有123,所以无法找到此路径,故创建失败
mkdir -p 123/456/789 #创建成功,加上选项-p,意为若找不到路径中的目录,则创建它们
ls列出目录下的内容
ls #不使用任何参数,表示查看当前目录下的内容
ls 123/ #查看123目录下的内容(无参数默认从当前目录出发)
ls . #等于ls
ls / #查看根目录
ls -a #显示当前目录下包括隐藏文件的所有文件
ls -a 123/../ #同上
ls -l #以长列表的形式展示文件及目录的详细信息(等于 ll)
ls -al #效果等于5+7
cd改变工作目录
cd - # 回到上次工作目录
cd .. # 切换到父目录
cd / #切换到根目录
cd ~ #切换到家目录
cd #cd不加参数,同上
pwd #打印当前工作目录
rm删除文件或目录
rm file.txt #删除文件123.txt
rm -f file.txt # 强制删除文件file.txt,不提示确认
rm -r 789/ #递归删除目录789/及其中的所有东西(只有在789/的上一级目录.即456/中才能成功执行该操作)
rm -rf 123/ #强制递归删除123/目录,及其中的所有东西
rm -rf 123/456/ #强制删除456/及其中的所有东西
rm -rf 123/456/* #强制删除456/中的所有东西,但保留456/本身
cat查看文件内容(小型)
cat file.txt # 将file.txt的内容输出到屏幕上
cat file1.txt file2.txt # 将file1.txt和file2.txt的内容按照顺序输出到屏幕上
cat -n file.txt # 显示行号
less,more查看文件内容(大型), 空格下一页,less里b上一页,/搜索词: 搜索,q: 退出head显示文件内容开头
head file.txt #显示文件的前部分内容
head --lines=2 head.txt #显示文件前两行
tail显示文件内容结尾, 用法同上nano,vim文本编辑器进行文本编辑
nano file.txt
vim file.txt #若有该文件则进入,若没有则新创建
vim的使用[^1]:
-
i表示insert, 从浏览模式进入编辑模式 -
Esc退出编辑模式 -
:qquit, 退出vim返回终端(用于无修改退出, 有修改未保存会警报) -
:q!强制退出(不保存) -
:w保存文件 (:w file_1.txt将文件另存为file_1.txt) -
:wq保存并退出
which查看文件位置
which gcc
#返回/usr/bin/gcc
file查看文件/目录类型
file /usr/bin/gcc
#.exe 可执行文件
mv移动文件
mv file.txt dir/ #将当前目录下的文件移动到当前目录下的dir/
cp复制文件或目录
#以下均在当前目录中进行
cp file1.txt file2.txt # 将file1.txt的内容复制到新的文件中,新文件的名称为file2.txt
cp -r dir1 dir2 # 将目录dir1中的所有文件和目录复制到新的目录下,内容相同,新目录的名称为dir2
cp file1.txt dir1 # 如果dir1是一个已经存在的目录,会将file1.txt文件复制到dir1目录中,文件名保持不变
cp file1.txt dir1/file2.txt # 如果dir1是一个已经存在的目录,会将file1.txt文件复制到dir1目录中,文件名改为file2.txt
touch创建空文件
touch file.txt
clear清屏
系统相关命令
exit退出reboot重启系统(有时需sudo reboot)apt update更新软件包列表(从服务器拉取最新信息)apt autoremove自动移除系统中不再需要的依赖包apt install xxx下载xxx软件
(apt 是 Advanced Package Tool(高级软件包工具)的缩写,主要用于Debian/Ubuntu及其衍生系统的软件包管理,如自动化软件安装、更新、卸载和系统升级等)
快捷键
- Tab自动补全
- ↑ ↓键查看历史命令
在linux下打开vscode
code #直接打开
code + 要打开的文件夹路径 #打开特定文件夹或文件
linux下运行c/cpp
gcc -o 编译后文件名称 要编译的文件名 #编译 #用于c, 若cpp: g++; 若无"-o 编译后文件名称", 则生成"要编译的文件名.out"文件, 一个编译后可执行的二进制文件; "-o 编译后文件名称"操作实际上是重命名
./编译后文件名称 #运行(在当前目录下刚生成的)可执行文件
vim介绍及使用[^1]:
四种模式
- 普通模式: 进行绝大多数操作. 输入
:q等返回命令行界面- 编辑模式(insert): 用来输入文本的模式. 在普通模式下,按下
i或a[^2]等命令进入插入模式, 按下ESC键返回普通模式- 命令模式: 使用
:command命令执行特定的操作的模式. 在普通模式下输入:进入命令模式, 按下ESC键返回普通模式- 可视模式(visual): 用于选择文本. 在普通模式下,按下
v(visual)或V(visual line)等命令进入可视模式, 按下ESC键返回普通模式如何在文档中快速跳转
- 普通模式和可视模式下
1.1 使用方向键(或h, j, k, l, 对应←, ↓, ↑, →)
1.2.gg到达文件首行
1.3.G到达文件末行
1.4.5gg到达第五行
1.5.5G到达第五行- 插入模式下
2.1 使用方向键如何进行编辑
在
vim中,编辑器普通模式、插入模式和可视模式下,可以执行不同的编辑操作。
- 普通模式
在普通模式下,可以使用d(delete),x等命令对文档内容进行删除(d+方向键(或h, j, k, l)可删除左(右)边或下(上)行的文本; x直接删除右侧文本),y(yank)来复制(用法同d),p来粘贴.
此外,还可以使用:command命令执行特定的操作。- 插入模式
在插入模式下,可以输入文本,但不能执行命令。- 可视模式
在可视模式下,从进入该模式的光标开始, 可使用方向键(或h, j, k, l)进行文本选择,选择后使用d、y等命令剪切、复制选中的文本(若无选择, 则剪切/复制光标右一位的字母)。如何删除
- 普通模式下(事实上是剪切)
1.1.dd删除一行
1.2.5dd删除5行
1.3.d5G删除到第5行
1.4.dw删除当前单词
1.5.d$删除到行末y
1.6.d^删除到行首
1.7.x删除光标右侧字符- 插入模式下
2.1. 使用backspace删除即可- 可视模式下(事实上是剪切)
3.1. 选中后使用d可删除如何复制及粘贴
在
vim中,仅可在普通或可视模式下进行复制和粘贴
- 普通模式
1.1.yy复制一行
1.2.5yy复制5行
1.3.y5G复制到第5行
1.4.p粘贴到当前光标之后(光标在字符左侧, 单个字母粘在光标所在字符右侧, 一行粘在光标所在行的下一行)
1.5.P粘贴到之前
1.6.5p粘贴五次- 可视模式
2.1. 选中后使用y复制(只有y一种简单的复制功能)
2.2. 使用p、P来粘贴(可数字+p表示粘贴了多少行)撤销与恢复
在普通模式下,可以使用
u命令撤销(undo)上一步操作,ctrl + r来重做(redo, 反撤销)。搜索
在普通模式下,可以使用
/命令搜索文本。输入要搜索的文本,然后按下Enter键即可,按n查找下一个(next),N查找上一个。
查看vim教学文档: 在终端执行
vimtutor; 中文版:vimtutor zh
[^2]各方法对比记忆表
| 命令 | 助记词 | 插入起点 |
|---|---|---|
a | after | 光标后 |
A | At line end | 行尾 |
i | insert | 光标前(默认) |
I | Insert at line start | 行首(非空白字符) |
o/O | open new line | 下方/上方新行 |

1983

被折叠的 条评论
为什么被折叠?



