命令 描述
pwd 显示当前工作目录
ls 显示目录下的文件和目录
cd 切换目录
mkdir 创建目录
touch 创建文件
rm 删除文件或目录
mv 移动或重命名文件或目录
cp 复制文件或目录
cat 显示文件内容
more 分页显示文件内容
less 类似 more,但是可以向上翻页
head 显示文件开头内容
tail 显示文件末尾内容
find 查找文件或目录
grep 在文件中搜索字符串
man 显示命令的帮助信息
history 显示历史命令
alias 设置命令别名
unalias 删除命令别名

# ls

ls -a : 显示所有文件,包括隐藏文件
ls -l: 显示详细信息,包括文件权限、所有者、大小、修改日期等
ls -lh : 以可读方式显示文件大小
ls -R: 递归显示所有子目录下的文件

# 文件权限:

  • r: 可读
  • w: 可写
  • x: 可执行
  • -: 没有权限

# cd

cd … : 切换到上级目录
cd / : 切换到根目录
cd ~ : 切换到用户主目录
cd - : 切换到上一次所在目录

# touch

touch 命令的两个功能:

  • 创建一个空文件
  • 修改一个已经存在的文件的时间戳
    touch file1 file2 : 创建两个空文件
    touch -t 202410011222.00 file3 : 修改 file3 的时间戳为 2024 年 10 月 1 日 12 点 22 分 00 秒

# mkdir

mkdir dir1 dir2 : 创建两个目录
mkdir -p dir1/dir2 : 创建多层目录
mkdir -m 777 dir3 : 创建目录并设置权限为 777
rmdir dir1 : 删除空目录 (有内容的删不了)
选中按滚轮快速粘贴

# rm

rm file1 file2 : 删除两个文件
rm -r dir1 : 递归删除目录及其内容
rm -i file1 : 删除前询问确认
rm -f file1 : 强制删除文件,无需确认

# cp

CP 命令作用:

  • 复制文件或目录
  • 复制多个文件或目录到一个目录
  • 复制整个目录树
    cp file1 file2 : 复制 file1 到 file2
    cp -r dir1 dir2 : 递归复制 dir1 到 dir2
    cp -a dir1 dir2 : 复制整个目录树,包括所有文件、目录、权限、属性等
    cp -i file1 file2 : 复制文件前询问是否覆盖同名文件确认

cp -u file1 file2 : 复制文件,但不覆盖目标文件,如果目标文件比源文件新才复制
cp -v file1 file2 : 复制文件时显示详细信息
*cp .txt dir1 : 复制当前目录下所有 txt 文件到 dir1 目录 (后缀通用)

# mv

mv 重命名文件或移动文件到指定目录,可以同时移动多个文件或目录到指定目录。
mv file1 file2 : 重命名 file1 为 file2
mv file1 dir1 : 移动 file1 到 dir1 目录

# hello world

在终端中使用 ubutu 的自带文本编辑器 gedit 新建一个.c 文件并打开

#include <stdio.h>
int main() {
    printf("Hello, world!\n");
    return 0;
}

保存为 hello.c

  • 方法一:gcc hello.c -Wall
    运行后默认生成可执行文件 a.out,运行./a.out 即可输出 Hello, world!(这样每次运行会覆盖之前的 a.out)
  • 方法二:gcc hello.c -o hello -Wall
    运行后生成可执行文件 hello,运行./hello 即可输出 Hello, world!

# vi 操作基础

命令 描述
i 进入编辑模式
ESC 退出编辑模式
:wq 保存并退出
:q! 强制退出不保存
:set nu 显示行号
:set nonu 隐藏行号
gg 移动到文件开头
G 移动到文件末尾
nG 移动到第 n 行
/ 关键字 向下搜索关键字
? 关键字 向上搜索关键字
n 重复上一次搜索
N 反向重复上一次搜索
u 撤销
Ctrl+r 重做
dd 删除当前行
ndd 删除 n 行
yy 复制当前行
nyy 复制 n 行
p 粘贴
x 剪切当前字符
nx 剪切 n 个字符
:set paste 进入粘贴模式
:set nopaste 退出粘贴模式
:%s/old/new/g 替换当前行所有 old 为 new
:%s/old/new/gc 替换当前行所有 old 为 new,并询问是否替换

在 Linux 的 ubuntu 系统中,在终端,编译多个文件的命令如下:

gcc -o a.out file1.c file2.c file3.c

如果有多个文件,只有一个文件要生成,且包括.c 和.h 文件,则可以这样写:

gcc -o a.out *.c

这样,编译器会自动搜索当前目录下所有的.c 文件,并生成可执行文件 a.out。

最好用的也可以用 makefile 文件一步到位

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

FanLei 微信支付

微信支付

FanLei 支付宝

支付宝

FanLei 贝宝

贝宝