命令和命令对应的参数有很多,此处只记录会常使用的命令及参数信息,如需查询更多命令,请查看下方连接
manpages.debian.org/unstable/ma…
重要文件
/etc/passwd 用户信息配置文件
/etc/shadow 用户密码配置文件
/etc/group 用户组文件管理
/etc/sudoers 修改sudo管理信息
- %sudo ALL=(ALL:ALL) NOPASSWD:ALL 使用sudo执行命令时不用输入确认密码
系统命令
systemctl 系统服务管理
控制systemd系统与服务管理器, systemd文件位置为 /usr/lib/systemd/system
- 查看服务开机启动状态:systemctl list-unit-files
- --all 查看所有
- --type 对服务类型进行过滤, 可以通过 systemctl list-unit-files --type=help查看可用的服务类型
- --state 对状态进行过滤, 可以通过 --state=help 进行查看
- 启用服务(开机自启):systemctl enable service_name
- 禁用服务(开机不自启):systemctl disable service_name
- 查看服务是否开机自启:systemctl is-enabled service_name
- 暂停服务:systemctl stop service_name
- 启动服务:systemctl start service_name
- 重启服务:systemctl restart service_name
hostnamectl 控制系统的主机名
- 修改系统启动时设置内核的主机名:hostnamectl --static set-hostname 主机名
apt 软件包管理器
- 根据名称列出软件包名:apt list
- --installed 已安装
- --all-versions 所有可用
- --upgradeable 可升级
- 搜索软件包描述:apt search 包名
- 显示软件包细节:apt show 包名
- 安装软件包:apt install
- 重新安装:apt reinstall
- 移除软件包: apt remove
- 卸载所有自动安装且不再使用的软件包: apt autoremove
- 更新可用软件包列表: apt update
- 通过安装/升级软件来更新系统: apt upgrade
- 通过卸载/安装/升级更新系统:apt full-upgrade
pwd 显示当前工作目录
history 历史命令
date 时间日期类
- 显示当前时间 date
- 显示年份 date +%Y
- 显示月份 date +%m
- 显示当前天 date +%d
- 显示年月日时分秒 date "+%Y-%m-%d %H:%M:%S"
- 显示年月日 date +%F
- 显示时分秒 date +%T
- 显示前一天 date -d '1 days ago' date -d -1day +%F
- 显示明天 date -d '-1 days ago' date -d 1day +%F
- 1year 一年
- 1month 一月
- 设置系统时间 date -s "2017-06-19 20:52:18"
timedatectl 时间管理
- 修改时区:timedatectl set-timezone Asia/Shanghai
df 查看磁盘空间使用情况
- -h 以更容易阅读的方式展示
- -a 查看子文件信息
du 文件和目录的磁盘使用空间
- du -ah 文件名[目录名]
- -s 只显示指定文件夹
PS 查看当前系统进程
- ps -aux 查看所有进程
- -a 选择所有进程
- -u 显示所有用户的所有进程
- -x 显示没有终端的进程
- USER(启动用户) PID(进程号) %CPU(占用的CPU资源) %MEM(占用的内存) vsz(占用虚拟内存大小,单位kb) RSS(占用实际内存大小, 单位kb) TTY(在哪个终端中运行, tty1-tty6是本地字符界面终端,tty7是图形终端。 pts/0-225是虚拟终端) STAT(进程状态, R运行,S睡眠,T停止,s包含子进程,+后台运行) START(进程启动时间) TIME(占用CPU计算时间) COMMAND(使用的命令)
- ps -ef 查看子父进程之间的关系
- UID(启动用户) PID(进程号) PPID(父进程号) C(CPU优先级,数值越小,优先级越高) STIME(启动时间) TTY(运行终端) TIME(占用CPU计算时间) CMD(启动命令)
Kill 终止进程
kill [选项] 进程号 通过进程号杀死进程 killall 进程名称 通过进程名称杀死进程,支持通配符
- -9 强迫进程立即停止
free 查看服务器总体内存
- -h 以更容易阅读的方式展示
- -m 以M为单位进行显示
top 监控页面
- -d 秒数: 每隔几秒更新一次
- -i 不显示闲置或僵尸进程
- -p 指定监控进程ID
- P 以CPU使用频率排序
- M 以内存使用频率排序
- N 以PID排序
- q 退出
top - 15:07:43 up 5:18, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 28 total, 1 running, 27 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 15848.4 total, 15177.0 free, 709.9 used, 231.7 buff/cache
MiB Swap: 4096.0 total, 4096.0 free, 0.0 used. 15138.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 22060 13448 9692 S 0.0 0.1 0:02.24 systemd
2 root 20 0 2616 1444 1320 S 0.0 0.0 0:00.00 init-systemd(Ub
8 root 20 0 2616 132 132 S 0.0 0.0 0:00.00 init
62 root 19 -1 50444 17196 16032 S 0.0 0.1 0:01.06 systemd-journal
111 root 20 0 24520 6724 4936 S 0.0 0.0 0:00.35 systemd-udevd
122 systemd+ 20 0 21452 11904 9708 S 0.0 0.1 0:00.40 systemd-resolve
123 systemd+ 20 0 91020 6520 5672 S 0.0 0.0 0:00.49 systemd-timesyn
201 root 20 0 4236 2704 2468 S 0.0 0.0 0:00.03 cron
top - 当前系统时间 up 电脑启动时长, 登录用户数量,负载情况:一分钟,5分钟,15分钟平均负载 进程数量, 运行进程数量,休眠进程数量,停止进程数量,僵尸进程数量 cpu 使用情况 用户模式占用比(us) 系统模式占用比(sy) 改变过优先级的用户进程占用比(ni) 空闲(id) 等待输入输出(wa) 硬中断请求服务(hi) 软中断请求服务(si) 虚拟时间(st) 内存使用情况 总量 空闲 已使用 缓冲内存 交换内存使用情况 总量 空闲 使用 缓存交互分区大小
netstat 网络统计信息和端口占用情况
apt install net-tools
- netstat -anp 查看进程网络信息
- -n 拒绝显示别名,使用数据进行展示
- -l 仅展示在监听的服务状态
- -p 显示哪个进程在调用
- netstat -nlp 查看网络端口号占用情况
crontab 系统定时任务
systemctl status cron
- 查询定时任务 cron -l
which 查看命令位置
- -a 返回所有匹配的路径名
- -s 如果找到所有可执行文件,则静默返回 0,否则返回 1
scp 文件传输
- scp -r ./* master@192.168.83.101:/home/master/k8s-init 将当前文件夹下所有文件及目录传递到 192.168.83.101服务器上,使用的用户为 master, 服务器上地址为 /home/master/k8s-init
文件操作命令
ls 列出目录内容
- -a 显示所有文件
- -l 显示文件详细信息
cd 切换目录
- -P 跳转到实际物理路径,非快捷方式路径
-
- 回到上一次所在目录
mkdir 创建文件
- -p 创建多层文件夹
touch 创建空白文件
cp 复制文件或目录
- cp source dest : 复制source文件到dest
- -r 递归复制整个文件夹
rm 删除文件或目录
- -r 递归删除目录中所有内容
- -f 强制删除,不用进行确认
- -v 显示指令的详细执行过程
mv 移动文件或目录,也可进行重命名操作
ln 软连接
- 给原文件创建一个软连接:ln -s [源文件或目录] [软件链名]
- 删除使用 rm -rf 软件链名
chmod 修改文件权限
- u 所有者
- g 所有组
- o 其他人
- a 所有人
- r = 4, w = 2, x = 1
chown 更改属主,属组
- 修改属主: chown 用户 文件
- -R 递归操作
- 修改属主和属组: chown 用户:用户组 文件
find 查找文件或目录
从指定目录向下递归遍历各个子目录,将满足条件的文件进行显示 find [搜索范围] 选项
- -name 按照指定文件名查找
- find ./ -name "*.txt" 查找 .txt 结尾的文件
- -user 查找属于用户名的所有文件
- -size 按照指定文件大小查找文件
- b c w k M G
- find / -size +200M 查找大于200M的文件
- find / -size -200M 查找小于200M的文件
- find / -size 200M 查找等于200M的文件
文件内容查看命令
cat 查看文件内容
- -n 显示行号
more 文件内容分屏查看
- enter 向下翻一行
- space 向下翻一页
- q 退出
- ctrl+F 向下滚动一屏
- ctrl+B 返回上一屏
- = 输出当前行行号
- :f 输出文件名和当前行行号
less 分屏显示文件内容
比more指令更强,不会一次将整个文件进行加载,根据显示需要加载内容,对大文件显示具有较高的效率
- space 向下翻一页
- pagedown 向下翻一行
- pageup 向上翻一行
- /字串 向下搜索 n 下一个 N 上一个
- ?字串 向上搜索 n 下一个 N 上一个
- q 退出
tail 输出文件尾部内容
默认显示后10行内容
- -n 5 显示最后几行
- -f 实时滚动
echo
-
输出重定向 >> 追加
grep 过滤查找
和 | 管道符配合使用
- -n 显示原本输出的位置行数 ll | grep -n mysql
- -v 反向过滤
- -A 显示过滤后的下方几行 ll | grep -n -A 2 mysql
- -C 显示过滤后的上下几行 ll | grep -n -C 2 mysql
- -B 显示过滤后的前几行 ll | grep -n -B 2 mysql
cut 数据剪切
- cut -d " " -f 1 cut.txt 对cut.txt文件内容通过空格进行区分获取第1列
- cut -c 1 cut.txt 获取第1列的内容
- echo PATH输出内容,通过 :进行切割,获取第3列
- echo PATH输出内容,通过 :进行切割,获取第3列及之后内容
- ifconfig eth0 | grep "inet " | cut -d " " -f 10 输出ip地址
awk 文本分析工具
把文件逐行读入,以空格为默认分隔符对每行进行隔开,切开的部分在进行分析处理 -F 指定分隔符 -v 指定变量名 FILENAME 变量 NR 已读的行号 NF 浏览的个数(切割后的个数)
- awk -F : '/^root/{print $7}' passwd 使用:对passwd文件内容进行分割,打印匹配root开头的第7列数据
- awk -F : '/^root/{print 7}' passwd 使用:对passwd文件内容进行分割,打印匹配root开头的第1列和第7列数据,以逗号进行分割
- awk -F : 'BEGIN{print "user,shell"} /^root/{print 7} END{print "dahaige,/bin/zuishuai"}' passwd 对输出的内容前后添加指定内容信息
- awk -v i=1 -F : '{print $3+i} passwd 对输出第3列内容进行加1操作
- awk -F : '{print "filename:" FILENAME ", linenum:" NR", col:"NF}' passwd 统计passwd文件名,每行的行号,每行的列数
- ifconfig eth0 | awk -F " " '/inet /{print $2}' 打印ip地址
用户和组管理命令
adduser 用户管理
- 添加用户 adduser 用户名称
userdel 删除用户
- -r 同时删除用户目录
usermod 修改用户信息
- -l 改变用户名
- -d 修改家目录
- -g 指定用户的新主组
- -aG 添加附加组 usermod -aG 组名 用户名
groupadd 添加用户组
groupdel 删除用户组
groupmod 修改组
- -n 指定工作组的新组名
passwd 设置或更改用户密码
- 修改密码 passwd 用户名称
id 查看用户是否存在
- id 用户名称
su 切换用户
sudo 使用root用户身份执行某条命令
解压缩命令
gzip/gunzip 压缩和解压缩
只能压缩文件,不能压缩目录
- gzip 文件 将我呢见压缩为 .gz 文件
- gunzip 文件.gz 解压
tar 打包
打包目录,压缩后的文件格式为 .tar.gz
- -c 产生 .tar 打包文件
- -v 显示详细信息
- -f 指定压缩后的文件
- -z 打包同时压缩
- -x 解压 .tar 文件
- 压缩多个文件 tar -zcvf 文件.tar 文件1 文件2 ...
- 解压 tar -zxvf 文件.tar