Linux 常用知识积累

Linux

安装设置

  • 安装 vmware tools ,帮助我们使用拖拽的方式从 windows 桌面和 Linux 虚拟机传输文件,并共享剪切板。

  • 设置网络连接:

    ​ ① 仅主机模式: 虚拟机不能和外网通信。

    ​ ② 桥接模式:虚拟机和物理机都分配一个可以上网的ip,各自使用各自的网卡联网,同一个网段的机器可以相互连通。

    ​ ③ NAT模式:(推荐使用)

    ​ 虚拟机由物理机分配一个可以上网的ip,位于一个独立的网段,和物理机网段不同。通过物理机的网卡访问外网。自己的虚拟机只能被自己的物理机访问,别人无法访问。

  • 远程登录

    ​ 远程登录一台服务器,需要两个条件:① 服务的ip地址;② 登录的用户名和密码

  • 文件和目录

    ​ ① 在 linux 中,所有的数据和设备都是以文件的形式存在。

    ​ ② linux 不会区分和识别文件的扩展名和后缀。

    ​ ③ linux 只有部分盘符,其余所有的文件都挂载在 / 目录下,所有的文件都可以通过 / 进行访问。

    ​ ④ 家目录:

    ​ 普通用户的及目录默认在 /home/用户名下;root 用户的的家目录是在 /root下。

    ​ /home/ 目录下有各个用户对应的家目录,当用户登录时,会自动进入到自己的家目录。

    ​ ⑤ linux 采用集中化的配置,全部的配置文件放在 /etc 目录下。

    ​ ⑥ 常用的目录: /bin : 可执行的命令 /etc : 配置文件的目录

    ​ /opt : 自己安装的软件目录 /tmp : 临时目录

    ​ /root : root 用户的家目录 /home : 普通用户的家目录的父目录

vim 编辑器

​ ① vim 编辑器拥有三种模式:一般模式(vim xxx 之后),编辑模式(i、o 进入),命令模式(使用ESC进入,)

​ ② 一般模式:可以进行删除、复制、粘贴等操作,但是却无法编辑文件内容。

按键功能
yy复制光标所在行
p粘贴到光标的下一行
u撤销上一步,只能撤销一步
dd删除光标所在行
x删除当前一个字母
X删除光标前的一个字母
shift + ^移动到行尾
shift + $移动到行首

​ ③ 编辑模式:按下面这些按时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时可以进行文本编辑。

按键功能
i进入编辑模式,在当前光标前
o进入编辑模式,在当前光标的下一行
A进入编辑模式,在当前光标所在行尾

​ ④ 指令模式:在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以进入指令模式。

按键功能
:w保存
:q退出
:!强制执行
/要查找的词n 查找下一个,N 往上查找
:set nu显示行号
:set nonu关闭行号
:%s/str1/str2/g将 str1 批量替换为 str2

网络配置相关命令

① ifconfig: 查看当前网络网卡信息

② ping ip -c num: 连接指定 ip

③ 服务: 和网络相关的服务名称为 network,只能使用 root 账号操作。更改了网络配置需要重启网络服务才能生效。

​ 开启服务: service 服务名 start

​ 关闭服务: service 服务名 stop

​ 重启服务: service 服务名 restart

​ 查看服务状态: service 服务名 status

④ 修改设备名: vim /etc/udev/rules.d/70-persistent-net.rules

⑤ 修改 IP: vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改IP后重启网络服务生效

⑥ 查看主机名: hostname

⑦ 修改主机名: vim /etc/sysconfig/network 修改主机名后,重启计算机生效

⑧ DNS: 网络上两台设备通信,只能通过ip地址进行通信。一般使用方便识别和理解的域名来代替IP,

​ 例如:www.baidu.com ——> 14.215.177.39 默认请求网络运营商的 DNS 服务器,解析域名为ip地址。

​ 可以将域名或主机名映射为对应的 ip,使用 ping 域名的方式来通信。

​ Windows 的域名映射配置文件为:C:\Windows\System32\drivers\etc\hosts

​ Linux的域名映射配置文件为: /etc/hosts

⑨chkconfig 设置后台服务的自启配置:

​ chkconfig 服务名 --list : 查看指定服务的开机自启动级别。

​ Linux中有启动级别,不同的启动级别,开机初始化的服务不同。

​ 设置服务在某个级别开机启动或不启动: chkconfig --level xxx 服务名 off | on 。

​ 查看系统的运行级别配置文件: vim /etc/inittab

在这里插入图片描述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RYXmVgE-1586185642102)(C:\Users\maben\AppData\Roaming\Typora\typora-user-images\1562067436926.png)]

⑩ 防火墙服务 iptables

​ 查看防火墙开机启动状态: chkconfig iptables --list

​ 查看防火墙状态: chkconfig iptables status

​ 临时关闭防火墙: chkconfig iptables stop

​ 全级别关闭防火墙: chkconfig iptables off

克隆虚拟机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c0xcnfyq-1586185642103)(C:\Users\maben\AppData\Roaming\Typora\typora-user-images\1562065272180.png)]

​ 选择完整克隆,并修该虚拟机名称,自定义虚拟机位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IdJaG7ri-1586185642103)(C:\Users\maben\AppData\Roaming\Typora\typora-user-images\1562065345100.png)]

​ 克隆完成后的配置

​ ① 修改主机名

​ vim /etc/sysconfig/network

​ ② 修改 mac 地址

​ vim /etc/udev/rules.d/70-persistent-net.rules

​ 删除 eth0 网卡,将 eth1 修改为 eth0 ,复制新的 mac 地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-knBgzf8Q-1586185642104)(C:\Users\maben\AppData\Roaming\Typora\typora-user-images\1562066696732.png)]

​ ③ 修改网卡的 ip

​ vim /etc/sysconfig/network-scripts/ifcfg-eth0

​ 将复制的 mac 地址粘贴在新的位置,同时修改 ip

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1TO3yF7-1586185642105)(C:\Users\maben\AppData\Roaming\Typora\typora-user-images\1562066299334.png)]

关机重启命令

​ 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

​ 将数据由内存同步到硬盘中: sync

​ 关闭系统: hatl、shutdown -h now、poweroff

​ 重启: reboot、shutdown -r now

​ shutdown: shutdown [选项] 时间

​ 选项:-h 关机;-r 重启;时间单位为分钟。

找回 root 密码

前提:要使用 Linux 本机,不能使用 远程连接

思路:进入单用户模式,修改密码。因为进入单用户模式,root 不需要密码就可以登录。

总结:开机在倒数计时时,输入回车,看到一个界面,输入e,看到一个新的界面,选中第二行(编辑内核kernel),在输入e,页面跳转后输入空格和1,敲回车键,进入运行级别为1 的单用户模式,默认是root 模式。进入后使用 passwd root 命令设置新的 root 密码,再次输入新密码确认,完成后,输入reboot 重启。

帮助指令

  • help [指令] : 获取 shell 内置的帮助信息
  • man [指令或配置文件] : 获取手册帮助
  • [指令] --help: 查看帮助

文件目录类命令

① pwd :(print working directory)显示当前目录的绝对路径

② ls [选项] [目录或是文件]

​ 常用选项:

​ -a :显示当前目录多有的文件和目录,包括隐藏的

​ -l :以列表的方式显示

​ 示例:查看当前目录的所有内容信息 ls -al

③ cd [参数]

​ 常用参数:

​ cd ~ 或者 cd 回到家目录

​ cd … 回到当前目录的上一级目录

④ mkdir [选项] 要创建的目录 指令用于创建目录(make directory)

​ 常用选项: -p 创建多级目录

⑤ rmdir [选项] 要删除的空目录 指令用于删除空目录

​ 如果要删除的目录下有内容,rmdir 指令是无法删除的。

​ rm -rf 要删除的目录 该指令可以删除非空的目录。

⑥ touch 文件名称 指令用于创建空文件

​ 可以一次性创建多个文件,例如: touch hello.txt hello1.txt

⑦ cp [选项] source dest 指令拷贝文件到指定目录

​ 常用选项: -r 递归复制整个文件夹

​ 注意:\cp 强制覆盖不提示

⑧ rm [选项] 要删除的文件或目录 指令移除文件或目录

​ 常用选项: -r 递归删除整个目录

​ -f 强制删除不提示

​ -v 显示删除成功

⑨ mv oldNameFile newNameFile 移动文件与目录或重命名

​ mv 路径1/文件 路径2/文件 移动文件与目录

⑩ cat [选项] 要查看的文件 以只读的方式打开文件

​ 常用选项: -n 显示行号 通常后面会加上管道符 | more 用来分页显示

​ -T 将文件中的 TAB 制表符,显示为 ^T

11 more 要查看的文件 指令时以全屏的方式分屏显示文本的内容,适合查看的内容较多的文件

​ 内置快捷键: 空格 向下翻页 Ctrl + F 向下滚动屏幕

​ Enter 向下翻行 Ctrl + B 返回上一屏幕

​ q 离开 = 输出当前行号

​ :f 输出文件名和当前的行号

12 less 要查看的文件 分屏显示文件的内容,相比于 more 实现了懒加载,推荐使用

		内置快捷键:	空格	 向下翻页					Ctrl + F 	向下滚动屏幕

​ Enter 向下翻行 Ctrl + B 返回上一屏幕

​ q 离开 = 输出当前行号

​ :f 输出文件名和当前的行号

13 head [参数] 要查看的文件 默认显示文件的前10行

​ 内置参数: -n 表示查看几行

14 tail [参数] 要查看的文件 默认显示文件的后 10 行

​ 内置参数: -n 表示查看几行

​ -f 实时追踪该文档的所有更新

15 echo [选项] [输出内容]

16

​ > 输出重定向 :会将原来的文件的内容覆盖

​ ls -l >文件 列表的内容写入文件中

​ cat 文件1 > 文件2 将文件1的内容覆盖到文件2

​ >> 追加:不会覆盖原来的内容,而是追加到文件的尾部

​ ls -al >>文件 列表的内容追加到文件的末尾

​ echo “内容” >> 文件 将“内容”二字追加到文件中

17 ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接

​ ln [原文件或目录] [软链接名] 给原文件创建一个硬链接 相当于文件的备份

​ 删除软链接: rm -rf 软链接名

​ 查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向

18 history

时间类命令

date 显示当前时间 2019年 07月 03日 星期三 18:22:56 CST

date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒 2019-07-03 18:24:02

date -d ‘1 days ago’ 显示前一天时间

date -s ‘字符串时间’ 设置系统当前时间

cal [选项] 不加选项,显示本月日历

搜索查找类

find [搜索范围] [选项] 从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端

​ 常用选项:-name “查询方式” 按照指定的文件名查找模式查找文件 find /home -name maben996

​ -user “用户名” 查找属于指定用户名所有文件

​ -size “文件大小” 按照指定的文件大小查找文件 find / -size +20M 查找根目录下大于20M的文件

​ size 的单位: c:字节; b(默认):525 字节; k:1023字节; M:MB; G:GB

locate 搜索文件

​ 由于locate指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。

​ locate 查找时忽略 /tmp 目录

grep 指令和管道符合指令

​ 管道符号 “|”:表示将前一个命令的处理结果传递给后面的指令处理。

​ grep [选项] 查找内容 源文件 用于在一个文件中搜索指定的内容

​ 常用选项: -n 显示匹配行和行号

​ -i 查找时不区分大小写

​ grep 可以和 管道符号 “|” 配合使用 cat a.txt | grep “文” 在 a.txt 文件中,找到带“文”字的一行

用户管理、组管理命令

用户管理

​ useradd -g 组名 用户名 添加新用户到某个组

​ passwd 用户名 设置用户密码

​ id 用户名 查看用户是否存在

​ cat /etc/passwd 查看创建了哪些用户

​ usermod -g 用户组 用户名 修改用户的初始登录组,给定的组必须存在

​ userdel 用户名 删除用户但保存用户主目录

​ userdel -r 用户名 用户和用户主目录,都删除

​ whoami 显示自身用户名称

​ who am i 显示登录用户的用户名

​ su 用户名称 切换用户,只能获得用户的执行权限,不能获得环境变量

​ su - 用户名称 切换到用户并获得该用户的环境变量及执行权限

用户组管理

​ groupadd 组名 添加某个组

​ groupdel 组名 删除某个组

​ groupmod 组名 groupmod -n 新组名 老组名

​ cat /etc/group 查看创建了哪些组

权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ndPUCRj-1586185642107)(C:\Users\maben\AppData\Roaming\Typora\typora-user-images\1562133099591.png)]

drwxr-xr-x 10 位数字

第1位字符代表这个文件是目录、文件或链接文件:

-:代表文件; d:代表目录; l:链接文档

2~4位字符确定属主的权限; 5~7位字符表示属组的权限; 8~10位字符表示属组的权限

r(读取权限); w(修改删除权限,如果想删除当前目录,必须对当前目录的父目录有写权限); x(执行权限,进入目录)

​ ① 对目录进行写的前提是,有执行和写的权限

​ ② 删除文件的前提是,对当前文件所在的父目录有写的权限

chmod 改变权限

方式一:chmod [{ugoa}{±=}{rwx}] 文件或目录

​ u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和); + 增加权限 - 删除权限

方式二:chmod [mode=421 ] [文件或目录] r=4 w=2 x=1 rwx=4+2+1=7

chown 改变所有者

chown [选项] [最终用户] [文件或目录] 改变文件或者目录的所有者 只有 root 权限才可以操作

​ 常见选项: -R 递归操作

chgrp 改变所属组

chgrp [最终用户组] [文件或目录] 改变文件或者目录的所属组 只有 root 权限才可以操作

同时修改文件或目录的所属主和所属组 chown 用户名 : 用户组

为普通用户服务 root 权限

vi /etc/sudoers 进入超级用户名单,在 root 下面添加一行,例如 maben ALL=(ALL) ALL,之后maben 用户就拥有超级用户权限,使用时要加上 sudo

压缩和解压

gzp/gunzip 压缩 只能压缩文件不能压缩目录,不保留原文件

​ gzip 文件 压缩文件,只能将文件压缩为*.gz文件

​ gunzip 文件.gz 解压缩文件命令

zip/unzip 压缩 zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。

​ zip [选项] XXX.zip 将要压缩的内容 压缩文件和目录的命令

​ 选项: -r : 压缩目录

​ zip -r mypackage.zip /home 压缩home 下所有的文件和目录并命名为 mypacage.zip

​ unzip [选项] XXX.zip 解压缩文件

​ 选项: -d “目录” 指定解压后文件的存放目录

​ unzip -d /opt/tmp/ mypackage.zip 将 mypackage.zip 解压到/opt/tmp/目录下

打包:

​ tar [选项] XXX.tar.gz 将要打包进去的内容 打包目录,压缩后的文件格式.tar.gz

​ 选项:-c : 产生.tar打包文件

​ -v : 显示详细信息

​ -f : 指定压缩后的文件名

​ -z : 打包同时压缩

​ -x : 解包.tar文件

​ 打包:tar -zcvf a.tar.gz a.txt b.txt 将a.txt 和 b.txt 打包为 a.tar.gz

​ tar -zcvf myhome.tar.gz /home/ 将 home 目录下的所有文件 打包为 myhome.tar.gz 文件

​ 解包:tar -zxvf myhome.tar.gz -C /opt 将 myhome 包 解压到 /opt 目录下

磁盘分区类

df 选项 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

​ 选项: -h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示

fdisk -l 查看磁盘分区详情 该命令必须在root用户下才能使用

​ 选项: -l 显示所有硬盘的分区列表

mount [-t vfstype] [-o options] 设备名 挂载 : 挂载设备到指定目录

umount 设备文件名或挂载点 卸载设备

进程线程类

​ ps aux | grep xxx 查看系统中所有进程

​ ps -ef | grep xxx 可以查看子父进程之间的关系

​ 如果想查看进程的CPU占用率和内存占用率,可以使用aux;

​ 如果想查看进程的父进程ID可以使用ef;

​ kill [选项] 进程号 通过进程号杀死进程

​ 选项: -9 表示强迫进行立即停止

​ killall 进程名称 通过进程名称杀死进程,也支持通配符

​ pstree [选项] 查看进程树

​ 选项: -p 限时进程的 PID

​ -u 显示进程的所属用户

​ top [选项] 查看系统健康状态

​ 选项: -P 以CPU使用率排序,默认就是此项

​ -M 以内存的使用率排序

​ -N 以PID排序

​ 进入后 按 q 退出

​ netstat -anp 此命令用来显示整个系统目前的网络情况。

corond 系统定时任务

​ 创建: crontab -e

​ 查看: crontab -l

​ 清空: crontab -r

​ 删除: crontab -e 进入后将某一个任务删除

​ 格式: * * * * * 命令

​ 第一个 * : 分钟, 0-59

​ 第二个 * : 小时, 0-23

​ 第三个 * : 天, 1-31

​ 第四个 * : 月, 1-12

​ 第五个 * : 星期几, 0-7,0和7都是周日

​ 通配符: * :任意时间

​ ,:用来间隔不连续时间

​ - :用来连接连续的时间

​ */n:每间隔 n 个时间

添加硬盘

安装软件

RPM

RPM(RedHat Package Manager)

查询:

​ 1)查询是否安装 rpm -q 包名

​ rpm -qa | grep 包名

​ 2)查询包信息 rpm -qi 包名

​ rpm -qip 包全名

​ 3)查询安装位置 rpm -ql 包名

​ rpm - qlp 包全名

​ 4)查询系统文件属于哪个包 rpm -qf 系统文件名

卸载:rpm -e RPM软件包

​ rpm -e --nodeps 软件包

​ 选项说明: -e 卸载软件包

​ --nodeps 卸载软件时,不检查依赖。

安装: rpm -ivh RPM包全名

​ 选项说明:-i install安装

​ -v verbose显示详细信息

​ -h hash进度条

​ --force 强制覆盖安装

YUM

​ yum [选项] [参数] 软件

​ 选项说明:-y 对所有提问都回答“yes”

​ 参数说明:-install 安装rpm软件包

​ 例如 yum - y -install tree

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值