linux
一.linux的目录结构
/ 挂载目录:为所有目录的根目录
home 家目录: 用户的根目录 存放普通用户的文件
例如:创建一个jack用户,就会产生一个Jack文件
root 超级管理员的管理目录
bin 存放二进制的可执行文件
sbin 超级管理员才能访问的二进制文件
etc 存放系统配置文件
usr 存放共享的系统资源(所有用户都可以访问的资源文件)
dev 存放设备文件
lib 存放运行时所需内核
boot 存放系统引导文件
tmp 存放临时文件
二.linux的常用命令
查看帮助:man
推出帮助 :q
2.1切换目录cd
cd app 切换到app目录
cd .. 切换到上一层目录
cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个主目录
2.2创建目录和删除目录
mkdir 创建
mkdir -p 创建目录串
mkdir 目录名
rmdir 删除
rmdir -p 删除多层文件
2.3 列出文件列表 ls(list)
ls[参数] [路径或者文件名]
-a 显示所有的文件或者目录(包括隐藏文件)
-l 显示文件详细信息(缩写 ll)
展示出来的文件中前面带 -的表示是个文件
文件前带.的表示是隐藏文件
-lh 友好显示详细信息 同 -l -h
2.4展示文件信息
cat: 显示文件的所有内容
cat 文件夹
less:分页显示
pageUp 上一页
pageDown 下一页
more:分页显示
空格:下一页
回车:下一行
tail*** 显示尾页(通常来查看tomcat的日志信息的后几行报错信息)
-显示的行数
-h动态的查看文件信息
(ctrl+c结束终端进程)
2.5 文件的操作
1 创建文件
touch 文件名 创建一个空白文件
2 删除文件
rm 文件名 带询问的删除
-f 不带询问的强制删除
-r 目录:带询问的递归删除
-rf 不带询问的递归目录删除
3 复制文件
cp 文件 目录/文件名
如:cp HelloWorld.java d/HelloWorld.java
4 移动文件(重命名)
mv 文件 目录/文件名 (移动)
mv 文件 文件 (重命名)
5 压缩/解压文件或者目录
tar -cvf :打包一个文件或者目录
-zcvf :打包并压缩一个文件或者目录 格式是.gzip
-xvf :解压一个压缩文件
格式 tar 参数 打包后的文件名 要打包 | 解压的文件或者目录
-C 解压到指定目录下
如:将当前文件下的所有文件及目录打包为test.tar.gz
tar -cvf test.tar.gz ./*
将test.tar.gz 解压到b目录去
tar -xvf test.tar.gz -C b
6 grep 在内容中查找符合条件的字符串信息
grep [选项]... PATTEN[file]
如: grep hello HelloWorld.java -color(ps:高亮显示) -A5(ps:后5行) -B5(ps:前五行)
7 其他常用命令
pwd 显示当前所在目录
wget 下载资料
如: wget 资源路径
2.6 vim文件编辑
vi/vim 打开文件编辑器(进入的是一般模式)
按ESC进入一般模式
常用操作:
/word 在文件中查找内容为word的字符串(向下查找)?wor】 在文件中查找内容为word的字符串(向上查找)[n] 表示重复查找动作,即查找下一个[N] 反向查找下一个
:n1,n2s/word1/word2/g n1、n2为数字,在第n1行到第n2行之间查找word1字符串,并将其替换成word2
x,X x为向后删除一个字符,相当于[Delete],X为向前删除一个字符,相当于[Backspace]
dd 删除光标所在的一整行ndd 删除光标所在的向下n行yy 复制光标所在的那一行
nyy 复制光标所在的向下n行p,P p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴u 撤消上一个操作
[Ctrl] + r 多次撤消. 这是小数点键,重复上一个操作退出vim编辑器
:w 保存文件:w! 若文件为只读,强制保存文件:q 离开vi:q!不保存强制离开vi:wq 保存后离开:wq! 强制保存后离开:! command 暂时离开vi到命令行下执行一个命令后的显示结果:set nu 显示行号:set nonu 取消显示行号:w newfile 另存为:set fileencoding 查看当前文件编码格式:set fileencoding=utf-8 设置当前文件编码格式为utf-8,也可以设置成其他编码格式:set fileformat 查看当前文件的断行格式(dos\windows,unix或macintosh):set fileformat=unix 将当前文件的断行格式设置为unix格式
:/?进入命令行模式
一般模式下 i I o O a A 进入编辑模式
2.7重定向输出
>重定向输出 并覆盖原文件
>>重定向输出 追加内容
如: cat HelloWorld.java > 1.txt
2.8命令控制
命令之间用&&连接
如果左边的返回true 后面的继续执行
如果左边的返回false 后面的就不执行
2.9管道 | (常用 用于查找进程)***
将一个命令的结果的输出当作另一个命令结果的输入
如:ifconfig | grep 192.168
ps -ef | grep java
三 . 系统命令
date 显示系统时间
-s "2019-4-30 12:12:12" 设置系统时间
df 设置磁盘信息
df -h 友好显示大小
free 显示内存状态
free -m 以mb为单位显示内存状态
top 显示 管理执行中的程序
clear 清理屏幕
ps 正在运行的某个进程的状态
-ef 查看所有进程
-ef | grep 进程名称 查找某一进程
kill 杀掉某一进程
kill 2868 杀掉编号为2868的进程
kill -9 2868 强制杀掉编号为2868的进程
du 显示目录或者文件的大小
-h 显示当前文件的大小
who 显示目前登陆系统的用户信息
四. 网络管理
ifconfig :查看所有的网络设备
ifconfig 网络名称 down 禁用网卡
ifconfig 网络名称 up 启用网卡
ping 探测网络是否通畅
netstat 查看网络端口
netstat -an | grep 3306 查看3306端口的pid
//
了解
用户管理
useradd 用户名 :默认会在home下给用户创建一个目录
passwd 用户名 : 回车输入密码
useradd 用户名 -d /home/目录 :创建一个用户然后再指定该用户的家目录
删除
userdel 用户名 :只是删除用户,但是不删除家目录
userdel -r 用户名:删除用户,连带其家目录也删除
组管理
添加组
groupadd 组名
useradd 用户名 -g 组名
删除组
groupdel 组名
注意:若组下有用户,组删除不了
文件类型标识
普通文件(-)
目录(d)
符号链接(l)
字符设备文件(c)
块设备文件(a)
套接字(s)
命名管道(p)
文件的权限的9个字母 三个三个一组
第一组 代表的是当前用户的权限
第二组 代表的是组的权限
第三组 代表的是其他用户的权限
r:读 4
w:写 2
x:执行 1
chmod 变更文件或者目录的权限
chmod 775 a.txt 使a.txt 当前用户可读可写可执行
组用户可读可写可执行
其他用户可读可执行
chown 变更文件或者目录该文件所属用户和组
chown ul:public a.txt 变更当前目录的所属用户或者组
chown -R ul:public dir:变更目录中的所有子目录及文件的所属用户和组
运行级别
运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。
不同的运行级定义如下:(可以参考Red Hat Linux 里面的/etc/inittab)
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11 (xwindow)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
centos7 firewall
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #作用域--add-port=80/tcp #添加端口,格式为:端口/通讯协议--permanent #永久生效,没有此参数重启后失效常用命令介绍
- firewall-cmd --state ##查看防火墙状态,是否是running
- firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
- firewall-cmd --get-zones ##列出支持的zone
- firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
- firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
- firewall-cmd --add-service=ftp ##临时开放ftp服务
- firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
- firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
- firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
- iptables -L -n ##查看规则,这个命令是和iptables的相同的
- man firewall-cmd ##查看帮助
- firewall-cmd --reload 重启防火墙