Linux学习01

Linux学习01

网址:man.linuxde.net

1.为什么使用Linux操作系统

  1. 性能问题,与Windows服务器操作系统相比Linux性能更高。

  2. 稳定性:

    1. 底层架构:Linux更加稳定,开机时间可以达到好几年不关机。
    2. 开源:因为开源,人人都可以看到源代码,就可以为其提供自己的补丁,补丁可以提高稳定性和安全性。
  3. 安全性:Linux操作系统,相对Windows操作系统更加安全。

  4. 远程管理方面:Windows不如Linux高效(Windows要传输桌面数据)。

  5. 服务器价格昂贵,需要对资源充分利用,充分把资源用到项目上(访问并发、性能),而不是把资源浪费在图形化界面上。

2.Linux系统特点

  • 开放性(开源)
  • 多用户:多个用户,再登录计算机(操作系统),允许同时登录多个用户进行操作。
  • 多任务:多个任务,允许用户同时对多个任务进行操作。

什么是单用户:一个用户,在登录计算机(操作系统),只允许同时登录一个用户。

什么是单任务:一个任务,允许用户同时操作的任务数量为1。

Windows属于单用户、多任务操作系统。

Linux属于多用户、多任务操作系统。

3.Linux终端

说明:

root:位置表示当前登录的用户名。

@:表示“在”

localhost:当前登录的主机名。

~:当前终端的工作目录。

#:表示身份识别符,如果用超级管理员用户登录显示"#",否则显示"$"。

4.Linux关机命令

  • shutdown -h now(立刻关机) 正常关机
  • halt 关闭内存
  • init 0

5.使用VMware备份Linux操作系统

有两种备份方式:

  1. 快照(还原点)。侧重点在于短期备份,需要频繁备份。(做快照的时候虚拟机一般处于开启状态)
  2. 克隆(就是复制)。侧重长期备份(做克隆的时候虚拟机必须关闭)。

6.Linux系统的文件

1.文件与文件夹(目录)

  1. 文件:一般都是一个独立的东西,可以通过一些特定的工具打开,并且不能包含除文字以外的东西。
  2. 文件夹:可以在其中包含其他文件的东西。

Linux一切皆文件:在Windows中不是文件的在Linux中也是文件。

文件操作:

创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件

2.Linux系统的文件目录结构

目录结构

  1. bin全称binary,含义是二进制,该目录中存储的都是一些二进制文件,文件都是可以被运行的。
  2. dev该目录中主要存放的是外接设备,例如:U盘,其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(分配盘符)。
  3. etc该目录主要是存储一些配置文件。
  4. home表示"家",表示除了root用户以外其他用户的家目录,类似于Windows下的User目录。
  5. procprocess,表示进程,该目录中存储的是Linux运行时候的进程。
  6. root该目录是root用户自己的家目录。
  7. sbin全称 super binary ,该目录也是存放一些可以被执行的二进制文件,但是必须得有 super权限的用户才能执行。
  8. tmp表示临时的,当系统运行时产生的临时文件会在这个目录下存着。
  9. usr存放的是用户自己安装软件。,类似于Windows下的 program files。
  10. var存放的是程序/系统的日志文件。
  11. mnt当外接设备需要挂载的时候,就需要挂载到mnt目录下。

7.指令与选项

什么是Linux的指令:在Linux终端(命令行)中输入的内容就称为指令。

一个完整的指令的标准格式:Linux通用的格式。

指令 [选项] [操作对象]

指令只能是一个。

一个指令可以包含多个选项。

操作对象也可以是多个。

1.基础指令

1.ls

ls:(list) 列出当前工作路径下的所有的文件和文件夹的名称。

列出的文件颜色说明:其中蓝色的表示文件夹、黑色的表示文件、绿色的表示其权限为拥有所有权限

  1. ls 路径:列出指定路径下的文件和文件夹的名称。

    1. 路径:相对路径、绝对路径
    2. ./表示当前目录下。
    3. ../表示上一级目录下。
  2. ls [选项] 路径列出指定路径下的文件和文件夹的名称,并以指定的格式进行显示。

    1. ls -l 路径:表示以详细列表的形式进行显示。

    2. ls -la 路径:显示所有的文件和文件夹(包含了隐藏文件/文件夹)

      红色框表示文件权限,蓝色(第一列字符)表示文件的类型。

      -:表示文件类型为文件。

      d:表示文件类型为文件夹。

      在Linux中隐藏文件一般都是以 "."开头

    3. ls -lh 路径:列出指定路径下的所有文件和文件夹的名称,以列表的形式并且显示文档大小的时候以可读性较高的形式显示。

2.pwd

pwd:(print working directory)打印当前的工作路径。

3.cd

cd:(change directory改变目录);用于改变当前的工作目录的。

  1. cd 路径
  2. cd ~补充:在Linux中有一个特殊的符号"~",表示当前用户的家目录。

4.mkdir

mkdir:(make directory创建目录)

  1. mkdir 路径:(这里的路径可以是文件夹的名称相当于"./名称",也可以是一个包含文件夹名称的路径)。
  2. mkdir -p 路径:实现多层一次性创建多个文件夹。
  3. mkdir 路径1 路径2 路径3 ...:一次创建多个文件夹。

5.touch

touch:创建文件

  1. touch 文件路径:(路径可以是直接的文件名也可以是包含文件名的路径)。

    touch linux.txt 在当前路径下创建文件

6.cp

cp(copy,复制):复制文件/文件夹到指定的位置。

  1. cp 被复制的文件路径 文件被复制到的路径 (注意:复制过程中可以对文件重命名,一般不用)。
  2. 复制文件夹注意:当使用cp命令进行文件夹复制操作的时候需要添加选项"-r"(表示递归复制),否者目录将被忽略。

7.mv

mv:(move,移动,剪切)移动文件到新的位置。(移动后原始文件不在原来的位置了)

  1. mv 需要移动的文件路径 需要保存的位置路径
    1. 移动文件
    2. 移动文件夹(不用加"-r")。(不改名可以不写)
  2. 重命名(路径不要变,原地移动)。

8.rm

rm:(remove,移除,删除):移除/删除文件。

  1. rm 选项 需要移除的文件路径

    1. rm -r:递归删除。
    2. rm -f:删除时不用频繁输入确认,"-f"表示(force)强制。
    3. rm -rf:直接强制递归删除。
  2. 删除一个文件

    rm 文件名
  3. 删除文件夹:添加选项"-r"。

  4. 删除多个文件:可以同时删除,直接往后写。

    rm -rf a b c.txt

9.vim

vim:(vim 是一款文本编辑器)打开一个文件(文件可以存在也可以不存在)。

  1. vim 文件的路径

10.输出重定向

一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果保存到文件中进行后续的分析/统计,则这时候就需要使用到输出重定向技术。

  1. >:覆盖输出,会覆盖掉原先的文件内容。
  2. >>:追加输出,不会覆盖原始文件内容,会在原始文件末尾进行追加。
  3. 正常执行的命令 >/>> 文件的路径注意:文件可以不存在,不存在则新建。

案例:使用覆盖重定向,保存ls -la 的执行结果,保存到当前目录下的ls.txt

ls -la > ls.txt

11.cat

cat:能够直接打开一个文件。

  1. cat 文件的路径
  2. cat 待合并的路径1 待合并的路径2 .... >/>> 合并之后的文件路径 还可以对文件进行合并。

2.进阶指令

1.df

df查看磁盘空间。

  1. df -h:以可读性较强的形式显示。

2.free

free:查看内存使用情况。

  1. free

  2. free -m:单位MB,剩余真实可用的看第二行。

    Swap:用于临时内存,当系统真实内存不够用时可以临时使用磁盘空间充当内存。

3.head

head:查看一个文件的前 n 行,默认是前10行。

  1. head -n(数字) 文件路径

4.tail

tail:查看一个文件的后 n 行,不指定n默认10行。

  1. tail -n(数字) 文件路径

  2. tail -f 文件路径:查看一个文件的动态变化(变化的内容不能是用户手动添加的)。该命令一般用来查看日志

5.less

less:查看文件,以较少的内容进行输出,按下辅助功能键(数字,回车,空格,方向键)查看更多。

  1. less 文件路径 按"q"退出

6.wc

wc:统计文件内容信息。(包括行数、单词数、字节数)。

  1. wc -lwc 需要统计的文件路径
    1. -l:表示lines,行数。
    2. -w:表示worlds,单词数(以空格区分)。
    3. -c:表示bytes,字节数。

7.date⭐⭐⭐

date:表示操作时间和日期的(读取、设置)-->(shell脚本中有用)

几个时间符号: CST(表示当地时间)

  1. date:输出格式:2022年 06月 30日 星期四 16:10:51 CST
  2. date +%F(等价于 date "+%Y-%m-%d"):输出格式:2022-06-30
  3. date "+%F %T (等价于 date "+%Y-%m-%d %H:%M:%S")"输出格式:2022-06-30 16:18:01
  4. 获取之前或者之后的某个时间(备份,删除备份)
    1. date -d "-1 day(year)" "+%Y-%m-%d %H:%M:%S":输出一天前的时间
    2. date -d "+1 day(year)" "+%Y-%m-%d %H:%M:%S":输出一天后的时间

8.cal

cal:操作日历的命令。

  1. cal等价于cal -1:直接输出当月的日历。
  2. cal -3:输出上一个月+本月+下一个月的日历。
  3. cal -y 年份:输出某一年的日历。

9.clear

clear等价于ctrl + L:清屏。之前的内容上划了(并不是真正的清除了之前的信息,可以通过滚动条查看)。

10.管道⭐⭐⭐

管道符 "|":管道操作可以用于过滤、特殊、扩展处理。

管道不能单独使用,必须配合前面所讲的一些指令一起使用,起辅助作用。

  1. 过滤:通过管道查询出根目录下包含"y"字母的文档名称。
ls / |grep y

说明:以管道作为分界线,前面的命令有输出,后面需要先输入,在过滤,再输出。

简单说就是管道前面的输出就是后的指令的输入。

grep指令:主要用于过滤。

  1. 特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)。

    1. cat 路径 | less
  2. 扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数。

    1. ls / | wc -l

11.挂载和解挂

  1. 解挂操作

    1. 命令 umount
    2. 语法 umount 当前设备的挂载点(路径)


    此时,相当于U盘在Windows上已经被弹出了,但是没有拔下来。

  2. 挂载操作

    1. 命令: mount
    2. 语法: mount 设备原始地址 要挂载的位置路径

    设备的原始地址: 在/dev目录下,然后根据大小确定具体的name值,拼凑在一起组成原始地址。

    案例:挂载光盘

    原始路径: /dev/sr0

    挂载位置: /mnt/dvd

    要挂载的位置路径:挂载目录一般都在 mnt下,也可以在 mnt 下新建目录。

3.高级指令

1.hostname

hostname:操作服务器的主机名(读取、设置)。

  1. hostname:输出完整的主机名
  2. hostname -f:输出当前主机名中的FQDN(全限定域名)。

2.id

id:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...)如果不指定用户则默认当前用户。

  1. id:默认输出当前用户的信息。
  2. id 用户名:输出指定用户名的信息。

验证用户信息:通过文件 /etc/passwd

验证用户组信息:通过文件 /etc/group

3.whoami

whoami:显示当前登录的用户名。一般用于shell脚本,用于获取当前操作的用户名方便记录日志。

4.ps -ef⭐⭐⭐

ps:用于查看服务器的进程信息。

  1. ps -e等价于ps -A:表示列出全部的进程。

  2. ps -f:显示全部的列(显示全字段)。

    UID:该进程执行的用户id。

    PID:进程id。

    PPID:该进程的父级进程id。

    C:CPU的占用率。

    STIME:进程的启动时间。

    TTY:终端设备,发起该进程的设备识别。"?"表示该进程不是由终端设备发起的。

    TIME:进程运行的多长时间。

    CMD:该进程的名称或对应的路径。

  3. ps -ef | grep 进程名称:在 ps 的结果中过滤出想要查看的进程状态。

5.top⭐⭐⭐

top:查看服务器的进程占的资源。

  1. top:动态显示,(退出"q")。运行top时按下M按照内存占用排序、P按照cpu使用率排序

    当服务器拥有多个cpu的时候,可以使用'1'来切换是否展示各个cpu的详情。

    PID:进程id

    USER:该进程对应的用户

    PR:优先级

    NI:用户进程内改变过优先级的进程占cpu的百分比

    VIRT:虚拟内存

    RES:常驻内存

    SHR:共享内存

    计算一个进程实际使用的内存 = 常驻内存(RES) - 共享内存(SHR)

    S:表示进程的状态(sleeping,S表示睡眠,R表示运行)

    %CPU%:cpu的占用百分比

    %MEM:内存的占用百分比

    TIME+:执行的时间

    COMMAND:进程的名称或路径

    虚拟、常驻、共享(内存):举例:

    chrome浏览器运行:

    虚拟内存: 申请500MB 实际使用320MB 此时的虚拟内存就是500MB

    常驻内存: 申请500MB 实际使用320MB 此时的常驻内存就是320MB

    共享内存: 申请500MB

    实际使用320MB,但是其中还包含对其他进程的调用开销则需要扣除。

6.du -sh

du -sh:查看目录的真实大小。

  1. du -s:(summary)只显示汇总的大小。
  2. du -h:以较高的可读性的形式进行显示。

7.find

find:用于查找文件。

  1. find 路径范围 选项 选项的值

  2. find 路径范围 -name 选项的值:按照文档的名称进行搜索(支持模糊搜索)。

  3. find 路径范围 -type 选项的值:按照文档类型进行搜索,(文档类型,"-"表示文件[在使用find的时候需要用f来替换],"d"表示文件夹)

    案例:搜索etc目录下所有的conf后缀文件。

    查看有多少个
    案例:使用find来搜索/etc/dbus-1/目录下所有的文件。

    find /etc/dbus-1/ -type f

8.service

service:用于控制一些软件的服务启动/停止/重启

注意:这是centOS 6的命令

  1. service 服务名 start
  2. service 服务名 stop
  3. service 服务名 restart

启动本机安装的Apache(网站服务器软件),其服务名httpd

centOS7用一下命令:

  1. systemctl status httpd.service:查看服务状态。
  2. systemctl start httpd.service:启动服务。
  3. systemctl stop httpd.service:关闭服务。
  4. systemctl restart httpd.service:重启服务。
    也可以通过 ps 命令来检查httpd服务是否启动。

9.kill

kill表示杀死进程。(当遇到僵尸进程或者出于某种原因需要关闭进程的时候使用)。

  1. kill 进程PID:(语法需要配合 ps 一起使用)。

  2. killall 进程名称:与kill命令相似但是比kill更好用的杀死进程的命令"killall"
    一般需要安装centOS下使用命令:

    [root@localhost ~]# yum install psmisc

10.ifconfig

ifconfig:用于操作网卡相关的指令。

  1. ifconfig:获取网卡信息。(可能没有安装)使用:ip addr代替。
    安装ifconfig命令

    [root@localhost ~]# yum install net-tools

11.reboot

reboot:重新启动计算机。

  1. reboot:重启
  2. reboot -w:模拟重启、但是不重启(用来写关机和开机日志)。

12.shutdown

shutdown:关机。(慎用)

  1. shutdown -h now "关机提示"

  2. shutdown -h 15:23

  3. shutdown -c取消关机。

  4. 其他关机命令:
    init 0
    halt
    poweroff

13.uptime

uptime:输出计算机的持续在线时间(计算机从开机到现在运行的时间)。

14.uname

uname:获取计算机操作系统相关的信息。

  1. uname:获取操作系统的类型。
  2. uname -a:获取全部的系统信息(包含:操作系统类型、全部主机名、内核版本、发布时间、开源计划)。

15.netstat -tnlp

netstat:作用:查看网络的连接状态。

  1. netstat -tnlp:

    选项说明:
    1. -t:表示只列出tcp协议的连接。
    2. -n:表示列出ip地址,可以把协议转换成端口号来显示。
    3. -l:表示过滤出"state"(状态)列中其值为LISTEN(监听)的连接。
    4. -p:表示显示进程的PID和进程的名称。

16.man

man(manual,手册)

man命令中文汉化:

Red Hat / CentOS:

yum update
yum install man-pages-zh-CN
  1. man 命令:(退出:按"q")。
posted @   e路有你  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示