常用命令
- ls:list 缩写,目录下文件
- cd:change directory 缩写,转换目录
- cp:拷贝文件或目录
- mv:移动或者重命名
- rm:删除文件或者目录
1
rm [-f --force][-r --recursive]
- touch:创建文本文件
- less:列出文件内容,与 more 的区别是此命令只列出一页,按下 space 键会列出下一页
- more:列出文件的内容,是全部内容
- tail
- find:查找文件
1 2 3 4 5
# 在 dir 下查找 keyword find [dir] -name [keyword] # 排除文件夹:-name 指定文件 -prune 排除 -o 输出文件名还是衔接,没弄清楚 # -name xxx -prune -o 为一组,如果有其他要排除的文件再写 find . -name .git -prune -o -name vendor -prune -o -type f -name '*.md'
- locate:字面意思定位文件位置,和 find 类似
- tar:压缩/解压缩命令
- rename
1 2 3 4
# 文件名开头添加 smiley_ -n 表示预览修改结果,不实际修改 rename -n 's/^/smiley_/' *.png # 替换非数字、字母、点 rename -n 's/[^\d^\w^\.]//g' *.png
- ln:创建链接
1 2 3 4 5 6
# ln -s 源地址 目标地址 [最好使用绝对路径] ln -s src target # 修改已有链接 ln -snf 新源地址 软链接地址 # 创建目录连接 ln -s /src/dir /target/dir
文件切割
- 大小切割
split -b 500M src child_prefix
- 行数切割
split -l 500 src child_prefix
磁盘操作
- 挂载U盘
- 1、先查看
sudo fdisk -l
- 2、找到自己的U盘并挂载
sudo mount /dev/sdxxx /media/username/xxx(如果不存在xxx要先创建)
- 1、先查看
- 开机自动挂载,需要修改 /etc/fstab 文件
- 查看磁盘空间
df / du
- 重新挂载磁盘
mount -o remount,rw mount_point
- 卸载U盘
sudo umount /media/username/xxx
- 弹出U盘
udisksctl unmount -b /dev/sdb1
、udisksctl power-off -b /dev/sdb
grep 全局搜索字符串
- 只在目录中所有的.php和.html文件中递归搜索字符”main()”
grep"main()" . -r --include *.{php,html}
- 在 dir 下递归[r]搜索 string,匹配之后显示行号[n]
grep "string" -rn [dir or file]
- 递归
-r
- 显示行号
-n
- 指定类型文件
--include="*.xml"
- 指定上下文行数
-C n 之前和之后n行 -B n 之前n行 -A n 之后n行
- 反向选择
-v
- 正则表达式
- . (小数点):代表『一定有一个任意字节』的意思;
- (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态
- ^ (尖尖):代表以该字符开始
sed
- 使用格式:
sed [options] 'commands' file(s)
- 修改文件内容:
-i
- 删除匹配到的行:
sed -i /keyword/d file
- 替换匹配到的字符:
sed -i /-// file
将 ‘-‘ 替换为 ‘’
- 删除匹配到的行:
查看文件内容
cat
/more
/less
- 显示指定行
cat file | tail -n +100 | head -n 20
(从第100行开始,显示20行)cat file | head -n 100 | tail -n +20
(显示100到第120行)
- 输入多行内容到文件中 ```bash cat «EOF >file #!/usr/bin/env sh
echo “start” echo “multi lines to file start” echo “multi lines to file end” echo “exit”
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 其他
- 查看内核启动日志 `dmesg`
- 查看所有端口占用情况 `netstat -apn or netstat -tulpn`
- 查看当前用户 `whoami`
- 查看用户 id `id root[user_name]`
- 查看文件属性 `lsattr/chattr`
- ssh 远程登录 `ssh -p 80 username@ip/hostname`
- 查看历史命令 `history | grep 'cmd'`
- 执行历史命令 `!序号`
- [查看系统快捷键]
```bash
gsettings get/set org.gnome.desktop.wm.keybindings [key:switch-to-workspace-left]
查看服务状态
1
- `sudo systemctl status sshd`
不小心改动了 /usr/bin/sudo 的权限
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
- 以当前用户身份注销,然后以root用户身份重新登录。
- 执行
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
- 以root身份注销,然后以当前用户身份重新登录。
系统源码路径
/usr/src/
实现无限循环
watch -n 1 {command}
watch -n 1 i2cget -f -y 8 0x40 0x10
查看最近使用过的命令
- 在 terminal 中按下
ctrl + r
然后输入关键字,会自动进行搜索