一、linux概述:
1.为什么使用linux?
java、前端、大数据、算法->app 服务器->linux
2.概述:
文件操作系统(层级式的文件操作系统、最顶层目录/)
3.版本:
广义:ubuntu、小红帽、centos、debian...基于linux内核进行开发
狭义:centos(6.x、7.x现用7.5)
4.学习:
(1)环境准备:虚拟化软件VMware(装入不同镜像)、vbox
(2)关联linux7.x镜像
5.内核:林纳斯发明(同发明git)
二、部署linux:
1.磁盘划分(60G)
/ 根目录
/boot:linux启动时系统自身的资源 (1G)
/swap:(4G)
2.远程连接:
(1)ip:192.168.10.100(ifconfig查看ens33-inet)
(2)port
(3)username:root
三、linux基本操作:
1.[root@hadoop100 ~]#
(1)root:最高权限用户
(2)hadoop100:登录机器的机器名
(~):登录机器的用户的家目录(家目录:root->/root、xxx->/home/xxx)
2.基本命令:(1)命令帮助:命令 --help/-help/-h
命令 [选项/option]...[文件/file]...
[ ]可选、...可选多个
(2)pwd:当前光标所在目录的位置
[root@hadoop100 ~]# pwd
/root
(3)ls:查看当前光标坐在目录内容
[root@hadoop100 ~]# ls
anaconda-ks.cfg docker-20.10.9.tgz 公共 视频 文档 音乐
bigdata initial-setup-ks.cfg 模板 图片 下载 桌面
1)ll 文件名:查看某文件下内容
[root@hadoop100 ~]# ll dhy.log
2)ls -l/ll:显示文件夹详细信息
[root@hadoop100 ~]# ls -l
3)ls -l -a:显示文件夹详细信息及隐藏文件(文件或文件夹以.开头)
[root@hadoop100 ~]# ls -l -a
4)ls -l -a -h/ll -ah:显示文件大小
[root@hadoop100 ~]# ll -ah
5)ll -r -t:按照最近修改时间降序
(4)mkdir 文件名:创建文件夹
1)创建串级文件夹:mkdir -p 文件夹1/文件夹2/文件夹3
[root@hadoop100 ~]# mkdir -p dhy/d/h/y/
2)创建并级文件夹:mkdir 文件夹1 文件夹2 文件夹3
[root@hadoop100 ~]# mkdir dhy1 dhy2 dhy3
(5)cd 文件名:切换目录
1)绝对路径:光标从根目录开始的路径
cd /root/文件名/:[root@hadoop100 ~]# cd /root/dhy
2)相对路径:光标从当前目录开始的路径
cd ./文件名/
3)cd ../ 返回上一层级
./(当前路径)../(上一层级目录)
4)返回到家目录:
cd /root(ro->tab键自动填充)、cd /home/xxx
cd 回车
cd ~
5)返回到上一次操作命令的目录:cd -
(6)touch 文件名:创建文件
[root@hadoop100 ~]# touch dd.log
(7)vim/vi 文件名:编辑文件内容(没有就创建文件)
vim三种模式:
1)命令行模式:
移动光标:gg到首行、G到最后一行、数字+G到指定行、shift+^到行头、shift+&到行尾
复制+p:yy当前光标所在行、y数字y当前光标往下、
撤回u:
删除:dd当前光标所在行、d数字d删除光标往下、dG删除当前光标以下所有行
2)编辑模式
3)尾行模式
退出保存:wq!、x(wq)、快捷键shift+zz
查找关键词::进入尾行模式->/关键词+回车->n往下找、N往上找(随便输入查找内容退出)
set nu/nonu:显示/隐藏行号
4)win->1.打开文件 2.编写内容 3.保存退出
linux->1.vim 文件名 2.命令行模式(键盘输入i)->编辑模式 3.编辑模式(键盘esc)->命令行模式(键盘输入:)->尾行模式(w保存、q退出、!强制)
(8)echo "xxx":打印内容xxx
echo ''xxx" > 文件夹:打印内容并创建文件
>:创建或者覆盖一个文件
[root@hadoop100 ~]# echo "dhy" > dhy.log
>>:追加到文件最后一行
(9)/dev/null:linux真正意义的空文件
cat /dev/null > 文件名
(10)cat:显示文件全部内容(小文件)
快速定位错误:
1)cat 文件名 | grep error(|管道符:前一个命令的结果作为下一个命令的输入 grep:过滤出关键词所在行)
2)cat 文件名 | grep -A 数字 error:过滤关键词后数字行(B前、C上下)
(11)more:查看文件内容(大文件)按空格往下翻、按q退出/ctrl+c/ctrl+z
less:按空格往下翻、上下键
(12)tail:实时监控文件最新内容
1)-f
2)-F=-f -retry:持续重试监视
(13)mv:剪切和修改文件名 标准写法:mv/cp xx.log bigdata/xx.log
剪切eg:mv dhy.log ../dhy.log
改名字eg:mv 文件名 新文件名
(14)cp:复制
复制eg:cp ~dhy.log ./
(15)上传下载:xshell
命令:linux通过yum install -y lezsz命令安装一个包
rz上传 sz下载
(16)rm:删除文件 (-f无提示) 通用:rm -rf 文件名/
删文件:rm 文件名/
删目录:rm -r 文件名/
dir="$1"
path=/data/${path} *千万不能删path=/${dir}
rm -rf ${path}
ods->path=/data/ods
" "->path=/data/
(17)alias:别名(仅对于当前对话可用)
alias aa="cd /tmp" = aa等价于cd /tmp
(18)useradd:创建用户 (su - 新用户:切换用户)
(19)history:历史命令
(20)tab:自动补全(一次)、过滤(两次)
3.自定义命令:
(1)环境变量:echo $PATH
(2)配置文件:
1)全局(所有用户都可以使用):/etc/profile
2)个人(仅当前用户可用):~/.bashrc、~/.bash_profile
(3)生效:source /etc/profile、source ~/.bashrc、source ~/.bash_profile
4.用户相关命令:
(1)用户:ll /user/sbin/user*
(2)用户组:ll /user/sbin/group*
(3)创建用户:[root@hadoop100 ~]# useradd dhy
[root@hadoop100 ~]# id dhy
uid=1001(dhy) gid=1001(dhy) 组=1001(dhy)
用户名称:dhy
创建了一个用户组:
创建了一个家目录:
用户信息->[root@hadoop100 ~]# vim /etc/passwd
用户组信息->[root@hadoop100 ~]# vim /etc/group
(4)切换用户:su - 用户名
(5)样式丢失:cd /etc/skel/ ->cp ./.* ~:(恢复文件到家目录 )
(6)创建组:groupadd 组名
[root@hadoop100 ~]# id dhy
uid=1001(dhy) gid=1001(dhy) 组=1001(dhy)
[root@hadoop100 ~]# groupadd nyh
[root@hadoop100 ~]# id dhy
uid=1001(dhy) gid=1001(dhy) 组=1001(dhy)
[root@hadoop100 ~]# usermod -a -G nyh dhy
[root@hadoop100 ~]# id dhy
uid=1001(dhy) gid=1001(dhy) 组=1001(dhy),1002(nyh)
[root@hadoop100 ~]# usermod -g nyh dhy
[root@hadoop100 ~]# id dhy
uid=1001(dhy) gid=1002(nyh) 组=1002(nyh)
(7)设置密码:passwd 用户名
root切换用户不需要密码,其他需要
(8)sudo:普通用户临时使用root的最大权限
1)配置:vim /etc/sudoers
root ALL=(ALL) ALL
dhy ALL=(root) NOPASSWD=ALL
2)使用:sudo 命令
sudo su -xxx:
(9)文件权限命令:
d:文件夹
-:文件
l:软连接(wim快捷方式)
第一组:rwx 第二组:r-x 第三组:r-x
r读4、w写2、x执行权限1、-没权限0
(10)修改权限命令:
修改文件权限:chmod 646 ./1.log
修改文件所有者:chown dhy:dhy 1.log
5.系统相关命令
(1)内存:free
(2)磁盘:df
(3)负载:top
6.其他命令:
(1)find: 查找文件 eg:find / -name "*1.log*"
(2)locate:查找文件
(3)编辑文件时swp文件需删除后才可继续编辑
7.进程和端口号:yum install -y httpd
service httpd status
service httpd start
(1)查看进程号 ps -ef | grep 程序名(httpd)
(2)杀死进程:kill -9 端口号、kill -9$(pgrep -f http)
(3)查看端口号:netstat -nlp | grep 5584