一:Linux文件系统
Linux系统有一个重要概念:一切都都式文件。
Linux支持五种文件类型:
Linux的目录结构如下:
常见目录说明:
/bin: 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;
/etc: 存放系统管理和配置文件;
/home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
/usr : 用于存放系统应用程序;
/opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里;
/proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
/root: 超级用户(系统管理员)的主目录(特权阶级^o^);
/sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
/dev: 用于存放设备文件;
c:字符设备文件类型
/mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
/boot: 存放用于系统引导时使用的各种文件;
/lib : 存放着和系统运行相关的库文件 ;
/tmp: 用于存放各种临时文件,是公用的临时文件存储点;
/var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
/lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。
二:基本知识与基本命令
1:Linux严格区分大小写,如果你敲的命令没有执行成功,看看是不是大小写敲错了
2:Linux不含文件扩展名,但有约定俗成的叫法
压缩包: *.gz *.bz2 *.tar.bz2 *.tgz
二进制软件包:*.rpm
网页文件:*.html *.php
脚本文件:*.sh
配置文件:*.conf
3::常见标识
~:当前所在目录
#:超级用户提示符
$:普通用户
4:基本命令
ifconfig -a : 查看本机IP
su :切换到root用户
cd:切换到某一目录
ls:列出当前目录下所有文件
pwd :打印当前路径
mkdir 目录名:新建文件夹
-p 若其父目录不存在则先创建父目录
rm -f 文件名 :删除文件
rmdir 目录名:删除文件夹
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
mv命令可以移动文件和目录,还可以为文件和目录重新命名
5:find命令
find /etc -name a.txt :在/etc目录下查找a.txt文件
find . -name 'srm*' #表示当前目录下查找文件名开头是字符串‘srm’的文件
find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 group为cat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -user fred #查找在系统中属于fred这个用户的文件
find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size -1000k #查找出小于1000KB的文件
grep:在给定文件中查找与设定条件相符字符串。搜日志就靠它了
grep -r '关键字如商品ID' *.log 【使用频率最高】
grep '关键字如商品ID' *.log | grep 免费商品 【条件结果中,在加条件筛选下 】
grep '关键字如商品ID' *.log >> anan.txt 【相关日志输入到一个txt中,下载到本地慢慢看,我最喜欢】
grep -A 2 '商品ID' *.log 【显示商品ID及后5行】
grep -B 2 '商品ID' *.log 【显示商品ID及上5行】
grep -C 2 '商品ID' *.log 【显示商品ID及上下5行】
grep '商品ID' *.log --col 【高亮显示商品ID,非常醒目啊】
touch:
从后台启动进程,应在命令结尾加上符号&
tail -f *.log 【实时查看日志,开发环境还行,生产就算了,日志猛刷啊】
tail -f error.log 【实时看异常日志还是可以的】
5:文件打包压缩与解压文件命令
打包文件一搬以.tar结尾,压缩文件一般以.gz结尾,而一般情况下打包和压缩一起进行,这时后缀名一般为.tar.gz
打包压缩
tar -zcvf 打包压缩后的文件名 要打包压缩的文件
其中:
z:调用gzip压缩命令进行压缩
c:打包命令
v:显示运行过程
f:指定文件名
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
其中:
x:代表解压
6:vim编辑命令:
i:开始编辑
按ESC键 跳到命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
/something: 在后面的文本中查找something。
7:Linux权限命令:
chown:改变文件所有者
Linux权限分为以下三种
- r:代表权限是可读,r也可以用数字4表示
- w:代表权限是可写,w也可以用数字2表示
- x:代表权限是可执行,x也可以用数字1表示
修改文件/目录的权限命令
chmod u=rwx,g=rw,o=r aaa.txt
也可以写成:
chmod 764 aaa.txt 即r+w+x =7;r+w = 6;r = 4;
g:所属群组
o:其他人
a:所有人
+:添加权限
-:移除权限
=:设定权限
第一段 - 是指文件类型 表示这是个普通文件
文件类型部分
-为:表示文件
d为:表示文件夹
l为:表示链接文件,可以理解为 windows中的快捷方式(link file)
b为:表示里面可以供存储周边设备
c为:表示里面为一次性读取装置
第二段 rwz 是指拥有者具有可读可写可执行的权限
类似于windows中的所有者权限比如 administrator 对文件具有 修改、读取和执行权限
第三段 rwz 是指所属于这个组的成员对于这个文件具有,可读可写可执行的权限
类似于windows中的组权限比如administrators组,属于这个组的成员对于文件的都有 可读可写可执行权限
第四段 --- 是指其他人对于这个文件没有任何权限
类似于windows中的 anyone 一样就是说所有人对着个文件都会有一个怎样的权限
三:环境搭建
以下链接为自己亲测写的很全面的
1:安装Centos7系统
https://www.osyunwei.com/archives/2307.html
2:联网
https://jingyan.baidu.com/article/19192ad8f7c320e53e570728.html
3:gcc编辑器
yum install gcc-c++
3:卸载自带JDK并安装JDK
https://www.cnblogs.com/sxdcgaq8080/p/7492426.html
4:安装tomact
5:安装Mysql数据库
https://www.cnblogs.com/pythonal/p/6141516.html
6:安装Maven
https://blog.csdn.net/qq_39871625/article/details/78067466
7:安装Redis
https://www.cnblogs.com/zuidongfeng/p/8032505.html
8:安装Nginx
https://www.cnblogs.com/kaid/p/7640723.html
四:加载开机启动程序
1:启动脚本都统一放在/etc/init.d 文件中,如果你要手动关闭或重启某个进程,直接到目录 /etc/init.d 中寻找启动脚本即可。比如,我要重启Apache服务器,就运行下面的命令:
sudo /etc/init.d/apache2 restart
/etc/init.d 这个目录名最后一个字母d,是directory的意思,表示这是一个目录,用来与程序 /etc/init 区分。
参考:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Linux.md