ip addr:查看ip地址信息
su [xx] (su:switch user):更换用户,如果直接写su表示换成管理员账号
pwd (print working directory):打印当前所在路径
cd xx (change directory):切入文件夹
cd ..:返回上一级文件夹
cd /:返回根路径
ll:打印当前文件夹下的所有子文件和子文夹的详细信息,ll -a表示打印所有隐藏文件
ls:打印当前文件夹下的所有子文件和子文夹的名称,ls -a表示打印所有隐藏文件,ls -l和ll效果相同
clear:清空命令行
history 历史记录
history -c 历史记录不显示
cmd终端连接虚拟机 ssh root@IP地址
时间设置
timedatectl set-ntp no
timedatectl status 查看时区状态
timedatectl set-timezone"Asia/Shanghai" 设置上海时区
yum install ntpdate -y 导入ntpdate
date 查看当前时间
ntpdate ntpl.aliyun.com 设置成功
mkdir xx :在当前路径下创建一个文件夹
mkdir -p aa/bb/cc :创建多级文件夹
mv:(1)移动位置:mv ./a.txt /usr/local/test/ 将当前目录下的a.txt文件移到test中
(2)重命名:mv b.txt /usr/local/test/b.txt 将b.txt移动到test中并重命名为b.txt
rm:移除文件(-r:移除文件夹,同时删除该文件夹下的所有文件和子文件夹,-f:强制删除文件,-rf:强制删除文件夹)
rm -rf ./*.txt 删除当前目录下的所有txt文件
cp:复制文件
cp -r aa bb :将aa文件夹以及下面所有子文件复制到bb中
cp ./a.txt /usr/local/test/ :将当前目录下的a.txt复制到test中
touch fileName :创建一个文件
vim xxx:创建一个空白文件,并进入编辑界面,如果文件存在则直接进入编辑页面
i:在当前光标处,进入编辑模式
a:在当前光标后一格,进入编辑模式
o:在当前光标下一行,进入编辑模式
一般模式:在该模式下是不能对文本直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)
编辑模式:在该模式下可以对文件的内容进行编辑
底行模式:可以在底行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等)
:set number/nu 显示文件行数
:set nonumber/nonu 关闭文件行数
:数字或者 数字 + G 定位到第n行
数字+方向键 向上/下移动n行 向左/右移动n字符
gg 移动到文件第一行
G 移动到最后一行
shift + 6 光标1移动到行首
shift + 4 光标移动到行尾
ctrl + b 或 PgUp 向上翻屏
ctrl + f 或 PgDn 向下翻屏
:u 撤销
u 撤销
ctrl+r 反撤销
yyp 复制当前行到下一行
yy 复制
p 拷贝到下一行,根据光标移动
可视化复制
ctrl + v (可视化),然后按下方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴
dd 删除所在行
D 删除之后当前行会变成空白行
可视化删除
ctrl + v(可视化),方向键选中,D删除选中行/d删除选中选中块
:wq 保存并退出
:w 路径 另存为
:q! 强制退出不保存
cat xxx 直接查看文件所有内容
cat xxx -n 显示行号
tail -f xxx 可以用查看日志
more xxx 查看大文件时,可以一页一页的向下翻,按space向下翻页,退出时按q
nl xxx 从最后一行开始展示(显示行号)
nl xxx -ba 表示不论是否为空行,也同样列出行号(类似cat -n)
nl xxx -bt 如果有空行,空的那一行不要列出行号(默认值)
/ 内容,按N/n继续往上/下找
:noh 取消高亮
:n,%s/旧内容/新内容/g n:从第几行 $s:最后一行 g:全局替换
:1,%s/JAVA/JDK/g 从第一行到最后一行,将JAVA替换成JDK
tar命令,打包文件或者文件夹
tar [选项] 打包文件名 待打包文件1...
选项(-c:创建一个打包文件,-x:解开一个打包文件,-z:使用gzip压缩文件,-j:使用`bzip2压缩文件,-v:压缩过程显示文件,-f:使用文档名)
整体打包 tar -zcf xx.tar.gz a.txt b.txt c.txt
整体解压 tar -zxf xx.tar.gz
针对 ZIP类型
压缩 zip xx.zip a.txt b.txt c.txt
解压 unzip xx.zip
tar比zip压缩的更小
超级用户:root uid = 0
普通用户:uid = 500~60000
伪用户:uid = 1~499
什么是伪用户?伪用户不能登陆系统,也不会在/hone下创建响应的文件夹,主要是执行一些系统命令
每个用户组可以包含多个用户
每个用户至少属于一个用户组
/etc/passwd 用户信息文件
/etc/shadow 保存密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
创建用户组 grpoupadd 组名
选项(-g:设置用户组id,不指定id默认从500递增)
修改用户组名 groupmod -n 新组名 旧组名
删除用户组 groupdel 组名
显示用户所在的组 groups
注:查看用户的主组cat /etc/passwd,查看用户的附加组cat /etc/group
添加用户 useradd [选项] 用户名 创建的用户都放在/home/下面
选项(-g:设置用户主组,-G:设置用户附加组列表,多个用户组用,隔开,-u:手动指定用户id,必须唯一且大于499,-p:为新用户指定密码,但是该密码需要设置为MD5加密后的密文,所以通常单独使用passwd命令设置密码 ,-c:添加注释)
验证是否存在用户 cat /etc/passwd
验证是否存在家目录(在Centis下创建好用户之后随之产生一个同名的家目录) ls /home
修改用户 usermod [选项] 用户名
选项 (-l:-l 新用户名 旧用户名,-L:锁定用户名,-U:解锁账户)
删除用户 userdel [选项] 用户名
选项 (-r:如果带上该参数,则会一并删除该用户的主目录)
设置用户密码 passwd 用户名
注意:只有root用户才能修改指定账户的密码,普通用户只能修改自己的密码
chown
作用:可以更改文档的所属用户,也可以更改用户组
思考:如何通过一个命令实现既可以更改所属的用户,也可以修改所属的用户组呢?
语法:chown -R(加了表示递归) username:groupname 文档路径
文件类型区(d):d表示这是一个文件夹,-表示这是一个文件
用户权限区(u):表示该当前用户所拥有的权限
组权限区(g):表示同组用户所拥有的权限
其他权限区(o):表示其他非同组用户所拥有的权限
理解rwx:r表示可读权限,w表示可写权限,x表示可执行权限,-表示无
修改文件权限 :字符表示法 chmod u|g|o+r|w|x 文件名或文件夹(+添加权限,-移除权限,=覆盖当前权限)
案例:chmod u-x.g+r,o=rwx ./a.txt 在当前目录下的a.txt文件中,移除当前用户执行权限,给同组用户添加读权限,授予非同组用户读写执行权限
数字表示法(r:4, w:2,x:1)
chmod 700 a.txt 给当前用户授予读写执行权限,同组以及非同组用户没有任何权限
chmod -R 777 xx 同时授予xx文件夹下的所有子文件读写执行权限
-R :递归
poweroff 关机
reboot 重启
ip addr :查找ip地址
ping: 用来测试与目标主机的连通性
IP地址:是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址
子网掩码:是测量两个IP是否属于同一个网段的一个工具
255.255.255.0
网关:就是一个`网络连接到另一个网络的“关口”
DNS服务器:域名服务器,是进行域名和与之相对应的IP地址转换的服务器
桥接模式:和主机共享一个网段,局域网的电脑都可以访问
NAT模式:主机和虚拟机形成一个独立的局域网,只能主机访问虚拟机
仅主机模式:和NAT类似,区别是虚拟机不能上网
进行相关的ip配置
添加固定ip:IPADDR = 固定ip(网段不能随意)
GATEWAY = 网关(一般都是192.168.网段。2)
DNS1 = 和网关配置成一样
查看当前系统瞬间进程状态
ps -ef|grep xxx
停止进程
kill [-9] pid (根据pid杀死进程,-9表示强制终止)
Linux服务本质上就是进程,只是该进程运行在后台。比如sshd、mysql、防火墙等
systemctl start|stop|restart|reload|status 服务名
setup命令
开启或者关闭服务
systemctl enable service_name
systemctl disable service_name
查看防火墙状态 firewall-cmd --state
配置防火墙端口 firewall-cmd --permanent --add-port=xxx/tcp
vim /usr/lib/firewalld//services/ssh.xml
操作防火墙 systemctl start|stop|restart firewalld.service
rpm的作用类似于windows上的电脑管家中“软件管理”等产品,主要作用是对linux服务器上的软件包进行对应的管理操作,管理分为:查询、卸载、安装。
rpm -qa | grep 关键词
选项:-q:查询query
-a:全部all
rpm -e 软件的名称
注:当存在依赖关系的时候又不想去解决这个问题的时候可以用rpm -e 软件包名 --nodeps
案例:卸载Apache的时候提示无法卸载
这里显示的错误:deoendencies依赖关系
使用rpm -e 软件包名 --nodeps卸载
要想装软件,和windows下一样先得找到安装包
软件包的获取方式:
第一种:去官网下载
第二种:不介意老版本的话,可以从光盘(或者镜像文件)中读取
案例:此处以光盘文件为例
查看块状设备的信息
lsblk (全称list block devices) 查看块状设备的信息
图中Name:名称
Size:设备大小
Type:类型
MountPoint:挂载点(类似windows下盘符)
光盘的挂载和解挂
解挂操作
命令:umount
语法:umount 当前设备的挂载点(路径)
此时,相当于U盘在windows上已经被弹出了,但是没有拔下电脑USB接口
挂载光盘
命令:mount
语法:mount 设备原始地址 要挂载的位置路径
设备原始地址:地址统一都在/dev下,然后根据SIZE大小确定具体name值,拼凑在一起组成原始地址,例如当前:“/dev/sr0”
要挂载的位置路径:挂载目录一般都在mnt下,也可以在mnt下新建目录,此处以“/mnt/dvd”为例
安装软件的命令
rpm -ivh 软件包完整名称
选项:
-i:install 安装
-v:显示进度条
-h:表示以“#”形式显示进度条
操作系统不可能24小时都有人在操作,有些时候想在指定的时间点去执行任务(例如:每天夜里2点去重新启动Apache),此时不可能真有人每天夜里2点去执行命令,此时可以交给计划任务程序去执行操作
常用选项
-l :list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划任务列表
-u:user,指定的用户名,如果不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
编辑计划任务
计划任务的规则语法格式,以行为单位,一行则为一个计划
分 时 日 月 周 需要执行的命令
案例:每天的0点隔3分钟执行重启指令
*/3 0 * * * reboot
四个符号
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,例如:想每10分钟一次,则可以在分的位置写:*/10
,:表示多个取值,比如想在1点,2点6点执行,则可以在时的位置写:1,2,6
案例1:每隔两天的上午8点到11点的第3和第15分钟执行一次重启
3,15 8-11 */2 * * reboot
案例2:每1分钟往root家目录中的RT.txt中输入当前的时间信息,为了看到效果使用追加输出
*/1 * * * * date +"%F %T">>/root/RT.txt
本身是任何用户都可以创建自己的计划任务,但是超级管理员可以通过配置来设置某些用户不允许设置计划任务
配置文件位于(黑名单):/etc/cron.deny
里面写用户名一行一个
还有一个白名单:/etc/cron.allow (本身不存在,自己创建)
注意:白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默许创建计划任务。