Linux 入门命令

2025 年 5 月 24 日 星期六
7
1
AI 生成的摘要

Linux 入门命令

shell 用于接受用户命令传递给 os 执行

image.png|500

image.png|500


基本导航与查看


pwd

pwd,展示当前目录绝对路径

---

ls

list,列出当前目录下的文件

参数: -l 列出每个文件的属性,一般都会有 ll 的缩写

drwxr-xr-x@ 2 fling staff  64  5 24 15:42 test
^ ^  ^  ^ ^ ^   ^     ^     ^   ^ ^  ^     ^
| |  |  | | |   |     |     |   | |  |     |
| |  |  | | |   |     |     |   | |  |     └─ 文件名/目录名 (Name)
| |  |  | | |   |     |     |   | |  └─────── 最后修改时间 (Modification Time)
| |  |  | | |   |     |     |   | └────────── 最后修改日期 (月份中的某一天) (Day of Month)
| |  |  | | |   |     |     |   └──────────── 最后修改月份 (Month)
| |  |  | | |   |     |     └──────────────── 文件大小 (字节) (Size)
| |  |  | | |   |     └────────────────────── 所属组 (Group)
| |  |  | | |   └──────────────────────────── 文件所有者 (Owner)
| |  |  | | └──────────────────────────────── 硬链接数量 (Number of Hard Links)
| |  |  | └────────────────────────────────── 扩展属性标志 (Extended Attributes Flag - @) (macOS specific)
| |  |  └──────────────────────────────────── 其他用户权限 (Others' Permissions)
| |  └─────────────────────────────────────── 组用户权限 (Group's Permissions)
| └────────────────────────────────────────── 文件所有者权限 (Owner's Permissions)
└──────────────────────────────────────────── 文件类型 (File Type)

--- 属性详解:

  • 文件类型:
    • -: 普通文件 (例如 1.txt)
    • d: 目录 (例如 test)
    • l: 符号链接
    • c: 字符设备文件
    • b: 块设备文件
    • s: 套接字文件
    • p: 命名管道 ---
  • 文件权限:
    • 分为三组,每组三字符,代表了文件所有者、所属组用户、其他用户的权限
    • 每组字符为 rwx 代表了读、写、执行的权限,无相应权限就用 - 代替,为了简洁表示,用为 r\w\x 分配数字 4\2\1 ---
  • 硬连接数量:
    • 对于文件,表示有多少个文件名指向此文件的 inode
    • 对于目录,通常是 2 + 子目录数量,每个目录都有 . 指向自身 .. 指向父目录 --- -a 列出全部文件,包括隐藏文件 . .. .env 1.txt test --- ### cd c,进入一个目录

前文说过 .. 代表父目录 cd - 代表进入上一次所在位置

---

tree

tree [] 展示目录 [] 下的结构

---

文件与目录操作

---

touch

touch,触摸,更新时间,不过也可以创建文件

---

mkdir

mkdir,建立目录

---

cat

cat,输出某个文件的内容

---

less

less,查看某个文件,可以上下翻,按 q 返回 只读取并显示屏幕所需部分 g 开头 G 结尾 %p 百分比跳转 /pattern 向前搜索、?pattern 向后搜索,n 下一个匹配、N 上一个匹配 F 持续监视文件末尾的新增内容,类似 tail -f

---

more

more,查看某个文件,无法上翻,按 q 返回 会一次性加在整个文件到内存再显示

---

head

head,输出某个文件的开头

head --lines=n file 输出 file 的前 n

---

tail

tail,输出某个文件的结尾

tail --lines=n file 输出 file 的后 n 行 tail -f 持续查看后续内容

---

cp

cp 源 目的 复制文件或目录

---

mv

mv 源 目的 移动,也可以用于重命名

---

rm

rm,删除 rm -r 递归删除,用于目录

---

ln

ln,连接 ln -s 源 目的 软连接,并不存储文件,仅仅是一个快捷文件 ln 源 目的 硬连接,指向源文件的指针,共享相同的 inode,可认为引用,只能指向文件

---

权限与查找

---

chmod

修改权限 u\g\o 代表了三个组权限 chmod u+x file 代表给所有者执行权限 也可以用数字修改,如 chmod 744 file

---

file

file,什么文件类型,如 1.txt: ASCII text

---

where/which/whereis

where,找到文件在哪

---

输出、管道与编辑

---

echo

echo,输出到命令行,注意特殊字符出现用 " " 包裹

> 标准输出重定向到文件,如 echo "1" > 1.txt >> 追加到文件 < 标准输入重定向自文件

---

pipe

command1 | command2 | command3 一个命令的标准输出作为另一个命令的标准输入

ls -l | grep "*.txt" cat server.log | grep "ERROR" | less

---

nano

Crtl+X 退出、Crtl+O 保存

---

vim

命令模式下,:wq 保存退出、:q! 强制推出,[n]yy 复制 n 行 [n]p 粘贴 n 次到光标下一行 dd 剪除

命令模式输入 i\a\o\I\A\O 进入插入模式,插入模式 esc 进入命令模式

---

image.png|500

image.png|500

插入模式中 ^ 可以跳转到行首 $ 跳转到行尾

命令模式输入 : 进入尾行模式,尾行模式 esc\enter 进入命令模式

---

变量与通配符

---

shell

定义变量 variable=value 就定义好了,可以用 echo ${variable} 查看,大括号是用于防止歧义的

前向剪除,如 ff=week01echo ${ff#week} 输出 01 去尾 %

? 代表一个字符的占位,*指任意字符占位

--- for i in $(seq 1 10) 1 到 10 序列 for ((i=0;i<10;i++)) c 风格循环

批量改名 for d in week?? for> do for> mv ${d} chapter${d#week} for> done

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...