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 设置 所有者可读可写可执行,所属组和其他只读 → 744
    • chmod -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