Linux命令常识

Linux命令常识

Linux和Windows目录区别

核心区别WindowsLinux
根目录标识盘符(如 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查看文件内容(大型), 空格下一页, lessb上一页,/搜索词: 搜索, q: 退出
  • head显示文件内容开头
head file.txt #显示文件的前部分内容
head --lines=2 head.txt #显示文件前两行
  • tail显示文件内容结尾, 用法同上
  • nano, vim文本编辑器进行文本编辑
nano file.txt
vim file.txt #若有该文件则进入,若没有则新创建

vim的使用[^1]:

  1. i表示insert, 从浏览模式进入编辑模式

  2. Esc退出编辑模式

  3. :qquit, 退出vim返回终端(用于无修改退出, 有修改未保存会警报)

  4. :q!强制退出(不保存)

  5. :w保存文件 (:w file_1.txt将文件另存为file_1.txt)

  6. :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): 用来输入文本的模式. 在普通模式下,按下ia[^2]等命令进入插入模式, 按下ESC键返回普通模式
  • 命令模式: 使用:command命令执行特定的操作的模式. 在普通模式下输入:进入命令模式, 按下ESC键返回普通模式
  • 可视模式(visual): 用于选择文本. 在普通模式下,按下v(visual)或V(visual line)等命令进入可视模式, 按下ESC键返回普通模式

如何在文档中快速跳转

  1. 普通模式和可视模式下
    1.1 使用方向键(或h, j, k, l, 对应←, ↓, ↑, →)
    1.2. gg 到达文件首行
    1.3. G 到达文件末行
    1.4. 5gg 到达第五行
    1.5. 5G 到达第五行
  2. 插入模式下
    2.1 使用方向键

如何进行编辑

vim中,编辑器普通模式、插入模式和可视模式下,可以执行不同的编辑操作。

  1. 普通模式
    在普通模式下,可以使用d(delete), x等命令对文档内容进行删除(d+方向键(或h, j, k, l)可删除左(右)边或下(上)行的文本; x直接删除右侧文本),y(yank)来复制(用法同d),p来粘贴.
    此外,还可以使用:command命令执行特定的操作。
  2. 插入模式
    在插入模式下,可以输入文本,但不能执行命令。
  3. 可视模式
    在可视模式下,从进入该模式的光标开始, 可使用方向键(或h, j, k, l)进行文本选择,选择后使用dy等命令剪切、复制选中的文本(若无选择, 则剪切/复制光标右一位的字母)。

如何删除

  1. 普通模式下(事实上是剪切)
    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. 插入模式下
    2.1. 使用backspace删除即可
  3. 可视模式下(事实上是剪切)
    3.1. 选中后使用d可删除

如何复制及粘贴

vim中,仅可在普通或可视模式下进行复制和粘贴

  1. 普通模式
    1.1. yy 复制一行
    1.2. 5yy 复制5行
    1.3. y5G 复制到第5行
    1.4. p 粘贴到当前光标之后(光标在字符左侧, 单个字母粘在光标所在字符右侧, 一行粘在光标所在行的下一行)
    1.5. P 粘贴到之前
    1.6. 5p粘贴五次
  2. 可视模式
    2.1. 选中后使用y复制(只有y一种简单的复制功能)
    2.2. 使用pP来粘贴(可数字+p表示粘贴了多少行)

撤销与恢复

在普通模式下,可以使用u命令撤销(undo)上一步操作,ctrl + r 来重做(redo, 反撤销)。

搜索

在普通模式下,可以使用/命令搜索文本。输入要搜索的文本,然后按下Enter键即可,按n查找下一个(next),N查找上一个。

查看vim教学文档: 在终端执行vimtutor; 中文版:vimtutor zh


[^2]各方法对比记忆表

命令助记词插入起点
aafter光标后
AAt line end行尾
iinsert光标前(默认)
IInsert at line start行首(非空白字符)
o/Oopen new line下方/上方新行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值