前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux基本操作

linux基本操作

作者头像
以某
发布2023-03-07 14:16:06
8870
发布2023-03-07 14:16:06
举报
文章被收录于专栏:Jack96Jack96

*linux启动流程 *linu相关的指令 *软件管理相关指令 *文件系统 *Linux里的文件系统 *目录操作的常见指令 *文件和目录的创建删除 *查看文件

linux启动流程

  • 加载BIOS(Basic Input Output System):BIOS是系统启动时加载的第一个软件。
    • 启动上电自检POST(Power-On-Self-Test),负责完成对CPU、主板、内存、软硬盘子系统、显示子系统(包括显示缓存)、串并行接口、键盘、CD-ROM光驱等的检测,主要检查硬件的好坏。
    • 对外部设备进行初始化,读取BIOS参数,并和实际的硬件进行比较,如果不符合,会影响系统启动。
    • 查找MBR(Master Boot Record,主引导分区)。如果未找到,会提示找不到硬盘。
  • 读取主引导分区(MBR):拷贝启动引导代码BootLoader
  • 启动引导代码(bootloader):当我们的硬盘上有多个操作系统时,可以用来选择进入到哪个操作系统。
  • 加载内核,进入操作系统:运行第一个程序 : /sbin/init
    • sbin/init 会读取相关的配置文件,来确定系统的运行级别。
      • 0: 关机
      • 1 : 单用户模式
      • 2 : 无网络支持的多用户模式
      • 3 : 有网络支持的多用户模式
      • 4 : 保留,未使用
      • 5 : 有网络支持,且有图形化界面的多用户模式
      • 6 : 重启
      • 切换运行级别: init 级别
    • 根据对应的运行级别,查找对应的脚本文件。例如,运行5级别,查找 /etc/rc5.d目录,启动该目录下的相关服务。
      • 这些文件夹下的init脚本都有一些特别的名字,命名都以S(start)、K(kill)或D(disable)开头,后面跟一个数字。当init进入一个运行等级的时候,它会按照数字顺序运行所有以K开头的脚本并传入stop参数,除非对应的init脚本在前一个运行等级中没有启动。然后init按照数字顺序运行所有以S开头的脚本并传入start参数。任何以D开头的init脚本都会被忽略—这让你可以在指定的运行等级禁止一个脚本,或者你也可以仅仅移除全部符号链接。
    • 解析用户自定义的启动脚本:/etc/rc.local(如果存在的话)
    • 进入用户界面。

linu相关的指令

在Linux中,很多功能需要使用命令行来实现,我们甚至可以不使用桌面,只使用终端命令在Linux里实现绝大多数功能。

指令的基本格式:

代码语言:javascript
复制
命令 [选项] [参数]
Copy

例如:

代码语言:javascript
复制
ls -a /   # 表示列出根目录下所有的文件及文件夹
Copy

####

软件管理相关指令

简单来说,Linux系统可以分为Debian和RedHat两大分支。基于Debian平台比较流行的操作系统是Ubuntu,基于RedHat平台比较流行的操作系统是fedora.两种不同的分支,它们所使用的软件管理命令也是不一样的。

基于Debian平台的操作系统,使用dpkg和apt指令管理软件,基于RedHat平台的操作系统,使用rpm和yum指令来管理软件。它们的命名方式不同,但是命令的执行效果大致相同,我们主要学习基于Debian平台Ubuntu系统下的dpkgapt指令。

dpkg

dpkg是“Debian Package”的简写,为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。

命令行

作用

示例

dpkg -i <.deb file name>

安装.deb后缀名的软件

dpkg -i google-chrome-stable_current_amd64.deb

dpkg --info <.deb file name> dpkg -s

检测打包好的文件

dpkg --info google-chrome-stable_current_amd64.deb dpkg -s google-chrome-stable

dpkg -L

列出与该资源包有关的文件

dpkg -L google-chrome-stable

dpkg -l

列出所有已安装的包

dpgk -l

dpkg -r

删除指定的软件,并保留配置

dpkg -r google-chrome-stable

dpkg -P

删除指定的软件,不保留配置

dpkg -P google-chrome-stable

apt

dpkg本身是一个偏底层的工具,一般情况下不经常使用,我们更多的使用apt. apt全称Advanced Packaging Tool(apt),是Linux下的一款安装包管理工具。使用这个命令可以快速的实现在线、升级以及卸载软件。

命令行

作用

示例

apt-cache search

查找指定的包

apt-cache search google

apt-get install

安装指定的包

apt-get install vim

apt-get -f install

安装依赖包

apt-get -f install

apt-get reinstall

重现安装指定的包

apt-get reinstall vim

apt-get remove

删除指定的包

apt-get remove vim

apt-get remove --purge

删除指定的包,包括配置文件

apt-get remove --purge vim

apt-get update

会更新/etc/apt/sources.list软件资源包列表

aput-get update

apt-get upgrade

更新已安装的包

apt-get upgrade

apt-get dist-upgrade

更新系统

apt-get dist-upgrade

文件系统

操作系统中,用来管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。具体来说,这部分系统就是负责为用户建立、读取、修改和转储文件,控制文件的存取,当用户不再使用时撤销文件等。

常见的文件系统介绍:

  • FAT16 MS-DOS6.X及以下版本使用。每个磁盘的分区最大只能达到2G,并且会浪费很多空间。在FAT16里有簇的概念,就相当于是图书馆里一格一格的书架,每个要存到磁盘的文件都必须配置足够数量的簇,才能存放到磁盘中,每个文件,无论大小,都至少要使用一个簇在保存。 FAT16各分区与簇大小的关系如下表: 分区大小FAT16簇大小16MB-127MB2KB128MB-255MB4KB256MB-511MB8KB512MB-1023MB16KB1024MB-2047MB32KB思考:如果一个1KB的文件,被保存到了一个1000M的分区,这个文件实际占用的空间是多少?
  • FAT32 Windows95以后的系统都支持。 FAT32具有一个最大的优点:在一个不超过8GB 的分区中,FAT32分区格式的每个簇容量都固定为4KB,与FAT16相比,可以大大地减少磁盘的浪费,提高磁盘利用率。 突破了FAT16对每一个分区的容量只有2GB的限制,可以将一整个大硬盘定义成一个分区而不必分为几个分区使用,方便了对磁盘的管理。但是,FAT32里,无法存放大于4GB的单个文件,而且容易产生磁盘碎片,性能不佳。 另外,FAT不支持长文件名,只能支持8个字符,而且后缀名最多只支持3个字符。
  • NTFS WindowsNT系列设计,用来取代FAT系统。每个簇的空间更小,磁盘的利用率更高,并且可以共享资源、文件夹以及对文件设置访问许可权限。
  • RAW RAW文件系统是一种磁盘未经处理或者未格式化产生的文件系统。一般来说有这几种可能造成正常文件系统变成RAW文件系统:
    • 没有格式化
    • 格式化中途取消
    • 硬盘出现坏道
    • 硬盘出现不可预知的错误
  • EXT EXT是扩展文件系统,目前最新的版本是5.0.
  • HFS(+) 苹果电脑上的文件系统。

#####

Linux里的文件系统

不同于Windows系统有盘符的概念(C盘、D盘等),Linux里只有一个盘符,是从 " / " 开始的,只有它是没有上级目录的。如果把整个应用目录系统看成一个树形结构," / " 表示相当于这个树形结构的根,我们可以将 " / " 称之为根目录。

在根目录里,有以下几个一级文件夹或文件,需要大家有所了解。

目录

说明

/

系统的根目录

/bin

包含了一些二进制文件,即可执行文件。我们在命令行里执行的指令,例如 ls,rm,cp,mv等,其实都是执行的这个目录里的二进制文件。

/boot

系统启动相关时所需的文件。(勿动)

/cdroom

挂载光盘

/dev

设备文件,其中许多都是在启动时或运行时生成的。例如,如果你将新的网络摄像头连接到机器中,会自动弹出一个新的设备条目

/etc

用来存放所有的系统管理所需要的配置文件和子目录。(会经常使用)

/home

用户的主目录,每一个用户都有自己的目录,所有的用户都存放在home目录下。

/lib(64)

用来存放系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里会存放一些没来得及保存的文件。

/media

Linux系统自动识别的一些设备,比如U盘、光驱等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光盘挂载在/mnt/上,然后进入到该目录就可以查看光驱里的内容了。 mount /dev/cdrom /mnt/ umount /mnt/

/opt

给额外安装软件所摆放的目录。比如你安装一个ORACLE数据库就可以把它放到这个目录下

/proc

虚拟目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。 /proc/sys/net/ipv4/icmp_echo_ignore_all

/root

超级用户目录

/run

是一个临时文件,存储系统启动以来的信息,当系统重启时,这个目录下的文件会被删除。

/sbin

超级用户使用的命令存放目录(系统启动时所需要的重要的系统二进制文件)

/snap

Ubuntu自己的软件管理工具

/srv

存放一些服务启动之后需要提取的数据

/sys

映射内核设备

/tmp

存放临时文件

/usr

非常重要的目录,用来存放用户安装的应用程序和用户文件。

/var

经常修改的数据,比如程序运行的日志文件

  • 以 " . " 开头的文件是隐藏文件。
  • " ./ " 表示的是当前目录; “ …/ ” 表示的上级目录
  • “ ~ ” 表示的当前用户的家目录

目录操作的常见指令

  • pwd:查看当前工作目录
  • cd:切换工作目录

符号

说明

.

当前目录

上一级目录

~

当前用户的家目录

-

表示上次切换之前的目录

/

表示根目录

1.使用cd时,不指定目标地址,会切换到家目录 2.凡是以/开头的目录都是绝对目录 3.凡是以.或…开头的目录都是相当目录

  • l:查看指定目录的内容,不指定目录时查看当前工作目录

选项

说明

-a

显示所有文件,包括隐藏文件

-l

列表显示,详细信息

-h

人性化的显示大小,如:K/M/G

-l选项显示的结果:类型及权限 | 连接数 | 用户 | 用户组 | 大小 | 月 | 日| 年/时间 | 名称

文件类型:(-l显示结果中的第一部分的第一列)

连接数:如果是文件,表示这个文件有多少个名字(硬链接);如果是目录,表示这个目录里有多少个子目录。

符号

类型

-

普通文件。包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件等。

d

目录文件。

l

链接文件。类似于Windows里的快捷方式。

c

字符设备文件。即串行端口的接口设备,例如键盘、鼠标等等。

b

块设备文件。就是存储数据以供系统存取的接口设备,简单而言就是硬盘

s

套接字文件。这类文件通常用在网络数据连接,最常在 /var/run目录中看到这种文件类型。

p

管道文件。它主要的目的是,解决多个程序同时存取一个文件所造成的错误。

alias:给命令起别名。

代码语言:javascript
复制
alias md=mkdir
Copy

相当于给mkdir命令起了一个别名,以后使用md即可创建一个文件夹。

代码语言:javascript
复制
alias   # 不添加任何参数,表示列出所有的别名
Copy

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CCX3KPOb-1595169381692)(imgs/alias指令.png)]

代码语言:javascript
复制
unalias md   # 删除别名
Copy

文件和目录的创建删除

命令

说明

touch

新建文件,可以是多个

rm

删除文件或目录(删除目录时要传递’-r’选项)

cp

拷贝文件或目录(拷贝目录是要传递’-r’选项)

mv

移动文件或目录

mkdir

创建目录,可以是多个

rmdir

删除空目录

选项说明

-r:删除或拷贝目录时需要添加,表示递归操作。

-f:表示强制操作,没有提示信息。

*:表示模糊匹配,如:rm* .py,表示删除所有的py文件。

-p:创建目录时若需要创建中间目录,可以添加此选项。

代码语言:javascript
复制
mkdir -p  a/b/c
Copy

查看文件

  • 相关命令

命令

说明

cat

从上到下,显示文件全部内容

tac

从下到上,显示文件全部内容

head

查看开头指定行数的内容,不指定时默认10行,如:head -20 filename

tail

查看文件末尾指定行数的内容,不指定时默认10行,如:tail -5 filename

nl

功能与cat相同,但是多显示了行号

wc

统计显示,内容:行数 单词数 字符数 文件名

more

一点一点查看内容

less

一点一点查看内容

  • more/less使用说明
    • 显示一屏就停止
    • q退出查看
    • enter下翻一行
    • 空格下翻一屏
    • more查看完毕会自动退出,less不会
    • less可以使用上下按钮上下翻看,more不可以
    • 经常结合管道使用:ls /etc | more Linux系统提供了wc命令来统计文件的行数

统计当前目录下的所有文件行数: wc -l * ls -l|wc -l 用来统计当前目录下的文件数 当前目录以及子目录的所有文件行数: find . * | xargs wc -l

可以把改成所要匹配的文件,例如Java文件,.java这样就只统计java源码了。

关于wc命令的更多介绍,可以在终端输入wc --help查看

列出BKK目录下 后缀名是webp 且前缀名不是以大写X结尾的文件的 文件数 ls BKK | egrep [^X].webp | wc

wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下:

  • c 统计字节数。
  • l 统计行数。
  • w 统计字数。 如果命令行中没有文件名,则输出中不出现文件名。 例如: $ wc - lcw file1 file2 4 33 file1 7 52 file2 11 11 85 total 省略任选项-lcw,wc命令的执行结果与上面一样 示例: wc命令用来计算一个文件或者指定的多个文件中的行数,单词数和字符数。如: wc filename 第一列显示行数,第二列显示单词数,第三列显示字符数。 wc 有四个参数可选,分别是l,c,m,w wc -l filename 报告行数 wc -c filename 报告字节数 wc -m filename 报告字符数 wc -w filename 报告单词数
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux启动流程
  • linu相关的指令
  • 软件管理相关指令
  • 文件系统
  • Linux里的文件系统
  • 目录操作的常见指令
  • 文件和目录的创建删除
  • 查看文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档