精选30+云产品,助力企业轻松上云!>>>

Linux 02

今日学习目标

  • [x] 磁盘管理
  • [x] 网络管理
  • [x] 系统管理
  • [x] 重定向和信息黑洞

学习进度

Linux(11/20)

一天总结

磁盘指令

1.查看硬盘信息<br /> df 命令可以输出一下信息:默认是以 KB为单位显示,-h 可以以友好的方式展示。(人类更易于阅读)<br /> 磁盘信息,使用率以及挂载的位置。

2.查看文件或者目录的大小

du 命令 + 文件或者目录,默认单位为 kb ,同上 加上 -h 也会以更易阅读的方式展示。du 命令查看的大小,不足1M的按照1M显示。

还有一个参数 --max-depth=n, 其中 n 代表一个数字, 用来查看目录的层级。

网络命令

查看网络网卡信息:ifconfig<br /> 测试连通性:ping

查看网络信息:netstat -anp(显示程序名) -t(TCP) -u(UDP) -l (监听)<br /> 在后面加上管道符 | 过滤 grep 端口号 可以查看某个端口是否被占用

使用 lsof 命令也可以查看端口是否被占用:<br /> **lsof -i:port **没有这个命令的话,可以使用 yum install lsof 安装

curl -x 网址 可以模拟 HTTP 请求,可以使用 -X 或者 --request 执行特性的 HTTP METHOD<br /> 可以试一下 curl www.baidu.com

系统管理

1.用户操作

在 root 下面新建用户。

useradd 名字,就会新增一个用户<br /> passwd 名字,修改该用户的密码<br /> userdel  -r 名字 ,删除该用户(以及目录),注意如果想要删除该用户的home目录。必须要加上参数 r

usermod -l newname oldname 修改名字<br /> usermod -L 用户 锁定用户<br /> usermod -U 用户 解锁用户<br /> 注意:这里的虽然锁定用户了,但是还是可以从 root 用户su到被锁的普通用户。<br /> 更多与锁定有关的资料可以参考:几种锁定用户的方式

查看当前用户是谁:whoami 输出 用户名<br /> 查看当前登录的是谁以及使用的终端号:who am i 有空格的、会输出

2.用户组操作<br /> 查看用户所在的组:groups 用户名 ,下面可以看到 xixi 用户属于 root 用户组。

也可以使用 id 命令来查看用户的更多信息:

3.权限操作

查看:使用 ll 命令可以查看目录或者文件的权限,红色圈出来的区域

权限类别:有三种,分别是读r,写w,执行x。对应的数字是 4 2 1

UGO模型。user group other 分别是三个不同的权限组、

上面说了这么多权限的概念,下面开始修改权限:(注意是 root 下面执行)<br /> (1)修改所属者与所属组<br />  格式:chown 用户:用户组 文件或目录<br /> 如果单独修改一个的话,另一个缺省就可以。(这句话不全对)

比如:<br /> chown xix:root 123.txt<br /> chown xixi: 123.txt(错),这种都会改。所属者和所属组都会变成 xixi<br /> chown :root 123.txt(可以的)

加上 -R 就是递归的修改!!!

(2)修改文件或目录权限

使用 chmod 命令,后面可以使用 ugo+rwx 或者 ugo-rwx 或者 755 这样的。

上面 + 号代表授权,- 号代表取消授权

系统配置

1.用户组信息配置** /etc/group**<br /> 2.用户信息配置<br /> 一个是 只有root可以看到的 **/etc/shadow **,普通用户是没有权限查看这个文件的。

另一个是 普通用户可以看的的 /etc/passwd

3.系统服务初始化配置<br /> 查看** /etc/inittab **文件。

Linux 默认的级别是 3,不能把 initdefault 设置为0 或者 6 。

如图所示,init 后面有7种数字,常用的有 0,3 ,5,6

  • init 0 慎用关机!!!!
  • init 3 默认多用户模式
  • init 5 图形化界面
  • init 6 重启服务器

4.主机名配置

在 /etc/sysconfig/network 下面配置hostname = xxx。

5.配置 DNS

在 /etc/hosts里面做映射

或者在 /etc/resolv.conf 设置nameserver

6.SUDO权限配置

除了 root 管理员之外,其他的都是普通用户。不推荐直接给普通用户全部的 root 权限,<br /> 可以使用 sudo 来解决这个问题。让普通用户也能使用一些 root 权限的命令。<br /> 编辑文件** /etc/sudoers**

vim /etc/sudoers , 可以添加格式: 授权用户 主机=(ALL或者指定用户)  特定某些命令或者ALL , 多个命令之间使用逗号隔开。

比如上面新增的:** xixi ALL=(root) /sbin/service 就是给xixi 用户添加sudo权限可以执行 service 命令**

如果不想每次使用sudo的时候输入密码,可以加入 NOPASSWD: 来配置不需要密码!!

使用 sudo -l 可以查看该用户所有的 sudo 权限。

系统时间,日期

date<br /> cal<br /> cal 2018<br /> cal 10 2018

更新系统时间

使用服务 ntp 来同步时间。

yum install -y ntp 来安装。

nptdate cn.ntp.org.cn 来更新同步时间。

如果网络有问题或者太慢的,可以来这个网站找到Ip池里面提供的ip.  ntp.org.cn

环境变量

全局环境变量在 /etc/profile 里面配置,慎用。<br /> 局部变量在 ~/.bash_profile 里面配置。主要是设置一些命令路径等

重定向与管道

1.输出重定向:<br /> > 覆盖<br /> >> 追加<br /> 2.输入重定向<br /> < 重定向到一个程序:cat < 1.txt

  1. <br />

标准输出重定向:1> 等价于 > ,只会输出正确的信息。<br /> 错误输出重定向:2>,只会输出错误的信息。

如上,cat 一个不存在的文件,则会报错,如果使用 1> 则不会把错误信息重定向到 123 文件中。<br /> 使用 2> 则会把错误信息重定向到 123 文件中。

4.结合使用 2>&1 专业说法:将标准错误输出重定向到标准输出。这种比较常用,因为我们在开发的过程中肯定需要完善的日志信息,错误的、正确的信息都将会保存下来。

5.管道 | 一般结合 grep 使用。

命令执行控制

1.&& 只有前面的命令执行正确,才会执行下一个命令。<br /> 2.|| 只有前面的命令执行错误,才会执行下一条命令

信息黑洞

**/dev/null **

使用 ll /dev/null 可以看出 null 是一个设备块文件。

使用 du /dev/null 可以看到 null 的大小为 0

使用 echo "some thind" >> /dev/null 之后,再次查看 null 文件的大小,依然为 0

遇到的问题以及解决方案

问题1 NAT和桥接不清楚

【问题描述】

对于NAT和桥接模式不是很清楚,懵懵懂懂的那种

【问题思路】<br /> 查资料,老师讲解。以教室的网络为例。

【解决方案】<br /> NAT是物理主机模拟一个子网出来以供虚拟机里面的服务器使用,使用vmnet8网卡。

桥接是物理主机和虚拟机服务器公用同一个子网,使用vmnet0网卡。

NAT模式下可以访问外部网络,但是外部网路不能访问我的虚拟机。<br /> 桥接模式下虚拟机可以访问外部网络,同时外部网络也可以访问虚拟机。

综上,NAT 节省IP且安全。桥接模式浪费IP

问题2 Mac下使用rz报错

问题描述】

使用expect脚本自动登录的ssh远程的服务器,再次使用rz的时候iterm2卡死。

【问题思路】<br /> 进程交互的问题

【解决方案】<br /> expect和rz只能同时选择一个,还是使用 scp或者rsync吧。<br /> 参考:https://blog.csdn.net/pkueecser/article/details/46491133

Linux 基础知识系列第二篇相关推荐

  1. Linux 基础知识系列第一篇

    精选30+云产品,助力企业轻松上云!>>> Linux 01 今日学习目标 [x] Linux系统的认识以及部署安装 [x] 认识Linux文件系统结构 [x] 实际操作文件和文件夹 ...

  2. Linux 基础知识系列第三篇

    精选30+云产品,助力企业轻松上云!>>> Linux 03 今日学习目标 [x] 网络进程 [x] 系统服务 [x] 定时任务 [x] Linux安全 [x] 常用命令操作 [x] ...

  3. js基础知识(第二篇)

    面向对象概念 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了 程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台. 分布式系统.网络管 ...

  4. unix环境高级编程基础知识之第二篇(3)

    看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl:这里主要是c函数,比较容易,看多了就熟悉了.对fcntl函数讲解比较到位 ...

  5. 区块链基础知识系列 第二课 区块链共识算法

    共识算法解决的是对某个提案(proposal)大家达成一致意见的过程. PBFT (拜占庭容错)算法 -Fabric 0.6采用 五个阶段:request,预准备(pre-prepare).准备(pr ...

  6. c#物联网_C# 基础知识系列- 16 开发工具篇

    0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...

  7. c# 找出目录下的所有子目录_C# 基础知识系列- 14 IO篇 文件的操作(2)

    前接上一篇内容. 如果是第一次捧场的小伙伴,为了您阅读的连贯性,烦请扫一眼<C# 基础知识系列- 14 IO篇 文件的操作(1)>.本篇是IO之文件操作的第二篇,介绍一下目录和路径的相关类 ...

  8. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  9. 总结Linux基础知识和常用渗透命令!!!

    作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,本文详细讲解了Linux相关知识点及Web渗透免了高龄.如果想玩好Kali或渗透,你需要学好Linux及相关命令,以及端口扫描.漏 ...

最新文章

  1. 我所理解的Spring AOP的基本概念
  2. Oracle按照时间统计总结
  3. 容器set和multiset
  4. 脚本示例 (Reporting Services)Microsoft Visual Basic .NET
  5. OSPF协议概述(一)
  6. SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解
  7. c 语言教程文档,c语言基本教程
  8. pytorch手动安装开发包
  9. python之循环(增删)内使用list.remove()
  10. java arraylist删除元素_java集合类ArrayList操作之删除remove某些元素的案例分析
  11. 一行代码实现微信电脑多开
  12. php ctf题,CTF---PHP安全考题
  13. unicode 特殊字符表 特殊符号
  14. 基于testNG的数据驱动测试的自动化测试实践(一)
  15. 嵌入式 Linux平台 C程序 交叉编译技术
  16. 程序员是怎么安排电脑桌面的
  17. 买了云服务器不会用?写了网站不会部署?超详细springboot+vue前后端项目部署教程来啦
  18. 模板模式实现后端公众号登录功能,Java8版
  19. 混音 文件 生成 linux,linux 混音
  20. NIFTI matlab下载使用

热门文章

  1. 记AELF区块链网络的一次内存持续增长问题排查
  2. 2018年黑龙江由俄进口原油2725.2万吨同比增加67.1%
  3. 阿里云服务器ECS挑选什么样的网站环境
  4. Python + Selenium + Chrome 使用代理 auth 的用户名密码授权
  5. 内网 根据计算机名查IP
  6. linux 基础学习之目录与文件处理命令
  7. Java学习笔记1——类和对象
  8. TypeScript入门教程 之 生成器函数
  9. Docker部署自己的短链接服务
  10. Windows下nginx的安装及使用方法入门