linux :
1.概述
1.为什么要使用linux ?
java、前端、大数据、算法 =》 app 服务器 =》 linux
2.
2.linux 概述:
1.文件操作系统:
层级式的文件操作系统
linux 最顶层目录:/
3.linux版本:
广义 :
ubuntu、小红帽、centos、debian、等 基于linux 内核进行开发
狭义:centos
6.x =》
7.x =》 7.5
4.学习linux ?
1.环境准备:
1.vmware (vbox) 虚拟化的软件
2.关联 linux7.x镜像 即可
5.linux 内核 谁发明?
linux 林纳斯 =》 git
2.部署linux
1.磁盘划分: 60G
/ => 根目录 划分多少磁盘
/boot =》linux启动的时候 系统自身的资源 1g
swap =》 内存不足 可以使用 磁盘充当内存 2g 4g
2.远程连接:
1.ip =》 192.168.10.134
ifconfig =》 网卡 对应的ip
2.port =》 22 1-65535
3.username =》 root
4.passwd =》 123456
xshell
3.linux 基本操作:
[root@zwd05 ~]#
root 登录机器的用户名
root 最高权限用户
zwd05 登录机器的机器名 hostname
~ 登录机器的用户 家目录 【就是一个目录】
家目录:
root =》 /root
xxxx => /home/xxxx
1.基本命令
1.pwd 当前光标所在目录的位置
[root@zwd05 ~]# pwd
/root
2.ls 【查看】当前光标所在目录的 下面有什么东西
[root@zwd05 ~]# ls
ls 显示文件夹和文件名字
ls -l 显示文件夹和文件名字 详细信息
ls -l -a 显示文件夹和文件名字 详细信息 显示隐藏文件【 文件或者文件夹 以.开头的文件 】
ls -l -a -h 显示文件大小
ls -l <=> ll
ll -a
ll -a -h
ll -ah
ll -r -t
命令帮助:
命令 --help -help -h
[root@zwd05 ~]# ls --help
用法:ls [选项]... [文件]...
[] 可选
... 可以选取多个
uage:
ls [option]...[file]...
ls [options] [files]
3.mkdir 创建文件夹
[root@zwd05 ~]# mkdir bigdata
1.创建串级 文件夹
[root@zwd05 ~]# mkdir -p dir4/dir5/dir6
2.创建并级文件夹
[root@zwd05 ~]# mkdir dir1 dir2 dir3
4.cd 切换目录
[root@zwd05~]# cd bigdata
[root@zwd05 bigdata]# pwd
/root/bigdata
目录: 路径
绝对路径:光标从根目录开始路径
相对路径:光标从当前目录开始的路径
./ 当前路径
../ 上一层级路径
相对路径:
[root@zwd05 ~]# cd ./bigdata/
绝对路径:
[root@zwd05 ~]# cd /root/bigdata/
1.如何回到家目录: (三种方式)
1.家目录的绝对路径
cd /root
2.cd 回车
3.cd ~
~:
/root
/home/xxx
2. cd - [回到上一次操作命令的目录]
5.创建文件(三种方式)
1.touch xxx
[root@zwd05 bigdata]# touch 1.log
2.vim / vi xxx
[root@zwd05 bigdata]# vim 2.log
3.echo “xxx” > xx.log
echo "xxx" 打印
> 创建或者 覆盖一个文件
>> 追加文件
思考:
如何创建一个空文件? shell
1.touch xxx
2.vim / vi xxx
3.echo "" > xx.log
4. linux 有一个真正的 空文件
/dev/null
[root@zwd05 bigdata]# cat /dev/null > 7.log
6.vim / vi 编辑文件
vim 三种模式:
1.命令行模式
2.编辑模式
3.尾行模式
win =》 1.打开文件 2.编写内容 3.退出保存
linux :
1.打开文件 【命令行模式】
[root@zwd05 bigdata]# vim 1.log
2.编写内容 【命令行模式 -》编辑模式 】
键盘输入 i =>insert
3.退出保存
1.【编辑模式 =》命令行模式 】
键盘输入 esc
2.【命令行模式 =》尾行模式 】 退出保存
键盘输入 shift+; => :
退出保存 :
输入指令:
w 保存
q 退出
!强制
补充:
1.命令行模式
1.光标移动
1.gg 首行
2.G 最后一行
3. num +G 指定行
4.shift +^ 行头
5.shift +$ 行尾
2.复制 【p】
1.yy 复制当前光标所在行
2.y num y 复制一段
3.撤回 u
4.删除
1.dd 删除当前光标所在行
2.d num d 删除一段
3.dG 删除当前光标以下所有行
思考:
如何删除文件所有内容?
3.尾行模式:
1.退出保存
wq!
x =》 wq
快捷键 shift +zz
2.查找想要的关键词 :
:/keywords n查找下一个 N 往上查找
3.显示行号:
:set nu
:set nonu
7.查看文件
cat 文件所有内容 全部显示 【 文件比较小】
more 文件的内容 是一页一页显示的 按空格 往下翻 退出 按q ctrl +c ctrl +z
less 文件的内容 是一页一页显示的 按空格 往下翻 上下键 页面一行一行翻
vim 【编辑】
tail 实时监控文件里面最新内容
-f
-F => -f +retry
日志:
app =》 sb an =》 log4j. =>
hadoop =》
namenode.log [100m]
mv namenode.log namenode_1.log
touch namenode.log
namenode.log
namenode_1.log [生产完的日志]
echo "" > namenode.log
cat :
一个日志文件 hadoop_namenode.log 100m :
error ?
cat anaconda.log | grep -A 10 error
cat anaconda.log | grep -B 10 error
cat anaconda.log | grep -C 10 error
1. | 管道符 前一个命令的结果作为下一个命令的输入
2. grep 过滤出 关键词 所在的行
vim :/error
一些基本命令:
基本命令:
1.mv + cp
1.mv 剪切
2.cp 复制
mv =》 文件个数 始终是1分
cp =》 文件个数 始终是2分
1.移动
[root@zwd05 bigdata]# mv 1.log ../1.log
[root@zwd05 bigdata]# cp ~/1.log ./
2.改名字
[root@zwd05 ~]# mv 1.log 1.log_blk
[root@zwd05~]# cp 1.log_blk 1.log
标准写法:
mv xx.log bigdata/xx.log
cp xx.log bigdata/xx.log
不标准写法:
mv xx.log bigdata/
cp xx.log bigdata/
2.上传下载
1.xshell 工具
2.命令
linux 安装一个 包 : pip
yum install -y lrzsz
rz 上传
sz 下载
3.xshell 工具
3.rm 删除文件 或者 文件夹 (高危命令)
1.文件
[root@zwd05 ~]# rm 1.log_blk
rm:是否删除普通文件 "1.log_blk"?y
[root@zwd05 ~]# rm -f jdk-8u212-linux-x64.tar.gz
2.文件夹
[root@zwd05 ~]# rm -r bigdata/
rm:是否进入目录"bigdata/"? y
rm:是否删除普通文件 "bigdata/1.log"?y
rm:是否删除目录 "bigdata/"?y
[root@zwd05 ~]# rm -r -f dir1/
rm -rf xxx [通用的写法]
-
alias (别名)
别名使用:
alias ll=‘ls -l --color=auto’alias aa="cd /tmp" 1.使用 [root@zwd05 ~]# alias aa="cd /tmp" [仅仅当前会话生效] 2.aa 命令 在任何地方都能使用? 1.环境变量 [root@zwd05 tmp]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 2.环境变量 配置文件 : 1.全局的 [所用用户都可以使用] /etc/profile 2.个人的 【只能是当前用用户能使用,其他不能使用】 ~/.bashrc ~/.bash_profile 3.生效 source /etc/profile source ~/.bashrc source ~/.bash_profile eg : =》 1.命令 在任何地方都能使用 [root@zwd05 ~]# vim /etc/profile 配置了一个 aa 别名 eg: =》 2。所用用户都可以使用 aa useradd zs 【创建用户】 su - zs 【切换用户】 [root@zwd05 tmp]# useradd zs [root@zwd05 tmp]# su - zs [zs@zwd05 ~]$ [zs@zwd05 ~]$ pwd /home/zs [zs@zwd05 ~]$ aa [zs@zwd05 tmp]$ pwd /tmp [zs@zwd05 tmp]$ 2.个人的 【只能是当前用用户能使用,其他不能使用】 ~/.bashrc ~/.bash_profile
5.历史命令
history
mysql =》
mysql -uroot -p
[root@sygy10 ~]# aa_zs
[root@sygy10 tmp]# !281
6.tab 自动补全的功能
按tab 键 按一次 自动补全 或者 过滤
按tab 键 按二次 过滤
-
用户相关的命令
1.用户、用户组
1.用户
[root@zwd05 ~]# ll /usr/sbin/user*
-rwxr-x—. 1 root root 118192 11月 6 2016 /usr/sbin/useradd
-rwxr-x—. 1 root root 80360 11月 6 2016 /usr/sbin/userdel
-rwxr-x—. 1 root root 113840 11月 6 2016 /usr/sbin/usermod
2.用户组
[root@zwd05 ~]# ll /usr/sbin/group*
-rwxr-x—. 1 root root 65480 11月 6 2016 /usr/sbin/groupadd
-rwxr-x—. 1 root root 57016 11月 6 2016 /usr/sbin/groupdel
-rwxr-x—. 1 root root 57064 11月 6 2016 /usr/sbin/groupmems
-rwxr-x—. 1 root root 76424 11月 6 2016 /usr/sbin/groupmod3.创建用户
[root@zwd05 ~]# useradd xinwei
[root@zwd05 ~]# id xinwei
uid=1002(xinwei) gid=1002(xinwei) 组=1002(xinwei)4.创建一个用户:
1.用户名称 xinwei
2.创建了一个用户组 xinwei
3.创建了一个 家目录 :/home/xinwei用户 : 用户组 : 主组 附属组 1.用户信息 =》文件 记录 [root@zwd05 ~]# vim /etc/passwd 2.用户组信息 =》 文件 记录 [root@zwd05 ~]# vim /etc/group
5.切换用户 su
[root@zwd05 ~]# su - xinwei
[root@zwd05 ~]# su xinwei6.样式丢失
如何解决: 1.-bash-4.2$ cd /etc/skel/ 2.-bash-4.2$ cp ./.* ~
7.用户组
[root@zwd05 ~]# groupadd bigdata
[root@zwd05 ~]# usermod -a -G bigdata zs需求: zs 要求 主组是 bigdata ,附属组 zs 也要 1.[root@zwd05 ~]# usermod -g bigdata zs 2.[root@zwd05 ~]# usermod -a -G zs zs
8.修改用户的密码 ;
passwd :
1.root /当前用户 : :
[root@zwd05 ~]# passwd zs9.sudo 普通用户 临时 使用root的最大权限
1.配置 /etc/sudoers zs ALL=(ALL) NOPASSWD: ALL 2. 使用 sudo xx 思考: sudo su - xxx : 1.命令报不报错 2.需不需要输入密码 cdh : hdfs yarn hive hbase su - yarn [切换不了] su - hive 【有点问题】 /sbin/nologin =》 还有个提示
8.文件权限的命令
1.权限
-rw-r--r--. 1 root root 7 4月 13 13:53 1.log
drwxr-xr-x. 2 root root 4096 4月 12 14:03 dir2
drwxr-xr-x: 10字母 =》 权限
第一字母:
d: 文件夹
-:文件
l:软连接 (win 快捷方式)
权限:rwxr-xr-x 9个决定的 755
第一组:rwx =》 4+2+1 = 7 所属用户的权限
第二组 r-x =》 4+0+1 = 5 所属用户组的权限
第三组 r-x =》 4+0+1 = 5 其他用户组的权限
权限:
r 读权限 4
w 写权限 2
x 执行权限 1
- 没权限 0
- rw- r-- r-- =》
2.修改权限命令 -R
chmod
chmod 646 ./1.log
3.chown 改变 所属者
[root@sygy10 tmp]# chown zs:zs 1.log
9.其他命令:
1.查找文件:
1.find
[root@zwd05 ~]# find / -name “1.log”
2.locate
locate
2.系统相关的命令:
1.内存
free
2.磁盘
df
3.负载
top
load average: 0.00, 0.01, 0.05 各自不要超过 10
3.可能遇到的问题 :
编辑文件 swp文件
进程+端口号 :
yum : httpd
1.查看进程号:
1.java 代码 =》 jdk =》 jps
2. ps -ef | grep 程序的名字(pid) => pid
2.查看端口号 port
netstat -nlp | grep pid
通讯的命令:
1.ping ip
2.telnet ip port
下载 :
1. wget
2.curl
命令 + url