Linux 基础知识系列第二篇
精选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
<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 基础知识系列第二篇相关推荐
- Linux 基础知识系列第一篇
精选30+云产品,助力企业轻松上云!>>> Linux 01 今日学习目标 [x] Linux系统的认识以及部署安装 [x] 认识Linux文件系统结构 [x] 实际操作文件和文件夹 ...
- Linux 基础知识系列第三篇
精选30+云产品,助力企业轻松上云!>>> Linux 03 今日学习目标 [x] 网络进程 [x] 系统服务 [x] 定时任务 [x] Linux安全 [x] 常用命令操作 [x] ...
- js基础知识(第二篇)
面向对象概念 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了 程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台. 分布式系统.网络管 ...
- unix环境高级编程基础知识之第二篇(3)
看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl:这里主要是c函数,比较容易,看多了就熟悉了.对fcntl函数讲解比较到位 ...
- 区块链基础知识系列 第二课 区块链共识算法
共识算法解决的是对某个提案(proposal)大家达成一致意见的过程. PBFT (拜占庭容错)算法 -Fabric 0.6采用 五个阶段:request,预准备(pre-prepare).准备(pr ...
- c#物联网_C# 基础知识系列- 16 开发工具篇
0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...
- c# 找出目录下的所有子目录_C# 基础知识系列- 14 IO篇 文件的操作(2)
前接上一篇内容. 如果是第一次捧场的小伙伴,为了您阅读的连贯性,烦请扫一眼<C# 基础知识系列- 14 IO篇 文件的操作(1)>.本篇是IO之文件操作的第二篇,介绍一下目录和路径的相关类 ...
- 【Linux系列】Linux基础知识整理
Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...
- 总结Linux基础知识和常用渗透命令!!!
作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,本文详细讲解了Linux相关知识点及Web渗透免了高龄.如果想玩好Kali或渗透,你需要学好Linux及相关命令,以及端口扫描.漏 ...
最新文章
- 我所理解的Spring AOP的基本概念
- Oracle按照时间统计总结
- 容器set和multiset
- 脚本示例 (Reporting Services)Microsoft Visual Basic .NET
- OSPF协议概述(一)
- SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解
- c 语言教程文档,c语言基本教程
- pytorch手动安装开发包
- python之循环(增删)内使用list.remove()
- java arraylist删除元素_java集合类ArrayList操作之删除remove某些元素的案例分析
- 一行代码实现微信电脑多开
- php ctf题,CTF---PHP安全考题
- unicode 特殊字符表 特殊符号
- 基于testNG的数据驱动测试的自动化测试实践(一)
- 嵌入式 Linux平台 C程序 交叉编译技术
- 程序员是怎么安排电脑桌面的
- 买了云服务器不会用?写了网站不会部署?超详细springboot+vue前后端项目部署教程来啦
- 模板模式实现后端公众号登录功能,Java8版
- 混音 文件 生成 linux,linux 混音
- NIFTI matlab下载使用