Linux之centos学习
1.概述
Linux是基于Unix的
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
2.目录结构说明
3.Linux的常用命令(掌握)
3.1 切换目录命令cd
cd app 切换到app目录
cd … 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录
pwd 查看当前目录
3.2 列出文件列表ls
ls
ls -a 显示所有文件或目录(包含隐藏的文件)
ls -l 可以缩写成ll,行显示
ll -h 这个是友好的行显示,可以看到文件存储的大小和单位
3.3 创建目录和移除目录mkdir rmdir
- mkdir(英文全称make directory)
方式1:mkdir app 创建一个目录
方式2:mkdir –p app2/test 创建多级目录
- rmdir(英文全称remove directory)
rmdir app 删除app目录 ,要求app为空
3.4 浏览文件的4种方式(cat,more,less,tail)
- cat 用于显示文件的内容
用法:cat a.txt 适用于1页的信息量查看,多了无法翻页看
- more
用法:more a.txt 适用于多页查看
回车键可以显示下一行看,空格键可以显示下一页看,q退出查看
- less
用法:和more类似,不同的是翻页按键,less可以通过PgUp、PgDn键来控制上下页
- tail 用于显示文件后几行的内容,自定义行数
用法1:tail -10 ifconfig.log 查看后10行数据
用法2:tail -f ifconfig.log 动态查看日志,适用于配置文件在实时更新
3.5 文件操作(touch ,rm,cp,mv,tar,grep)
- touch 创建文件
用法:touch a.txt
- rm 删除文件或者目录
删除文件用法1:rm a.txt 删除a.txt文件,删除需要用户确认,y/n
删除文件用法2:rm -f a.txt 不询问,直接删除
删除目录用法1:rm -r a 递归删除 ,有每一层的删除确认(安全)
删除目录用法2:rm -rf a 不询问递归删除(慎用,注意安全)
删除目录用法3:rm -rf * 不询问删除当前目录所有文件(慎用,注意安全)
- cp 复制
用法1:cp a.txt b.txt 将a.txt复制为b.txt文件
用法2:cp a.txt ../ 将a.txt文件复制到上一层目录中
用法3:cp -r app/ app4/ 将目录app(有下级目录)在当前目录再复制一个app4
- mv 移动或者重命名
用法1:mv a.txt ../ 将a.txt文件移动到上一层目录中
用法2:mv a.txt b.txt 将a.txt文件重命名为b.txt
- tar 打包或解压
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
用法1:tar –cvf aaa.tar 打包,aaa是自定义的名字
用法2:tar –zcvf aaa.tar.gz 打包并且压缩
用法3: tar –xvf aaa.tar 解压当前目录
用法4:tar -xvf aaa.tar.gz -C /usr/b 解压到指定目录
- grep 查找符合条件的字符串,起到过滤的作用
用法1:grep java ifconfig.log 在ifconfig.log找java字符串
用法2:grep java ifconfig.log - -color 高亮显示java
常与浏览文件命令搭配使用,有过滤作用,如:cat a.txt | grep java
3.6 其他常用命令(pwd,wget用来下载安装包)
- pwd 显示当前所在目录
- wget
注意
使用之前ping www.baidu.com 测试有没有网络
默认一直ping ,按ctrl+c结束,推荐用ping -c 4 www.baidu.com,自动结束
用法
wget http://nginx.org/download/nginx-1.9.12.tar.gz 下载nginx安装包
4.Vi和Vim编辑器
4.1产生的背景
之前浏览文件用cat,more,less,他们的共同点是只能查看不能编辑文件,而vim同时具备查看和编辑的功能。注:vi和vim命令和使用以及作用都一样。
4.2 进入vim编辑器,内部有3种模式
- 切换到命令行模式:按Esc键
- 切换到底行模式:按 :(冒号)
说明:
- 进入插入模式:按 i o a任意一个
说明:
退出:esc :q 适用于查看文件
强制退出: esc :q!
保存并退出:esc :wq 适用于编辑文件
强制保存退出:esc :wq!
i:在当前的光标所在处插入
o:在当前光标所在的行的下一行插入
a:在光标所在的下一个字符插入
快捷键:
dd – 快速删除一行
R – 替换
yy 复制一行
p 粘贴
/ 可以搜索字符
5. 重定向输出>和>>
- > 重定向输出,覆盖原有内容
用法:b.txt > a.txt 将输出定向到a.txt中
- >> 重定向输出,又追加功能
用法:b.txt >> a.txt 输出并且追加
6. 管道 |
- 作用
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
- 常见用法如下:
ls --help | more 分页查询帮助信息
ifconfig | more
ps –ef | grep java 查询名称中包含java的进程
cat index.html | more
7. &&命令执行控制
命令之间使用 && 连接,实现逻辑与的功能,跟在java里的作用一样
用法
mkdir test && cd test
8. 查看进程命令ps(面试题)
ps -ef 查看当前所有运行程序(进程)
ps –ef | grep java 查询名称中包含java的进程
kill 2868 杀掉2868编号的进程
kill -9 2868 强制杀死进程
9. 网络通讯命令(ifconfig,ping,netstat )
- ifconfig 显示或设置网络设备
用法1:ifconfig 显示网络设备
用法2:ifconfig eth0 up 启用eth0网卡
用法3:ifconfig eth0 down 停用eth0网卡
- ping 探测网络是否通畅
用法:ping -c 4 www.baidu.com 测试网络
- netstat 查看网络端口
用法:netstat -an | grep 3306 查询3306端口占用情况
10. 系统管理命令(date,df,free,top,clear,du,who,hostname,uname)
- date 显示或设置系统时间
date -s “2020-03-19 09:10:10“ 设置系统时间
- df 显示磁盘信息 ; df –h 友好显示大小
- free 显示内存状态
free –m 以mb单位显示内存使用情况
- top 显示,管理执行中的程序
- clear 清屏幕
- du 显示目录或文件的大小 ;du –h 友好的显示当前目录的大小
- who 显示目前登入系统的用户信息
- hostname 查看当前主机名
修改:vi /etc/sysconfig/network
- uname 显示系统信息
uname -a 显示本机详细信息
依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称
11. Linux的用户和组
11.1用户的管理
- useradd 添加一个用户
用法1:useradd test 添加test用户,默认目录名为用户名
用法2:useradd test2 -d /home/t2 指定用户在home目录下的目录t2
- passwd 设置、修改密码
passwd test 123456
- 切换test用户登录操作命令
ssh -l test -p 22 192.168.237.131
su - test
- userdel 删除一个用户
userdel test 删除test用户(不会删除home目录)
userdel –r test 删除用户以及home目录
11.2 组管理
- 作用
一个组里的用户可以进行批量管理
- groupadd 创建组
用法1:groupadd public 创建一个名为public的组
用法2:useradd u1 –g public 创建用户指定组
- groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组
groupdel public
11.3 id,su命令
- id 查看一个用户的UID和GID
用法1:直接使用id
用法2:直接使用id 用户名
- su 切换用户
用法:su - test 切换到test用户,并且将环境也切换到test用户的环境(推荐使用)
- 账户文件说明
/etc/passwd 用户文件
/etc/shadow 密码文件
/etc/group 组信息文件
12. Linux的权限命令
12.1文件权限图解
12.2 Linux三种文件类型
- 普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
- 目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
- 设备文件: Linux系统把每一个设备都看成是一个文件。
12.3 文件类型标识
普通文件(-)
目录(d)
符号链接(l)
* 进入etc可以查看,相当于快捷方式
字符设备文件(c)
块设备文件(s)
套接字(s)
命名管道(p)
12.4 文件权限管理(chmod,chown)
- chmod 变更文件或目录的权限
用法:7=4+2+1 5=4+1 3=2+1 根据数字就可以判断出文件的权限
chmod 755 a.txt
chmod 000 a.txt
chmod 777 a.txt
- chown 变更文件或目录改文件所属用户和组
用法:
chown test:public a.txt 变更当前的目录或文件的所属用户和组
chown -R test:public dir 变更目录中的所有的子目录及文件的所属用户和组
12.5开关机命令
- shutdown -h 0 关机
- reboot 重启
13. 涉及的工具
- putty 避免了在虚拟机linux和window的切换麻烦,之前从虚拟机跳出,需要按ctrl+alt
- nginx 代理服务器,用于集群部署,部署环境可以是window,linux,适用于高并发的访问环境
- filezilla 用于win和linux传文件的桥梁
14. 在Linux平台部署web项目
操作步骤:
- 安装JDK
- 安装mysql
- 安装tomcat
- 部署项目的war包放到tomcat的webapps下
了解1个概念:
软件包管理器,常用的有RPM ,YUM
软件放在/usr/local里,新建软件文件夹
技巧
记住命令就行,参数信息可以通过 命令 --help 获得; 在遇到有些页面运行没有退出的时候,按ctrl+c退出。