文档章节

Linux学习分享(一)

AmCoder
 AmCoder
发布于 02/27 17:02
字数 2952
阅读 32
收藏 1

最近,想总结一下之前学习过的Linux的一些命令和基础,顺便分享给各位,不喜勿喷。如若其中有些地方存有争议,请点击右上角联系管理员进行修改,毕竟每个人可能理解的方式不一样。

工具准备

VMware,centos7.3

系统简介及其目录结构

概述

  • Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和类 UNIX的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
  • Linux 操作系统诞生于 1991 年 10 月 5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的 Linux 版本,但它们都使用了 Linux 内核。Linux 可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

目录结构

解释说明:

/bin 二进制可执行命令,如常用的命令ls、tar、mv、cat等
/boot 放置linux系统启动时用到的一些文件
/dev 设备特殊文件
/etc 系统管理和配置文件
/home 用户主目录的基点
/lib 标准程序设计库
/mnt /media系统提供这个目录是让用户临时挂载其他的文件系统
/opt 给主机额外安装软件所摆放的目录
/proc 此目录的数据都在内存中
/root 系统管理员的主目录
/run 保存在下一次系统引导前有效的关于系统的信息文件
/sbin 超级管理命令
/srv 服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
/sys 该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备
/tmp 公共的临时文件存储点
/usr 应用程序和文件几乎都在这个目录
/var 放置系统执行过程中经常变化的文件
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件
/proc 虚拟的目录,是系统内存的映射

系统命令

  1. Linux 命令:用于实现某一类功能的指令或程序 命令的执行依赖于解释器程序
  2. Linux 命令分类
    • 内部命令:属于 Shell 解释器的一部分
    • 外部命令:独立于 Shell 解释器之外的程序文件
  3. 通用命令格式
    • 命令字 [选项] [参数]
      • 选项:用于调节命令的具体功能
      • 参数:命令操作的对象,如文件、目录名等
  4. 常用辅助快捷键
    • Tab 键:自动补齐
    • 反斜杠"\":强制换行
    • 快捷键 Ctrl+u:清空至行首
    • 快捷键 Ctrl+k:清空至行尾
    • 快捷键 Ctrl+l:清屏
    • 快捷键 Ctrl+c:取消本次命令编辑
  5. 查看命令帮助
    1. help, –help,man,info 等

常用命令

这里值列出常用的命令,而且针对个别重要命令会进行截图演示,毕竟Linux的命令数不胜数,掌握程度还需根据个人实际情况而言。

  1. uname 查看系统信息及其内核
    • -a:显示主机名、内核版本、硬件平台等详细信息
    • -r:显示内核版本
    • 演示截图:

  1. hostname 查看主机名
    • 截图演示:

  1. ip addr 查看网络信息/其他发行版本ifconfig也可以,但是centos需要安装此命令
    •  截图演示:

  1. shutdown –h now|poweroff |init 0 关闭计算机
  2. shutdown –r now |reboot|init 6 重启计算机
  3. pwd 显示当前正在工作的目录
  4. cd 切换工作目录
  5. ls 显示目录内容
    • -l :以长格式显示
    • -a:显示所有子目录和文件的信息,包括隐藏文件
    • -A:类似于“-a”,但不显示“.”和“..”目录的信息
    • -d:显示目录本身的属性
    • -h:以更易读的字节单位(K、M 等)显示信息
    • -R:递归显示内容
    • --color:以颜色区分不同类型文件
  6. du 统计目录及文件的空间占用情况
    • –h 人性化显示
    • –s 只统计每个参数所占空间的大小
    • –a 统计所有文件
  7. mkdir 创建目录
    • –p 创建嵌套的多层目录结构
  8. touch 创建文件
  9. Ln 创建链接文件(类似Windows下的快捷方式)
    • -s:建立符号链接文件
    • 软连接(符号链接):指向原始文件所在的路径
    • 硬链接:指向原始文件对应的数据存储位置,不能为目录建立硬链接文件,硬链接与原始文件必须位于同一分区(文件系统)中
  10. cp 复制
    • -r:递归复制整个目录树
    • -p:保持源文件的属性不变
    • -f:强制覆盖目标同名文件或目录
    • -i:需要覆盖文件或目录时进行提醒
  11. . rm 删除 此命令慎之又慎使用,特此红色字体标注
    • -f:强行删除文件或目录,不进行提醒
    • -i:删除文件或目录时提醒用户确认
    • -r:递归删除整个目录树
  12. mv 移动
  13. cat 查看文件
  14. more 分页查看文件
  15. less 分页查看文件
  16. head 查看文件头
  17. tail 查看文件尾
  18. wc 统计
    • -l:统计行数
    • -w:统计单词个数
    • -c:统计字节数
  19. gzip,bzip2 压缩
    • -9:表示高压缩比,多在创建压缩包时用
    • -d:用于解开已经压缩过的文件
  20. tar 归档
    • -c:创建 .tar 格式的包文件
    • -x:解开.tar 格式的包文件
    • -v:输出详细信息
    • -f:表示使用归档文件
    • -p:打包时保留原始文件及目录的权限
    • -t:列表查看包内的文件
    • -C:解包时指定释放的目标文件夹
    • -z:调用 gzip 程序进行压缩或解压
    • -j:调用 bzip2 程序进行压缩或解压

vim编辑器

工作模式:命令模式、输入模式、末行模式

命令使用

文件权限和用户以及网络设置

linux 权限

  • linux 权限表示方法有,字符表示法,八进制表示法
  • linux,权限身份有三种,分别为属主,属组,其他人
  • 每个身份的的权限有三种分别为 读(r)写(w)执行(x)

  • 修改权限的命令
    • 修改文件权限 chmod
    • u 属主 g 属组 o 其他人 a 所有
    • + 增加权限 –去除权限 =设置权限
  • 修改文件权属 chown,chgrp
    • 用户:用户组
  • Acl 权限
    • 设置其他帐户拥有要求的权限
  • Setfacl 设置
    • -m 添加
    • -x 删除
    • -b 删除所有
    • -k 删除默认

用户

  1. 用户是访问系统身份的象征,在 linux 中账户分为三类
    • root 超级用户
    • 普通用户
    • 程序用户
  2. 存储用户的文件
    • 用户账户信息文件/etc/passwd

​​​​​​​

  • 说明:root 用户名:X 密码占位符:0 uid: 0gid:用户名称:宿主目录:登录 shell
  • 用户密码文件 /etc/shadow

​​​​​​​

  • 说明:用户名:加密的密码:上次更改密码的日期(从 1970-1-1 开始):最短密码期限(按天计算,0 = 无最短期限):最长密码期限(按天计算):密码警告期限(按天计算,0 = 未指定警告):密码非活动期限(按天计算):账号到期时间(从 1970-1-1开始):保留域
  1. 用户控制命令
    • useradd 添加用户
      • -c comment 指定一段注释性描述。
      • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m 选项,可以创建主目录。
      • -g 用户组 指定用户所属的用户组。
      • -G 用户组,用户组 指定用户所属的附加组。
      • -s Shell 文件 指定用户的登录 Shell。
      • -u 用户号 指定用户的用户号,如果同时有-o 选项,则可以重复使用其他用户的标识号
      • –M 不创建宿主目录
      • 注解:创建一个 vfast 的账户,uid 是 1000 基本组为amcoder附加组为test不创建宿主目录,禁止登陆,失效时间是 2018 年11月20日

  • usermod 修改账户信息
    • -c comment 指定一段注释性描述。
    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m 选项,可以创建主目录。
    • -g 用户组 指定用户所属的用户组。
    • -G 用户组,用户组 指定用户所属的附加组。
    • -s Shell 文件 指定用户的登录 Shell。
    • -u 用户号 指定用户的用户号,如果同时有-o 选项,则可以重复使用其他用户的标识号
    • –L 锁定帐号
    • –U 解锁帐号
  • userdel 删除账户
    • –r 删除宿主目录
  • passwd 设置密码
    • –l 锁定帐号
    • –u 解锁帐号
    • –S 查看帐号状态

组账户

  • 用户的集合
    • 组账户文件/etc/group
    • groupadd 添加组账户
    • groupdel 删除组账户
    • gpasswd 设置组成员
      • –a 添加成员
      • –d 删除成员
      • –M 定义成员列表

网络设置

在 linux 中 网 卡 , 被 识 别 成 了 文 件 存 放 在/etc/sysconfig/network-scripts/ifcfg-eno16777728,管理过程中ifcfg-eno16777728就是我们的网卡名称,在不同的发型版本中网卡名称略有不同,还请根据实际情况而定。

配置IP

  • 设置静态IP
    • 使用vim编辑器编辑网卡文件ifcfg-eno16777728
      • 修改BOOTPROTO=static
      • 修改ONBOOT=yes
      • 新增IPADDR=你自己的静态IP
      • 新增NETMASK=255.255.255.0
      • 新增GATEWAY=你自己的网关地址
      • 保存文件并退出
    • 使用命令service network restart重启网卡让配置生效
  • 设置动态IP
    • 使用vim编辑器编辑网卡文件ifcfg-eno16777728
      • 修改BOOTPROTO=dhcp
      • 注释掉IPADDR,NETMASK,GATEWAY(如果几个配置项存在的话)
      • 保存文件并退出
    • 使用命令service network restart重启网卡让配置生效
  • 补充开关网卡的命令:ifdown 关闭网卡 ifup 开启网卡
  • 补全service network restart用法:service network restart/stop/start

管理路由

  • route
    • -n :不要使用通讯协定或主机名称,直接使用 IP 或 port number
    • -ee :使用更详细的资讯来显示
    • 增加(add) 与删除 (del) 路由的相关参数:
      • -net :表示后面接的路由为一个网域
      • -host:表示后面接的为连接到单部主机的路由
      • netmask:与网域有关,可以设定 netmask 决定网域的大小
      • gw:gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同
      • dev:如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等

网络诊断工具

  1. ping 工具软件可确定两台机器间底层 IP 的连接性。
  2. host 工具软件可执行直接 DNS 查询,并通常在 DNS 调试时使用。
  3. traceroute 工具软件报告数据包从起点到终点所经过的中间路由器。
  4. tcpdump 工具软件可用来查看实时网络流量,或者为以后的分析截获网络交换情况。
  5. wireshark 图形应用程序和操作 tcpdump 命令的效果一样,但使用方便的图形界面来显示、分析截获的信息。

© 著作权归作者所有

AmCoder

AmCoder

粉丝 18
博文 17
码字总数 29073
作品 1
杭州
程序员
私信 提问
Linux学习方法分享

Linux学习方法分享 随着Linux应用的扩展许多朋友开始接触Linux,对于刚接触Linux的人而严,不知从何处开始学起。以下是一位Linux系统管理员,在看了许多有关Linux的文档和书籍并为学习Linux...

不想留名
2014/06/14
844
2
接触学习linux系统服务搭建两年来的心得

学习linux有也有快两年多了。从最初的基本命令到现在的服务搭建维护,再到自动化运维,再到系统架构。自己也是一步步走来。慢慢的发现,自己越来越离不开linux了。自己的暗下决心,已经打算在...

linux-tao
2017/10/22
20
0
接触学习linux系统服务搭建两年来的心得

学习linux有也有快两年多了。从最初的基本命令到现在的服务搭建维护,再到自动化运维,再到系统架构。自己也是一步步走来。慢慢的发现,自己越来越离不开linux了。自己的暗下决心,已经打算在...

linuxprobe16
2017/10/22
15
0
接触学习linux系统服务搭建两年来的心得

学习linux有也有快两年多了。从最初的基本命令到现在的服务搭建维护,再到自动化运维,再到系统架构。自己也是一步步走来。慢慢的发现,自己越来越离不开linux了。自己的暗下决心,已经打算在...

linuxCool
2017/10/22
7
0
软件自由日 SFD 2012 杭州站活动

  如果你还不知道自由软件,但对于 Linux、Android、火狐浏览器、BT 下载、维基百科等名词耳熟能详,你一定会发现开源与自由软件就在我们的身边。   如果你是一位开源爱好者,使用 Linu...

闻术苑
2012/09/14
284
3

没有更多内容

加载失败,请刷新页面

加载更多

正则表达式匹配

请实现一个函数用来匹配包括 '.' 和 '*' 的正则表达式。模式中的字符 '.' 表示任意一个字符,而 '*' 表示它前面的字符可以出现任意次(包含 0 次)。 在本题中,匹配是指字符串的所有字符匹配...

Garphy
今天
7
0
Laravel 5.1的多路由文件的配置

默认的路由配置文件只有一个, \app\Http\routes.php。 在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。 找到加载\app\Http\routes.php的文件, 打开\app\Provid...

mdoo
今天
5
0
Hibernate 5 开始使用指南前言

同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。 Hibernate 是一个针对 Java 环境的对象关系映射(Obj...

honeymoose
今天
6
0
聊聊nacos ServiceManager的UpdatedServiceProcessor

序 本文主要研究一下nacos ServiceManager的UpdatedServiceProcessor ServiceManager.init nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/core/ServiceManager.java @Compone......

go4it
今天
7
0
正则表达式的使用(QQ格式的判断与空格的切割)

//正则表达式的使用 public static void main(String[] args) throws IOException, ClassNotFoundException { //test1("123456"); test2("-1 99 kk"); } /** * ......

zhengzhixiang
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部