第一章 linux基础篇
1.linux入门
1.linux介绍
(1).Linux是一免费、开源、稳定、高效的计算机操作系统,并发处理能力强悍。
(2).由linux(林纳斯)创立。
(3).主要的发行版本
(4).对比unix
2.linux环境安装
wmware安装
1.在BIOS里设置开启虚拟化设备支持。
2.去wmware官网下载vmware。
CentOS7安装
1.在CentOS官网下载CentOS7.
在vmware中创建虚拟机并导入CentOS
1. 查看linux是否有网络:ip address,ping www.xxx.com
(4)安装vmtools,并设置共享文件。
1.安装说明:
(1)进入CentOS后,在vm菜单上选择安装vmtools,
然后在CentOS,挂在、dev下的cdrom,然后解压挂在后的文件,得到安装文件,最后安装 ./vmware-tools-distrib/下的./vmware-install.pl(全部使用默认配置即可)
(2)共享文件设置,在vmware菜单的虚拟机下的setting中,设置共享文件。
3.linux的目录结构
在Linux中一切皆文件
基本目录:
/bin (/usr/bin 、/usr/local/bin)
存放最经常使用的命令。
/sbin (/usr/sbin 、/usr/local/sbin)
存放系统管理员使用的系统管理程序。
/home
存放普通用户的主目录,每个用户都有自己的一个主目录,一般是以用户账号命名。
/root
该目录是系统管理员,主用户的目录
/boot
存放linux启动时的一些核心文件,包括一些连接文件以及镜像文件
/proc
这个目录是一个虚拟目录,他是系统内存的映射。访问该目录获取系统信息。
/srv
service的缩写,存放一些服务启动后的所需提取的数据。
/sys
这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核新出现的一个文件系统。
/tmp
存放一些临时文件
/dev
类似与windows的设备管理,van所有硬件用文件的形式存储。
/media
Linux会自动识别一些设备,例如U盘,光驱等,当识别后,会把识别的设备关在到这个目录下。
/mnt
系统提供该目录是为了让用户临时挂载别的 文件系统的,我们可以将外部的存储挂在在/mnt目录下,
/opt
这是给主机额外安装软件所摆放的目录,
/usr/local
这是另给主机一个额外安装软件所摆放的目录,一般是通过编译源码的方式安装的。
/var
这个目录中存放着不断扩充的东西,一般将经常修改的目录放在这了,包括各种日志。
/selinux[security-enhanced linux]360
是一种安全子系统,他能控制程序之访问特定的文件。
第二章 linux实操篇
1.linux远程连接
Xshell安装与使用
安装:
去官网安装,一般选择默认即可(安装目录更换到自己想要安装的位置)。
使用:
打开Xhsell,新建会话,名称(自定义),ip(linux的ip)端口号选择默认即可,
然后点击用户身份验证,输入linux的用户名与密码,
使用前提(linux开始sshd):
查看是否开启sshd:service ssh status
如果没开:service sshd start
在开启会话后,即可远程登录linux。
XFtp安装与使用
安装:
去官网安装,一般选择默认即可(安装目录更换到自己想要安装的位置)。
使用:
打开XFtp,新建会话,设置名称,主机填写linuxIP,协议选择SFTP,端口选择22,
填写linux用户名与密码,
开启会话即可连接到linux系统实现文件共享,(如果由乱码,则在会话中选择utf-8编码)
2.vi和vim编辑器
所有linux都会内置vi文本编辑器,
vim就有程序编辑的能力,可以看作vi的增强版,
vi和vim的三种常见模式
正常模式:在正常模式下,我们可以使用快捷键。
以vim打开一个文档就直接进入了一般模式,在这个模式中可以使用上下左右按键来移动光标,可以使用:删除字符和删除整行来处理文件内容,也可以使用复制与粘贴来操作。
插入模式/编辑模式:
在次模式下,程序员可以输入内容,
按下 i I o O a A r R都可以进入该模式,一般按i即可
命令行模式:
在这个模式中,可以提供你相关的指令,完成读取、存盘、替换、离开vim、显示行号等的动作,
vi和vim三种模式的相互转换图
关机与重启命令
1.shutdown
shutdown -h now 立即关机
shutdown -h 1 一分钟后关机
shutdown -r now 立即重启
2.halt
等价于直接关机
3.reboot
重启系统
4.syn
同步内存中的数据进入到磁盘中
注意(一般都是syn先行)
用户登录与注销
:
su - 用户名 切换到 某用户 (权限大到权限小不需要输入密码,exit切换到原来用户)
logout 注销用户(图形界面无法运行)
用户管理
useradd 用户名 (添加用户)
passwd 用户名 (给用户添加密码 )
userdel 用户名 (删除用户)
id 用户名(查询用户信息)
用户组
groupadd 用户组名(添加用户组)
groupdel 用户组名(删除用户组)
useradd -g 用户组 用户名(将用户添加到指定的组中)
usermod -g 用户组 用户名(将用户修改到指定的组中)
系统运行级别
0:关机
1:单用户
2:多用户没有网络
3:多用户有网络
4:系统未使用保留给用户
5:图形界面
6:系统重启
通常实在3或5级别下运行
要修改默认级别:修改/etc/inittab的id:5:initdefault中的数字,
基本语法
init 运行级别
帮助指令
man
格式:man 指令(命令或配置文件)
help
格式:help 指令(shell内置命令的帮助信息)
文件目录类
pwd(显示当前目录的绝对路径)
ls(显示当前目录下的文件信息) 常用选项 -a (all)-l(list)
cd 切换目录 cd .. 退回到上一层目录 ,cd ~回到自己的家目录
Linux下的文件管理
touch
新建文件
格式:touch file file1
touch file
touch -t YYYYMMDDHHmm 把文件的时间更改为
mkdir
创建目录
格式:midir dir dir1
mkdir -p test/mydir/linux 建立多层目录
rm
删除文件或目录
rm file file1
rm -f file 强制删除不提示
rm -r dir dir1 删除目录
rm -rf dir 强制删除目录不提示
cat
显示文件的全部内容
格式: cat file
cat -b file 显示文件内容并显示行号,不显示空行
cat -n file 显示文件内容并显示行号
head
查看文件前多少行
格式:head -n (行数) file 默认为10
tail
产看文件后多少行
tail -n file 默认为10行
less
分页浏览
格式:less 文件名
cp
复制文件
格式:cp file file1(目标文件)
cp -r dir dir
file
查看文件类型
wc
文件容量统计
wc -l (行数) -m (字符数)-w (单词数)-c(字节数)
echo
输出内容到控制台
>指令与>>指令
>输出重定向:会覆盖以前的文件
>>:追加
追加:
重定向:
软连接 ln
history指令
不加参数,显示所有使用过的指令
使用历史指令
date指令
(1)date (显示当前日期)
(2)date +%Y( 显示当前年份)
(3)date +%m(显示当前月份)
(4)date +%d(显示当前时那一天)
(5)date +%Y-%m-%d-%H-%M-%S(显示当前年月日时分秒)
date -s "字符串时间"(设置系统日期)
cal指令
cal 显示当前月日历
cal 年份 (显示某年的日历)
查找类指令
find
find 【搜索范围】 【选项】【目标】
grep和管道符号 |
格式:grep 选型 查找内容
-n 输出行号
-i 忽略大小写
压缩与解压缩类
gzip与gunzip(压缩后不保留源文件)
zip/unzip
tar
打包目录
打包文件
解压
不加目标目录,就解压在当前某目录下;
组管理
基本介绍:
linux中每个用户必须属于一个组,不能独立于组外,在linux中每个文件有所有者,所在组,其他组的概念
修改文件所有者
添加组
更改文件所在组
改变用户所在组
权限的基本概念介绍
0-9位说明
(1)第0位确定文件类型(d,-,l,c,b)
(2)第1到3位确定文件所有者对该文件的权限。
(3)第4到6位确定所属组对该文件拥有的权限
(4)第7到9位确定非改组对该文件拥有的权限
"1"如果是文件表示硬链接数,如果是目录表示该目录的子目录数。
第一个“root”表示文件拥有者
第二个“root”表示文件所属组
“1213”文件大小
rwx详解
文件:
r:可以读,查看
w:可以修改,但不表示可以删除,除非所在目录拥有w权限
x:可以被执行
目录:
r:可以查看目录内容
w:可以修改,目录内的创建与删除,重命名目录
x:可以进入改目录
修改文件或目录的权限
chmod:
"="直接赋值权限
“+”追加权限
“-”删除权限
通过数字更变权限
0~7来时表示,
r=4,w=2,x=1;
crond任务调度
crontab -e 编辑调度任务
crontab -l 查询已有调度任务
crontab -r 删除当前用户的所有任务
基本格式 * * * * * 简单命令/脚本
第一个*,表示一小时中的第几分钟。
第二个*,表示一天中的第几个小时。
第三个*,表示一个月中的第几号。
第四个*,表示一年中的第几个月。
第五个*,表示一周中的星期几0~7(0和7都表示 星期天)
后续更新中