Linux基础
在Linux下做各种程序的开发(如示意图):
高效学习Linux的流程:
第一阶段:linux环境下的基本操作命令;
第二阶段:linux的各种配置(环境变量配置、网络配置、服务配置);
第三阶段:linux下如何搭建对应语言的开发环境(如pyhon、大数据等);
第四阶段:能编写shell脚本,对Linux服务器进行维护;
第五阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调度优化;
第六阶段:深入理解Linux系统(对内核有研究),熟悉掌握大型网站应用架构组成、熟悉各个环节的部署和维护方法
PS:在学习Linux基本指令时,应学会查询手册和百度
本篇本章主要是介绍Linux的基本知识以及熟悉掌握Linux基本命令。
1.Linux基本介绍以及和widows的区别;
和widows相比:
2.安装VMware和Centos
###
3.安装vmtools
1.进入centos,点击vm菜单的->install vmware tools
2.centos会出现一个vm的安装包,点击右键解压,得到一个安装文件
3.进入该vm解压的目录,该文件在 /root/桌面/vmware-tools-distrib/下
4.安装 ./vmware-install.pl,全部使用默认设置即可
5.需要重启(reboot)
使用vmtools来设置widows和linux的共享文件夹 :菜单->vm->setting:设置选项为always enable,这样windows和centos可共享d:/share目录读写文件了。
该处练习:
4.Linux的目录结构
linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录 “/”,然后在此目录下再创建其他的目录。
在Linux世界里,一切皆文件
5.远程登录Linux及文件传输
示意图:
PS:linux服务器是开发小组共享的;正式上线的项目是运行在公网的;程序员需远程登录到linux进行项目管理或开发
远程登录工具Xshell6
安装:百度...
远程上传下载文件Xftp6
安装:百度...
介绍:Xftp6是一个基于windows平台的功能强大的SFTP、FTP文件传输软件,使用Xftp,widows用户能安全的在UNIX/Linux和windowsPC之间传输文件
配置:
解决Xftp中乱码问题(配置后注意刷新):
6.基本命令
vi和vim(vi的增强版本)的三种常见模式:
正常模式: 可以使用上下左右移动光标、可以删除字符或删除整行、也可以复制粘贴
插入/编辑模式:从正常模式按下i,I,o,O,a,A,r,R等任何一个字母进入插入/编辑模式,一般按i即可
命令行模式:提供相关指令,完成读取、存盘、替换、离开vim、显示行号等
开关机、重启、用户登录注销:
shutdown:
shutdown -h now:立刻关机
shutdown -h 1:表示一分钟后关机
shutdown -r now:立即重启
halt:直接使用 等价于关机
reboot:重启
syn:把内存的数据同步到磁盘(防止数据丢失,关机、重启前做的事)
用户登录和注销:
logout:注销用户 (PS:该指令在图形运行级别下无效,在运行级别3下有效)
用户管理:
useradd 【选项】用户名:添加用户
选项:
-d 指定目录
passwd 用户名:给用户指定密码
userdel 用户名:删除用户(保留了用户的主目录) userdel -r 用户名:删除用户及用户主目录
id 用户名:查询用户信息
切换用户:
su - 用户名 PS:权限高的用户切换到权限底的用户,不需要密码,反之需要;需要返回到原来的用户使用exit命令
用户组:
groupadd 组名:增加组
groupdel 组名:删除组
useradd -g 用户组 用户名:增加用户时加上组
usermod -g 用户组 用户名:修改用户的组
PS:/etc/passwd文件:用户的配置文件,记录用户的各种信息 ---每行的含义: 用户名:口令:用户标识号:注释性描述:主目录:登录Shell
/etc/shadow文件:口令的配置文件, --->每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group文件:组的配置文件, --->每行的含义:组名:口令:组标志号:组内用户列表
指定运行级别:
说明:
0: 关机
1: 单用户【找回丢失密码】
2: 多用户状态没有网络服务
3: 多用户状态没有网络服务
4: 未使用,系统保留给用户
5: 图形界面
6: 系统重启
PS:常用的运行级别是3和5,要修改默认的运行级别可改文件 /etc/inittab 的id:5:initdefault这一行数字
示意图:
init 【0123456】:切换指令
相关面试题:如何找回root密码,如果我们不小心忘记root密码,怎么找回?
思路:进入单用户模式,修改root密码,因为单用户模式,root不需要密码就可以登录
答案:
帮助指令:
man 【命令或配置文件】:获得帮助信息
help 命令:获取shell内置命令的帮助信息
PS:百度也是可以的
文件目录类指令:
pwd:显示当前工作目录的绝对路径
ls 【选项】 【目录或是文件】
选项:-a:显示当前目录所有的文件和目录,包括隐藏的
-l:以列表的方式显示信息
cd 【参数】:切换到指定目录
cd ~或者cd :回到自己的家目录
cd ..:回到当前目录的上一级目录
mkdir 【选项】要创建的目录
选项 -p:创建多级目录 例如: mkdir - p /home/a/b/c
rmdir 【选项】要删除的目录
rmdir /home/dog
若 /home/dog中有内容:rm -rf /home/dog
touch指令
touch hello.txt:创建一个hello.txt的空文件
cp指令*
cp [-r](递归复制整个文件夹) source dest
例如:cp -r test/clint/
rm指令(删除文件或目录):
rm 【选项】 要删除的文件或者目录
-r:递归删除整个文件夹
-f:强制删除不提示
mv指令(移除文件与目录或重命名):
mv oldFileName newFileName:重命名
mv /temp/movefile /targetFolder:移动文件
cat指令(只读的方式打开文件):
cat -n(显示行号)要查看得文件
cat -n /etc/profile | more(分页浏览)
more指令:
more 文件名
查看后的快捷键:
less指令:
less 查看大文件(看多少加载多少,比较高效)
快捷键:
> 和 >>指令:
>:输出重定向:会将原来的文件的内容覆盖
>>:不会覆盖原来的文件,追加到文件的尾部
例如: ls -l >a.txt 将ls -l打印出来的内容写入a.txt中 (如果a.txt不存在就创建)
echo指令:
echo $PATH:输出环境变量
head指令:
head 文件:查看文件前10行内容
head -n 5:查看前5行
tail指令:
tail文件:查看文件后10行内容
tail -n 5:查看后5行
ln指令:
ln -s 【原文件或者目录】【软链接名】:给原文件创建一个软链接
history指令:
查看已经执行过的历史指令
history 10 查看最近10条
!155 执行编号为155的指令
时间日期指令:
date:显示当前时间日期
date+%Y:x显示当前年份
date+%m:显示当前月份
date+%d:显示当前是哪一天
date “+%Y-%m-%d %H:%M:%S”: 显示年月日时分秒
date -s 字符串时间 :设置时间
cal :显示当前日历
cal 2020:显示2020年的日历
find指令:
find 【搜索范围】 【选项】
选项说明:
locate指令:
locate 搜索文件
grep指令和管道符号:
grep 【选项】 查找内容 源文件
压缩和解压指令:
gzip:压缩文件(压缩成.gz文件)
gunzip:解压文件
zip 【选项】 XXX.zip 选项:-r 递归压缩
uzip 【选项】XXX.zip -d<目录>:指定解压后的文件存放目录
tar 【选项】 xxx.tar.gz 打包的内容
选项说明:
例如: 压缩多个文件:tar -zcvf ab.tar.gz a.txt b.txt
解压文件: tar -zxvf ab.tar.gz
组管理和权限管理:
ls -ahl:查看文件的所有者
chown 用户名 文件名:修改文件所以者
chgrp 组名 文件名:修改文件所在组
usermod -g 组名 用户名:改变用户所在组
usermod d 目录名 用户名 改变该用户登录的初试目录
修改权限:
通过数字变更权限:
nohup python3 项目名 manage.py 2>&1 |tee & # 关掉回话之后 项目还能运行
查看正在运行的程序
ps -ef | grep manage.py kill -3 运行号 # 根据运行号 一个个的kill程序