Table of contents
目录操作
pwd # 查看当前所在路径
ls # 列出文件
cd /etc # 进入/etc绝对路径
cd ~ # 回到家目录
cd .. # 返回上一级
cd - # 切换回上次目录
mkdir # 创建目录
rmdir # 删除目录
文件操作
touch test.txt # 创建空文件
cp file1 file2 # 复制;cp -r dir1 dir2 复制目录
mv old new # 移动 / 重命名
rm file # 删除文件
文件查看
cat file.txt # 一次性查看全部内容
head -20 app.log # 查看前20行
tail -100 app.log # 查看末尾100行
grep "error" log # 在文件中搜索关键词error
grep -r "port" ./ # 递归搜索目录下所有文件
文件压缩打包
tar -czvf test.tar.gz test/ # 压缩
tar -xzvf test.tar.gz # 解压
unzip xxx.zip # 解压zip
zip -r xxx.zip dir # 压缩成zip
进程
ps aux # 查看所有进程
kill -9 PID # 强制杀死进程
top # 查看实时进程信息
date # 查看系统时间
文本编辑
vi test.txt # 用vi打开文件,不存在则新建
vim test.txt # 增强版vim,需要单独安装(极简系统可能没有)
两种模式:
- 命令模式(默认打开就是这个模式)不能直接打字,用来执行命令。
i进入插入模式(可以编辑文字)Esc回到命令模式
- 插入模式:可以输入内容,按 Esc 退回命令模式
:w # 保存
:q # 退出(文件没修改才能退出)
:wq # 保存并退出
:q! # 强制退出,不保存修改
dd # 删除一整行
yy # 复制一行
p # 粘贴
u # 撤销
/关键词 # 搜索(按n下一个匹配)
用户与用户组
whoami # 查看当前用户
id # 查看用户id
chmod # 修改角色权限
chown # 修改文件所有者
chgrp # 修改文件所属组
ls-l权限:
整行示例:
-rwxr-x--x 1 root root 123 Sep 21 10:00 test.sh
从左到右分段:
1. 文件类型 + 权限 `-rwxr-x--x`
2. 硬链接数`1`
3. 属主(所有者 user)`root`
4. 属组(所属组 group)`root`
5. 文件大小 (字节) `123`
6. 修改时间 `Sep 21 10:00`
7. 文件名 `test.sh`
每个文件只有一个所属组
文件类型(第 1 个字符)
- `-`:普通文件
- `d`:目录
- `l`:软链接(符号链接)
- `b`:块设备(磁盘)
- `c`:字符设备(串口、终端)
- `p`:管道文件
- `s`:socket 套接字
三个为一组分别为user group other。连一块写比如rwxr—r-x,还可以用八进制表示。
r=4 读取
w=2 写入
x=1 执行
eg:
rwx=7
rw-=6
r-x=5
r--=4
chmod:
chmod [u/g/o] [+-=] [rwx] [path]
eg:chmod u+x test.md
设置权限为rwxr-xr-x:
chmod 755 test.md