linux 常用命令合集
参考:
截图
快捷键: ctrl+sheft+a
安装飞书
带来的
但是我们选择安装截图软件: 火焰截图
快捷键
ctrl + t
打开新的文件窗口或者浏览器窗口
1. 解压与压缩
# zip
# 1. 压缩
zip -r xx.zip ./xx # 将指定目录及其内全部文件都打包成zip格式压缩包文件
# 2. 解压:指定目录
unzip -d /temp test.zip
# tar
# 1. 压缩
tar -zcvf 压缩文件名.tar.gz 被压缩文件名
# 2. 解压
tar -xvf 压缩文件名.tar
tar -zxvf 压缩文件名.tar.gz
sudo apt-get update
sudo apt-get install unrar
unrar x filename.rar /path/to/directory/ # 解压到某个目录
2. pip 源
-i https://pypi.tuna.tsinghua.edu.cn/simple
3. 文件大小
# 查看当前文件夹大小
# du(disk usage)命令来查看文件夹的大小
# -s表示汇总(summarize)当前目录的大小,-h表示以易读的格式显示(例如KB、MB、GB)
du -sh
# 查看当前目录下各个文件及目录占用空间大小
du -sh *
# 查看Linux中各个用户使用的存储空间大小:
sudo du -sh /home/*
# 查看某个用户 xx
sudo du -sh /home/xx
# 查看隐藏文件大小:https://cloud.tencent.com/developer/article/2110602?from=15425
du -sh .[!.]*
3. 统计文件数量
ls | wc -w # linux命令之当前文件夹下有多少个文件
ls -lR | grep '.jpg' |wc -l # 统计当前目录及所有子目录下以`.jpg`后缀结尾的图片个数
4. 实时刷新 nvidia-smi
https://blog.csdn.net/clksjx/article/details/120211061
5. linux 命令行找到指定文件
find 文件夹名字 -name 文件名
6. cp bash: /usr/bin/cp: Argument list too long
# 就是文件太多
find 待cp文件夹1 -type f -name '*.jpg' -exec cp {} 目标文件夹2 \;
7. 创建多层目录
mkdir -p xx/xxx/xxxx
8. 删除除某个文件夹以外的文件夹
# 需要在 bash 下,我的 zsh 失效了:zsh: number expected, 输入 bash 即可切换,再输入 zsh 切换回来
rm -rf !(a|b) # 删除除了 a、b 以外的文件,只删除一个:(a)
常用:
1. 文件
ll # 等价于 ls -l
cat README.md
head --lines 3 README.md # 前几行
注意:linux 命令行下,按 ctrl + a
会回到 命令开头
tail --lines 3 README.md # 尾几行
less README.md # 看全文,按 q 退出
more README.md # linux # 看全文,只能向下滚动 按 q 退出
## 修改
vim README.md # q! 强制退出
file README.md # 查看文件或者目录属性
whereis gcc # 定位可执行文件、源代码文件、帮助文件在文件系统中的位置
mv a b # 重命名
2. 变量
echo abc # 打印 abc
# 定义变量
h = "hellox"
echo "abc-${h}-efg" # 打印 abc-hellox-efg
3. for 循环批量修改文件名
for ff in week??
do
echo "mv $ff chapter${ff#week}" # 最好先看下命令是否正确再替换为:mv $ff chapter${ff#week} # '#' 是掐头操作
done
4. 下载上传文件
从远程服务器下载文件到本地
scp <用户名>@<ssh服务器地址>:<文件> <本地文件路径>
scp root@127.20.36.88:~/test.txt ~/Desktop
从远程服务器下载文件夹到本地
scp -r <用户名>@<ssh服务器地址>:<文件夹名> <本地路径>
scp -r root@127.20.36.88:~/test ~/Desktop
从本地上传文件到服务器上
scp <本地文件名> <用户名>@<ssh服务器地址>:<上传保存路径>
从本地上传文件夹到服务器上
scp -r <本地文件夹名> <用户名>@<ssh服务器地址>:<上传保存路径>
然而,我常用传文件的还是 FileZilla 软件。
5. 杀死某个用户的 所有进程
killall -u 用户名
https://blog.csdn.net/lihuaichen/article/details/84066359
6. 目录中文件过多导致ls命令卡住
ls -1 -f | head
https://www.jianshu.com/p/353a5dbcd423
7. 技巧: C++ 找不到 # include 头文件, 怎么解决?
比如:
sudo find / -iname "cudastereo.hpp"
再把文件 include 进来即可.
8. linux 中 ldconfig
的使用
9. 如何在 Ubuntu 中安装和卸载 deb 包
安装:
sudo dpkg -i xx.deb
找到想卸载的 deb 包
dpkg -l | grep wechat
# 或者
apt list --installed | grep -i wechat
sudo apt remove program_name
10. Linux 魔法系统请求键
安全重启:
查找你电脑键盘上的 SYSRQ 键(我的电脑是 PRTSC 和 SYSRQ 共用一个键),按照下面的步骤:
左手按住 CTRL 和 ALT键不松手(一直到结束都不松手)
右手按一下 SYSRQ,等待一秒以上
右手按一下 R 键,再次等待一秒
右手按一下 E 键,再次等待一秒
右手按一下 I 键,等待大概五秒
右手按一下 S 键,等待大概五秒
右手按一下 U 键,等待大概五秒
右手按一下 B 键
CTRL+ALT+ SYSRQ : 初始化,告诉内核要发送系统请求
R: 表示 unraw,将键盘控制权从 x server手中夺过来,用于直接向内核传递信息
E: tErminate,给所有的进程发送 SIGTERM 信号,让他们自行解决善后问题。
I: kill,给所有的进程发送 SIGKILL 信号,强制所有进程关闭(相当于自杀指令)
S: sync,将所有的数据从内存,交换区等地方同步至硬盘,保存
U:unmount,将所有分区的挂载模式变为只读
B: reboot,重新启动
https://docs.kernel.org/translations/zh_CN/admin-guide/sysrq.htmlLinux