操作系统基础——Linux

操作系统基础——Linux

Linux是开源的操作系统,定制性很强,有很多发行版,选择使用Kail Linux ,可以在清华大学开源软件镜像站下载
具体操作在菜鸟教程学习
在Linux中一切都是文件,在Linux里一切起源为/这个根目录。从/开始的路径称为绝对路径,知道绝对路径就可以精准定位文件。../形式的称为相对路径,.表示当前目录,..表示上一级目录。例如../load表示上一级目录load文件夹,../../load表示上上级目录下的load文件夹

重要的目录

  • /etc目录:存储系统文件。例如/etc/passwd
  • var目录:存储一些类似日志的东西
  • home目录:家目录,分隔每个用户的个人房间
  • root目录:root用户(系统根管理员用户)的单独房间
  • tmp目录:临时目录,存储一些杂七杂八的缓存内容

文件管理常用命令

  • pwd:查看当前在哪个目录
  • cd:加一个参数,会切换到指定目录
  • ls:列出指定目录下边有哪些文件,不指定参数的话默认当前文件夹
  • cat:打开指定文件
  • echo:打印字符
  • touch:创文件

可以在命令后加一个参数,例如ls /home
同时可以用-开头来指定选项,例如ls -a -l表示列出当前目录下所有文件的详细信息,包括隐藏文件。同时也可以将选项合并,写成ls -al.

执行ls -al之后,可以看到每个文件的权限标识符
可以参考这篇

权限标识符基本原则是:文件类型(只占一位,d表示这是个目录)/文件所有者/同一个组的用户/其他用户
例如- rwxrwxrwx表示这个文件对所有人可读可写可执行,drwxr-xr-x表示这个目录对其所有者可读可写,对其他人是只读而不能写的。(x对于文件代表可执行,对于目录代表可进入)
可以通过chmod,chown,chgrp等对权限进行编辑

有些命令一般不使用命令本身,而是使用一些固定选项搭配,如ls -al,ps -aux(打印系统中所有进程的详细信息,如果需要实时的查看进程,可以输入top),netstat -anp

符号

  • >:把命令的输出重定向,常见于写入文件,例如echo xxx> x.txt会创建一个x.txt文件,并且内容为xxx
  • >>:类似于上边的符号,但是不会覆盖,会将字符追加到文件后
  • |:把前一个命令的输出作为后一个命令的输入,例如echo -n xxx| base64 -d会尝试对xxx进行base64编码
  • *:通配符。代表任何东西,例如find -name * .txt表示查找所有.txt结尾的文件

Linux常见的重要服务

  • SSH服务(用来远程连接),一般可以通过22端口访问
  • Web服务:一般在80端口
  • Mysql数据库服务:一般在3306端口
  • Redis服务:一般在6379端口

端口是可以修改,但是为了规范,一般是在这些常见端口上,通过nmap可以扫描目标服务器开放了哪些端口(注意:不要 扫描别人的机器,最好扫描自己,可以用127.0.0.1或者localhost表示自己的机器)