linux 基本命令
- 目录操作
- mkdir 创建文件夹
- mkdir -p 递归创建目录
- 创建多个目录 mkdir [-p] a b c
- touch a b c 创建文件
- rm -r 递归 -f 强制删除
- cp -r 递归 复制 cp -r a/ b/
- mv 移动(重命名)
- ls (ll=ls -l)
- 压缩
- gzip a.txt a.txt.gz
- gunzip a.txt.gz
- tar -c 创建 -x 解包 -v 可视化解压过程 -f 文件名 -z 压缩为gz -J xz格式
- 输出重定向
1 | > 标准输出重定向 覆盖输出 |
- 查看文件
- cat -n 显示行号
- tac
- head 查看文件前n行 默认10 head -n xxx.txt
- wc -l 行数 -w 单词数 -c char
1 | ## 从第3行开始显示,显示接下来10行内容: |
- 磁盘操作
- 查询子级目录的大小
du -h --max-depth=1 /
- 查询磁盘情况
df -h /
- find -type ( d 文件夹 f 文件) -name:
find / -name root -type d
find / -name test.log
- 日期
- date date “+%F” date “+%F %T”
- timedatectl
- ntpdate
- 管道
管道一般用于过滤, A|b 命令A的正确输出作为命令B的操作对象
grep 取出含有搜寻内容的行 -v 反选,:
1 | ## tail 出有关键字的日志并输出后10行 |
- 其他
- killall
- ifconfig
- netstat -tnlp net状态
- top 后 M 内存排序 P cpu 排序
- linux 运行级别
- systemctl poweroff 关机
- systemctl rescue 单用户模式
- systemctl isolate multi-user.target 命令模式
- systemctl get-default
- nohup
nohup命令用于不挂断地运行命令(关闭当前session不会中断改程序,只能通过kill等命令删除).
1 | # 将错误输出 标准输出丢弃 |
- 计划任务
at 一次性计划任务
systemctl status atd
at now +1minutes
cron 周期性计划任务
crond
crontable
使用crontable 创建任务后任务会记录到/var/sponl/cron里面去
执行日志保存到/var/log/cron中
1 | ## 这里,我们在每天早上 8 点整执行 find 命令;该命令会在 /home/s/coredump 目录下寻找 search 用户创建的普通 7 天前的文件,然后删除 |
- 文件传输
scp [-P22 端口号] local_file remote_username@remote_ip:remote_file
1 | sudo scp -o xxx xxx.jar root@192.168.1.1:/home/test |
- 日志
- rsyslog -linux 日志系统 /etc/rsyslog.conf
- 日志切割 cronolog
- 网络设定
- nmcli
- 网络配置文件 :/etc/sysconfig/network-scripts/
- nmcli device status 查看网络连接
- nmcli device show 查看网络设备
shell
#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。
变量
- var1=”xxx”
- $0 表示获取当前执行的shell脚本文件名,$n 表示获取当前执行的shell脚本的第n个参数值 $# 获取当前shell命令行中参数的总个数,$? 表示获取执行上一个指令的返回值(0为成功,非0为失败)
- 变量截取 ${变量名:起始位置:截取长度}
- 表达式
- test 条件表达式
- [ 条件表达式 ]
- 命令1 && 命令2 短路判断(如果命令1执行成功,那么我才执行命令2)
- -f 表示是否是文件, -d 表示是否是目录,-x表示是否可执行
- 循环和条件分支
1 | if [ 条件 ] |
- 函数
1 | #!/bin/bash |
systemctl
用于配置开机自启动或者挂掉重启
配置示例:
1 | [Unit] |
其中配置 Restart=always
和 RestartSec=5
可在进程挂了之后重启,systemctl daemon-reload
重新加载配置。
Type:定义启动时的进程行为。它有以下几种值。
- Type=simple:默认值,执行ExecStart指定的命令,启动主进程
- Type=forking:以 fork 方式从父进程创建子进程,创建后父进程会立即退出
- Type=oneshot:一次性进程,Systemd 会等当前服务退出,再继续往下执行
- Type=dbus:当前服务通过D-Bus启动
- Type=notify:当前服务启动完毕,会通知Systemd,再继续往下执行
- Type=idle:若有其他任务执行完毕,当前服务才会运行