Linux 基础知识点

  • linux下的目录介绍(CentOS7)
  • 挂载
  • 输入输出错误重定向
    • 文件描述符
  • 管道符
  • VI编辑器
  • 用户和用户组管理
  • 文件属性和权限修改
  • 软链接&硬链接
  • 文件归档
  • 安装命令
  • 防火墙

linux下的目录介绍(CentOS7)

根目录:一般只存放目录,不存放文件,原则上不修改(删除)根目录下的内容,否则可能造成系统崩溃。
         bin:存放可执行的二进制文件的目录(所有用户都能执行),比如常用的命令:cat,ls等。有些系统会存在sbin目录,顾名思义,就是给超级用户用的目录,该目录所有命令只能通过root权限用户执行。

boot:存放Linux系统启动时用到的一些文件(一定不能删除)。比如:系统引导管理器:/boot/grub
         dev:存放Linux系统下的设备文件。访问该目录下某个文件,相当于访问某个设备,比如挂载光驱:mount /dev/cdrom /media;

/*** 挂载,将光盘挂载到media目录。* 挂载是linux本身的文件目录与硬件设备的文件目录合二为一的过程* /
mount /dev/cdrom /media

etc:系统默认存放配置文件的地方,比如:etc/init.d,/etc/sysconfig。 不建议在此存放可执行文件。
         home:普通用户的家目录。新增用户账号时,用户的家目录都存放在此目录下。~表示当前目录的家目录, ~xxx表示xxx家目录;
        opt:给主机额外安装软件所放置的目录;
        root:系统管理员root的家目录。
        tmp:临时目录,比如文件上传(文件不是很重要,操作空间大)。
        var:存放经常修改的数据,比如程序运行的日志文件等。
        usr:用户自己的软件安装处。
        mnt: 测试目录,用于了存放测试数据。

挂载

Linux一切皆文件。所以linux系统将所有的硬件设备当做文件来处理。这样就导致需要将设备挂载到系统中,才能让系统识别设备。如果不挂在,那么是无法通过命令来寻找设备的(通过图形界面可以)。
        挂载的本质其实是将硬件设备的文件目录和Linux本身的文件目录合二为一。
        常用的场景:比如用内网服务器,不允许连外网,那么可以通过挂载光盘来从光盘获取jar包等内容。

// 挂载命令
mount /dev/cdrom /media// 卸载命令
umount /dev/cdrom

在卸载的时候可能会出现忙碌状态。

[root@localhost media]# umount /dev/cdrom
umount: /media: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

解决方案:

// 安装fuser
yum install -y psmisc
// 查询谁在使用某个文件夹
fuser -mv /media
// 杀死使用media的用户进程
fuser -kv /media

输入输出错误重定向

输入重定向:将输入的内容写入到指定的文件中去。
        输出重定向:将输出的内容写入到指定的文件中去。
        错误重定向:将错误的内容写入到指定的文件中去。
        一般系统中不允许我们将错误内容打印到控制台,而是写入到文件中持久化起来。

文件描述符

名称 文件描述符 用途
stdin 0(可以省略) 标准输入
stdout 1(可以省略) 标准输出
stderr 2(不可省略) 标准错误输出
  • 输入重定向: <
  • 输出重定向: > (覆盖写入),>> (追加写入)
// 将查询到的数据,输出到wp.txt中
ps -ef |grep nginx > wp.txt
  • 错误重定向: llll 2
// 将打印的信息不打印到控制台,
llll 2 > wp.txt

管道符

管道符:将管道符左侧的输出结果传输给右侧作为参数。

 ps -ef |grep -v grep |grep nginx    // 去掉当前grep查询nginx对应的进程

VI编辑器

vi编辑器是一款强大的编辑器,vim是vi的升级款,可以显示不同的字体颜色(不过很多Linux不自带vim,需要自行下载)。

  • 命令模式:不可编辑模式,在插入模式按esc后,或者进入编辑文件后未按“i”之前。
$        #移动到这一行的行尾
gg      #移动到文档第一行行首
G       #移动到文档最后一行行首
x       #删除内容,删除一个字符
dd      #删除游标所在的那一整行
u       #复原原来的操作
v       #选中范围
y       #复制选中范围
p       #粘贴
  • 插入模式:按住键盘的 “i”
  • 底行模式:前提是得在命令模式,输入 : 进入。
# 都需要先输入 :
n                       #n为数字。光标移动到第n 行
/                       #寻找内容
%s/word1/word2/g        #从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2
n1,n2s/word1/word2/g    #n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代
为 word2
set nu                  #显示行号
set nonu                #取消行号
q!                      #强制离开不保存
wq                      #离开并保存
wq!                     #强制离开并保存
!                       #暂时离开(可以在!后输入Linux命令,比如查询,查看某个文件)

用户和用户组管理

Linux是一个多用户、多任务的操作系统。一个Linux系统,可以有多个用户同时登录并进行工作,互不干扰。这是windows做不到的。
        1. Linux用户分类:

  • 超级管理员 root: 拥有完全的权限。root的UID是0
  • 普通用户:权限有一定的限制,可以登录系统。一般可以执行/usr/local/bin或者/bin或者/usr/bin或者自己家目录的命令。无法越权执行命令。普通用户的UID: 500-60000(CentOS6),1000-60000(CentOS7)
  • 系统用户:一般不会登录系统,是用来维持某个服务程序。 系统用户UID:1-499(CentOS6),1-1000(CentOS7)

2.用户的配置文件:

  • 账号信息:/etc/passwd
  • 密码信息:/etx/shadow
// 密码文件中
用户      密码占位符   UID         GID     用户描述      用户的家目录                    登录后使用shell的解释
lighthouse  :   x   :   1000    :   1000    :       :   /home/lighthouse    :   /bin/bash/sbin/nologin #是不可登录的
/bin/bash #可以登录

3.添加用户(useradd):

  • -u #指定用户UID
  • -d #指定用户家目录
  • -g #指定用户所属组
  • -r #指定用户是系统用户
  • -s #用户登录shell解释器
  • -M #不创建家目录
// 创建一个test用户,指定UID 10032 指定家目录为/home/test 指定所属组为root,指定可以登录
useradd -u 10032 -d /home/test -g 0 -s /bin/bash test

登录用户时出现以下信息如何解决:

如下:
bash-4.2$
bash-4.2$
解决:复制相关信息到家目录
cp -r /etc/skel/.bash* /home/用户名/

4.删除用户(userdel):

# 删除 test用户
userdel test        #不会删家目录
userdel test -r     # 删除家目录

5.修改用户(usermod):

  • -u #指定用户UID
  • -d #指定用户主目录
  • -g #指定用户所属组
usermod -u 10003 test

7.给用户设置密码(passwd):

passwd test
echo "123456" | passwd --stdin test  # 将test 密码设置为123456

7.新增用户组(groupadd):
        8.删除用户组(groupdel):

文件属性和权限修改

1.文件属性

# 查看文件属性
ls -lrti
137121  -rw-r--r--. 1   root    root    242916  Sep 8 14:40 dnf.log
第一列:i节点;i节点可以理解文件id,一个i节点号可以对应多个文件,一个文件只能对应一个i节点号
第二列:文件的类型与权限-:代表的是文件;d:代表是目录; l:软链接文件 ;b:代表块设备;c:代表的是硬件设备(键盘)
rw-------:分为三列 rw- --- ---,第一列为所属者的权限,第二列为所属组的权限,第三列为其它的权限
r:表示读权限 ;w:表示写权限;x:表示执行权限
4:表示读权限 ;2:表示写权限;1:表示执行权限第三列:有多少文件名链接到这个节点(硬链接)
第四列:文件的所有者
第五列:文件的所属组
第六列:文件当前的大小,单位默认为B
第七列:创建或最后一次修改的时间
第八列:文件名

2.权限修改

  • 修改文件的权限命令chmod:
chmod -R 777 /home/test/*    #  递归修改test文件目录下所有的文件和目录 -R代表递归 7代表rwx,所以777就是所有人都能读写操作,
chmod u+x /home/test/xxx.log       #  u修改所有者.  u+x 给所有者增加执行权限
chmod g+x,o-w xxx.log          #  g修改所属组,o修改其他权限。 给所属组增加执行权限,给其他权限减去写权限。

软链接&硬链接

软链接:文件有类似于Windows的快捷方式。文件实际上是一个文本文件,其中包含的有另一文件的位置信息。如果源文件删除,则软链接不能用了
        硬连接:指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。如果文件删了,硬链接还能用。
        1.创建软链接&硬链接:

ln -s /var/log/xxx.log /usr/local    #文件名必须要用绝对路径,否则容易读不到ln /var/log/xxx.log /usr/local   #文件名必须要用绝对路径,否则容易读不到

文件归档

归档:简称打包,是指把多个文件组合到一个文件中,好处是文件数目变少了,有利于文件的传输以及备份。归档工具:tar 可以将多个文件合并为一个文件
        压缩:是利用速算法将文件有损或者无损的处理,目的是为了节约空间和提高传输速率。压缩工具:gzip,xz等

解压缩命令。

  • gzip: 压缩比率低,压缩速率快。只能压缩文件,不能压缩目录。 扩展后缀 .gz。
gzip rest.txt                        # 不保留源文件压缩,压缩后rest.txt会被删除,压缩包名rest.txt.gz
gzip rest.txt > rest.txt.gz          # 可选是否保留源文件压缩,Y,覆盖不保留,N,不覆盖保留。  > 重定向
gzip -c rest.txt > rest.txt.gz   # 保留原文件压缩
gunzip rest.txt.gz                  # 不保留源文件解压
gzip -d rest.txt.gz                 # 不保留源文件解压
gunzip -c rest.txt.gz > rest.txt    # 保留源文件解压,

注意:

#注意,不能写成gzip rest.txt > rest.gz 这样改变了文件后缀,解压会出现问题。
gzip rest.txt > rest.gz    # 错误
  • xz: 压缩速度慢,压缩比率高。可以压缩目录和文件。 拓展名.xz
xz rest.txt                          # 不保留源文件压缩
xz -c rest.txt > rest.txt.xz         # 保留源文件压缩
unxz rest.txt.xz                    # 不保留源文件的解压
xz -d -k rest.txt.xz                # 保留原文件的解压
xz -d rest.txt.xz                   # 不保留源文件解压

tar:归档与压缩命令。

  • -c 创建新文件(必须)
  • -f 指定文件格式(必须)
  • -v 显示详细过程
tar -cvf rest.tar rest  # -cvf:创建新文件以及格式,显示压缩过程   rest.tar:归档的新文件名 rest:被归档的目录或者文件
  • -z 以gzip方式归档压缩
tar -zcvf rest.tar.gz rest
  • -J 以xz方式进行归档压缩
tar -Jcvf rest.tar.xz rest
  • -v 解压操作
tar -xf rest.tar.xz
  • -C 指定解压路径
tar -xf rest.tar.xz -C /tem/test   # 指定解压路径

安装命令

安装好Linux系统后,会有一些命令需要我们自己安装,这边就以netstat与ifconfig命令为例。

#比如找不到telnet命令
[root@VM-12-14-centos ~]# telnet 127.0.0.1 3306
-bash: telnet: command not found# 安装telnet命令
yum -y install xinetd telnet telnet-server
# 安装netstat与ifconfig命令
yum -y install net-tools

防火墙

在centos7 之前默认采用的防火墙是iptables,而在centos 7则是采用firewall。本质上firewall是iptables的一个升级。
        1.查看防火墙服务状态:

# 查看防火墙状态(方法1)
systemctl status firewalld# Active: active 表示防火墙是启动的Active: active (running) since Fri 2022-09-09 11:39:37 CST; 3h 31min agoDocs: man:firewalld(1)Main PID: 2524191 (firewalld)Tasks: 2 (limit: 47456)Memory: 29.2MCGroup: /system.slice/firewalld.service└─2524191 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopidSep 09 11:39:36 VM-12-14-centos systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 09 11:39:37 VM-12-14-centos systemd[1]: Started firewalld - dynamic firewall daemon.
Sep 09 11:39:37 VM-12-14-centos firewalld[2524191]: WARNING: AllowZoneDrifting is enabled. This is considered an inse># 查看防火墙状态(方法2)
firewall-cmd --state

2.重启防火墙:

#关闭防火墙(已经配置了服务)
systemctl stop firewalld.service#打开防火墙
systemctl start firewalld.service#重启防火墙
systemctl restart firewalld.service

3.查看防火墙开放端口规则:

firewall-cmd --list-port#查看端口是否被监听
netstat -tunlp |grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3343/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      3343/sshd

4.开放和关闭端口:

# --permanent表示永久生效,否则重启后失效
# --add-port开放端口
# 80/tcp  端口/端口的协议
#需要reload才有效
firewall-cmd --permanent --add-port=80/tcp
# 重启防火墙
firewall-cmd --reload# 关闭端口
#不需要reload
firewall-cmd  --remove-port=80/tcp

5.SELinux(Security-Enhanced Linux):它属于增强型防火墙。SELinux提供了非常强大的功能,当然也非常复杂,当然如果能够灵活运用,可以大大提高系统的安全性。
        SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
        SELinux工作模式:

  • enforcing::强制模式。违反selinux 规则的行为将会被阻止并记录到日志中去
  • permissive:宽容模式。违反selinux 规则的行为将会记录到日志中去
  • disabled:关闭模式。

SELinux配置文件路径:/etc/selinux/config

Linux基础:基础知识相关推荐

  1. 权限认证php,2016年Linux认证基础知识:php做权限管理

    2016年Linux认证基础知识:php做权限管理 在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的 ...

  2. 查看linux硬核上的线程,给大家分享一点基础硬核知识哦 Linux的基础指令操作Lin...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给大家分享一点基础硬核知识哦 Linux的基础指令操作L inux的基础指令操作 Linux的指令下达方式很简单,只需要记得几个重要的概念就可以 l: c ...

  3. Linux系统基础知识

    Linux系统基础知识 1.在Linux系统中,以文件方式访问设备.   2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...

  4. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  5. Linux操作系统基础知识学习

    Q1.什么是GNU?Linux与GNU有什么关系? A: 1)GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目, ...

  6. Linux的基本知识和基础操作

    Linux的基本知识和基础操作 一.基本知识 Linux是基于Unix的 Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核.Linux可安装在各种 ...

  7. Linux 系统基础知识

      温故而知新,可以为师矣.好久没有再次系统学习 Linux 相关的知识了,总结回顾一下,为了更好的前进. 一.环境搭建   环境的配置,是我们学习的基础.环境配置会用到的工具及环境: (1) Int ...

  8. Linux常用基础知识必备三之常用指令及操作

    Linux常用基础知识必备三之常用指令及操作 1.vi和vim vi如何使用 vi几种模式下的操作指令 命令模式进入编辑模式 命令模式下的快捷键 底行模式(指按了esc键之后输入按键:后出现) 字符串 ...

  9. linux系统下io的过程,Linux系统基础知识:IO调度

    Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...

  10. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

最新文章

  1. linux 下/proc/cpuinfo三级缓存,linux /proc/cpuinfo文件分析
  2. python全栈-Day 14
  3. Vue.js 状态管理
  4. 计算机基础知识菜鸟教程,机器学习基础知识整理归纳
  5. kie-api_KIE-WB / JBPM控制台Ng –配置
  6. 解决删除镜像时image is referenced in multiple repositories
  7. 为啥浏览器中的对象和w3c不一样??
  8. 页面文字请使用css进行控制,css控制页面文字不能被选中user-select:none;
  9. 测试加减乘除c语言,科学网-一个C语言加减乘除的小程序-杜波的博文
  10. Linux inittab和oracle lsntctl 启动的问题解决办法
  11. 废旧安卓手机利用(一)安装linux系统(Centos、Debian)
  12. Python学习笔记——变量(图灵学院)
  13. 贪婪洞窟2怎么在电脑上玩 贪婪洞窟2安卓模拟器教程
  14. AMD intel CPU 型号对比
  15. 太原理工大于丹计算机,太原理工大学硕士生将参加中国第30次南极考察
  16. 【转】互操作性的区块链系统设计理念
  17. Navicat Premium 12.0.22安装与激活
  18. sybase ASE在unixlinux上的自动备份脚本
  19. Web服务器python编程
  20. 怎么把收藏夹变成html文件,用Delphi将IE收藏夹导出为HTML文件

热门文章

  1. 从打击App刷榜看苹果的底线
  2. 5s硬件测试软件,iphone怎么检测硬件故障
  3. Acer宏碁笔记本电脑 暗影骑士 AN515-52原装出厂恢复原厂系统1709
  4. 2019年最新Java面试题及答案整理(下)
  5. spring-cloud集成数据库版本迁移工具flyway
  6. jQuery动态创建的元素无法删除?—— 事件委派找其静态父级
  7. python语言最适合的领域_Python语言被广泛用在哪些领域了?
  8. 丰田在北美的工厂配置了Invisible AI的智能系统
  9. 并联串联混合的电压和电流_图文详解:电流互感器的接线方法及相关注意事项!还不收藏?...
  10. 手把手教你手撕SPF生成树(OSPF区域内防环)