最近,想总结一下之前学习过的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 虚拟的目录,是系统内存的映射
系统命令
- Linux 命令:用于实现某一类功能的指令或程序 命令的执行依赖于解释器程序
- Linux 命令分类
- 内部命令:属于 Shell 解释器的一部分
- 外部命令:独立于 Shell 解释器之外的程序文件
- 通用命令格式
- 命令字 [选项] [参数]
- 选项:用于调节命令的具体功能
- 参数:命令操作的对象,如文件、目录名等
- 命令字 [选项] [参数]
- 常用辅助快捷键
- Tab 键:自动补齐
- 反斜杠"\":强制换行
- 快捷键 Ctrl+u:清空至行首
- 快捷键 Ctrl+k:清空至行尾
- 快捷键 Ctrl+l:清屏
- 快捷键 Ctrl+c:取消本次命令编辑
- 查看命令帮助
- help, –help,man,info 等
常用命令
这里值列出常用的命令,而且针对个别重要命令会进行截图演示,毕竟Linux的命令数不胜数,掌握程度还需根据个人实际情况而言。
- uname 查看系统信息及其内核
- -a:显示主机名、内核版本、硬件平台等详细信息
- -r:显示内核版本
- 演示截图:
- hostname 查看主机名
- 截图演示:
- ip addr 查看网络信息/其他发行版本ifconfig也可以,但是centos需要安装此命令
- 截图演示:
- shutdown –h now|poweroff |init 0 关闭计算机
- shutdown –r now |reboot|init 6 重启计算机
- pwd 显示当前正在工作的目录
- cd 切换工作目录
- ls 显示目录内容
- -l :以长格式显示
- -a:显示所有子目录和文件的信息,包括隐藏文件
- -A:类似于“-a”,但不显示“.”和“..”目录的信息
- -d:显示目录本身的属性
- -h:以更易读的字节单位(K、M 等)显示信息
- -R:递归显示内容
- --color:以颜色区分不同类型文件
- du 统计目录及文件的空间占用情况
- –h 人性化显示
- –s 只统计每个参数所占空间的大小
- –a 统计所有文件
- mkdir 创建目录
- –p 创建嵌套的多层目录结构
- touch 创建文件
- Ln 创建链接文件(类似Windows下的快捷方式)
- -s:建立符号链接文件
- 软连接(符号链接):指向原始文件所在的路径
- 硬链接:指向原始文件对应的数据存储位置,不能为目录建立硬链接文件,硬链接与原始文件必须位于同一分区(文件系统)中
- cp 复制
- -r:递归复制整个目录树
- -p:保持源文件的属性不变
- -f:强制覆盖目标同名文件或目录
- -i:需要覆盖文件或目录时进行提醒
- . rm 删除 此命令慎之又慎使用,特此红色字体标注
- -f:强行删除文件或目录,不进行提醒
- -i:删除文件或目录时提醒用户确认
- -r:递归删除整个目录树
- mv 移动
- cat 查看文件
- more 分页查看文件
- less 分页查看文件
- head 查看文件头
- tail 查看文件尾
- wc 统计
- -l:统计行数
- -w:统计单词个数
- -c:统计字节数
- gzip,bzip2 压缩
- -9:表示高压缩比,多在创建压缩包时用
- -d:用于解开已经压缩过的文件
- 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 删除默认
用户
- 用户是访问系统身份的象征,在 linux 中账户分为三类
- root 超级用户
- 普通用户
- 程序用户
- 存储用户的文件
- 用户账户信息文件/etc/passwd
- 说明:root 用户名:X 密码占位符:0 uid: 0gid:用户名称:宿主目录:登录 shell
- 用户密码文件 /etc/shadow
- 说明:用户名:加密的密码:上次更改密码的日期(从 1970-1-1 开始):最短密码期限(按天计算,0 = 无最短期限):最长密码期限(按天计算):密码警告期限(按天计算,0 = 未指定警告):密码非活动期限(按天计算):账号到期时间(从 1970-1-1开始):保留域
- 用户控制命令
- useradd 添加用户
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m 选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell 文件 指定用户的登录 Shell。
- -u 用户号 指定用户的用户号,如果同时有-o 选项,则可以重复使用其他用户的标识号
- –M 不创建宿主目录
- 注解:创建一个 vfast 的账户,uid 是 1000 基本组为amcoder附加组为test不创建宿主目录,禁止登陆,失效时间是 2018 年11月20日
- useradd 添加用户
- 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重启网卡让配置生效
- 使用vim编辑器编辑网卡文件ifcfg-eno16777728
- 设置动态IP
- 使用vim编辑器编辑网卡文件ifcfg-eno16777728
- 修改BOOTPROTO=dhcp
- 注释掉IPADDR,NETMASK,GATEWAY(如果几个配置项存在的话)
- 保存文件并退出
- 使用命令service network restart重启网卡让配置生效
- 使用vim编辑器编辑网卡文件ifcfg-eno16777728
- 补充开关网卡的命令: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 等
网络诊断工具
- ping 工具软件可确定两台机器间底层 IP 的连接性。
- host 工具软件可执行直接 DNS 查询,并通常在 DNS 调试时使用。
- traceroute 工具软件报告数据包从起点到终点所经过的中间路由器。
- tcpdump 工具软件可用来查看实时网络流量,或者为以后的分析截获网络交换情况。
- wireshark 图形应用程序和操作 tcpdump 命令的效果一样,但使用方便的图形界面来显示、分析截获的信息。