Linux基本操作
1.1 概念
linux一切都是基于文件(文件几乎没有后缀限制),.rpm/ .repo
linux同时也是一个树形的文件系统
linux中有且仅有一个root用户
常见目录:
/ :根目录
/etc: 配置文件
/home:普通用户的家目录
/opt:操作空间目录
/bin:或/sbin用户或管理员的可操作命令
/var:动态变化的数据文件
/usr:资源目录,源码、学习手册等,也可用于安装自己的软件
/tmp: 临时目录
/proc:存储系统服务运行加载到
lost+found:系统崩溃的日志记录
/dev: null
1.2 命令
1.2.1 常用命令
man:命令帮助文档
man uname
ps -ef 或者 ps -aux:查看进程
|:管道符,是将上一个命令中的信息传送到下一个命令
grep:过滤
ps -ef | grep mysql 查找mysql的进程
grep -i -r ‘’‘error’ /log 查看含有error字符串的文件
jps:查看java进程
date:查看当前时间
echo:打印
kill:杀死进程
netstat -nltcp:查看命令
cat:查看命令
1.2.2 文件操作
vi 或 vim
vi -i -o 插入,-a在光标下一个位置插入, -i直接插入, -o在光标下插入新行
touch:创建文件
mkdir -p:递归创建文件夹
cp -r: 递归复制 cp test.txt /usr 复制到指定目录
mv :重命名文件,移动剪切,递归不加-p
rename:重命名文件,rename .png .jpg *.png(把什么换成什么,什么东西被替换)
把所有以png结尾的文件修改成jpg结尾
rm -rf: 递归强制删除(慎重)
set nu 设置行号
set nonu 取消行号
-
gg shift+g:
- n 到多少行
搜索:
?搜索字符:向前搜索
/字符:向后搜索
删除:
dd: 删除整行
ndd:删除所在光标以下n行
复制:
vi:不能跨文件复制
yy:整行复制,或者shift+y
pp:粘贴
nyy:往下复制多少行
dd:剪切当前行
ndd:剪切当前行一下n行
替换和取消:
r:取代光标所在字符
u:取消,撤销
ctrl+r:撤销
1.2.3 权限操作
文件权限:
前面九位字符表示权限:第一位代表文件类型d代表是个文件夹
rwx 读和写和执行
r:查看文件的内容、列出目录列表、复制剪切解压
w: 写、编辑、复制、剪切、删除(包括目录)
x:执行脚本
总之,若果操作某文件或者是某目录,报错为:permission denied,则需要考虑权限;
权限修改方法:
文件默认权限:-r–r--r–
目录默认权限:drwx–xr-x
chmod -R (递归修改)a+x,o-w,u=r 增加删除改变权限
chmod 44,66,77从右向左赋权(需要注意位数多或者少的问题)
修改用户和组:
chown:修改用户所属用户和组 -R递归修改
chgrp:更改组 -R递归修改
1.2.4 查找操作
which:查找可执行的二进制文件的目录
whereis: 查找字符串的安装位置,非安装目录或者文件不能被找到
locate 名称:查找名称的,文件或者目录包含该名称字符串即可,和updatedb配合使用
find:全盘查找,也可以指定目录查找对应的包含规定的文件或目录
例:find /home -name java
可按照:文本大小、时间、创建时间,深度等进行查找
-size,-amin,-atime,-user,-mindepth,-maxdepth
1.2.5 解压操作
解压:
tar -zcvf:打包操作gz 栗子:tar -zcvf /usr/local/test.tar /home/test 将home/test打包成test.tar放到/usr/local下
tar -zxvf :z代表压缩gz,x代表解压缩. 栗子:tar -zxvf /test.tar -C /usr/local -C指定解压目录,否则解压到当前目录
zip:打包
unzip:解包 unzip test.zip -d (指定目录) /usr/local 如果不指定目录默认当前目录
gzip:打包 栗子:gzip ./* (目录将会被忽略)
gunzip:解包 栗子:gunzip ./1.png.gz (在当前目录被解压)
gunzip ./1.png.gz -c /usr/local/1.png (-c 指定解压到目录,但是目录必须被提前创建好)
1.2.6 其他操作
free:查看内存情况
df:查看磁盘使用情况
top:动态查看cpu
w:查看负载
uptime:查看负载
du:统计目录所占空间
mount:挂载(加空间、加磁盘、加镜像文件)
umount:取消挂载
ip addr:centos7 查看ip配置,7以前为ipconfig
systemctl:centos7中统一的执行操作命令,相当于以前的service
考虑将自己安装的服务做为开机启动???已完成
scp:远程拷贝
sudo命令:visudo修改sudo用户列表 NOPASSWD:ALL
用户:
useradd:增加用户 (通常和passwd搭配使用)-d:指定家目录 -c:注释 -g:指定组(指定后不会在自己所在的组) -G:指定附加组
-s:指定用户默认的shell -r:
userdel:删除
usermod:用户信息修改
groupadd:添加组
groupdel:删除组
groupmod:修改组的信息
cat /etc/group 查看用户和组
groups 用户名:查看当前用户名在哪个组里面
whoami:当前用户
id:查看当前用户信息
uid=0:为root用户
uid < 500为系统用户
uid >= 500 为普通用户
1.3 软件安装
1.3.1 二进制安装
Linux下二进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,在安装时只需解压或者安装即可。
优点:简单方便,安装只需解压配置
缺点:缺乏灵活性、离开相应环境就不行
1.3.2 rpm的安装
redhat packet manager:红帽的包管理环境
RPM软件包也称为二进制软件包
RPM命令使用
rpm的常用参数
-i :安装应用程序( install )
-vh :显示安装进度; ( verbose hash )
-U:升级软件包;(update)
-qa:显示所有已安装软件包( query all )
-e :卸载应用程序( erase )
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用–nodeps强行卸载。
-qa | grep mysql 查找mysql所在的位置
更新命令:rpm -Uvh rpm的全路径
优点:提供一系列的命令来进行软件安装、更新、卸载
缺点:需要手动解决依赖
1.3.3 yum源安装
yum优点:能自动解决依赖
缺点:服务器必须要联网或者需要制作本地yum源服务器
包全名:包名+版本+发行次数+适用平台+noarch(代表支持所有的平台)
yum list:
yum info:
yum search:
yum的所有的命令只使用包名即可
rpm的安装必须使用包全名,卸载查询只需要用包名
yum 的安装
yum -y install 包名1 包名2 包名3
yum的更新:
yum update -y 包名1 包名2 …会连带更新内核,要谨慎
yum -y upgrade 包名1 包名2 …
更新命令注意一定要指定更新的包名,不然就会更新所有的包
yum的卸载:
yum -y remove 包名1…
yum的缓存:
yum clean all 清空整个包的缓存
yum makecache 制作缓存
yum repolist 查看有多少可用源
安装nginx???已安装
配置本地yum源服务器???已完成
https://blog.csdn.net/qq_36525906/article/details/100116909 搭建nginx及配置本地yum
1.3.4 源码编译安装
由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache、tomcat. php等软
件。开源软件基本都提供源码下载,源码安装的方式;
源码安装的优点是:
1、用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装。
2、用户还可以自己选择安装路径,方便管理。
3、卸载软件也很方便,只需删除对应的安装目录即可。
4、能最大程度和服务器平台融合,效率稍微比其他方式高。
5、没有windows所谓的注册表之说。
源码安装的缺点是:
1、安装较为繁琐,需要自己配置
2、安装较为耗时,需要自己编译源码
3、安装较为容易出错,出错也难以解决。
源码安装软件-般有以下几个步骤组成:下载解压源码、分析安装平台环境( ifconfigure)、编译安装软件(make,make install)。