一: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. wepy里面两种不同的写回调函数的方法

    方案一const getHelpCenter = createAction(GET_HELP_CENTER, () => request('api/hisense/article/menu/li ...

  2. Flume初入门简单配置与使用

    1.Flume在集群中扮演的角色 Flume.Kafka用来实时进行数据收集,Spark.Storm用来实时处理数据,impala用来实时查询. 2.Flume框架简介 1.1 Flume提供一个分布 ...

  3. 【转】PHP 杂谈 坑爹的file_exists

    转自:http://www.cnblogs.com/baochuan/archive/2012/05/06/2445822.html 介绍   我发现了一个问题,今天与大家分享.我把整个过程描述一下. ...

  4. 怎样制作爽心的 dashboard ?

    在目前的大数据趋势中,数据的大屏可视化成为大家所推崇的一种互动展示模式.如果我们能够早一些了解和掌握这方面的技术,相信对我们的未来将会非常有帮助! 我们知道,通过报表工具实现大屏展示可以通过单张报表. ...

  5. (网页)JS和CSS不缓存方法,时间戳

    <link ..... href=".....css?time"+new Date()> <script type="text/javascript&q ...

  6. Echarts地图展示及属性分析

    Echarts,一个效果非常棒的可视化库,可以生产各种图表,动态展示,附上官方网址:http://www.echartsjs.com/index.html 之前带本科实习时有同学用过,狗哥的博客也用这 ...

  7. asp.net mvc中的后台验证

    asp.net mvc的验证包含后台验证和前端验证.后台验证主要通过数据注解的形式实现对model中属性的验证,其验证过程发生在model绑定的过程中.前端验证是通过结合jquery.validate ...

  8. 【 PostgreSQL】查询某模式下所有表的分布键信息

    想看下某模式下所有表创建的分布键是否合理,查找系统表文档拼出如下sql,亲们如果有更好的sql或者意见欢迎留言! ​SELECT     aaa.nspname AS "模式名", ...

  9. 將UNITY作品上傳到Facebook App!

    前言 大家好,今天要來介紹如何用UNITY 將製作好的遊戲上傳到Facebook,也就是Facebook App.近期Facebook與Unity合作而推出了新的插件,利用插件可上傳分數.邀請好友.P ...

  10. Java设计模式之二 ----- 工厂模式

    在上一篇中我们学习了单例模式,介绍了单例模式创建的几种方法以及最优的方法.本篇则介绍设计模式中的工厂模式,主要分为简单工厂模式.工厂方法和抽象工厂模式. 简单工厂模式 简单工厂模式是属于创建型模式,又 ...