1.Linux操作系统介绍

    在1991年,Linux 是最早由芬兰人 Linus Torvalds 设计的。当时由于 UNⅨ的商业化,AndrewTannebaum 教授开发了 Minix 操作系统以便于不受 AT&T 许可协议的约束,为教学科研提供一个操作系统。

       Linux 就是一组软件,而软件分为操作系统软件和应用软件。计算机是由一堆硬件组成的,为了有效的控制这些硬件资源,则出现操作系统,操作系统就是作为用户和计算机硬件之间的桥梁Linux用来管理电脑硬件、运行程序,Linux 属于开源项目并且是多用户系统。互联网服务大多跑在Linux上,有强大的命令行(CLI)支持和严格的权限管理体系(sudo、用户组),允许通过脚本实现自动化运维。发行版:Ubuntu、CentOS、Debian等,它们在内核上集成了不同的软件包和管理工具,以适应从个人桌面到服务器云端的不同场景。内核是Linux操作系统的核心,内核官网:https://www.kernel.org/

如图:以下是软件VMware在Ubuntu发行版本下的Linux系统入门,从零基础学起。

2.使用介绍

       首先新建虚拟机,并入,打开终端Ctrl+Shift+(+)放大当前界面,Ctrl+(-)缩小界面;其次先进行安装,输入指令sudo su(作用:暂时将用户提甚至管理员 ,将当前终端切换为root超级管理员用户,exit则可退出超级管理员界面)回车进入输入密码,密码正确,输入以下指令,点击回车即可进行安装:

apt install vim//用于修改配置文件、编辑脚本代码或脚本。

apt install gcc//用于将编写的C代码编译成可执行程序

apt install g++//用于编译C++语言的编译器

apt install make//用于自动化编译,通过读取makefile文件

常用目录说明:

home

所有普通用户的家目录

root

管理员用户的家目录

usr

存放系统应用程序及文档

proc 

虚拟文件系统目录,以进程为单位存储内存的映射显示当前电脑的各种运行状态(CPU温度、内存占用),不占硬盘空间

dev

存放设备文件,插上设备就像插上插头

mnt

临时挂载点

lib

存放库文件以及内核模块

boot

系统内核及启动有关的文件,系统的“启动区”,

tmp

存放各种临时文件,是所有用户均可访问的地点

var

存放系统运行中常改变的文件, 如系统日志

bin

存放常用命令(即二 进制可执行程序)如存放:ls cp等命令

etc

 存放系统配置文件

3.绝对路径与相对路径

     ①绝对路径:是从系统根目录(“/”)开始到指定位置的路径,写全所有目录,精准无误的定位文件。

  例如:中国/某省/某市/某区(县)/某路(乡)/某号(村)……

以绝对路径表示 main.c 的位置 /home/stu/main.c

以绝对路径表示桌面的位置 /home/stu/Desktop

     ②相对路径:是从当前目录开始到指定位置的相对路径,以当前所在的目录为参考,用“往前作”、“往回走”的方式描述位置。

例如:往前两个路口,右手边的那栋楼……

“.” 代表当前位置 “..” 代表当前位置的上一层目录

“./main.c” 表示当前位置下的 main.c 文件

4.家目录的概念

        所有普通用户都在”/home”下以该用户的用户名创建了一个目录,该目录就是此用户的家目录。

例如:普通用户student 用户的家目录就是 : /home/student

           普通用户teacher 用户的家目录就是 : /home/teacher

                                         特殊:管理员root不在/home下

指令

含义

~

当前用户的家目录

~/.bashrc

家目录下的.bashrc

cd ~或直接cd

一键回家

cd ..

回到上一级的目录

cd -

回到刚才所在的目录(=返回上一步)

cd../..

上两级目录

ls

显示当前目录下的文件目录

ls+(-a)

可以显示当前目录下的所有的目录和文件包括隐藏文件(-a是选项,不是参数)(带是选项)

ls +(-l)

可以显示当前目录下的所有文件和目录

ls -l -a 显示所有文件,包括隐藏文件(‘.’‘..’

每个用户只能在自己的家目录下创建文件、修改文件等, 不能访问其他用户的家目录,

更不能修改其他用户家目录中的文件。

5.文件类型

①Linux 将文件分为以下几种类型:

                                                     普通文件 ‘-’

                                                     目录文件 ‘d’

                                                     管道文件 ‘p’

                                                     链接文件 ‘l’

                                                     设备文件(块设备 ’b’ 、字符设备 ‘c’)

                                                     套接字文件 ‘s’

******************************字符解析*******************************

例如:-rw-rw-r-- 1 ocean ocean    97 3月  19 20:14 mian.c

//第一个字符表示该文件的类型  “-”(第一个字符)表示普通文件

//从第二个字开始表示文件的权限信息

rw-rw-r--”表示110 110 100//664

                “rmxrmxrmx”表示111 111 111//777表示满权限

//字符表示: “r”可读  “w”可写   “x”可执行  

                     “-”(后面的字符)表示高位置无权限

//“rw-|rw-|r--”分为三组:创建者权限|组员权限|其他人权限

//1  该数字表示如果是文件表示包含有几个链接文件,如果是目录就表示有几个子目录

//ocean ocean分别表示创建者名称和当前文件在哪个组

//97  表示当前文件的大小

// 3月  19 20:14 表示创建文件的时间

// mian.c  文件名字

修改权限chmod命令:                        

           chmod [三位数字] 文件名  例如:chmod 777 1.c

            chmod [身份][操作][权限] 文件名 chmod u+x  file  

其中 (u 创建者  g组  o其他人  a(所有人)配合+(添加)  -移除   =设置)

            mkdir -m 权限 文件名(目录名) 例如:mkdir -m 777 file

6.Linux 常用命令

mkdir:创建目录  mkdir 目录名

  mkdir -p 数字(可以多个数字)一次建立多个目录 例如:mkdir -p 4 5 6 7

  mkdir -p 数字/数字/数字…可以连续在目录里面建立目录 例如:mkdir -p 4/5/6

rmdir:删除目录 rmdir(或直接协程rm) 目录名-->删除空目录,无法删除文件或者非空目录

  rm -r -f 目录名(文件名)删除有内容的目录或者文件,强行删除

touch+文件名:创建一个文件名,如果文件已经存在,则不创建

vi+文件名:创建并进入该文件,如果这个文件存在,则直接进入,(//进去之后 点击a进入插入模式,  esc推出插入,shift :   下方显示:输入wq退出文件w保存文件内容q退出文件q!强制退出)当编辑文件时,没有正确的保存并推出,会产生交换文件(.swap),直接在终端中删除对应的文件即可(使用 rm -r -f 目录名/文件名.swap)

      注意1如果当进入文件里面进行编辑内容时,由于某一原因(卡住……)导致直接退出了该文件,再次点开无法编辑则应使用直接删除该文件,再重新vi就行

      注意2:首先只用指令vi+ 文件名的方式进入,然后处于一个模式(命令模式),该模下无法输入文本,按下(a,i,o,A,I,O)即可进入编辑模式

                //a:在光标之后插入内容

                //i:在光标之前插入内容

                //o:在当前下一行插入内容

                //A:在当前行的行尾插入内容

                //I:在当前行的行首插入内容

               //O:在当前的上一行插入内容

yy

赋值光标所在行

p 粘贴
 nyy (n表示数字):表示赋值n行   
np

表示粘贴所在行

dd 删除光标所在行
 ndd 删除n行
u 撤回上一步操作
ctrl+r 重做,即撤销

底行命令模式下set number 设置行号   set nonumber取消行号

pwd: 显示当前以绝对路径的方式显示当前路径

cd:切换目录,cd 后的参数表示要切换到的位置,可以使用绝对路径或相对路径

man  man帮助手册,用来查看命令、系统调用,库函数等帮助信息

指令清屏:clear  则使屏幕变成空,内容存在不删除

⑩拷贝(cp)

拷贝文件:cp+文件名1+文件名2  将文件1中的内容拷贝到文件2中,如果文件2没有即需要创建文件,如果存在,则cp则相当于创建半个文件。

拷贝目录:cp -r +目录名1+目录名2 将目录1中的内容拷贝到目录2中,如果目录2不存在,则创建,如果存在,则将目录1拷贝到目录2中。

剪切(移动)文件(mv):

mv+文件名+目录名:将文件移动到对应的目录中。

mv+文件1+文件2将文件1的内容移动到文件2中,并且文件1被删除。若文件2不存在,则需要创建一个文件2并将文件1移动到文件2,并删除文件1。

mv+目录1+目录2:若目录2中有内容,则移动失败,反之,把目录1移动到目录2中。

find+路径+(-name)+文件名/目录名:查找路径对应的文件名/目录名的文件或目录。

cat 查看文件内容

cat+文件名:可以将文件里面的内容打印出来

cat+文件1+文件2:按文件名出现的先后顺序输出文件的内容

cat+文件名1>文件名2:将文件1中的内容覆盖到文件2中(等价cp文件名 文件名)

cat+文件名1>>文件名2:将文件1中的内容追加到文件2内容后面

cat>文件:将屏幕覆盖的内容覆盖到文件中,以ctrl c结束

cat>>文件:将屏幕上输入的内容追加到文件中,以ctrl c结束

grep在文件中过滤出包含指定字符串的行

grep+”字符串”+文件名在文件中过滤出包含指定字符串的那一行,且字符串在文件中任然存在。

grep+字符+文件名可以筛选出含有字符的名字带有关键字的文件或者目录。(*.c)指以.c为后缀的文件

     注意:通配符:    ?  *    [abc]           [a-c]              [^abc]

                       ?:可以代表任意数字或者字符,但是仅代表一位

                         *:代表任意字符,且代表多位

                   [abc]:表示从字符abc中任取一个,但仅代表一个

                    [a-c]:表示从字符a到c中任取一个,只代表一位

                  [^abc]:除了字符abc之外任取一个,只代表一位

        例如:删除以a开头,第二个字符不是abc的所有文件的指令:rm [a][^abc]*

管道|(shift |(竖杠)):将前一个命令的输出作为后一个命令的输入,可以将两个指令进行连接

wc 统计文件中单词个数(-w)、字符个数(-c)、行数(-l) 

su  切换用户,没有指定用户名,则默认切换到管理员用户

关机与重启

shutdown -h now 立刻关机 halt 关机 init 0 关机

shutdown -r now 立刻重启 reboot 重启 init 6 重启
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐