当前位置: 首页 > article >正文

【Linux】萌新看过来!一篇文章带你走进Linux世界

头像
🚀个人主页:奋斗的小羊
🚀所属专栏:Linux
很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~

动图描述

目录

  • 前言
  • 💥1、初识Linux
    • 💥1.1 什么是操作系统?
    • 💥1.2 各种操作系统对比
    • 💥1.3 现代Linux应用
    • 💥1.4 Linux常用版本
  • 💥2、Linux 和 Windows 目录结构对比
    • 💥2.1 文件系统组织方式
    • 💥2.2 目录命名和功能划分
    • 💥2.3 目录访问方式
    • 💥2.4 优缺点
  • 💥3、Linux简单指令
    • 💥3.1 mkdir指令
    • 💥3.2 ls指令
    • 💥3.3 pwd指令
    • 💥3.4 touch指令
    • 💥3.5 cd指令
    • 💥3.6 rmdir 指令和 rm 指令
    • 💥3.7 man指令
    • 💥3.8 cp指令


前言

可能很多刚开始接触Linux的童鞋们和我一样,在这之前对Linux并不熟悉,只知道Linux是一个操作系统,之外一概不知。没关系,问题不大,本篇文章将会带你初步的认识Linux,了解Linux的相关背景和一些简单的指令,让你从一个小萌新成为一个大萌新。
本文使用xshell远程登录Linux。


💥1、初识Linux

💥1.1 什么是操作系统?

在这里插入图片描述

操作系统(Operating System,简称OS)是计算机系统中最为关键和基础的软件之一。它是计算机硬件与用户或应用程序之间的桥梁,负责管理计算机的硬件资源,为上层应用程序提供一个稳定、高效且安全的运行环境。
简而言之,操作系统是计算机正常运作的基石,让用户能够方便、高效地使用计算机。


💥1.2 各种操作系统对比

简单来说Linux就是一种自由和开放源代码的类Unix操作系统。我们大部分同学最熟悉的操作系统是Windows,也有少部分同学对macOS情有独钟,相比而言我们和Linux之间好像十分陌生。既然我们要学习Linux,那Linux与Windows、macOS等操作系统相比,有哪些优势呢?

  • 开源性:Linux的源代码是公开的,这使得它成为了一个全球性的开源项目,吸引了大量开发者的参与和贡献。相比之下,Windows和macOS等商业操作系统则通常保持源代码的封闭性。

  • 多用户、多任务:Linux支持多用户操作,每个用户都可以有自己的登录账号和权限,同时系统可以执行多个任务,如运行多个程序、处理多个网络请求等。这种特性使得Linux非常适合作为服务器操作系统。

  • 稳定性和安全性:Linux内核设计精良,能够长时间稳定运行,同时提供了丰富的安全机制和工具,保护系统免受恶意攻击。这使得Linux在需要高稳定性和安全性的应用场景中备受青睐。

  • 可定制性:由于Linux的开源特性,用户可以根据自己的需求对系统进行定制和裁剪,以适应不同的应用场景。这种灵活性是商业操作系统所难以比拟的。


💥1.3 现代Linux应用

在现代计算机领域,Linux的应用范围非常广泛,涵盖了服务器、数据中心、嵌入式系统、移动设备、桌面计算等多个领域。

  • 服务器和数据中心:由于其稳定性、安全性和可扩展性,Linux成为许多大型互联网公司和企业的首选服务器操作系统。Linux提供了强大的网络功能、高级的服务器软件和工具,可以构建高性能、可靠的服务器架构。
  • 嵌入式系统:Linux在嵌入式系统领域也有广泛应用。嵌入式Linux可以运行在各种设备上,如智能手机、平板电脑、网络路由器、物联网设备等。Linux提供了丰富的硬件支持、设备驱动程序和开发工具,使得开发者能够构建高度定制化和功能丰富的嵌入式系统。
  • 桌面计算:尽管在个人电脑领域Windows和macOS占据主导地位,但Linux也提供了多个桌面环境(如GNOME、KDE等)和发行版(如Ubuntu、Fedora等),可以满足不同用户的需求。许多技术专业人员、开发者和研究人员选择在Linux桌面上工作。
  • 云计算和容器化:Linux在云计算和容器化领域发挥着重要作用。许多云服务提供商使用Linux作为其基础设施的操作系统,同时Linux也推动了容器化技术的发展,如Docker和Kubernetes等。这些技术为应用程序的部署和管理提供了轻量级、可移植和可扩展的解决方案。

💥1.4 Linux常用版本

  • Ubuntu
    特点:Ubuntu是最常见和广泛使用的Linux发行版之一,以易用性和友好的用户界面而闻名。它适用于个人用户和企业用户,提供长期支持(LTS)版本和定期发布的版本。
    应用场景:桌面和服务器环境。

  • CentOS
    特点:CentOS是一种基于Red Hat Enterprise Linux(RHEL)源代码的免费版本,注重稳定性和安全性。它被广泛用于服务器环境,并提供长期支持。
    应用场景:企业级应用和服务器。

  • Fedora
    特点:Fedora是由社区驱动的Linux发行版,也是Red Hat公司的测试平台。它提供了最新的软件包和技术,适用于开发者和技术爱好者。Fedora采用了快速的发布周期,每六个月发布一个新版本。
    应用场景:开发者和技术爱好者。

  • Debian
    特点:Debian是一个稳定、安全且广泛使用的Linux发行版,以其包管理系统(APT)而闻名,提供了大量的软件包选择。Debian有三个主要版本:稳定版、测试版和不稳定版,用户可以根据自己的需求选择合适的版本。
    应用场景:服务器和桌面环境。

  • Kali Linux
    特点:Kali Linux是专为网络安全和渗透测试而设计的发行版,内置了大量的安全工具和资源。
    应用场景:安全专业人员和渗透测试爱好者。

在这里插入图片描述


💥2、Linux 和 Windows 目录结构对比

💥2.1 文件系统组织方式

1、 Windows

  • Windows采用层次化的目录结构,类似于一棵树
  • 根目录通常是某个驱动器(如C:\),但系统也可以安装在其他驱动器上
  • 文件和文件夹按照树状结构组织,用户可以通过路径访问特定的文件或文件夹

2、Linux

  • Linux采用单一的虚拟文件系统(VFS),这是一个树状结构,以根目录(/)开始
  • 启动系统后,VFS会识别出各个硬盘,并将硬盘的分区挂载到VFS的某个子目录上
  • 用户通过访问这些挂载点来访问硬盘上的数据和文件

💥2.2 目录命名和功能划分

1、Windows

  • Windows目录:通常位于C:\Windows,包含操作系统的核心文件,如系统文件、驱动程序和系统配置
  • Program Files:存放安装的应用程序的目录,可能是C:\Program Files或C:\Program Files (x86)(用于32位应用程序在64位系统上运行)
  • Users目录:包含用户文件和配置文件,每个用户都有一个独立的子文件夹,以其用户名命名
  • Documents、Desktop等:用户文档和桌面上的图标、快捷方式分别存放在Users目录下的相应子文件夹中

2、Linux

  • 根目录(/): 所有目录和文件的起点,包含了许多重要的子目录
  • /bin: 存放所有用户都可以使用的Linux基本操作命令
  • /dev: 设备文件目录,主要存放系统中所有设备的相关信息
  • /etc: 系统配置文件目录,包含各种系统配置文件
  • /home:默认存放用户的宿主目录(除了root用户
  • /proc:虚拟文件系统,提供系统实时的信息,如CPU、内存、网络等
  • /sbin:系统管理相关的二进制文件存放目录,普通用户权限较小
  • /usr:安装除操作系统本身外的一些应用程序或组件
  • /var:存放经常变化的文件,如日志文件、数据库文件等

💥2.3 目录访问方式

1、Windows

  • 使用驱动器字母(如C:\)和路径来访问文件和文件夹
  • 路径分隔符是反斜杠(\)

2、Linux

  • 使用根目录(/)和路径来访问文件和文件夹
  • 路径分隔符是正斜杠(/)
  • 用户可以通过挂载点访问硬盘上的数据和文件

💥2.4 优缺点

1、Windows

  • 优点: 用户存放东西的位置比较自由,系统结构简单便于新用户上手
  • 缺点: 数据组织方式可能显得凌乱,系统文件和用户文件之间容易相互干扰

2、Linux

  • 优点: 目录结构清晰,反映了系统运行机理,有助于高效组织数据和分类
  • 缺点: 对于初学者来说,可能需要一定时间适应其复杂的目录结构

💥3、Linux简单指令

关于Linux的指令,我们在前期学习的时候并不需要大量的去记,只需要学习一些简单的基本指令,先把Linux用起来,在这个过程中边学边用就可。本篇文章也只介绍大概20个简单的指令。
学习Linux,我们可以对比较为熟悉的Windows学习,同样是操作系统,它们有什么相同的地方,有什么不同的地方,在学习的过程中我们通过对比,可以更快的熟悉Linux。

💥3.1 mkdir指令

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为“dirname”的目录(文件夹)

[root@hcss-ecs-8f13 ~]# mkdir dirname
[root@hcss-ecs-8f13 ~]# ls
dirname 
[root@hcss-ecs-8f13 ~]# 

空文件也占据磁盘空间。文件 == 内容 + 属性(文件名、大小、日期…)

  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
[root@hcss-ecs-8f13 dirname]# mkdir -p a/b/c
[root@hcss-ecs-8f13 dirname]# pwd
/root/dirname
[root@hcss-ecs-8f13 dirname]# ll
total 4
drwxr-xr-x 3 root root 4096 Sep  7 16:58 a
-rw-r--r-- 1 root root    0 Sep  7 16:50 hello.txt
[root@hcss-ecs-8f13 dirname]# ls
a  hello.txt
[root@hcss-ecs-8f13 dirname]# cd a
[root@hcss-ecs-8f13 a]# ls
b
[root@hcss-ecs-8f13 a]# cd b
[root@hcss-ecs-8f13 b]# ls
c
[root@hcss-ecs-8f13 b]# 
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# tree dirname
dirname
├── a
│   └── b
│       └── c
└── hello.txt

3 directories, 1 file
[root@hcss-ecs-8f13 ~]# 

💥3.2 ls指令

语法:ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录和文件;对于文件,列出文件名和其属性

常用选项:

  1. -l: 列出文件的详细信息
  2. -a:列出目录下的所有文件,包括以 . 开头的隐藏文件
  3. -d:将目录象文件一样显示,而不是显示其下的文件
  • ls -l -als -a -lls -alls -la都是可以的
  • 目录和文件都是可以隐藏的,可以主动创建隐藏目录和隐藏文件
  • 在Linux中,任何一个目录(包括空目录),系统默认都会自带...(隐藏)目录
  • .表示当前目录,..表示上级目录

在这里插入图片描述
Windows文件夹:
在这里插入图片描述

上面的ls [选项]是默认当前自己的目录,也可以指定目录:

[root@hcss-ecs-8f13 /]# pwd
/
[root@hcss-ecs-8f13 /]# ls
bin  boot  CloudrResetPwdAgent  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@hcss-ecs-8f13 /]# ls -l
total 64
lrwxrwxrwx.   1 root root     7 Jul  7 14:23 bin -> usr/bin
dr-xr-xr-x.   5 root root  4096 Sep  1 18:43 boot
drwxr-xr-x    7 root root  4096 Jul  7 14:56 CloudrResetPwdAgent
drwxr-xr-x   19 root root  3020 Sep  1 18:46 dev
drwxr-xr-x.  77 root root  4096 Sep  2 11:47 etc
drwxr-xr-x.   3 root root  4096 Sep  1 21:33 home
lrwxrwxrwx.   1 root root     7 Jul  7 14:23 lib -> usr/lib
lrwxrwxrwx.   1 root root     9 Jul  7 14:23 lib64 -> usr/lib64
drwx------.   2 root root 16384 Jul  7 14:23 lost+found
drwxr-xr-x.   2 root root  4096 Apr 11  2018 media
drwxr-xr-x.   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x.   2 root root  4096 Apr 11  2018 opt
dr-xr-xr-x  110 root root     0 Sep  1 18:46 proc
dr-xr-x---.   7 root root  4096 Sep  7 15:04 root
drwxr-xr-x   24 root root   640 Sep  1 18:46 run
lrwxrwxrwx.   1 root root     8 Jul  7 14:23 sbin -> usr/sbin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x   13 root root     0 Sep  5 23:15 sys
drwxrwxrwt.   9 root root  4096 Sep  7 03:31 tmp
drwxr-xr-x.  13 root root  4096 Jul  7 14:23 usr
drwxr-xr-x.  19 root root  4096 Jul  7 14:39 var
[root@hcss-ecs-8f13 /]# ls -l /home
total 4
drwx------ 2 yjz yjz 4096 Sep  1 21:42 yjz
[root@hcss-ecs-8f13 /]# ls /home -l
total 4
drwx------ 2 yjz yjz 4096 Sep  1 21:42 yjz
[root@hcss-ecs-8f13 /]# 

💥3.3 pwd指令

语法: pwd
功能: 显示用户当前所在目录

[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# 

在Windows中,我们同样也可以得到当前所在目录:
在这里插入图片描述

  • Windows下路径分隔符是:\,Linux下路径分隔符是:/

💥3.4 touch指令

语法:touch [选项]…文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件


💥3.5 cd指令

语法: cd 目录名
功能: 改变工作目录,将当前工作目录改变到指定的目录下
举例:

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# cd dirname
[root@hcss-ecs-8f13 dirname]# pwd
/root/dirname
[root@hcss-ecs-8f13 mydir]# cd /root/dirname //绝对路径
[root@hcss-ecs-8f13 dirname]# pwd
/root/dirname
[root@hcss-ecs-8f13 dirname]# cd
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# cd dirname //相对路径
[root@hcss-ecs-8f13 dirname]# pwd
/root/dirname
[root@hcss-ecs-8f13 dirname]# cd .. //返回上级路径
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# cd mydir
[root@hcss-ecs-8f13 mydir]# pwd
/root/mydir
[root@hcss-ecs-8f13 mydir]# cd .
[root@hcss-ecs-8f13 mydir]# pwd
/root/mydir
[root@hcss-ecs-8f13 mydir]# cd ..
[root@hcss-ecs-8f13 ~]# cd ..
[root@hcss-ecs-8f13 /]# cd ..
[root@hcss-ecs-8f13 /]# pwd
[root@hcss-ecs-8f13 /]# ls -lad /
dr-xr-xr-x. 19 root root 4096 Sep  1 18:46 / //可以看到‘/’也是一个目录
[root@hcss-ecs-8f13 /]# 
  • Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
    在这里插入图片描述

cdcd ~:返回当前用户自己的家目录:

[root@hcss-ecs-8f13 /]# cd
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# cd ~
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# 

什么是家目录? 任何一个Linux用户,用特定的用户名登录系统,默认都在家目录下。

命令本质上就是系统中的一个普通文件,是一个可执行程序。

[root@hcss-ecs-8f13 ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@hcss-ecs-8f13 ~]# which pwd
/usr/bin/pwd
[root@hcss-ecs-8f13 ~]# which mkdir
/usr/bin/mkdir
[root@hcss-ecs-8f13 ~]# ls /usr/bin/pwd
/usr/bin/pwd
[root@hcss-ecs-8f13 ~]# ls /usr/bin/pwd -l
-rwxr-xr-x 1 root root 33232 Nov 17  2020 /usr/bin/pwd
[root@hcss-ecs-8f13 ~]# ls /usr/bin/ls -l
-rwxr-xr-x 1 root root 117608 Nov 17  2020 /usr/bin/ls
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# /usr/bin/pwd
/root
[root@hcss-ecs-8f13 ~]# /usr/bin/ls
dirname  mydir	text.txt
[root@hcss-ecs-8f13 ~]# 

在这里插入图片描述

[root@hcss-ecs-8f13 ~]# alias abc=pwd
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# abc
/root
[root@hcss-ecs-8f13 ~]# alias def=ls
[root@hcss-ecs-8f13 ~]# ls
dirname  mydir  text.txt
[root@hcss-ecs-8f13 ~]# def
dirname  mydir  text.txt
[root@hcss-ecs-8f13 ~]# 
  • 起别名是临时的,退出登录后起的别名就不能用了
[root@hcss-ecs-8f13 ~]# which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls
[root@hcss-ecs-8f13 ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@hcss-ecs-8f13 ~]# ls
dirname  mydir  text.txt
[root@hcss-ecs-8f13 ~]# ll
total 8
drwxr-xr-x 3 root root 4096 Sep  7 16:58 dirname
drwxr-xr-x 2 root root 4096 Sep  6 18:16 mydir
-rw-r--r-- 1 root root    0 Sep  7 15:04 text.txt
[root@hcss-ecs-8f13 ~]# ls -l
total 8
drwxr-xr-x 3 root root 4096 Sep  7 16:58 dirname
drwxr-xr-x 2 root root 4096 Sep  6 18:16 mydir
-rw-r--r-- 1 root root    0 Sep  7 15:04 text.txt
[root@hcss-ecs-8f13 ~]# 
  • ls -lll的效果是一样的,因为ll就是ls -l的别名

💥3.6 rmdir 指令和 rm 指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:

  1. -f 即使文件属性为只读(即写保护),亦直接删除
  2. -i 删除前逐一询问确认
  3. -r 删除目录及其下所有文件

💥3.7 man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法: man [选项] 命令
常用选项

  1. -k 根据关键字搜索联机帮助
  2. num 只在第num章节找
  3. -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

在这里插入图片描述

按q退出。


💥3.8 cp指令

语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中;若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

普通文件拷贝:

[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# ls
dirname  text.txt
[root@hcss-ecs-8f13 ~]# cp text.txt dirname/
[root@hcss-ecs-8f13 ~]# cd dirname
[root@hcss-ecs-8f13 dirname]# ls
text.txt
[root@hcss-ecs-8f13 dirname]# cp text.txt copy.txt
[root@hcss-ecs-8f13 dirname]# ls
copy.txt  text.txt
[root@hcss-ecs-8f13 dirname]# 

目录拷贝:

[root@hcss-ecs-8f13 dirname]# cp dirname dirname.0
cp: cannot stat ‘dirname’: No such file or directory
[root@hcss-ecs-8f13 dirname]# pwd
/root/dirname
[root@hcss-ecs-8f13 dirname]# cd
[root@hcss-ecs-8f13 ~]# pwd
/root
[root@hcss-ecs-8f13 ~]# cp -r dirname dirname.0
[root@hcss-ecs-8f13 ~]# ls
dirname  dirname.0  text.txt
[root@hcss-ecs-8f13 ~]# tree
.
├── dirname
│   ├── copy.txt
│   └── text.txt
├── dirname.0
│   ├── copy.txt
│   └── text.txt
└── text.txt

2 directories, 5 files
[root@hcss-ecs-8f13 ~]# cp -r dirname dirname.0
[root@hcss-ecs-8f13 ~]# tree
.
├── dirname
│   ├── copy.txt
│   └── text.txt
├── dirname.0
│   ├── copy.txt
│   ├── dirname
│   │   ├── copy.txt
│   │   └── text.txt
│   └── text.txt
└── text.txt

3 directories, 7 files
[root@hcss-ecs-8f13 ~]# 

  • 拷贝目录需要加-r


http://www.kler.cn/a/294610.html

相关文章:

  • OceanStor Pacific系列 8.1.0 功能架构
  • C++中string的新特性
  • 【算法一周目】双指针(2)
  • apache2配置多站点
  • C++ 的协程
  • HTTP协议基础
  • 【Qt】处理键盘事件
  • Spring-容器:IOC-基于注解管理Bean
  • C++11 --- 智能指针
  • 自然语言处理系列五十》文本分类算法》SVM支持向量机算法原理
  • 超详细!!!electron-vite-vue开发桌面应用之创建新窗口以及主进程和子进程的通信监听(十二)
  • (1)DRF项目服务器部署(Linux/Nginx/Uwsgi)
  • 数据结构---双向链表(内存泄露相关知识)
  • 关于易优cms自定义字段不显示的问题
  • 梧桐数据库(WuTongDB):聚簇索引的原理、实现方法及应用场景
  • [RK3588][Android12] Android->拦截指定进程冻结,避免后台服务长时间运行被系统冻结
  • Spring全局异常处理HandlerExceptionResolver使用
  • 【网络安全基础】网络安全的基本概念与威胁
  • Python批量提取pdf标题-作者信息
  • Redis发布订阅PUB/SUB
  • 04使用python处理交通时空大数据
  • 初识Linux · 进度条
  • K8S 发布应用
  • 【60天备战软考高级系统架构设计师——第十一天:系统集成与测试——集成策略】
  • kafka集群安装
  • OpenFeign的使用(一)