Linux集锦

时间:2021-04-19 15:22:28

一:Linux文件系统

Linux系统有一个重要概念:一切都都式文件。

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;

  用符号设定权限
  # chmod [ugoa]  [+-=] [rwx] dirname/filename
    u:拥有者
    g:所属群组
    o:其他人
    a:所有人
    +:添加权限
    -:移除权限
    =:设定权限
linux中的文件属性过分四段,如 -rwzrwz---
第一段 - 是指文件类型 表示这是个普通文件
文件类型部分
-为:表示文件
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