banner
Introductions about SHELL and CLI Tools.

SHELL基础以及CLI工具

Scroll down

关于shell

Prompt

命令提示符

等待输入并告知 工作路径 & 当前操作用户

~代表“home”目录

*nix 下的路径分隔符为 “/”,而 Win 则是 “\”

*nix 没有分盘概念,所有文件全部挂载在唯一根目录 / 下

shell 基本命令

路径命令

pwd获取当前工作路径

1
pwd

切换路径

path可以是绝对路径也可以是相对路径

. 表示当前路径, .. 表示上一级路径

1
2
3
4
5
6
7
cd path

从/home/das/ 切换到 /user/bin/
cd ../../user/bin 或 cd /user/bin

从/user/ 切换到 /user/games/
cd games 或 cd ./games

文件 / 目录 操作命令

ls : 列出当前路径下的文件和目录

1
2
3
ls -a  # 包括隐藏文件
ls -l # 列出详细信息
ls -al # 两条命令复用

touch : 创建一个文件

1
2
touch das.c
touch das.txt

mkdir : 创建一个目录

1
mkdir das1

cp复制文件或目录

1
2
cp src dst
cp -r src dst # 递归复制

mv移动文件或目录(重命名)

1
2
mv a b # 将 a 重命名为 b 
mv das.txt das.cpp # 将das.txt 重命名为 das.cpp

rm删除文件 (不会进入回收站)

1
2
rm -r # 递归删除目录
rm -f # 强制删除

find查找文件

1
2
find . -name das.c # 找到并打印出当前目录下的所有das.c文件
find . -name '*.c' # 找到并打印出当前目录下所有以.c结尾的文件

文件内容查看命令

cat:输出与拼接文件

1
2
cat a.c a.cpp # 一起输出两个文件
cat -n a.c a.cpp # 带行号输出

head tail输出前10行/后10行内容

1
2
head -n lines a.cpp # 输出a.cpp前lines行的内容
head -n 3 a.cpp # 输出a.cpp 前3行的内容

more less 分页输出文件内容

1
2
more a.cpp
less a.cpp

hexdump 十六进制输出文件内容

1
2
hexdump -C # 并排输出十六进制与ASCII
hexdump -n # 输出前 n 个字节

环境变量

命令是什么?→ 绝大部分就是可执行文件(bin/ls)

为什么shell通过 ls 就可以找到 /bin/ls/? → 通过环境变量

为什么一定要用./a.out 而不是a.out 来执行程序? → . 并不在PATH变量中

echo $var 来输出环境变量的值,env 查看所有环境变量

  • 设置环境变量
    • export var=value :设置环境变量
      • 仅在当前执行的shell中有效。持久化?写入配置文件
    • unset var :删除环境变量

关于vim

几种模式

  • Normal:默认模式,移动光标、处理文本、执行命令等
  • Insert :输入文本
  • Command:执行命令
    • Visual:选择文本

vimmode

关于 GNU Make

gnutools

其他文章
cover
Chapter_05 of COD
  • 25/05/23
  • 18:59
  • 计算机组成原理
30+
Posts
8+
Diary
85+
fans
目录导航 置顶
  1. 1. 关于shell
    1. 1.1. Prompt
  2. 2. shell 基本命令
    1. 2.1. 路径命令
    2. 2.2. 文件 / 目录 操作命令
    3. 2.3. 文件内容查看命令
  3. 3. 环境变量
  4. 4. 关于vim
    1. 4.1. 几种模式
  5. 5. 关于 GNU Make