目录
linux概述:
linux是一种开源的Uxin-like操作系统。他是一个多用户、多任务、多线程、多处理器操作系统,具有强大的安全性何稳定性。
Linux中常用命令:
type:查询命令是内部命令还是外部命令
help:内部帮助命令(外部:--help)
pwd:查看当前目录
cd:切换当前目录
ls:列表显示目录
- -l:长格式显示
- -a:所有文件显示
- -d:显示目录本身
- h:人性化显示
- -R:递归指定目录其子目录的所有内容
du:统计目录及文件的空间占用情况
- -a:磁盘所有文件显示
- -h:人性化显示
- -s:统计每个参数占用空间,不包含子目录
mkdir:创建新的目录
- -p:嵌套创建目录
touch:创建空文件
ln: 创建链接
- -s:源目录文件
cp:复制文件或目录
- -f:强制复制覆盖文件
- -i:覆盖目标同名文件提醒
- -p:复制时保持原文件
- -r:递归复制所有子文件
rm:删除命令
- -f:强制删除不提醒
- -i:删除提醒用户确认
- -r:递归删除
rmdir:删除空目录
clear:清屏命令
locale:查看字符集
mv:移动命令
which:查找命令文件存放
alias:别名
- unalias:取消别名
- \:临时取消别名
mount命令:挂载文件
- unmount:取消挂载
- mount -o usrquota,gropquota 挂载指定支持用户和组限制
关闭防火墙
- 临时关闭:systemctl stop firewalld
- 永久关闭:systemctt disable firewalld
- 查看是否关闭:systemctl status firewalld
关闭selinux
- 临时关闭:setenforce 0
- 永久关闭:vim /etc/selinux/config
- 修改为:SELINUX=disabled
重启关机
重启:reboot shutdown -r now
关机:poweroff shutdown -h now
df-hT:查询磁盘大小
fidsk:分区规划磁盘
- fidsk -l:查看磁盘
- d:删除一个分区
- m:打印这个菜单
- n:添加一个分区(p:主分区;l:逻辑分区;e:拓展分区)
- p:打印分区表格
- t:修改一个分区的系统id(分区类型)
- w:写入磁盘表并且退出(保存分区)
- q:不保存退出
gdisk:超过2T分区规划(操作与fdisk相同)
parted:超过2T分区规划
- --help:帮助
- quit/q:保存退出
- mkladel:改变硬盘文件类型
- mkpart:分区
- rm:删除某分区,后面跟分区号
mkfs:创建文件系统
- -t:指定文件系统(格式化)
systemctl:服务启动、关闭、停止、查看状态
- star:启动
- stop:停止
- restart:重新启动
- reload:重新加载
- status:查看状态
- runlevel:查看系统运行级别
- poweroff:关闭当前系统
- reboot:重启当前系统
- enable:开机自动启动
- disable:开机自动关闭
- is-enabled:查看开机启动状态
ntsysv:优化开机自动加载服务(防图形交互界面)
runlevel:查询运行级别
exit:退出
init 切换init级别
- 1:单用户
- 2:多用户
- 3:多用户无网络
- 4:备用
- 5:图形化
- 6:重启
echo:回显输入
reboot:重启系统
poweroff:关闭系统
mkswap:创建虚拟内存
swapon:开启虚拟内存
swapoff:关闭虚拟内存
history:查看之前使用过的命令
pstree:查看进程树
- -p:列出PID号
- -u:列出对应用户名
- -a:列出完整信息
tree:查看目录文件数
hostname:修改主机名
- hostname "主机名" :临时修改主机名
- vim /etc/hostname:永久修改主机名
- hostnamectl set-hostname:临时永久修改主机名
bash:切换shell
tee:输出内容到屏幕
- -a:追加内容
linux中的查找命令:
find:查找文件或目录
- -name:按名字进行查找
- -size:按文件大小查找
- -user:按文件类型查找
- -a:而且
- -o:或者
- -mtime:(时间:天)
- mmin:(时间:分钟)
查找本目录下文件并将其删除
- find . type -f |xargs rm -rf
- find . type -f -exec rm -rf {} \ ;
- rm -rf $ (find .type f) $()提取括号内的值
cat:查看文件内容
- -n:显示符号
tac:反向查看文件内容
nl:带序号查看文件内容
more:分页查看文件内容
less:分页查看文件内容
head:查看文件开头内容
tail:查看文件尾部内容
- -#:代表数字显示#行
- tail -f:实时监控内容
wc:统计文件内容中行数、单词数、字节数
- -l:统计行数
- -w:统计单词个数
- -c:统计字节数
grep:检索、过滤文件内容
- -i:查找内容忽略大小写
- -v:反转查找(排除“”内容)
- -E:支持扩展正则
- -w:限制范围
- ^:代表以什么开头
- $:代表以什么结尾
linux中关于包操作命令:
gzip:压缩文件(后缀.gz)
gunzip:解压缩文件
bzip2:压缩文件(后缀bz2)
unzip:解压zip格式包
bunzip2:解压缩文件
tar:归档和释放工具(tar命令选项可以不用加-)
- czvf:创建归档和压缩
- tvf:查询包内容
- xf:解包(解压到当前工作目录)加-c(指定解压)
源代码编译安装文件步骤
- tar解包
- ./configure配置
- make编译
- make install安装
rpm:rpm安装命令
- -q:查询rpm文件是否安装
已安装后面跟软件名
- -qa:显示所有安装过的软件
- -qi:查询所有安装过的软件信息
- -ql:查看安装程序具体安装目录
- -qf:查询文件属于哪个rpm包
未安装后面跟rpm包全名
- -qpi:查看未安装软件包详细信息
- -qpl:查询未安装包将要安装的目录
安装卸载升级
- -ivh:安装 "rpm包全名"
- -e:卸载 ”软件名"
- -Uvh:升级 "rpm包全名"
- -Fvh:升级 "rpm包全名
- --force:强制安装
- --nodeps:强制卸载
rz:从宿主机到虚拟机上传文件
sz:从虚拟机到宿主机上传文件
yum:yum本地仓库
wget:下载
下载阿里云网络源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrrs.aliyun.com/repo/epel-7.repo
linux中的编辑命令:
vi:文本编辑工具
vim:文本编辑工具
linux中关于用户和文件的命令:
/目录下各目录存放的文件
- boot:系统内核启动文件存放地
- bin:存储普通命令
- sbin:存储特殊命令(root管理员下操作的命令)
- dev:存放设备文件
- etc:存放配置文件
- root:超级管理员用户的家目录
- home:普通用户的家目录
- usr:存放用户的应用程序
- rar:存放系统中需要变化的文件
- media:镜像文件
- port:存放进程内存cpu信息
- tmp:临时文件
useradd:添加用户账号
- -u:指定uid标记号
- -d:指定宿主目录,缺省默认为/home/用户名
- -e:指定账号失效时间
- -M:不为用户建立初始化宿主目录
- -s:指定用户的登录shell
- -g:指定用户的基本组名(或gid号)
- -G:指定用户的附加组名(或gid号)
passwd:为账户添加密码
- -d:清空密码
- -l:锁定用户账户
- -s:查看用户账户状态
- -u:解锁用户账户
usermod:修改用户属性
- -u:修改uid标记号
- -d:修改宿主目录
- -e:修改指定账号失效时间
- -s:指定用户的登录shell
- -g:修改指定用户的基本组名
- -G:修改指定用户的附加组名
- -l:更改用户账号的登录名字
- -L:锁定用户账号
- -U:解锁用户账户
userdel:删除用户账号
- -r:递归删除
htpasswd:创建密码文件
- -c:创建文件
- -b:从命令线创建
su:切换用户
- -(-l):切换后直接到宿主目录
sudo:提升用户权限
visudo:配置sudo权限
users:查询当前登录情况
last:查看最近一次登录用户
lastlog:所有用户最后登录时间
lastb:查看没登录成功的用户
groupadd:创建组
groupdel:删除组
gpassword:添加、设置、删除组成员
- -a:向组内添加一个用户
- -d:向组内删除一个用户成员
- -M:定义组成员列表,以逗号分隔
groups:查看用户所属的组
id:查询用户身份标识
finger:查询用户账号登录属性
w:查询已登录主机用户信息
who:查询当前登录到主机的用户
whoami:查询当前登录账号名
chmod:修改目录文件属性
chown:修改目录文件归属
umask:默认umask值(022)
chattr:锁定文件
- +:锁定 (i:无法修改添加;a:只能添加不能修改)
- -:解锁
lsattr:查看文件锁定状态
chage:修改密码权限
- -M:修改密码有效天数
- -d 0:下次登录强制修改密码
linux关于磁盘的的命令:
pvscan :扫描物理卷
pvcreate:创建物理卷
pvdisplay:显示物理卷信息
pvremove:删除物理卷
vgscan:扫描卷组
vgcreate:创建卷组
vgdisplay:显示卷组信息
vgremove:删除卷组
vgextend:扩展卷组
vgreduce:减少卷组
lvscan:扫描逻辑卷
lvcreate:创建卷逻辑卷
- -L:容量大小
- -n:卷组名
lvdisplay:显示逻辑卷信息
lvremove:删除逻辑卷
- -L:大小
lvextend:扩展逻辑卷
- -L:大小
lvreduce:减少逻辑卷
xfs_growfs:重新识别xfs
xfs_quota:设置磁盘配额
- x:专家模式
- -c:调用管理命令(limit)
- -u:代表用户
- -g:代表组
- -v:详细信息
- xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用户名' /挂载点:设置磁盘配额
- xfs_quota -x -c 'quota -uv 用户名' /挂载点:显示块详细信息
- xfs_quota -x -c 'quota -iuv 用户名' /挂载点:显示文件详细信息
- xfs_quota -x -c 'report-abi':查看磁盘配额使用
dd:设备转换命令
- dd if=/dev/zero of=/挂载点/挂载点下创建的目录 bs=N count=N
- if(input file):输入文件
- of(output file):输出文件
- bs(block size):块大小
- count:数量
- /dev/zero 取之不尽
mdadm:创建RAID命令
- mdadm -Cv /dev/md0 -a yes -n4 -x1 -l5 /dev/sd[cdefg]1:创建RAID5
- mdadm -vDs:扫描RAID详细信息(全部)
- /etc/proc/mdstat:存放RAID信息文件
- -C:创建
- -v:详细信息
- /dev/md0:RAID5名称
- -a:创建设备文件
- yes:自动执行
- -n:指定使用几块硬盘创建RAID
- -l:指定RAID级别
- /dev/sd[]1:指定几块分区
- -x:指定备用分区
- -D:打印一个或多个磁盘备用信息
- -s:扫描设备列表(全部)
- -f:模拟损坏
- -r:移除损坏硬盘
- -a:添加新硬盘
关于进程、内存、cpu等的命令:
ps:查看进程状态信息
- aux
- -elf
top:命令查看动态进程信息
- p:cpu占用情况进程排序
- M:内存占用情况进程排序
- N:启动时间进程排序
- h:获得top进程帮助信息
- q:退出top程序
- r:修改一个PID
- k:杀死一个进程
htop:人性化方式查看进程信息
pgrep:查询进程PID号
- -l:显示名称
- -U:查询特定用户进程
- -t:特定终端运行进程
uname -a:查看内核版本
- cat /etc/readhat-release:查看发行版本
jobs:查看后台运行进程
- -l:显示信息
bg:将后台暂停文件恢复后台执行
fg:将后台执行文件恢复前台执行
kill:终止进程
- -9:强制杀死
killall:终止所有后台的进程
- killall -1 nginx 平滑重启nginx
- killall -3 nginx 正常停止nginx
pkill:终止特定后台进程
- -U:指定用户
- -t:指定终端
- -l:显示名称
- -9:强杀
free:查看内存使用情况
- -m:以MB方式显示
关于日期、时间、定时任务的命令:
date:用来显示和设置系统日期、时间
- 格式:date+%字符
- 年月日:date+%Y -%m -%d =%F (%Y:年 %m:月 %d:天 %F:年月日)
- 时分秒:date+%H -%M -%S=%T (%M:时 %M:分%S:秒 %T:时分秒)
- 设置日期时间:date -s 任意格式
hwclock=clock:主板时间
- -s --hctosys:把硬件时间写入系统
- -w --systohc:把系统时间写入硬件
cal:显示日历
at:一次性定时任务
- at+时间
- 执行的命令
- ctrl+d结束
atq:显示设置定时任务
atrm:删除设置定时任务
crontab:周期性定时任务
- -e:编辑计划
- -l:查询
- -u:用户
- -r:删除计划
关于网络、服务、连接方面的命令:
nmap:网络扫描
stat:查询文件indode信息
df -i:查看每个硬盘对应的inode数和总数
extundelete:EXT数据恢复工具
- --restore-all:修复
extundelete /dev/sdb1 --restore-all
xfsdump:XFS数据备份工具
- -f:指定备份文件目录
- -s:备份单个文件
- -I:查看备份信息
xfsdump -f /opt/dump_sdb1 /dev/sdb1:备份文件系统
>dump_sdb1 >sdb1:备份会话标签
xfsrestore:XFS数据恢复工具
xfsrestore -f /opt/dump_sdb1 /目录:恢复删除文件到目录下
ifconfig:查看网卡配置信息
ip a:查看网卡配置信息
route:查看路由条目
- -n:查看完整信息
netstat:查看网络连接情况
- -a:显示主机所有网络连接信息
- -n:以数字形式显示相关的主机地址
- -l:显示处于监听状态的端口网络端口信息
- -t:查看TCP
- -u:查看UDP
- -p:查看PID
ss:查看网络连接情况
ping:诊断网络连接
- -W:超过时间
- -c:指定次数
- -i: 间隔时间
traceroute:跟踪数据包路由途径
nslookup:DNS域名 解析
dig:域名解析
tcpdump:抓包工具
- -nn:数据形式显示
- -i:指定网络接口
- prot:指定端口
curl:访问网页
named-checkconf:对配置文件进行语法检查
- -z:加载主配置文件中对应的数据库文件
ssh:远程连接
scp:远程复制
- -r:拷贝目录(递归)
- 本机拷贝过程: scp本机路径加文件 用户名@ip地址|主机名:路径/文件
- 远程拷贝到本机:scp 用户名@ip地址|主机名 路径/文件 本机路径加文件
sftp:远程上传下载文件
- put :上传文件
- get :下载主文件
- bye :退出登录
ssh-keygen:创建密钥对
- -t:指定算法
ssh-copy-id:导入公钥文件
- -i:指定公钥文件
showmount -e:查看本机发布的NFS共享记录
rsync:远程复制、同步、远程备份
- -avz:详细模式输入提高效率以递归方式传输文件
- -v:增倍
- -tv:完备
- --delete:目标目录源目录数据保持一致
inotifywait:监控目录文件所有状态
- -m:启动监控模式
关于变量的一些命令:
read命令:给变量输入信息
- -p:添加设置提示信息
export:将指定变量加入环境变量
- 临时加入:export 变量名
- 永久加入:vim /etc/profile最后一行加入export 变量名
unset:取消环境变量
- unset 变量名
- 取消后子shell中没有,父shell则存在
expr:整数变量运算
- expr 变量1 运算符 变量2 [ 运算符 变量3 ] ...
- +:加 -:减法 \*:乘法运算 /:除法 %:取余
- 计算数的三次方:$数值 \*$数值 \*$数值
readonly:将变量定义为只读变量
- readonly 变量名
test:条件表达式
[ 条件表达式 ]
- -d:测试是否为目录(Directory)
- -e:测试目录或文件是否存在(Exist)
- -f:测试是否为文件(File)
- -r:测试当前用户是否可读(Read)
- -w:测试当前用户是否可写(Write)
- -x:测试当前用户是否可(excute)
env:查询环境变量
sh:执行脚本
- -x:检测脚本执行过程情况
- -v:详细信息
关于正则的一些命令:
egrep:匹配扩展正则
sed: 强大的文本解析转换工具
- -e:默认 如果有两个或两个以上操作的时候,每一个用-e
- -f:指定脚本
- -h:帮助
- -n:输出修改的行;如果没有就输出全部,输出到屏幕但没改变文件
- -i:修改文件内容,不显示内容
awk:强大的文本解析工具
- -F:指定分隔符
cut:切割内容
- -d:指定分割符
- -f:指定列数
sort:对文件内容进行排序
- -r:反向排序
- -n:按数字进行排序
- -t:指定分隔符
- -k:指定列
uniq:忽略文件重复行
- -c:进行计数
- -d:仅显示重复行
- -u:仅显示出现一次的行
tr:标准输入的字符进行替换、压缩和删除
- -c:取代所有不属于第一字符集的字符
- -d:删除所有属于第一字符机的字符
- -s:把连续重复的字符以单独一个字符表示
- -t:先删除第一个字符集比较第二个字符集多出的字符
join:将共同序号文件中文件内容合并
- join 文件1 文件2
diff:检测两个文件的不同处
- diff 文件1 文件2
vimdiff:进入vim查看两个文件的同处
- vimdiff 文件1 文件2(退出按两次ZZ)
ulimit -n:查询文件描述符
- ulimit -n 参数:修改文件最大打开数量
关于一些服务的命令:
mysqladmin:修改mysql密码
- -u:指定用户
- -p:指定密码
- -h:指定IP地址
mysql:登录mysql数据库
- -u :指定用户
- -p:指定输入密码
ipvsadm:LVS部署
- -A :添加虚拟服务器
- -t :添加vip
- -s :指定算法 [ 轮询(rr)、加权轮询(wrr)、最少连接(lc)、加权最少连( wlc) ]
- -a: 添加服务节点
- -r :指定服务节点
- -m :使用NAT模式
- -w :指定权重
- -L :以列表形式查看
- -n :以数字形式查看
- -c :查看负载连接
- -d :删除其中一个服务节点
- -D :删除此虚拟服务器
- -C: 清除规则
- -i :使用TUN模式
- -g :使用DR模式
nginx:启动nginx
- -t:检测配置文件语法是否正确
- -c:接配置文件(非默认使用此选项)
- -v:查看版本
- -V:查看版本和编译信息
- nginx reload 重新加载
- nginx stop 停止