步入Linux的世界(此篇章已完结)

声明

  • 本章节使用的ubuntu 22.04
  • 本章节不提供VMware与Linux的安装教程,网上一搜一大把
  • Linux安装过程中,遇到“指定磁盘容量”步骤时,请选择“将虚拟磁盘存储为单个文件”选项以提高性能,此选项并不会使您接下来的安装过程受到影响
  • 如果您不想让您的Linux系统更新太慢,Linux安装完成之后需要将镜像源换至国内
  • 观看此文章之前,希望您对Linux的一些最基础命令有一定的了解
  • 此文章不能保证您精通Linux,但可以使您对Linux进一步有一定的了解
  • 学习一个命令之后,希望您不要眼高手低,要对命令深刻了解,并且能够熟练操作
  • 希望您不要安装第三方库,最基础的GNU命令都不完全了解的话,又怎么能知道第三方库的所有用处呢
  • 一定!一定要练习命令

Linux简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
详情介绍前往维基百科


Linux一切皆文件

Linux操作系统

  1. Linux kernel(内核)
  2. GNU工具
  3. GUI Desktop环境
  4. Application

Linux内核:

  1. 硬件设备 管理使用
  2. 软件程序(系统)——> 操作软件
  3. 系统内存
  4. 文件管理

图片


Linux根目录

图片

            
                Linux目录:

                /bin 二进制目录  GNU工具或自带的ls等命令 存放多用户级

                /etc 系统的配置文件目录

                /lib 库目录/lost+found 文件丢失找回

                /mnt 挂载目录 (磁盘,U盘,外在设备)

                /run 运行目录

                /proc 伪文件目录

                /tmp 临时目录

                /var 可变目录 (log日志文件)

                /boot 启动目录 (Linux启动)

                /dev 设备目录(设备管理器)

                /media 媒体目录 (媒体信息)

                /opt 可选目录 (第三方文件)

                /root 管理员主目录

                (sudo rm -rf /* 删库命令)

                /sbin 系统二进制文件 GNU高级管理员使用的命令工具

                /srv 服务目录 (本地服务)

                /usr 用户二进制目录 GNU工具(普通用户使用)

                /usr/bin/ 用户自己安装的软件
            
            

FHS  文件系统层级标准 (Filesystem Hierarchy Standard)


Linux 文件与目录管理

我们知道 Linux 的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
• 绝对路径:路径的写法,由根目录 / 写起
例如: /usr/share/doc 这个目录。
• 相对路径:路径的写法,不是由 / 写起
例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法

处理目录的常用命令

处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

来自:https://www.runoob.com/linux/linux-file-content-manage.html


cd切换目录

语法:cd [相对路径或绝对路径]
cd 进入用户主目录;
cd / 进入根目录
cd ~ 进入用户主目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/”;”..”为上级目录的意思);
cd ../.. 返回上两级目录;
cd – 回到上一次进入的目录


ls进阶用法 文件过滤匹配符

文件扩展匹配符  ? *

  • * 多个符号
  • ? 一个占位符
  • 图片

  • 元字符通配符  []
  • ls -l o[a-x]o.txt
    picture

  • ‘  !’ 取反符
  • ls -l o[!a-x]o.txt
    picture


touch创建文件

touch命令 有两个功能:
一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来创建新的空文件。
语法:touch [选项] [文件]


绝对路径与相对路径

绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法。
绝对路径(宇宙级的快递,全):
银河系地球村中国江西省九江市XX县
相对路径(地球村的快递,不全):
但是对于我们地球的快递小哥哥来说你一定是在 银河系:/地球村
这个时候快递小哥哥看的地址; /中国/江西省/九江市/xxx
就是相对路径了
如果还不理解,请自行百度


cp文件复制

cp 将源文件或目录复制到目标文件或目录中
若目标文件不存在,则创建新的目标文件

cp 源文件 目标文件或目录(多种方法)

  1. 文件——文件
  2. 文件——目录
  3. 目录——目录
  4. 目录——文件
  5. 路径——路径
  • 将text_1.txt的内容复制到文件text_2.txt中
  • picture

    picture

  • cp -i text_2.txt text_3.txt
    提示overwrite y/n ?
    y(yes) 覆盖
    n(no)  不覆盖
  • picture

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理

  • 不使用 -r 只会将该目录下的文件复制到目标文件夹
  • cp /home/fuck/Documents/Doc/* /home/fuck/Downloads/
    picture

  • 使用 -r 连同该目录一起复制到目标文件夹
  • cp -r /home/fuck/Documents/Doc/ /home/fuck/Downloads/
    picture


lnk链接文件

  1. 符号链接(软链接)——即快捷方式 
    【符号链接(symbolic links),软链接(soft links)】
  2. 硬链接——即副本

ln 用来为文件创建链接

-s, –symbolic 对源文件建立符号链接,而非硬链接(软链接)

在目录/home/fuck/Document/中建立符号链接文件test.java 使它指向/home/fuck/Temp/test.java

ln -s /home/fuck/Document/temp/test.java /home/fuck/Document/

picture

ln -s test.java test_link.java
picture

建立硬链接 (无指向 相当于一个副本)
只能建立在同一个介质里面 (相当于Windows的同一块硬盘)

ln test.java test_linkfile.java
picture


软链接与硬链接区别

原理上,硬链接和源文件的inode节点号相同,两者互为硬链接。软连接和源文件的inode节点号不同,进而指向的block也不同,软连接block中存放了源文件的路径名。
实际上,硬链接和源文件是同一份文件,而软连接是独立的文件,类似于快捷方式,存储着源文件的位置信息便于指向。
使用限制上,不能对目录创建硬链接,不能对不同文件系统创建硬链接,不能对不存在的文件创建硬链接;可以对目录创建软连接,可以跨文件系统创建软连接,可以对不存在的文件创建软链接。

优点与缺点

软链接

优点:

  1. 软连接也叫符号链接,包含要链接到的文件名字,并且在符号链接之前那个文件不一定存在。
  2. 软连接可以跨越不同的文件系统,并且可以创建目录间的链接
  3. 即使删除软连接也不会破坏原来的文件

缺点:

  1. 软连接文件不是一个独立的文件,它的许多属性依赖于原文件,所以给一个软连接文件设置存取权限是没有意义的
  2. 软链接链接文件建立后,如果删除源文件,则软连接文件将会指向一个空文件,软连接也就会失效

硬链接

优点:

  1. 对于文件所做的任何修改都是有效的
  2. 不依赖访问该文件所用的名字

缺点:

  1. 文件的硬链接不能从最初的目录项区分开来,只能建立在同一介质
  2. 硬链接不能用于创建目录链接和在不同的文件系统间创建文件链接

参考:Linux硬链接和软连接的区别与总结


mv重命名

mv 移动或重命名文件
将tebiechangdewenjian.txt重命名为file.txt
mv tebiechangdewenjian.txt file.txt

picture

将~/Documents/Temp/test.java移动到~/Documents/Doc/目录里面

mv ~/Documents/Temp/test.java ~/Documents/Doc/
picture

将~/Documents/下的java文件夹移动到~/Project/下

mv ./java ~/Project/
picture


rm 删库跑路了解一下

rm命令 Linux最危险的命令之一
鼠鼠我啊,想坐牢了
sudo rm -rf /*
enter!(狂吼!!!)

rm 删除文件或目录 (非常危险,建议配合-i(交互)选项)
利用匹配过滤符 * 删除./Temp/中的delete_1.txt delete_2.txt文件
rm (-i)delete_*

picture

你甚至可以删除Temp文件夹
rm -rf (-i) ~/Documents/Temp
rm -ri ~/Documents/Temp
删除根目录下的所有文件(删库,蹲牢子)
sudo rm -rf /* (/ 为根目录 * 为匹配过滤符)


文件夹的创建与删除

创建

picture

删除

文件夹的删除:rmdir (remove directories)
只能删除空目录,是个fw命令()
一般删除文件夹使用rm命令


文件类型

Windows上的文件有各种各样的格式
视频格式:MP4,AVI,MOV,WMV…
Linux上也有不同的文件类型,我们可以使用file查看文件类型
file命令 用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

picture


查看文件

打开文本文件的三大命令:cat,more,less
cat:连接多个文件并打印到标准输出。
主要用途:

  • 显示文件内容,如果没有文件或文件为-则读取标准输入。
  • 将多个文件的内容进行连接并打印到标准输出。
  • 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。

来自:https://wangchujiang.com/linux-command/c/cat.html
但文件体积较大时并不方便

more:显示文件内容,每次显示一屏
more名单中内置了若干快捷键,常用的有:

  • H(获得帮助信息)
  • Enter(向下翻滚一行)
  • 空格(向下滚动一屏)
  • Q(退出命令)

来自:https://wangchujiang.com/linux-command/c/more.html

less:

    less命令的作用与more十分相似,都可以用来浏览文字档案的内容
    不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
    用less命令显示文件时
    用PageUp键向上翻页,用PageDown键向下翻页。
    要退出less程序,应按Q键。

来自:https://wangchujiang.com/linux-command/c/less.html

这三个命令只能读取而不能编辑,并不常用(但要记住)


有趣命令

  • cd !$ 执行上一条命令的最后一条路径
  • picture

    图中的上一条命令为mv ~/Documents/Temp/test.java ~/Documents/Doc
    因此 cd !$ 执行的是 cd ~/Documents/Doc/

  • tail 在屏幕上显示指定文件的末尾若干行(默认末尾10行)
  • head 显示文件的开头部分 (默认开头10行)
  • tail和head均可以使用-n选项调整行数
    tail(head) -n 5 ./test.txt

    picture


便捷操作

终端光标移动:

  • ctrl + 方向键 快速移动光标位置
  • ctrl + a 跳跃至命令首段
  • ctrl + e 跳跃至命令末端
  • ctrl + u 清空所在命令行
  • ctrl + k 清空光标之后的命令
  • pwd 查看当前所在目录(绝对路径)


危险命令(谨慎操作)

sudo rm -rf /* 删库命令

其他危险命令请自行网上查阅(我是懒狗.jpg)


结语

到此,您已经将最基础的shell命令看完了,您可以在接下来的几天里练习以上命令,也可以在Linux查询网站里学习更多的命令。
同时,更上一层的shell命令将更新。

评论

  1. 头像
    suhaynn
    Windows
    1 年前
    2023-3-30 20:34:50

    棒棒哒

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇