Linux常用操作

167 阅读7分钟

Linux简介

Linux:是Linus Torvolds(开源之父)于1991年开发、发布的一套开源的、免费的、多用户多任务操作系统。是类Unix操作系统。目前已经衍生出成百上千种不同的Linux分支。

Linux的目录结构:没有逻辑磁盘分区,即没有C盘、D盘等等,而是树形结构

常用命令

Linux的一些常用技巧:

  1. Tab自动补全:在输入Linux命令时,按一次Tab自动补全命令;快速按两次Tab显示命令提示
  2. 命令历史记录:使用方向键上↑ 和 下↓,可以快速切换之前输入过的命令
  3. 清除屏幕:使用clear命令可以清除屏幕信息

切换目录

Linux的目录结构

Linux的理念:一切皆文件

Linux没有C盘、D盘之类的逻辑磁盘分区,整个Linux的目录结构是一个树形结构

根目录是:/

一级目录有:

/user:是Unix系统资源文件夹,我们可以把软件安装到这给文件夹里

/etc:是放配置文件 的文件夹。比如MySQL的配置文件夹就在这里

/bin:是操作系统的命令所在的文件夹

/sbin:超级管理员使用的命令所在的文件夹

/home:普通用户的家目录。登录一个账号,默认进入的文件夹,就是此用户的家目录。用户的个人文件夹

  • 如果有一个账号Tom,就会有一个文件夹/home/Tom作为它的家目录

/root:root用户的家目录

切换目录操作:

切换命令:cd 路径

路径写法:

  • 绝对路径:以/开头的路径

  • 相对路径:

    ./开头:表示从当前目录下查找。其中./可以省略不写

    ../开头:表示从上级目录查找

  • 特殊的路径表示:

    ~,表示当前用户的家目录。cd ~,切换到当前用户的家目录(cd不指定路径,等价于cd ~)

    .,表示当前目录。cd ./abc,切换到当前目录下的abc文件夹里

    ..,表示上级目录。cd ..,切换到上级文件夹

查看当前所在路径:pwd

文件夹操作

创建文件夹:mkdire 文件路径

查看文件夹:ls -la

  • 参数l:以列表形式显示详细信息
  • 参数a:查看所有文件,包括隐藏文件

复制文件夹:cp -r 源文件夹 目标文件夹

剪切移动文件夹:mv 源文件夹 目标文件夹

重命名文件夹:mv 源文件夹 目标文件夹

删除文件夹:rm -fr 文件夹路径

搜索文件夹/文件:find 搜索路径 -name 文件名称

文件操作

查看文件内容:

  • cat 文件路径:查看文件的全部内容
  • more 文件路径:分页查看文件内容,但不能往回看
    • 按回车看下一行
    • 按空格看下一页
    • 按q退出查看(quit)
  • less 文件路径:分页查看文件内容,可以来回看
    • 按上下方向键,可以一行一行来回看
    • 按空格,看下一页
    • 按q退出查看(quit)
  • tail -n 行数 文件路径:查看文件尾部的n行内容,通常用于查看日志文件

创建文件:touch 文件路径

复制文件:cp 源文件 目标文件

移动剪切文件:mv 源文件 目标文件夹

重命名文件:mv 源文件 目标文件夹

删除文件:rm -f 文件路径

搜索文件内容:grep 搜索内容 文件路径 -i

  • 参数i:搜索时忽略大小写

编辑文件:vim 文件路径 或者 vi 文件路径

image-20210919113422270.png

  1. 使用vim打开文件:vim abc.txt。进入了普通模式
  2. 要编辑文件内容:按i/a/o,进入编辑模式,可以修改文件内容
    • i:在光标前插入
    • a:在光标后插入
    • o:在光标下一行插入
  3. 编辑后要保存文件:
    1. ESC:回到普通模式
    2. ::进入底行模式
      • 输入w回车,保存但不退出
      • 输入wq回车,保存并退出
      • 输入q!回车,强制退出不保存

注意: 在Linux里编辑文件时,不要按Ctrl+S,表示冻结窗口,冻结之后输入任何内容都会卡到这

如果不小心按到了,可以按Ctrl+ Q解冻

压缩与解压

压缩:tar -zcyf 压缩包路径 文件1 文件2 ...

  • 参数z:要调用压缩算法
  • 参数c:要创建压缩文件
  • 参数v:显示压缩过程,可以不加这个参数
  • 参数f:指定压缩包名。压缩文件的后缀名通常是.tar.gz或者.tar

解压:tar -xvf 压缩包路径 -C 解压路径

  • 参数x:extract, 从压缩包里提取文件
  • 参数v:显示解压过程,可以不加这个参数
  • 参数f:file,指定压缩包名
  • 参数C:指定解压位置。
    • 如果没有这个参数,就会解压到当前文件夹
    • 如果有这个参数,那么“解压路径”必须提前创建好

其他常用命令

查看网络配置:ip addr

查看进程:ps -ef

结束进程:kill -9 进程的pid

管道符:|用于连接两个命令,把上一个命令的结果,交给下一个命令来处理

  • netstat -anp | grep ":8080",查看端口占用情况,从中找到":8080"

  • ps -ef | less,分页查询进程状态

服务管理:

  • 查看服务状态:systemctl status 服务名
  • 启动服务:systemctl start 服务名
  • 关闭服务:systemctl stop 服务名
  • 重启服务:systemctl restart 服务名

关机:shutdown now

重启:reboot

注意:以后关电脑之前,要先关闭虚拟机;否则下次开机后,虚拟机可能打不开

Linux管理

识别文件权限

权限字符说明: image-20240414151524252.png

  • 第一个字符:文件的类型
    • -:说明是一个文件
    • d:说明是一个文件夹
    • l:说明是一个链接文件(类似于Windows里的快捷方式)
  • 第2~4个字符:是文件拥有者的权限。rwx的顺序
    • r:可读,read
    • w:可写,write
    • x:可执行,execute
    • -:这个位置无权限
  • 第5~7个字符:是拥有者同组用户的权限。rwx同上
  • 第8~10个字符:是其它用户的权限。rwx同上

修改文件权限

方式一

  • 语法:chmod [ugoa][+-=][rwx] 文件
  • 说明:ugoa分别表示不同的用户
    • u:user,拥有者
    • g:group,同组用户
    • o:other,其它用户
    • a:all,所有用户
    • +:增加授权
    • -:取消授权
    • =:直接授权,覆盖掉原有权限

方式二

  • 语法:chmod 777 文件

  • 说明:777三个数字,分别表示拥有者、同组用户、其它用户的权限。每一位可以设置0~7的数字,分别表示不同权限

    执行
    rwx
    421

1表示执行,2表示写,3表示执行、写,4表示读,5表示执行、读,6表示读、写,7表示执行、读、写

网络管理

管理网络

  • 查看网络配置:ifconfig 或者 ip addr

  • 启用网络服务:systemctl start network

  • 关闭网络服务:systemctl stop network

  • 重启网络服务:systemctl restart network

拓展了解VMWare的网络模型

image-20210919163432279.png

桥接模式

  • 桥接网络模型就是使用虚拟交换机将虚拟机和物理机连接起来,它们处于同一个网段。
  • 容易ip冲突

NAT地址转换

  • 俗称网络地址转换,是将内部私有网络地址翻译成合法网络地址。

  • 相当于开辟了一个局域网,虚拟机把主机当成网关,通过主机的网络地址转换进行上网。

  • 不易ip冲突

仅主机

​ 使用vmnet1实现主机和虚拟机的连接,但虚拟机不能上网

防火墙设置

什么是防火墙

​ 防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。

​ 在默认情况下,Linux系统的防火墙状态是打开的,已经启动。

防火墙的操作

  • 开启防火墙 systemctl start firewalld
  • 重启防火墙 systemctl restart firewalld
  • 关闭防火墙systemctl stop firewalld
  • 设置开机启动systemctl enable firewalld
  • 停止并关闭开机启动systemctl disable firewalld
  • 查看防火墙状态systemctl status firewalld 或者 firewall-cmd --state
  • 查看防火墙开机时是否启动systemctl list-unit-files | grep firewalld

端口设置

  • 开放端口 firewall-cmd --add-port=端口号/tcp --permanent

  • 更新防火墙规则firewall-cmd --reload

  • 查看

    • firewall-cmd --zone=public --query-port=端口号/tcp
    • firewall-cmd --zone=public --list-ports
  • 取消端口开放 firewall-cmd --remove-port=端口/tcp --permanent