Linux系统的简介和常用命令

Linux

Linux简介

Linux是一个自由的,免费的,源码开放的操作系统。也是开源软件中最著名的例子。其最主要的目的就是为了建立不受任何商品化软件版权制约的,全世界都能使用的类Unix兼容产品.而我们将服务器部署在Linux将会更加的稳定、安全、高效以及出色的性能这时windows无法比的。

Linux 发行版

发行版是基于 Linux 内核的一个操作系统。它带有用户可以使用的软件集合。更多的,它还包含系统管理包。目前有许多 Linux 发行版。因为我们不能数清目前所有的 Linux 发行版,所以我们来看一下一些有名的版本: Ubuntu、Redhat Linux VXbox等是几个非常受欢迎的 Linux 发行版。

Linux特点

开放性,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性

运行环境

VMvare虚拟机

步骤:安装虚拟机–>配置网络–>使用Xshell建立windows与虚拟机的连接

配置网络使用NAT结构

桥接与NAT区别

桥接
  • 结构:网络与物理机同一个网段(会占用外部IP)
  • 特点:
    • 1.外网能够访问
    • 2.能够访问外网

注意:桥接模式下的虚拟机网关必须改为与物理机网关一致

NAT模式
  • 结构:构成一个以物理机为网关的子网
  • 特点:
    • 1.子网的所有的服务器对外不可见
    • 2.子网能够正常访问外网
  • 安全!!!
  • 节省IP资源

文件系统

Linux目录结构:​

  • bin 存放二进制可执行文件(ls,cat,mkdir等)
  • boot 存放用于系统引导时使用的各种文件
  • dev 用于存放设备文件
  • etc 存放系统配置文件
  • home 存放所有用户文件的根目录
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  • mnt 系统管理员安装临时文件系统的安装点
  • opt 额外安装的可选应用程序包所放置的位置
  • proc 虚拟文件系统,存放当前内存的映射
  • root ~ 超级用户目录
  • sbin 存放二进制可执行文件,只有root才能访问
  • tmp 用于存放各种临时文件
  • usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  • var 用于存放运行时需要改变数据的文件

目录操作

  • cd + 目录的路径
    • 切换目录
  • pwd
    • 查看当前目录的完整路径
  • cd …
    • 返回到父目录
  • mkdir + 目录名字
    • 新建目录
  • ls
    • 查看该目录下所有的子文件夹和文件
    • ll查看所有子文件详情 ll=ls -l
  • cp -r 源文件 目标文件
    • 拷贝目录及子文件
    • -r 递归拷贝
  • rmdir 目录
    • 删除目录
    • 只能删除空目录
    • 若要删除非空目录则用rm命令
    • rm -r dir
    • rm [-rf] dirfile
  • mv + 目录/文件名字 + 其他路径
    • 移动目录或文件
  • mv + 旧目录名字 + 新目录名
    • 将目录或文件更名

文件操作

Linux特点:一切皆文件,有事找男人(man)

  • touch 文件名
    • 新建文件
  • cp 源文件 目标文件
    • 拷贝文件
  • rm 文件名或目录
    • 删除文件
    • -r为遍历删除 -f为强制删除,无需询问
  • cat 文件名
    • 查看文件内容
  • more 文件名
    • more filename 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比。
    • 按Space键,显示文本的下一屏内容。
    • 按Enier键,只显示文本的下一行内容。
    • 按B键,显示上一屏内容。
    • 按Q键,退出。
  • less命令 与 more命令非常类似
  • head -10 filename
    • 从头打印文件内容
  • tail -10 filename
    • 从尾部打印文件内容
  • find pathname –name filename
    • 例如find / -name profile
    • 查找文件或目录
    • 还可以用正则表达式查找

文本编辑

vi为linux的文本编辑器

vi 编辑模式 = i 进入插入模式 esc

vi filename :打开或新建文件,并将光标置于第一行首

vi +n filename :打开文件,并将光标置于第n行首

vi + filename :打开文件,并将光标置于最后一行首

vi +/pattern filename**:打开文件,并将光标置于第一个与 pattern匹配的串处**

命令行模式

  • w保存
  • q退出
  • q!:不保存文件并退出vi
  • 在VI的命令模式下输入“:set nu”,就有行号了。
  • 用ctrl+g就可以 显示行号
  • : s/p1/p2/g 将当前行中所有p均用p2替代
  • : n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代
  • : g/p1/s//p2/g将文件中所有p1均用p2替换

一般模式

  • yy 复制光标所在行(常用)
  • nyy 复制光标所在行的向下n行,例如, 20yy则是复制20行(常用)
  • p|P p为复制的数据粘贴在光标下一行, P则为粘贴在光标上一行(常用)
  • G:光标移至第最后一行
  • nG:光标移动至第N行行首
  • n+:光标下移n行
  • n-:光标上移n行
  • H :光标移至屏幕顶行
  • M :光标移至屏幕中间行
  • L :光标移至屏幕最后行
  • dd:删除 行
  • x或X:删除一个字符,x删除光标后的,而X删除光标前的
  • u 恢复前一个动作(常用)
  • 删除第N行到第M行:N,Md
  • :,$-1d 删除当前光标到到数第一行数据
  • i: 在当前光标所在字符的前面,转为输入模式;
  • a: 在当前光标所在字符的后面,转为输入模式;
  • o: 在当前光标所在行的下方,新建一行,并转为输入模式;
  • I:在当前光标所在行的行首,转换为输入模式
  • A:在当前光标所在行的行尾,转换为输入模式
  • O:在当前光标所在行的上方,新建一行,并转为输入模式;

vim

vim是从 vi 发展出来的一个文本编辑器。代码补完(对于我们基本不使用)、语法高亮、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

安装vim 软件

yum install vim -y

-y 每次询问时自动选择yes

文件传输

远程传输

  • 将本地文件复制到远程机器
    • scp local_file remote_username@remote_ip:remote_folder
  • 将本地目录复制到远程机器
    • scp -r local_folder remote_username@remote_ip:remote_folder
  • 将远程机器上的文件复制到本地
    • scp remote_username@remote_ip:remote_file local_folder
  • 将远程机器上的目录复制到本地
    • scp -r remote_username@remote_ip:remote_folder local_folder

从windows上传至linux

在任意目录下rz,选择文件后上传

从linux下载文件至windows

sz 目标文件,选择接收目录

磁盘指令

  • df
    • 查看磁盘信息
    • -k 以KB为单位,-m 以MB为单位,-h 更易于阅读
  • du 文件名/目录名
    • 查看目录名/文件名
    • –max-depth=0 目录深度

网络指令

  • ifconfig
    • 查看网络配置信息
    • addr :本机IP
    • Bcast:广播地址
    • Mask:子网掩码
  • ping remote ip
    • 测试与目标IP的连通性
    • 不会自动结束,需要手动按Ctrl+C结束
  • netstat
    • 显示各种网络相关信息
    • -a (all)显示所有选项,默认不显示LISTEN相关
    • -t (tcp)仅显示tcp相关选项
    • -u (udp)仅显示udp相关选项
    • -n 拒绝显示别名,能显示数字的全部转化成数字。
    • -l 仅列出有在 Listen (监听) 的服務状态
    • -p 显示建立相关链接的程序名
    • -r 显示路由信息,路由表
    • -e 显示扩展信息,例如uid等
    • -s 按各个协议进行统计
    • -c 每隔一个固定时间,执行该netstat命令。
  • 可以使用netstat指令来查询端口号是否被占用
    • netstat -tunlp|grep 端口号
  • telnet ip port
    • 测试远程主机的网络端口
  • curl [option] [url]
    • 使用指令的方法与url发送http请求
    • -X/–request [GET|POST|PUT|DELETE|…]
      • 使用指定的http method发出 http request
    • -H/–header
      • 设定request里的header
    • -i/–include
      • 显示response的header
    • -d/–data
      • 设定 http parameters
    • -v/–verbose
      • 输出比较多的信息
    • -u/–user
      • 使用者账号,密码
    • -b/–cookie
      • cookie

系统管理

用户操作

  • 创建用户
    • useradd/adduser username
  • 修改密码
    • passwd username
  • 删除用户
    • userdel -r username
  • 修改用户
    • usermod
    • usermod指令不允许修改正在线上登录的用户
    • usermod -l new_name old_name
      • 修改用户名
    • usermod -L username
      • 锁定账号
      • 建议不要使用root用户锁定root用户!
    • usermod -U username
      • 解除锁定账号
  • whoami
    • 查看当前登录用户名
  • 普通用户可查看/etc/passwd文件,得出系统一个有多少个用户
  • 除此之外,root用户还可以查看/etc/shadow文件,来得出系统一个有多少用户

用户组操作

  • 创建用户组
    • groupadd groupname
  • 删除用户组
    • groupdel groupname
  • 修改用户组
    • groupmod -n new_name old_name
  • 查看用户组
    • groups
      • 查看当前登录用户的组内成员
    • groups username
      • 查看用户所在的组
    • usermod -g groupname username
      • 把用户的主组改为其他的组
    • usermod -G groupname username
      • 将用户添加到附加组当中

系统权限

  • ll 目录
    • 查看目录下每个文件的权限
  • 权限类别
    • r:读取
    • w:写入
    • x:执行
  • UGO模型
    • Linux采用UGO模型进行控制
    • U为User,即用户
    • G为Group,即用户所在组
    • O为Other,即其他组
修改权限
  • 修改文件/目录的拥有者
    • chown username 文件/目录
      • 修改文件/目录的所有者
    • chown username:groupname 文件/目录
      • 同时修改一个文件或目录的所有者和属组。
      • 如果要递归修改目录下所有的文件,加参数-R
  • 修改文件/目录的属组
    • chgrp groupname name
  • 修改文件/目录的权限
    • chmod ugo+rwx name
    • 其中ugo代表的是要对谁进行权限操作,rwx代表进行怎样的权限操作,+代表的授权,-代表的取消权限。
    • 权限的另外一种修改方式:将rwx rwx rwx 三组权限的读写执行权限分别用0和1代替,1代表有权限,0代表没权限,最后将三组二进制转化成十进制。
    • chmod 700 myfile
      • 给予myfile所属用户读写执行权限,用户所属组和其他组无任何权限
    • r–读权限 = 4,w–写权限 = 2,x–执行权限 = 1

系统配置

  • 用户组信息配置
    • cat /etc/group
  • 用户信息配置
    • cat /etc/shadow
  • 系统服务初始化配置
    • 0:停机状态
    • 1:单用户模式,只有root可以操作
    • 2:多用户,不能使用net file system
    • 3默认模式,完全多用户
    • 4:未使用的保留模式
    • 5:图形化界面,3启动的进程都启动,额外启动部分图形界面进程
    • 6:停止所有进程,卸载文件系统,重新启动(reboot)
  • 注意 :linux默认级别为3,不要把initdefault 设置为0 和 6
  • 主机名配置
    • /etc/sysconfig/network
  • DNS配置
    • hosts文件的作用相当于DNS,提供IP地址hostname的对应,可在这个文件里添加映射。
    • /etc/resolv.conf 为DNS服务器的地址文件
  • sudo权限配置
    • 给予普通用户部分root权限
    • vim /etc/sudoers
    • 格式:授权用户 主机=[(切换到哪些用户或用户组)] [是否需要密码验证] 命令
    • sudo -l 列出该用户所有的sudo权限
    • %group 将权限赋予某一组
  • 查看系统时间
    • date
    • 查看日历:cal
  • 更新系统时间
    • date -s
    • 使用ntp服务能够与互联网时间服务器同步
    • 需要先安装ntp,yum install ntpdate -y
    • 命令ntpdate cn.ntp.org.cn
  • 环境变量
    • /etc/profile

重定向与管道

输入重定向

  • < 输入重定向到一个程序

输出重定向

  • > 输出重定向到一个文件或设备,覆盖原有文件
  • >> 输出重定向到一个文件或设备,追加原有文件
标准输出重定向
  • 1> 或 > ,只有输出正确的指令才会输出重定向到指定文件
错误输出重定向
  • 2> ,只有输出错误的指令才会输出重定向到指定文件,正确的不会
结合使用
  • 2>&1,无论正确与否都输出重定向到指定文件

管道

  • | ,把前一个输出作为后一个的输入
    • 例:| 与grep命令结合使用
    • netstat -anp | grep 22
    • 命令含义:把netstat –anp 命令的输出 当做是grep 命令的输入。

命令执行控制

  • && 前一个命令成功后才执行后面的命令
  • || 前一个命令失败后才执行后面的命令

信息黑洞

  • /dev/null
  • 写入该文件的内容将永久丢失
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值