liunx常见指令
linux目录结构
bin:存储普通命令
sbin:存储超级命令
home:存储普通用户
root:存储超级用户
usr /usr/local:下存储数据或软件,通常软件都放在其中
tmp:临时目录 迎来存放临时数据,包括一些日志文件
常用命令1:
ifconfig 查看网络
service network restart 重启网络
hostname 查看主机名
hostnamectl set-hostname XXX 修改主机名(永久)
systemctl status firewalld.service 查看防火墙状态
systemctl stop firewalld.service 关闭防火墙状态(开机自启)
systemctl disable firewalld.service 关闭防火墙开机自启动(需要和上一步一起操作实现一直关闭防火墙)
常用命令2:
man XXX 帮助手册
cd / linux根目录(bin.sbin,ect这些等等) cd ~用户的家目录 cd XXX 进入xxx目录 cd .. 返回到上级目录
ls 查看简写内容 ll 详细内容 (-a 加了表示可以看隐藏文件)
mkdir -p 可以创建多级文件夹 rmdir -p 删除多级文件夹(只能删除空目录)
touch 创建空白文件
rm-rf -f跳过提示信息 -r强制删除
rm -rf a* 删除以a为开头的文件 rm -rf ?b* 删除第二个字母是b的文件
cp -r 可以复制目录 复制过程也可以对名称修改 mv 剪切,移动
vim因为意外终止,会残生交换文件(隐藏的),和源文件在同一级 :q 退出 :w 保存 :wq保存退出 (前面加上!表示强制)
编辑模式:i在当前光标插入 o在下一行插入 切换:行首 home/0 行尾:end/$ 开头:gg 结尾:G
增加映射:windows:映射文件在C:\Windows\System32\drivers\etc\hosts linux:映射文件在/etc/hosts
常见命令3:
cat 查看文件 -n显示行号
more 分页查看 回车:显示下一行 s:显示下一页 d:显示下一页的一部分 空格:下一页 退出:q cltr+z cltr+c
less分页查找查看 可以通过 /XX 来查找XX 回车:显示下一行 空格:下一页 上键:上一行内容 下键:下一行内容
head -数字 从头开始显示多少行 (默认10行)
tail -数字 从尾开始显示多少行(默认10行) -f 显示当前文件追加数据 用来查询日志自动更新
用户和用户组:/etc/passwd /etc/group
用户:cy:x:1000:1000:cy:/home/cy:/bin/bash
cy:用户名
x:加密的密码
1000:用户编号
1000:组编号
cy:用户全名称
/home/cy:所在位置
/bin/bash:可执行命令
useadd:添加用户
passwd:修改密码
su:切换用户 root切换要普通用户不用输入密码
userdel:删除用户 userdel -rf 用户名
f:删除登录用户
-r:删除用户和用户相关文件和目录
-rf:删除登录用户和登录用户相关文件和目录
注意:用户主目录在/home,通信文件在/var/spool/mail/
使用-f时,用户相关文件和目录不会进行删除
groupadd:创建组(普通组,创建用户时会自动创建组叫主组)
groupdel:删除组(只能删除普通组) 主组只能随着用户的消失而消失
gpasswd:管理用户和组 gpasswd [选项] 用户 组
-a:添加 -d:删除
注意:组默认是没有任何用户的
添加一个用户到组的时候,可以添加到普通组,别的主组和本身的主组
如果是普通组,无论组下是否有用户都可以直接删除
如果是主组并且主组下面有用户,删除用户时主组不会删除(主组变成普通组)
权限查看:
- rw- r-- r--. 1 root root 181 3月 15 15:34 test.txt 第一个root是用户,第二个root是组
开头第一位表示类型 “-”表示普通文件 “d”表示目录文件
r:读 (4) w:写(2) x:执行(1)
第一个三位表示当前用户权限(u),第二个当前用户组权限(g),第三个其他用户权限(o) a 所有
eg. chmod o+w test.txt
chmod:修改权限 -R:迭代修改 eg. chomd -R 777 show(修改show目录的权限和其所有子的权限)
chgrp:修改用户组 chgrp [选项] [组名] [文件或目录] -R:表达迭代修改
注意:文件或目录的所有用户或所有组,都是以编号来查询所有用户或所有组
如果不存在就显示编号,存在显示名称
chown:修改所属用户 chown [选项] [组名] [文件或目录]
sudo:越权执行 :注意:sudo实际上去借root权限执行命令(root对普通用户分配了权限)
sudo -l:查看当前权限
visudo:修改配置文件进行权限分配(文件所在位置/etc/sudoers) vim /etc/sudoers
例如:普通用户拥有root所有权限
用户名 ALL=(ALL) ALL
用户名 ALL=(root) ALL
例如:普通用户只能执行一个命令
用户名 ALL=(root)/bin/rm
查找find: find 开始查找路径 [选项] [条件]
-name *表示所有 ?表示一个 eg. find /usr/local -name 'a*' (查找a开头的)
-type d表示目录 f表示文件 eg.find /usr/local -type f(查找文件)
-size 查看文件大小命令: ll --block -size=单位(k)
+表示大于 ,—表示小于 eg.find /usr/local/ -size -2k
-user -group
Linux常见符号: | 表示管道,把前面部分交给后面的去处理 eg. cat -n /etc/profile | less
grep筛选 cat a.txt | grep hhhh 找到a.txt中hhhh的内容
>>:追加,把命令1的结果写入到命令2 cat profile >> test.txt
>:覆盖 cat profile > test.txt
软件包管理(rpm) rpm [选项] [软件名称] [后缀] RPM(RedHat Package Manager)一种通过资料库管理的方式将所需要的软件安装到主机上的管理程序。
-q:查询
-a:所有
-qa:查询所有
-e:删除
后缀:
--nodeps:无视依赖关系
注意:直接-e时,如果有依赖关系,不能直接删除需要加上--nodeps后缀
tar:解压和压缩 tar [选项] [包] [路径]
-c:压缩
-x:解压
-v:显示
-z:gzip
-j:bzip
-f:使用当前名称
-t:查看
解压: -C:指定解压路径 eg: tar -zxvf jdk.tar.gz -C /usr/local/soft/
打包: 例如:把jdk从新打包 tar -cvf 包的所在位置加包的名称 所要打包的内容
配置环境变量: vim/etc/profile
jdk环境变量:export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
刷新文件:source /etc/profile
克隆虚拟机时的步骤:
1.永久修改主机名 hostnamectl set-hostname node1或node2
2.修改ip vim/etc/sysconfig/network-scripts/ifcfg-ens33 然后重启网络 service network restart
3.加上映射关系 window下 C:\Windows\System32\drivers\etc\hosts
linux下 /etc/hosts
4.ssh免密登录:只需要在master下执行
ssh-keygen -t rsa 创建秘钥(一直回车) 文件创建在 root/.ssh/id_rsa
ssh-copy-id 主机名或ip地址(分发三台)
注意:如果执行出错,进入/root/.ssh删除里面所有内容,从新执行
5.scp文件分发:scp [选项] 文件路径 主机名:发送的位置 -r分发目录
6.查看开机默认启动模式 systemctl get-default
修改开机为命令行模式 systemctl set-default multi-user.target (指没有虚拟机桌面界面)