Linux介绍:
特点: 开源、免费、自由使用;多用户、多线程、多任务、多CPU。
组成:Linux = 内核 + shell + 文件系统 + 应用程序
应用:服务器、手机操作系统......
分支:Redhat、debain......
安装:VMware、centOS6.4
基本环境配置(root)
1.修改主机名
查看:hostname
修改:
临时修改:hostname bigdata-training01.huadian.com
永久修改:
(1).vi /etc/sysconfig/network
(2).按下键盘“i”进入编辑模式
(3).修改主机名 bigdata-training01.huadian.com
(4)."ESC" -> ":" + "wq" + 回车
2.配置网络
VMware子网络改成192.168.59.0
ip: 192.168.59.150
网关:192.168.59.2
子网掩码:255.255.255.0
方式:
(1).UI界面
(2).vi /etc/sysconfig/network-scripts/ifcfg-eth0 网卡
service network restart 重启服务
3.查看网络命令:
ifconfig Linux中查看ip
ping 看是否能够将网络连接
3.网络映射(内部局域网)
vi /etc/hosts
halt:关机,reboot:重启
额外: windows hosts 文件修改
c:\windows\System32\drivers\etc\hosts
追加: 192.168.59.150 bigdata-training01.huadian.com
4.Linux远程工具
1.securtCRT
快捷键:支持远程文件和命令行编辑
复制:鼠标滚轮
粘贴:鼠标右键
2.notepad++:支持远程编辑的 文本编辑器
3.Xmanager
xshell:远程命令行
xftp:远程文件传出工具
xbrowser:远程桌面
5.相对路径和绝对路径
绝对路径:从最底层的根目录(/)开始访问
相对路径:相对于指由这个文件所在路径引起的跟其他文件(或文件夹)的路径关系。
Linux常见命令
通用格式:
命令 选项(参数) [操作的文件或者目录]
ls -a /
(1).ls : list 列举一个目录下的文件
-l : length: 长格式方式查看 ll ==(ls -l)
-a: 列举包含隐藏文件
(2).cd: chang dir 修改对当前所在格式
(3).pwd:print work director打印当前目录,从根目录开始算起
(4).clear: 清屏 == ctrl + l
(5).history: 查看命令历史记录
文件管理
1.创建(touch)
文件:touch filename
注意:如果是多个文件,文件名之间用空格隔开
touch "hello world" 一个文件名中间出现空格时,需要双用引号引起来
文件夹:mkdir dirName
-p: 递归
eg: mkdir /a/b/c,如果b不存在,先创建b目录,以此类推:mkdir c
2.删除(remove)
rm: -r: 删除目录(递归目录) -f: 免确认
rmdir: 只能删除空目录
注意: Linux中,如果出现backspace无法删除,先按下ctrl + backspace
3. 编辑(vi/vim)
复制:cp == copy
cp source_file targe_file
4.移动:(重命名) mv == move
mv source_file targe_file
5.查看
cat : 直接查看文件所有内容
more: 分页查看
less: 分页查看(可以向上查看,按键盘上下键)
head: 查看文件头部的内容,默认显示10行
-num:查看多行
eg: head -20 filename 查看filename文件的前20行
tail: 查看文件尾部的内容,默认显示10行
-n: 查看多行
-F:动态查看:不同界面取操纵时,这边会随时变化
6. 打印
echo "huadian" 打印在控制台
echo “huadian”> bb.text 覆盖
echo "huadian" >> bb.text 追加
7.常见的符号命令:
. : 表示当前目录
.. : 表示上一级目录
~ : 表示家目录
> : 覆盖重写某个文件
>>: 追加到某个文件
| : 管道符,一般与grep连用
8.常见的工具命令
man:帮助命令
wc:文件统计 wordcount
wc cc.txt
2 2 23 cc.txt
行数 单词 字符 文件名
-l -w -c
du: 文件大小统计
-h:人性化的显示单位
visudo: 编辑sudo命令
需求:我希望huadian用户拥有特殊权限(查看防火墙状态)
huadian ALL=(ALL) /sbin/service iptables status
huadian ALL=(ALL) /sbin/service iptables stop
直接配置成拥有root的所有权限
推荐配置用法
huadian ALL=(root) NOPASSWD:ALL
用户名 登录主机=(以什么样的身份执行) 执行什么样的命令
该用户怎么去使用额外配置给他的权限
sudo service iptables status
9.虚拟机图形化界面
cat /etc/inittab 关于虚拟机图形化界面的查看
vi /etc/inittab 关于图形化界面的设置
Linux用户和权限管理
管理员用户
只有一个:UID=0的用户就是管理员用户,一般情况下,默认它的用户就是root
家目录:/root
root :x :0 :0 :root :/root :/bin/bash
用户名 密码 uid gid 组名 家目录 所用的shell
普通用户
自己创建的新用户,默认UID从500开始
家目录:/home/${username}
huadian:x:500:500:huadian:/home/huadian:/bin/bash
创建用户
gId和uId一样
gName和uName一样
查看用户
id username
eg:id lw
删除用户
如果被删除的用户在登录状态的话,无法删除
userdel username:删除用户
userdel -r usernme:删除用户并且删除家目录
groupdel groupName:删除用户组
设置密码
passwd username eg:passwd lw
切换用户
su - username
su - :切换到root用户,需要输入密码
su - XXX:由root用户切换到普通用户,不需要密码
退出: exit
权限管理
(ll)可查看一个用户有什么权限
Linux中用户的分类
所有者(u) 同组用户(g) 其他人(o)
Linux中文件权限
读(r) 写(w) 执行(x) 没有权限(-)
文件权限详情
-rw-r--r--. 2 root root 11 Jun 3 01:32 bb.text
drwxr-xr-x. 2 root root 4096 Jun 2 07:46 b
(1) -: -文件; d目录
(rw-r--r--): 分成三组
rw-: 所有者权限,具有读、写权限,没有执行权限
r--: 同组用户权限,具有读权限,没有写和执行权限
r--: 其他人权限,具有读权限,没有写和执行权限
(2) : 该文件的链接个数,要和ln ln -s source target
(root root): 文件所属者 文件所属组
(11): 文件大小
(Jun 3 10:32)最后修改时间
修改权限
格式:chmod [添加或者删除权限] file
需求: -rw-r--r--. 2 root root 11 Jun 3 01:32 cc.txt
希望给huadian用户添加写的权限
方式一:通过字符修改
chmod o+w cc.txt
添加权限: +
删除权限: -
chmod o+w,g+w cc.txt: 给其他人和同组用户写权限
chmod a+w cc.txt:给所有用户
方式二: 3位8进制表示
rw-r--r--: (110 100 100) 2 ==644
chomd 644 cc.txt
rwxrwxrwx: (111 111 111) 2 == 777
chomd 777 cc.txt
修改文件所属用户和所属组
chown username:groupName file
chown :groupName file
chown username: file
-R:递归修改所属用户和所属组
编辑 vi file_path
如果file——path不存在,保存以后,默认会创建一个文件
3种模式
命令模式:
第一次进入vi,默认就是命令模式
按ESC键进入命令模式。
在命令模式模式下,可以输入命令:
i : 进入插入模式
yy : 复制当前行。5yy:复制当前行开始后的五行
p : 在当前位置粘贴
dd : 删除当前行。5dd:删除当前行开始的五行
u : 撤销上一步
gg: 跳转到第一行
G : 跳转到最后一行
数字+gg: 跳转到指定行,5gg: 跳转到第5行
O: 在上一行进入编辑模式
o: 在下一行进入编辑模式
插入模式:在命令模式下,输入“i”进入插入模式,这时候可以对文本进行编辑
最后行模式:在命令行模式下,按shift + ":",进入最后行模式
也可以输入一些指令:
wq/x/ZZ: 保存退出
q: 不保存退出
!: 强制
q!:强制不保存退出
set nu(number): 显示行号
/string 检索字符串 eg: /guangtouqiang
n 检索下一个字符串
替换字符串
系统管理命令
硬盘管理
常见的硬盘类型
IDE:hda、hdb、gdc
SAS (SCSI) -->SATA:sda、sdb
SSD
管理命令
df -h
添加硬盘的步骤:
(1).添加硬盘
(2).在硬盘中新建分区
(3).将目录挂载到分区中
网络管理
ifconfig
route:查看路由器信息
服务管理命令
格式:service Linux中所有自带服务的管理命令
查看支持的命令:ll /etc/init.d/
network:网络
iptables:防火墙
service s_name start|stop|status|restart
chkconfig: 设置开机启动
查看:chconfig iptables --list
设置:chkconfig iptables off|on
端口管理:
netstat
-a: 列举所有的连接,服务监听等。
-t: 列举tcp协议的服务
-u: 列举udp协议的服务
netstat -a |grep 3306:管道符,过滤出需要查找的东西
进程管理:
ps:查看当前进程
ps -ef |grep java:查看Java进程
jps:
kill: 杀死进程
kill -9 pid
redhat的selinux安全机制
关闭:vi /etc/selinux/config
SELINUX=disabled
重启机器生效
压缩管理
linux压缩管理
常见的压缩工具
zip
gzip
后缀:.gz
压缩:gzip file_path
解压:gunzip fileName.gz
特点:
压缩后源文件没有了
不能对文件夹进行压缩
bzip2:适合压缩比较大的文件
后缀:bz2
压缩:bzip2 file_path
解压:bunzip2 file_path.bz2
特点:
压缩后源文件没有了
不能对文件夹进行压缩
tar:打包命令,将多个文件或者目录打包成一个文件
格式:
打包:
tar [选项参数] target.tar source
解包:
tar [选项参数] source.tar -C target
参数:
-c:打包
-x:解包
-z:是否使用gzip进行压缩或者解压
-j:是否使用bzip2进行压缩或者解压
-v:是否显示解压或者压缩过程
使用最频繁的命令:
使用tar + gzip (最最频繁)
解压:
tar -zxvf XXX.tar.gz -C ./
压缩:
tar -zcvf XXX.tar.gz source
使用tar + bzip2
解压:
tar -jxvf xxx.tar.bz2 -C ./
压缩:
tar -jcvf XXX.tar.bz2 source
常见的压缩格式:
zip
gzip:
后缀名: .gz
压缩:gzip file_path
解压:gunzip flie_path.bz
压缩:bzip2 Who.txt
解压:bunzip2 file_path.bz2
特点:不能对文件夹进行压缩,压缩后源文件没有了
tar:打包命令,将多个文件或者文件夹打包成一个文件
----------------------重点--------------------------
属性:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的时候
-j:有bz2属性的时候
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
解压:
tar -zxvf source.tar -C targe : 显示解压过程
tar -zxf source.tar -C targe :不显示解压过程
压缩:
tar -zcvf filr.tar source
eg:
tar -zxf ./jdk-8u91-linux-x64.tar.gz -C /opt/moduls/
jdk-8u91-linux-x64.tar.gz :使用tar+gzip组合生产的文件
关机和虚拟机克隆、快照
关机:halt or init 0 or shutdown -h now
重启:reboot or init 6
/etc/inittab 该文件中,说清楚了init 0~6分别是什么意思。
快照:
使用一段时间后,对Linux进行快照,目标,出现了问题,可以回滚
快照会占用大量的磁盘空间
怎么快照:
(1)先关机
(2)VMware操作
克隆:
作用:复制出完全一样的配置机器。
怎么克隆
(1)关机
(2)修改mac地址
vim /etc/udev/rules.d/70-persistent-net.rules
删除eth0
复制eth1的mac地址:00:0c:29:f7:24:b8
(3) 修改ip,hostname
ip:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.59.151
HWADDR=00:0c:29:f7:24:b8
hostname:
vi /etc/sysconfig.network
HODTNAME=bigdata-training02.huadian.com
(4) hosts
vi /etc/hosts
(5) 重启(reboot)
Linux软件安装
软件类型
RPM:Redhat序列特用的软件包
dakg:debain序列特用的软件包
源码包:需要在Linux中进行编译安装,需要自己编译、自己安装
java maven
c/c++ gcc去编译
预编译
编译:make
安装:make install
软件的安装
rpm:安装RPM结尾的软件包
检查:rpm -qa |grep java
安装:rpm -ivh XXXX.rpm
当软件存在依赖的时候,会安装失败,需要先将依赖安装好。
卸载:rmp -e XXX
--nodeps:忽略依赖
sudo rpm --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
yum: 通过软件源安装
自动解决依赖问题
安装: yum install -y XX (zip、mysql)
查看当前已安装的包:yum list installed
卸载:yum remove zip
yum源配置文件路径
vi /etc/yum.repos.d/
阿里云yum,163
版本问题:
比如mysql,yum 版本5.1.x
绿色安装:最多最多最多
tar -zxf xxx.tar -C target
Linux定时任务
at 命令
设置时间 at 0:18
进入at命令行,设置需要在0:18执行的命令
mkdir -p /a/bb/201806050108
保存退出
crtl + d
crontab
启动crontab服务
service cround start
chkconfig crond on
编辑定时任务
crontab -e
删除定时任务
crontab -d
* * * * * command
分钟 小时 日 月 周 需要执行的脚本(绝对路径)
取值 0~59 0~23 1~31 1~12 0~7(0和7表示的都是周日)
特殊字符
每隔半小时执行一次
频率: /
*/30 * * * * command
连续时间:-
早上8:00~18:00之间,每隔半小时执行一次
*/30 8-18 * * * command
间断时间:,
早上8:00和18:00执行一次
* 8,18 * * * command
eg:
每天上午10:00执行
0 10 * * * sh /mkdir.sh
0 0 * * 3
来源:CSDN
作者:ζMonster°
链接:https://blog.csdn.net/weixin_42047611/article/details/80569501