一: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

Linux集锦的更多相关文章

  1. Linux 集锦(持续更新中)

    // 获取文件夹下的代码总行数 find . -name "*.*" | xargs wc -l // ls 排序 ls -lt 按照最后修改时间降序 ls -lrt 按照时间升序 ...

  2. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  3. linux异常处理:selinux配置错误导致无法重启

    点击返回自学Linux集锦 linux异常处理:selinux配置错误导致无法重启 一次linux无法重启异常记录: 当时第一反应就是梳理最近的配置变更,特别是能预知相关的就是selinux配置变更. ...

  4. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  5. Linux问题集锦

    一些会遇到的问题,我会不断更新问题集锦~  1.vi / vim保存文件时遇到的问题:E212: Can't open file for writing 在vi / vim下输入w或wq!保存编辑的文 ...

  6. Linux运维常见问题解决集锦【转】

    作为linux运维,多多少少会碰见这样那样的问题或故障,用点心,平时多注意积累,水平肯定越来越高. 下面就是常见问题解决集锦:   1.shell脚本不执行 问题:某天研发某同事找我说帮他看看他写的s ...

  7. Linux内核调试的方式以及工具集锦【转】

    转自:https://blog.csdn.net/gatieme/article/details/68948080 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  8. Linux内核调试的方式以及工具集锦

    原文:https://blog.csdn.net/gatieme/article/details/68948080 CSDN GitHubLinux内核调试的方式以及工具集锦 LDD-LinuxDev ...

  9. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

随机推荐

  1. Django基础篇--模板和路由分发

    Django模板 首先什么是一个模板? 简单来说就是一个网页,可以被view响应给用户 目的是为了解决复杂的显示问题 2. 模板的设置问题 setting.py中的TEMPLATES配置 1)BACK ...

  2. Websocket通信过程

    1. 客户端与服务器建立连接 2. 客户端通过session向服务器发送消息 3. 服务器接收客户端的消息,调用服务器端的onMessage()方法包装.生成消息内容(新的消息包括客户端ID) 4. ...

  3. [20170904]11Gr2 查询光标为什么不共享脚本.txt

    [20170904]11Gr2 查询光标为什么不共享脚本.txt --//参考链接下面的注解脚本:https://carlos-sierra.net/2017/09/01/poors-man-scri ...

  4. 系统运维|SqlServer2008|数据库日志文件过大需要清理的操作攻略

    摘要: 1.执行SQL语句改成“简单模式” 2.收缩数据库 3.执行SQL语句改回“完全模式”   原文链接: http://www.lookdaima.com/WebForms/WebPages/B ...

  5. 【PAT】B1052 卖个萌(20 分)

    实在不想写这个题,好费劲,头疼,这是粘的柳婼的代码 ,等我有空再自己用c写吧 #include <iostream> #include <vector> using names ...

  6. win10锁屏或睡眠一段时间后弹不出登录框

    win10锁屏或睡眠一段时间后弹不出登录框 文:铁乐与猫 通常发生在win10更新到10周年版后发生,也就是会卡在登录状态,但不见输入登录框. 我出现这种情况的时候不是很严重,一般等久些也能出现,但问 ...

  7. 3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取

    目录 目录: (一)以文本形式存取 1.说明: 2.语法解释: 3.实例(以.csv文件为例) 4.效果展示 (二)以任意的形式存取 1.说明: 2.语法解释: 3.实例(以.bat二进制文件为例) ...

  8. 01LaTeX学习系列之---TeX的介绍与认识

    目录 01TeX的介绍与认识 目录 前言 (一)TeX 的宣传 TeX - Beauty and Fun 1. TeX 是什么? 2. TeX 是哪家公司生产的? 3. 我们今天主角的名字怎么念啊?& ...

  9. mysql覆盖索引详解

    覆盖索引的定义: 如果一个索引包含(或覆盖)所有需要查询的字段的值,称为‘覆盖索引’.即只需扫描索引而无须回表. 只扫描索引而无需回表的优点:    1.索引条目通常远小于数据行大小,只需要读取索引, ...

  10. v-bind指令动态绑定class和内联样式style

    动态绑定class—概述 数据绑定(v-bind指令)一个常见需求是操作元素的 class 列表.因为class是元素的一个属性,我们可以用 v-bind 处理它们 我们只需要计算出表达式最终的字符串 ...