一、Linux基础
tty:查看当前的终端设备
echo ${SHELL}:显示当前使用的shell
cat /etc/shells:显示当前系统使用的所有shell
echo $PS1:显示提示符格式(PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]")
hash:(hash –l 显示hash缓存,可作为输入使用
hash –p path name 将命令全路径path起别名为name
hash –t name 打印缓存中name的路径
hash –d name 清除name缓存
hash –r 清除缓存)
alias NAME='VALUE'(/etc/bashrc,~/.bashrc)(unalias)起别名
date: 显示和设置系统时间(-d -u)
(%F:%Y-%m-%d
%T:%H:%M:%S)
clock: 显示硬件时钟
(-s, --hctosys以硬件时钟为准
-w, --systohc以系统时钟为准)
cal:显示日历(-y 全年)
关机:shutdown -h,halt,poweroff,
重启:shutdown -r,reboot,
whoami:显示当前登录用户
who:系统当前所有的登录会话
w:系统当前所有的登录会话及所做的操作
screen:(-S创建 -x加入 -ls显示所有会话 -r恢复 ctrl+a剥离当前会话 exit退出)
echo:显示字符(-n不自动换行 -e识别反斜杠\)
history:(~/.bash_history)(-c清空 -d删除某条)
帮助:whatis,man,info,help,第三方应用官网,发行版官网,
自带/usr/share/man,/usr/share/doc,/usr/local/share/man,
/usr/local/share/doc(readme,install)
二、文件管理
PWD:显示当前工作目录(-P显示真实物理路径)
dirname和basename:目录名,基名
cd:改变目录(..父目录 -上一次目录 cd家目录)
ls:列出目录内容(-a隐藏文件 -l额外信息 -r目录递归 -t按mtime排序 -d当前目录
-i节点号)
stat:查看文件状态(三个时间戳情况)
touch:创建空文件和刷新时间
cp:复制文件和目录(-r目录 -i覆盖前提示 -b目标存在则覆盖前先备份)
mv:移动和重命名文件(-b目标存在则覆盖前先备份)
rm:删除(-r递归 -f强制删除)
tree:显示目录树(-d只显示目录 -L层级)
mkdir:创建目录(-p创建各目录 -v显示详细信息 -m指定权限)
rmdir:删除空目录(-p删除父空目录 -v显示详细信息)
file:确定文件内容
三、vim:文本编辑工具(/etc/vimrc,~/.vimrc)
参考:https://blog.csdn.net/weixin_44515412/article/details/107504929
行编辑器: sed
全屏编辑器:nano, vi
vim - Vi Improved
gedit一个简单的图形编辑器
gvim一个Vim编辑器的图形版本
四、标准I/O与管道
set:(-C禁止覆盖 +C允许覆盖)(重定向时)
tr:转换和删除字符(-c取补集 -d删除 -s压缩重复字符 -t)
(eg:tr‘a-z’‘A-Z’</etc/issue)
less:一页一页地查看输入
mail:通过电子邮件发送输入
(eg:echo"testemail"|mail-s "test"wang@example.com)
bc:算术运算(eg:echo "2^3" |bc)
tee:重定向到多个目标(-a追加)
五、用户组和权限管理
文件操作:vipw和vigr,pwck和grpck
useradd:用户创建(默值/etc/default/useradd)
(/etc/default/useradd,/etc/skel/*,/etc/login.defs)
(-u UID,-g GID或主组名,-G附属组,-s默认shell,-r系统用户,-d指定家目录,
-c注释,-N使用users为主组,-D显示或更改默认设置)
usermod:用户属性修改
(-u UID,-g GID,-G附属组 -s默认shell,-c注释,-L锁定,-U解锁)
userdel:删除用户(-r删除家目录)
groupadd:创建组(-g GID,-r系统组)
groupmod:修改组(-n新名字,-g 新GID)
groupdel:删除组
newusers:passwd格式文件,批量创建用户
chpasswd:批量修改用户口令
id:查看用户相关的ID信息
(-u UID,-g GID,-G附属组ID,-n显示名称 配合ugG使用)
su:切换用户或以其他用户身份执行命令
(换个身份执行命令:su[-] UserName-c 'COMMAND')
passwd:修改指定用户的密码
(-d删除,-l锁定,-u解锁,-e强制下次登录时修改密码,-f强制,--stdin标准输入,
-n最短使用期限,-x最大使用期限,-i非活动期限,-w提前多少天警告)
chage:修改用户密码策略
(-d剩余几天修改密码,-E到期日期,-m最短使用期限,-M最大使用期限,
-I非活动期限,-W提前多少天警告,-l显示密码策略)
chfn:指定个人信息
chsh:指定shell
finger:显示用户信息
gpasswd:更改组密码(-a添加用户 -d移除用户)
newgrp:临时切换主组
groupmems:更改和查看组成员
(-g新名字,-a添加用户,-d删除用户,-p清空所有用户,-l查看组成员列表)
groups:查看用户所属组列表
chown:设置文件的所有者(OWNER或OWNER:GROUP)(-R递归)
chgrp:设置文件的属组信息
chmod:文件权限操作(-R递归)
umask:新建文件和目录的默认权限(/etc/bashrc,~/.bashrc)
(-S模式方式显示,-p输出可被调用)
chattr:设定文件特定属性(+i不能删除,改名,更改,+a只能追加内容)
lsattr:显示特定属性
setfacl/getfacl:为多用户或者组的文件和目录赋予访问权限rwx
六、文本处理工具
cat:查看文本内容(-n对每行编号,-b非空行编号,-s压缩连续的空行为一行)
nl:查看文本内容(非空行编号,相当于cat -b)
tac:查看文本内容(从最后一行开始显示)
rev:查看文本内容(从每行的最后一个字符开始显示)
more:分页查看文本内容
(空格翻页,回车翻行,q退出,/搜索,n/N匹配上一个/下一个)
less:一页一页地查看文本内容或STDIN输出(分页器,操作同more)
head:查看文本前行内容(-c前字节,-n前行,-#指定行数)
tail:查看文本后行内容(-c后字节,-n后行,-#指定行数,-f跟踪新追加的内容)
cut:按列抽取文本
(-d指明分隔符 默认tab,-f第几字段(#,#,#不连续)(#-#连续),-c按字符切割)
paste:合并文本(-d指明分隔符 默认tab,-s所有行合成一行显示)
wc:计数(-l行总数,-w单词总数,-c字节总数,-m字符总数,-L最长行长度)
sort:整理文本(-n按数字 -r反方向)
uniq:整理重复数据(-c每行重复次数 -d只显示重复行 -u只显示不重复行)
diff:比较文件(-u将输出统一格式)
patch:比较文件(复制在其他文件中进行的改变,谨慎使用)
(-b自动备份改变的文件)
grep:文本过滤工具
(-v显示未匹配行 -i忽略大小写 -o仅显示匹配的字符串 -e逻辑或 -q静默模式
-n显示匹配的行号 -E扩展正则表达式)
sed:文本编辑工具(行编辑器)
(-n不自动打印 -i.bak备份并原处编辑 -e多点编辑 -r支持扩展正则表达式 -f指定文件)
('p' '2p'第二行 '1~2p'奇数行 '//p'模式匹配 'd'删除 'a'行后 'i'行前 'c'代替行
'w'模式匹配文件写入指定文件中 'r'指定文件追加至模式匹配文件
('s///'搜索替换)
awk:文本报告生成器
(eg:awk '{print $1,$3}' /etc/passwd(默认空格为分隔符),
awk -F: '{print $2\t$5}' /etc/passwd )
七、文件查找和压缩
locate:非实时查找(数据库查找)
(-i不区分大小写 -n列举前n个 -r支持基本正则表达式)
find:实时查找(find [选项]... [查找路径] [查找条件] [处理动作])
(查找条件:-name -iname -inum -link -regex(模式匹配) -type -user -group
-uid -empty -size -atime -amin -perm -a -o -not)
(处理动作:-print(默认) -ls -delete -fls保存为文件 -ok执行时确认
-exec执行其他命令)
xargs:某些不支持管道符输入的命令如ls,find,等,可用 |xargs
(xargs用于产生某个命令的参数,xargs可以读入stdin的数据,并且以空格符或回车符
将stdin的数据分隔成为参数)
compress:压缩后缀为.Z(-d解压缩 -c标准输出 -v显示详情)
uncompress:解压缩
gzip:压缩后缀为.gz(-d解压缩 -c标准输出 -#指定压缩比)
gunzip:解压缩
bzip2:压缩后缀为.bz2(-d解压缩 -k保留原文件 -#指定压缩比)
bunzip2:解压缩
xz:压缩后缀为.xz(-d解压缩 -k保留原文件 -#指定压缩比)
unxz:解压缩
zip:打包压缩后缀为.zip(-r打包压缩)
unzip:解包解压缩(-p标准输出)
zcat:不解压缩前提下查看文件内容(支持.Z .gz)
bzcat:不解压缩前提下查看文件内容(支持.bz2)
xzcat:不解压缩前提下查看文件内容(支持.xz)
tar:磁带归档(-f指定档案文件 -c创建归档 -p保留权限我-v详细信息 -t档案列表 -r追加
-x展开归档 -C改变目录至 归档并压缩(-Z:compress,-z:gzip,-J:xz,-j:bzip2) -exclude排除文件)(常用组合-cpvf -xvf -tvf)
split:分割tar文件
cpio:复制文件从或到归档
八、软件包管理
rpm:管理程序包(-i安装(-v -vv详情 -h显示进度)-F升级 -e卸载 -V校验
-q查询(-a所有包 -f查询指定文件所属的程序包 -l程序包生成的所有文件 -i详细信息 -p针对未安装程序包 -c配置文件 -d文档))
(常用组合:-ivh,-qa,-ql,-qf,-qi,-qc,-qd,-qpl)
yum-config-manager:管理yum仓库(--disable 禁用,----enable启用)
yum:管理centos程序包rpm(repolist显示仓库列表 list显示程序包列表 install安装程序包 remove卸 载 update升级 check-update检查可用升级 info信息 provides指定某特性 或文件所属程序包)
dnf:管理centos程序包rpm(与yum一致)
dpkg:Ubuntu软件管理,针对deb程序包
apt:Ubuntu软件管理,针对deb程序包(功能更强大)
ldd /PATH/TO/BINARY_FILE:查看二进制程序所依赖的库文件
ldconfig:加载配置文件中指定的库文件
/sbin/ldconfig –p:显示本机已经缓存的所有可用库文件名及文件路径 映射关系
九、磁盘存储和文件系统
lsblk:列出块设备
fdisk:创建或管理MBR分区(-l查看分区)
gdisk:创建或管理GPT分区
parted:高级分区操作(实时生效,小心使用)(-l列出分区信息)
cat /proc/partations:查看内核是否已经识别新的分区
partprobe:centos5,7同步分区表
partx:centos6中通知内核重新读取硬盘分区表 (-a新增分区 -d删除分区)
ls /lib/modules/`uname -r`/kernel/fs:查询支持的文件系统(ext4,xfs等)
cat /proc/filesystems:当前支持的文件系统
mkfs:创建文件系统(mkfs.FS_TYPE /dev/DEVICE(想当于-t))(-L设定卷标)
mke2fs:创建ext文件系统 (-t指定类型 -b指定大小 -L设定卷标)
blkid:查看块设备属性信息(-U根据uuid查找 -L根据卷标查找)
e2label::管理ext系列文件系统的LABEL卷标
findfs:查找分区
tune2fs:重新设定ext系列文件系统可调整参数的值(-l查看超级块信息 -L修改卷标 -U修改uuid)
dumpe2fs::显示ext文件系统信息,将磁盘块分组管理
xfs-info:显示已挂载的 xfs 文件系统信息
fsck:文件系统检测和修复(-a自动修复 -r交互式修复)
e2fsck:ext系列文件专用的检测修复工具(-y自动回答yes -f强制修复 -p自动修复)
xfs_repair:xfs系列文件专用的检测修复工具(-f修复文件 -n只检查 -d)
mount:挂载(umount 设备名|挂载点)(-t指明挂载的文件系统 -r只读挂载 -w读写挂载
-a挂载/etc/fstab中的所有文件系统 )
umount:卸载
cat /proc/mounts:查看内核追踪到的已挂载的所有设备
findmnt:查看挂载情况
lsof:查看正在访问指定文件系统的进程
fuser:(-v查看正在访问指定文件系统的进程 -km终止所有在正访问指定的文件系统的进程)
swapon:启用swap交换分区(-a激活所有 -p指定优先级(/etc/fstab第4列中:pri=value ))
swapoff:禁用swap交换分区
eject:弹出光盘(-t弹入光盘)
mkisofs:创建ISO文件
wodim:刻录光盘
lsusb:查看USB设备是否识别
df:查看文件系统空间占用状态(-h方便查阅方式显示)
du:查看某目录总体空间占用状态 (-h方便查阅方式显示)
dd:转换或复制文件
(if=file of=file bs=size指定块大小 count=n复制n个bs skip=从开头忽略ibs块大小 seek从开头忽略obs块大小 conv=conversion用指定的参数转换文件 )
mdadm:为软RAID提供管理界面(-C创建 -F监控 -r移除)
cat /proc/mdstat:观察md的状态
pv:
pvs:简要显示pv信息
pvdisplay:显示pv信息
pvcreate:创建pv
pvremove:移除pv
vg:
vgs:显示卷组
vgdisplay:显示卷组
vgcreate:创建卷组
vgremove:删除卷组(先pvremove)
vgextend:扩展卷组
vgreduce:缩减卷组
lv:
lvs:显示逻辑卷
lvdisplay:显示逻辑卷
lvcreate:创建逻辑卷
lvremove:删除逻辑卷
lvextend:扩展逻辑卷
lvreduce:缩减逻辑卷
十、网络协议和管理
dmesg |grep –i eth :查看网卡
ethtool -i eth0:查看网卡
modprobe:装载网卡驱动(-r卸载网卡驱动)
rmmod:卸载网卡驱动
ifconfig:配置网络接口(-a)
route:路由管理(-n查看 add添加 del删除)
(route add -host 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0)
netstat:显示网络连接信息(通过遍历proc来获取socket信息)
(-t tcp协议相关 -u udp协议相关 -l处于监听状态 -a所有状态
-n以数字形式显示ip和端口 -e扩展格式 -r显示路由表 -i显示接口统计数据)
(常见组合:-tan,-uan,-tnl,-unl)
ss:显示网络连接信息(使用netlink与内核tcp_diag模块通信获取socket信息)(用法同netstat)
ip:配置网络属性(addr地址 router路由)
hostname:配置当前主机的主机名
getent hosts:查看/etc/hosts 内容
dig:(-t A dns正向解析 -x反向解析)
host:(-t A 正向解析 -t PTR反向解析)
nmcli:地址配置工具
ping:测试网络连通性
traceroute:跟踪路由
tracepath:跟踪路由
mtr:跟踪路由
十一、进程、系统性能和计划任务
pstree:展示进程树
ps:查看进程(a所有终端进程 u所有者信息 x包含不链接终端进程 o定制属性 -e所有进程
-f完整格式 -F更完整格式 -H层级格式显示)
(常见组合:aux,axo,-ef,-eFH,-eo)
pgrep:搜素进程
uptime:显示当前时间,系统启动时间,上线人数等
w:类似uptime
top:进程管理工具
htop:进程管理工具(epel源)
free:内存空间使用状态(-h易读模式)
vmstat:虚拟内存信息
procs:进程个数(r可运行的 b睡眠态的)
memory:内存总量
swap:交换速率(si磁盘到内存 so内存到磁盘)
io:速率(bi块设备到系统 bo系统到块设备)
system:速率(in中断速率 cs进程切换速率)
cpu:花费时间
iostat:统计CPU和设备IO信息
iftop:显示带宽使用情况,(epel源 )
pmap:进程对应的内存映射
glances:系统监控工具(epel源)
dstat:系统资源统计(代替vmstat,iostat)
iotop:监视磁盘I/O使用状况
nload:查看网络实时吞吐量(epel源)
lsof:查看当前系统文件
kill:向进程发送控制信号(-1重读 -2ctrl+c前台停止 -3ctrl+\ -9前台强制杀死 -15前台停止
-18后台继续运行 -19后台休眠)
jobs:查看当前终端所有作业
at:指定时间点,执行一次性任务(一次性作业)
batch:系统自行选择空闲时间去执行此处指定的任务
cron:周期性运行某任务
crontab:用户cron任务(重复性作业)
十二、系统启动和内核管理
lsmod:
modinfo:
modprobe:
depmod:
insmod:
rmmod:
十三、加密和安全
md5sum:计算和检查MD5值,可用于两个文件是否相同的校验
gpg:
openssl:
rand:
ssh:远程连接工具
ssh-kengen:按三次回车,生成公钥私钥
ssh-copy-id:复制公钥到远程主机,实现免密登录
ssh-agent:认证代理
ssh-add:将私钥标识添加到身份验证代理
scp:远程复制
rsync:
sftp:
pssh:
pscp.pssh:
pslurp:
sudo:
visudo:
十四、网络时间服务与chrony
chronyc: help命令可以查看更多chronyc的交互命令
timedatectl:时间工具
system-config-date:图形化配置chrony服务的工具
十五、域名系统DNS服务
named-checkconf:主配置文件语法检查
named-checkzone "magedu.com" /var/named/magedu.com.zone:解析库文件语法检查 rndc reload:配置生效
service named reload:配置生效
dig:
host:
nslookup:
rndc: