Linux常用命令
基本
-
快捷键
ctrl+l清屏,相当于clear命令ctrl+u删除、剪切光标之前的命令ctrl+k删除、剪切光标之后的命令ctrl+r在历史命令中搜索,再按ctrl+r搜索匹配的下一条命令
-
操作系统
cat /etc/os-release查询操作系统uptime运行时长+负载
-
压缩解压缩
zip -rq xx.zip xx压缩 -r 递归处理,将子目录一并压缩 -q 不显示指令执行过程unzip xx.zip -d test解压缩tar -cvf xxx.tar xxx打包不压缩tar -zcf xxx.tar.gz xxx打包并压缩tar -zxvf xxx.tar.gz解压缩
-
关机重启
- 关机
shutdown -h now/halt/poweroff/init 0 - 重启
reboot/init 6
- 关机
-
系统管理
kill -9 $(ps -ef | grep java | grep -v grep | awk '{print $2}')停止java进程
文件处理
-
文件系统
df -h文件系统查看、硬盘占用du -sh统计目录大小du -sh *统计目录下各个文件大小ll -h将文件大小转换为合适的单位ls -l | wc -l文件个数,包含文件夹ls -l | grep -v '^d' | wc -l文件个数
-
文件权限控制
- 基于UGO模型,User - 文件所有者、Group - 所属组、Other - 其他用户
- 权限解析,
-rw-r--r--,第一位文件类型-普通文件、d目录、l软连接,后面每3位切分为UGO chmod 744 test.sh给 test.sh 设置 所有者可读可写可执行,所属组和其他只读 → 744chmod -R 644 /home/app/config目录内所有文件设为 644- chown:修改文件 / 目录的所有者和所属组,
chown user1:dev test_dir同时修改所有者为 user1,所属组为 dev
-
文件处理
mkdir -p递归创建文件夹\cp -rf复制文件more/less分页查看 空格翻页 Enter换行head -20显示文件前几行tail -200f显示文件后几行,刷新末尾内容find / -name nginx.conf 2>/dev/null在根目录下,查找文件,不展示没有权限等错误信息 -iname 不区分大小写locate -i查找,不分区大小写 updatedb命令更新yum -y install mlocate安装 比find性能好which搜索命令所在目录及别名信息whereis搜索命令所在路径、命令帮助文档路径man查看帮助信息
-
vim编辑器
gg文件第一行、G文件最后一行、5G转到第5行dd删除当前行、yy复制当前行、p粘贴到光标下一行u撤销上一步操作、ctrl + r重做撤销的操作- 搜索
/关键词、‘n’ 下一个、N上一个 :%s/旧内容/新内容/gc批量替换 、:1,10s/旧内容/新内容/g替换 1-10 行的匹配内容:set nu显示行号、:set nonu隐藏行号、:split横向分屏查看文件
工作管理
tar -zcf etc.tar.gz /etc &使用&结尾的方式后台是运行的ctrl+z将进程转到后台,jobs查看任务,bg %工作号后台执行,fg %工作号恢复后台执行,kill %工作号终止后台执行nohup bash x.sh > x.log 2>&1 &后台执行,disown防止 shell 退出时仍然发送 SIGHUP
网络
网络配置 vim /etc/NetworkManager/system-connections
[ipv4]
address1=172.16.1.49/24,172.16.1.1
dns=180.76.76.76;
method=manual
route1=172.16.1.1/24
[ipv6]
addr-gen-mode=eui64
method=disabled
时区
## 设置系统时区为 中国/上海
timedatectl set-timezone Asia/Shanghai
## 将当前的 UTC 时间写入硬件时钟
timedatectl set-local-rtc 0
## 重启依赖于系统时间的服务
systemctl restart rsyslog
systemctl restart crond