Linux 操作系统的使用

嵌入式

嵌入式层次结构

用户空间:

命令 脚本(命令的集合) app

---------------------------------系统调用----------------------------------

内核空间:

内核也是一个程序,只不过是在计算机启动时就运行的程序。

linux内核五大功能:

1.进程管理:----时间片轮转 上下文切换 分时多任务

2.内存管理:----空间的分配和回收

3.文件管理:----将一堆 0 1 转换成方便人类识别的内容

4.网络管理:----网络协议栈

5.设备管理:----通过设备驱动去操作硬件,linux中一切皆文件

---------------------------------------------------------------------------------

硬件空间:

led 摄像头 扬声器 键盘

注意:

用户空间想要操作硬件,需要先进到内核空间,进入内核空间的方式

是通过系统调用,(系统调用就是内核给用户提供的访问内核的接口函数),

然后通过内核操作硬件。

为什么linux要分为用户空间和内核空间?

主要是出于安全的角度。段错误之后,程序崩了,但是系统不会崩。

Linux 操作系统的使用

对文件命令:

查看文件信息-ls

ls :查看文件夹下非隐藏内容

-a 查看文件夹下所有内容

-l 查看文件夹下所有内容的详细信息

-lh 查看文件夹下所有内容的详细信息,文件的大小会详细标出

-r 更改文件排序:'按首字母顺序’

-R 以每个文件夹一个一个打开的方式详细显示内容

-i 显示文件的iNode号码

ll :同ls -l 相同

eg: ls -alh 显示所有文件的详细内容(包括文件大小)

清除-clear

clear :清空终端下的所有内容

切换-cd,移动-mv,拷贝-cp

cd :切换到指定位置

cd [指定位置]

eg: cd ~ :切换到家目录下,但可以不要“~”

cd - :切换到上次所在的目录

cd / :切换到根目录下

mv :移动文件或目录到指定位置

mv [源文件/目录] [目标目录]

eg:mv ~/A ~/B : 将用户家目录下的A文件夹 移动到B文件夹下面

重命名:mv [源文件/目录 名称] [重命名后 文件/目录名称]

eg:mv B C : 将当前路径下的B文件/目录 重命名为C

cp :完成文件/目录的拷贝

cp [源文件] [目标目录] :将源文件拷贝到模板目录中

eg:cp hello.c world: 将当前路径下的 hello.c 文件拷贝到 world 目录下

cp [源目录] [目标目录] -r : 将原目录拷贝到目标目录下.

eg:cp hello world -r : 将当前路径下的 hello 目录拷贝到 world目录下

查看文件-pwd,cat,head,tail,echo,more,less

pwd:以绝对路径的形式,显示你当前所在的位置

eg:pwd

cat:将文件内的内容打印到终端中.

cat 文件名 //查看文件全部内容

cat -n 文件名 //带行号显示文件的全部内容

cat [文件名]

eg:cat /etc/passwd: 将/etc/passwd文件打印到终端.

head: //显示文件开头的内容 默认显示前10行

head file //显示文件file开头的内容 默认显示前10行

head -n 20 file //显示文件file的前20行内容 使用 head -20 file 也可以

head -n 5 file //显示文件file的前5行内容 使用 head -5 file 也可以

tail:显示文件结尾的内容 默认显示后10行.

tail file //显示文件file结尾的内容 默认显示后10行

tail -n 20 file //显示文件file的最后20行内容 使用 tail -20 file 也可以

tail -n 5 file //显示文件file的最后5行内容 使用 tail -5 file 也可以

tail 命令常用的用法

tail -f 文件名 //动态的显示文件内容的新增情况 一般多用于查看日志文件 | 管道符 作用:将前面命令的结果 作为后面命令的参数

head -n 35 file | tail -n 5 //查看文件的第 31-35 行的内容

echo:将字符串打印到终端中

echo [希望输出的字符串]

注:重定向符号:

> : 以覆盖的方式重定向

echo hello world > show.txt : 将hello world 的内容以覆盖的形式写入到show.txt

>>: 以追加的方式重定向

echo hello world >> show.txt : 将hello world的内容以追加的形式写入到show.txt

more :以 百分比 形式显示文件的内容

more file 以 百分比 形式显示文件file的内容

//按回车键 继续向下显示

// 按 q 键退出

less : 滚动显示文件内容

less file //滚动显示文件内容

//按上下方向键控制滚动

//按 q 退出

查看二进制文件的命令-od

od -c 二进制文件名

创建-touch、mkdir,删除-rm

touch:创建一个普通文件.如果文件存在,则修改文件的时间戳.

touch [文件名] : 创建一个文件

eg:touch 1.c : 创建一个1.c 的文件

touch [文件1] [文件2] [文件3]

eg:touch 1.c 2.txt 3.cpp 4.doc : 创建 1.c 2.txt 3.cpp 4.doc文件.

mkdir:创建一个目录文件

mkdir [目录名称] 注:在同一个目录下,是不可以创建两个相同名称的目录的.

mkdir [目录名称1] [目录名称2] [目录名称3]

mkdir 支持嵌套创建文件

mkdir -p [嵌套目录]

eg:mkdir -p A/B/C/D

rm:删除文件/目录

删除文件: rm [文件名]

删除多个文件: rm [文件名1] [文件名2] [文件名3]

删除目录: rm -rf [目录名] -r:递归删除 -f:强制删除

其他

tab:补全命令功能

sudo:临时申请管理员权限.

eg:sudo + [shell命令]

Vim

插入模式本质: 向文本中写入内容.

i (小写) : (insert) 在光标所在位置的前面,进入到插入模式.

I (大写) : (insert) 在光标所在的行首,进入到插入模式.

a (小写) : (append) 在光标所在位置的后面,进入到插入模式.

A (大写) : (append) 在光标所在的行尾,进入到插入模式.

o (小写) : 在光标所在位置的下一行,进入到插入模式.

O (大写) : 在光标所在位置的上一行进入到插入模式.

命令行是执行 vim 内置一些命令 (复制, 粘贴, 剪切 .....)

ESC 键进入到命令行模式.

复制命令:

yy: 复制光标所在行的内容,到剪切板中.

nyy: 复制n行的内容到剪切板中.

粘贴命令:

p: 在光标所在行的下一行将剪切板上的内容到粘贴文件中.

P(大写): 在光标所在行的上一行将剪切板上的内容到粘贴文件中.

剪切命令:

dd : 剪切光标所在行的内容,到剪切板中.

ndd: 将切n行的内容到剪切板中.

撤销命令:

u: 撤销上一步操作

ctrl + r : 反撤销

光标调整:

G: 将光标调整到文件结尾行

gg: 将光标调整到文件开始为止

w: 将光标移动到下一个单词中.

shift + : ''键盘1前面的键, 将光标的内容进行大小写转换.

shift + : + n : 光标跳转到n行.

代码对齐:

gg=G: 将全局的代码进行对齐操作. 一定在语言代码 .c .py

局部对齐: 选中需要对齐的代码.然后按一下 =

删除光标后面的所有内容:

dG: 删除光标后面的所有内容

字符串查找高亮:

/+string : 将查找到的字符串进行高亮操作

n: 将光标切换到下一个高亮的内容中

N: 将光标切换到上一个高亮的内容中

取消高亮:

shift + :nohl :取消高亮.

底行模式 : 在命令行的模式下: 使用 shift + : 进入到底行模式.

保存退出相关命令

q : quit 退出 (不保存退出)

w : write 保存

wq :保存退出

! : 强制, 需要配合其他的底行命令使用

q!: 强制退出

w!: 强制保存

wq!: 强制保存退出

跳转行数:

n: 光标跳转到第n行

行号显示:

set nu: 显示行号

set nonu: 不显示行号

替换:

局部替换: %s/需要替换的字符串/替换成的字符串

eg: %s/h/H : 将文件中的每一行的第一个出现的h字符替换为 H

全局替换: %s/需要替换的字符串/替换成的字符串/g

eg: %s/h/yello/g : 将文件中的每一行的所有的h替换为 yellow

指定的行进行替换: m,ns/需要替换的字符串/替换成为的字符串

eg 10,20s/h/hello :将10~ 20 里面的第一个出现的h 替换为hello

指定的行进行替换: m,ns/需要替换的字符串/替换成为的字符串/g

eg 10,20s/h/hello :将10~ 20 里面的h 替换为hello

linux软件包管理

软件包的后缀

.deb (给Ubuntu使用)

.rpm (给Redhat使用)

软件包的命名规则

软件名 版本号 修订版本号 架构 给Ubuntu使用

sl _ 5.02 -1 _ amd64 .deb

架构: i386 给32位系统用的 amd64 给64位系统用的

软件的安装、卸载、清楚

安装-dpkg,apt-get

离线----dpkg

需要有软件包,且不会检查软件的依赖,如果有依赖,需要自己安装。

安装软件:

sudo dpkg -i 软件包名

查看软件的使用说明

man 软件名

查看安装的软件的信息

sudo dpkg -l(小写的L) 软件名

查看软件的安装路径

sudo dpkg -L 软件名

卸载软件:(会保留软件的配置信息)

sudo dpkg -r 软件名

完全卸载

sudo dpkg -P 软件名

在线----apt-get

不需要安装包,但是需要联网,且安装软件时会检查软件的依赖,

如果有依赖,会一并装到系统中

检查Ubuntu是否联网

ping www.baidu.com

注意:每个服务器都会保存(尽量)所有软件仓库的地址

由于用于所在的地理位置不同,使用不同的服务器下载软件的速度也不同。

用户下载软件,需要先选择一个合适的服务器。

选择服务器的流程:

点击左下角所有程序--》选择软件更新器--》设置---》

选择Ubuntu软件选项卡--》勾选所有复选框---》点击下载自后面的下拉箭头

----》选择其他站点----》选择华为云的即可---》点击关闭----》不用重新载入

在 /etc/apt/sources.list 文件中记录的就是服务器的地址

看到新选择的服务器的地址,说明选择成功了。

更新本地源:

sudo apt-get update

(将服务器中软件仓库的地址同步到主机上,更新后会在 /var/lib/apt/lists 显示软件信息)

卸载-sudo apt-get remove

卸载:

sudo apt-get remove 软件名

只下载不安装

sudo apt-get download 软件名

下载源代码

sudo apt-get source 软件名

清理安装包

sudo apt-get clean

安装完软件后 安装包会被留在 /var/cache/apt/archives 目录下

clean操作就是清理这个目录下的 所有安装包

系统命令

关机的命令-sudo shutdown -h

sudo shutdown -h now //立即关机

sudo shutdown -h 10:30 //10:30关机

sudo shutdown -h +30 //30分钟后关机

重启的命令-sudo shutdown -r

sudo shutdown -r now //立即重启 sudo reboot

sudo shutdown -r 10:30 //10:30重启

sudo shutdown -r +30 //30分钟后重启

目录管理

压缩和归档的命令

压缩-gzip,bzip2,xz和解压缩-gunzip,bunzip2,unxz

操作的对象的单个文件

压缩方式:

gzip ---->.gz

bzip2 ---->.bz2

xz ---->.xz

上述三种压缩方式:压缩率是依次递增的,压缩速率是依次递减的

例如:

gzip file1 //将文件按 gzip 格式压缩,生成 file1.gz 文件,压缩后源文件被删除

gunzip file1.gz //解压

bzip2 file1 //将文件按 bzip2 格式压缩,生成 file1.bz2 文件,压缩后源文件被删除

bunzip2 file1.bz2 //解压

xz file1 //将文件按 xz 格式压缩,生成 file1.xz 文件,压缩后源文件被删除

unxz file1.xz //解压

归档(打包)和解归档-tar

归档:把1个或多个文件归档成一个文件,一般我们用来操作目录文件

归档的命令 tar

tar命令的选项

-c 归档

-x 解归档

-v 显示详细信息

-f 必须放在选项最后

注意:选项可以连用 -c -v -f 可以写成 -cvf

附加选项

-z 归档的同时将文件按 gzip 格式压缩

-j 归档的同时将文件按 bzip2 格式压缩

-J 归档的同时将文件按 xz 格式压缩

归档和解归档

tar -cvf dir.tar dir //将目录dir及其子目录下的所有文件归档成一个文件dir.tar并显示过程信息

//归档并不会删除源文件

tar -xvf dir.tar //将dir.tar 解归档 解归档之后 归档文件也不会被删除

归档的同时进行压缩

tar -zcvf dir.tar.gz dir //归档的同时将文件按 gzip 格式压缩

tar -zxvf dir.tar.gz //解归档并解压缩

tar -jcvf dir.tar.bz2 dir //归档的同时将文件按 bzip2 格式压缩

tar -jxvf dir.tar.bz2 //解归档并解压缩

tar -Jcvf dir.tar.xz dir //归档的同时将文件按 xz 格式压缩

tar -Jxvf dir.tar.xz //解归档并解压缩

通用的解归档并解压缩的方式:

tar -xvf dir.tar.gz

tar -xvf dir.tar.bz2

tar -xvf dir.tar.xz

统计文件内容的命令--wc

wc 文件名 //统计文件内容

会看到如下信息

4 7 47 file

行数 单词数 字符数 文件名

wc 命令的选项

-l(小写的L) 行数 line

-w 单词数 word

-c 字符数 char

wc 命令支持通配符

如:查看当前路径下所有.c文件的行数

wc -l *.c

检索文件内容的命令--grep

grep "string" file //检索文件file中所有包含string的行

grep 命令的常用选项

-n 显示行号

-i 忽略大小写

-w 精确查找 只查找 string 独立出现的地方 有前缀 和 后缀都不行

-v 反选 查找不包含 string 的行

-R 递归查找,可以检索子目录下的内容

常用的用法:

grep -nR "string" * //在当前路径及子目录下的所有文件中 查找包含string的行 且显示行号

关于 grep 命令的 string 也有说法:

grep "^string" file //检索以string开头的行

grep "string$" file //检索以string结尾的行

grep "^string$" file //检索string独立成行的行

查找文件的命令--find

find ./ -name file //在当前目录及子目录下查找所有名为 file 的文件

find /home/linux -name file //在/home/linux目录及子目录下查找所有名为 file 的文件

find ./ -type d //在当前目录及子目录下查找所有的 目录文件

类型可以写这些种:bsp-lcd 注意:普通文件时 要用 f 而不是 -

find ./ -type f //在当前目录及子目录下查找所有的 普通文件

要特别注意下面的用法:

find ./ -name *.c

这种写法不是查找当前目录及子目录下的所有 .c 文件

他是先匹配当前目录下所有的.c文件 然后把他们作为 find 命令的参数

如果当前目录下只有一个.c 文件,那么执行时不会报错,但是结果也不表示查找所有.c

如果当前目录下有多个.c文件,那么执行时 会报错 find 命令参数过多

如果想找当前目录及子目录下所有的.c文件,可以使用下面的用法

find ./ -type f | grep "\.c$"

find ./ -type f | grep "\.c$" |wc -l 统计当前目录及子目录下所有.c文件的个数

find ./ -type f | grep "\.c$" |xargs wc -l 统计当前目录及子目录下所有.c文件的行数

文件内容截取的命令--cut

选项:

-d 分隔符

-f 选择哪些域

注意:

1.cut命令是以行为单位操作的,如果某一行没有指定的分隔符 就不处理

2.如果指定的分隔符是特殊的,如 双引号 或者 单引号 需要使用转义字符 \"

例:

文件file内容如下:

西安市:莲湖区:桃园路:街道:团结东路:195号

aa-bb-cc-dd-ee-ff

cut:

cut -d : -f 3 file

桃园路街道

aa-bb-cc-dd-ee-ff

cut -d : -f 3,5,6 file

桃园路街道:团结东路:195号

aa-bb-cc-dd-ee-ff

cut -d - -f 3,4 file

西安市:莲湖区:桃园路:街道:团结东路:195号

cc-dd

linux系统中 /etc/passwd 文件中记录的是系统中用户的信息

linux系统中 /etc/group 文件中记录的是系统中组的信息

/etc/passwd 中记录的信息说明:

linux    :   x      : 1000  : 1000 :  linux,,,   : /home/linux    : /bin/bash

用户名 有密码 用户id 组id     描述字段  用户的家目录     默认的命令行解释器

编写命令,显示出 linux 用户再 /etc/passwd 文件中的行号:

cat /etc/passwd | cut -d : -f 1 | grep -n "^linux$" | cut -d : -f 1

通配符

*  通配任意长度的任意字符

原有文件:

abcd.c     a.c    b.c    c.c    d.c     file1.c    file2.c    file3.c    file4.c     skjdfhaksjdfh.c

abcd.txt    A.c    B.c   C.c    D.c    file1.txt     file2.txt     file3.txt     qwer.c

ls * 显示结果

abcd.c         a.c         b.c          c.c         d.c         file1.c         file2.c         file3.c         file4.c skjdfhaksjdfh.c        abcd.txt         A.c         B.c         C.c         D.c         file1.txt         file2.txt file3.txt         qwer.c

ls *.c 显示结果

abcd.c         A.c         B.c         C.c         D.c         file2.c         file4.c         skjdfhaksjdfh.c        a.c         b.c         c.c         d.c         file1.c         file3.c         qwer.c

ls file* 显示结果

file1.c         file1.txt         file2.c         file2.txt         file3.c         file3.txt         file4.c

通配一个长度的任意字符

原有文件:

abcd.c    a.c     b.c     c.c     d.c     file1.c     file2.c     file3.c     file4.c     skjdfhaksjdfh.c

abcd.txt    A.c    B.c    C.c    D.c    file1.txt     file2.txt     file3.txt     qwer.c

ls ?.c 显示内容

a.c    A.c    b.c    B.c    c.c     C.c    d.c    D.c

ls ????.c 显示内容

abcd.c    qwer.c

[字符1字符2..字符n]  通配 [ ] 中的任意一个字符

原有文件:

abcd.c     a.c    b.c     c.c    d.c     file1.c     file2.c    file3.c     file4.c    skjdfhaksjdfh.c   abcd.txt     A.c     B.c      C.c     D.c     file1.txt     file2.txt    file3.txt    qwer.c

ls file[13468].c 显示结果

file1.c    file3.c    file4.c

[起始字符-结束字符]  通配 起始字符到结束字符 间的任意一个字符

原有文件:

abcd.c     a.c    b.c    c.c    d.c    file1.c    file2.c    file3.c    file4.c    skjdfhaksjdfh.c

abcd.txt    A.c   B.c    C.c    D.c    file1.txt    file2.txt   file3.txt    qwer.c

ls file[0-9].c 显示结果

file1.c    file2.c    file3.c    file4.c

ls [a-c].c 显示结果

a.c   b.c    c.c

注意:有的系统本地语序不是 a-zA-Z 而是 aAbBcC..zZ

这时 可以使用命令 export LC_ALL=C 来清空本地语序

让其变成 a-zA-Z

[^字符1字符2..字符n]  通配不包含 [ ] 中字符的任意一个字符--反选

原有文件:

abcd.c a.c b.c c.c d.c file1.c file2.c file3.c file4.c skjdfhaksjdfh.c

abcd.txt A.c B.c C.c D.c file1.txt file2.txt file3.txt qwer.c

ls file[^12].c 显示结果

file3.c file4.c

文件权限管理

文件的权限

- rw-rw-r-- 1 linux linux 76 3月 15 15:43 a.c

类型 权限 硬链接数 所属用户 所属组 大小 时间戳 文件名

权限分为三组

rw- rw- r--

所属用户权限 所属组权限 其他人权限

r 读权限

w 写权限

x 执行权限

- 没有对应的权限

修改文件的权限--chmod

注意:只有文件的所属用户和root用户可以修改文件的权限。

1 通过+-方式修改

u--> user 所属用户

g--> group 所属组

o--> other 其他人

a--> all 所有用户

r--> read 读

w--> write 写

x--> exec 执行权限

chmod u+w file //给文件file的所属用户添加写权限

chmod g-r file //给文件file的所属组减掉读权限

chmod o+r file //给文件file的其他人添加读权限

chmod a+x file //给文件file的所属用户所属组其他人都添加执行权限

通过八进制数修改

rwxrwxrwx --> 0777

rw-r----- --> 0640

chmod 0640 file //将文件的权限改成 rw-r-----

chmod 0662 file //将文件的权限改成 rw-rw--w-

修改文件所属用户

注意:只有root用户可以修改文件的所属用户

sudo chown 新的用户 文件名

修改文件所属组

注意:只有root用户可以修改文件的所属用户

sudo chgrp 新的组 文件名

链接文件

软连接(符号链接)

ls -l 能看到类型为 链接文件的 是软链接文件

软连接相当于windows中的 快捷方式

创建软连接

ln -s 被链接的文件 要生成的软链接文件

注意:

1.创建软连接文件时,最好使用绝对路径,否则一旦链接文件

和被链接的文件相对位置发生变化时,链接就失效了。

2.如果被链接的文件位置变化了或者被删除了 链接也会失效

硬链接

硬链接相当于给文件起了一个别名

创建硬链接的方式:

ln 被链接的文件 要生成的软链接文件

硬链接只是给文件起了个别名,并没有产生新的文件,因为操作系统不是根据名字来识别文件的

而是根据文件的 Inode 号来识别的 Inode 号是文件在文件系统中的唯一编号

同一组的硬链接文件 Inode号是相同的

查看inode号的方式: ls -i 文件名 stat 文件名

当删除一个硬链接文件时,并不会直接把文件删除,只有当左右一个名字被删除时,

文件才真正的被删除了

同一组的硬链接文件 修改其中一个 另外的也会发生变化

用户管理相关命令

linux系统是一个多用户的操作系统。

添加用户

sudo adduser 用户名

用户创建成功后,会在 /etc/passwd 文件中新增新用户的信息

会在 /etc/group 文件中新增组的信息

新创建的用户不允许使用sudo以管理员身份执行命令。

可以用下面的方式给新用户添加 sudo 权限

1.切换到root用户 su root

2.给 /etc/sudoers 文件添加写权限 chmod u+w /etc/sudoers

3.打开文件 vi /etc/sudoers

4.复制 root ALL=(ALL:ALL) ALL 粘贴到下面 将新行中的用户名改成新用户名 :wq保存退出

5.给 /etc/sudoers 文件删除写权限 chmod u-w /etc/sudoers 一定要改回去 防止被误修改!

6.退出 root 用户 exit

切换用户

su 用户名

查看当前使用的用户

whoami

退出当前用户

exit

修改用户密码

只有用户自己和管理员用户(root) 可以修改用户的密码

且管理员用户不需要知道 旧密码

passwd 用户名 修改用户密码

修改用户信息--usermod

sudo usermod -c "beijing" user2 //将用户user2的描述字段改为 beijing

sudo usermod -d /home/test user2 //将用户user2的家目录改为 /home/test

因为用户的家目录下有很多和用户的相关的隐藏文件

所以修改家目录前需要先将这些文件拷贝到新目录 否则用户可能就无法使用了

sudo usermod -l(小写的L) hqyj user2 //将用户user2的用户名改为hqyj

sudo usermod -g new_group user2 //将用户user2的所属组改为new_group

查看用户的简略信息

id 用户名

删除用户

sudo deluser 用户名

删除组

sudo delgroup 组名

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Linux操作系统是一种开源的操作系统,具有高度的稳定性和安全性。它可以在各种硬件平台上运行,并且支持多用户、多任务和多线程。Linux操作系统具有丰富的命令行工具和图形界面,可以满足不同用户的需求。同时,它还有强大的网络功能和支持各种编程语言的开发环境,可以用于开发各种应用程序。在使用Linux操作系统时,需要掌握一些基本的命令和操作技巧,例如文件管理、软件安装、网络配置等。掌握这些技能可以让用户更加高效地使用Linux操作系统。 ### 回答2: Linux操作系统是一种开源的操作系统,具有很多优点和适用性,主要用于服务器和个人计算机等场合。 首先,Linux操作系统具有稳定性和安全性。因为Linux是基于Unix设计的操作系统,它在设计中注重稳定性和安全性。相比其他操作系统Linux很少出现崩溃或死机的情况,并且由于开源的特性,可以及时修复漏洞,保证系统的安全。 其次,Linux操作系统具有灵活性和可定制性。用户可以自由选择不同的发行版本,如Ubuntu、Debian、CentOS等,根据自己的需求进行安装。而且,用户可以根据自己的喜好和需求自由定制系统环境,选择不同的图形界面和软件,满足个人或组织的不同需求。 此外,Linux操作系统拥有强大的命令行界面和丰富的命令工具。用户可以通过命令行对系统进行管理,并且能够使用各种强大的命令工具完成各种任务,例如文件管理、网络设置、软件管理等。这使得Linux操作系统适用于专业人士和开发者,可以更加灵活和高效地完成工作。 最后,Linux操作系统具有丰富的开源软件支持。用户可以通过软件包管理器轻松安装和更新各种软件,如办公套件、媒体播放器、图形编辑器等。而且,由于开源的特性,用户可以使用免费的软件,并且可以自由修改和定制软件,满足个人或组织的特定需求。 总结起来,Linux操作系统在稳定性、安全性、灵活性、可定制性、命令行工具和开源软件支持等方面具有很多优势,适用于各种场合,是广大用户的首选操作系统之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值