Advertisement

Linux 第一章

阅读量:

🐶博主主页:[@ᰔᩚ. 一怀明月ꦿ]( "@ᰔᩚ. 一怀明月ꦿ")

❤️‍🔥专栏系列:线性代数C初学者入门训练题解CC的使用文章「初学」C++linux

🔥座右铭:“不要等到什么都没有了,才下定决心去做”

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀

目录 ​​​​​​​

linux的发行版本

操作系统的概念

图形化界面和命令行

文件

对文件的操作

指令

ls指令

which指令

alias指令

pwd指令

cd指令

touch指令

mkdir指令

rm指令

cp指令

cat指令

mv指令

man指令

man手册分为8章


linux的发行版本

Linux有许多不同的发行版本,每个发行版都有自己的特点、目标受众和特定的用途。以下是一些知名的Linux发行版本:

Ubuntu :由Canonical公司开发的基于Debian的发行版,致力于提供简单易用的桌面操作系统,也有服务器版本。Ubuntu有定期发布,每两年发布一个长期支持版本(LTS)。

Debian :一个自由的操作系统,以稳定性和可靠性而闻名。Debian的发行版周期较长,以确保软件包的稳定性。它是许多其他Linux发行版的基础。

Fedora :由社区支持的发行版,由Red Hat公司赞助。Fedora以最新的软件包和技术为特点,是用于桌面和服务器的通用操作系统。

CentOS :基于Red Hat Enterprise Linux(RHEL)源代码构建的免费发行版。CentOS专注于稳定性和长期支持,通常用于企业服务器环境。

openSUSE :由社区支持的发行版,由SUSE公司赞助。openSUSE有两个主要版本:Leap和Tumbleweed。Leap是稳定版本,定期发布,而Tumbleweed是滚动发布版本,提供最新的软件包。

Arch Linux :面向技术用户的滚动发布发行版,以其简洁性和灵活性而闻名。Arch Linux采用“滚动更新”的方式,用户可以始终获得最新的软件包和功能。

Linux Mint :基于Ubuntu的发行版,旨在提供简单易用的桌面操作系统,并附带一些额外的自定义和软件包。

Gentoo :以源代码为基础的发行版,用户需要手动编译和安装软件包。Gentoo的特点是高度定制和灵活性。

Slackware :是最早的Linux发行版之一,以简单性和稳定性而闻名。它采用传统的Unix风格,对用户提出更高的要求。

操作系统的概念

是一款进行软硬件资源管理的软件

计算机:硬件->设备驱动->操作系统->应用软件

例如

复制代码
>       1. Printf(“hello world”);->hello world(显示到屏幕上,到硬件上了)

>  
>       2. 我们编写的程序->访问了硬件的:
>  
>       3. 访问过程就是:应用软件->操作系统->设备驱动->硬件
>  
>  
>  
>  
>     cpp
>  
>     

图形化界面和命令行

图形化界面和命令行操作——本质是一样的,都是进行对操作系统进行直接或间接的操作

文件

新建一个空文件,这个文件是否占据磁盘空间?为什么?

需要占据的

文件=内容+属性(两者都是数据):文件在磁盘或硬盘保存

对文件的操作

1.对内容的操作

2.对属性的操作

复制代码
>       1. [root@ALY ~]# ls

>  
>       2. 109  big.txt  test.txt
>  
>       3.  
>  
>       4. 这就是对属性进行操作,ls对文件属性的查看
>  
>  
>  
>  
>     cpp
>  
>     

指令

“指令”通常指的是命令(command),也就是用户通过命令行界面(CLI)输入的一系列文字,用于告诉计算机执行特定的操作或任务。Linux系统通过解释和执行这些命令来完成用户的需求。

ls指令

ls指令是Linux和其他类Unix系统中最常用的命令之一,用于列出指定目录中的文件和子目录。它的基本语法如下

复制代码
>     ls [选项] [文件或目录]
>  
>     cpp
>  
>     

常用的选项包括:

-l:以长格式(详细信息)显示文件列表。

-a:显示所有文件,包括以.开头的隐藏文件。

-h:以人类可读的格式显示文件大小。

-t:按照文件修改时间排序。

-r:反向排序。

-R:递归列出子目录中的文件。

Linux中,以 . 开头的文件,我们称之为隐藏文件,默认情况下是不显示隐藏文件,但我们使用 ls -l-a(ls -la) 命令就可以查看所有的文件的详细信息,包括隐藏文件

复制代码
>       1. drwxr-xr-x  2 root root   6 8月  28 17:37 _28_1

>  
>       2. drwxr-xr-x  2 root root   6 8月  28 17:37 ._28_2
>  
>       3. 注意:这个._28_2就是隐藏文件 
>  
>  
>  
>  
>     cpp
>  
>     

名字只有.的文件是当前目录

cd . 返回当前目录

名字只有..的文件是上级目录

cd .. 返回上级目录

ls -l ../ :查看上级目录

ls -l ../../ :查看上上级目录

which指令

查看指令的位置

复制代码
>     which [命令名称]
>  
>     cpp
>  
>     

事例

复制代码
>       1. [root@ALY ~]# which ls

>  
>       2. alias ls='ls --color=auto'
>  
>       3.         /usr/bin/ls
>  
>       4. [root@ALY ~]# which ll
>  
>       5. alias ll='ls -l --color=auto'
>  
>       6.         /usr/bin/ls
>  
>       7. alias是起别名的意思,可以看到ll ls-l是同一个位置
>  
>  
>  
>  
>     cpp
>  
>     

alias指令

alias指令用于在命令行中创建命令别名,这样可以简化常用命令的输入。通过为长命令设置简短的别名,可以提高工作效率和命令行操作的便捷性。

基本语法如下:

复制代码
>     alias 别名='原始命令'
>  
>     cpp
>  
>     

事例

复制代码
>       1. [root@ALY 8_28]# alias mycmd='ls -l -a'

>  
>       2. [root@ALY 8_28]# mycmd
>  
>       3. 总用量 0
>  
>       4. drwxr-xr-x  4 root root  33 8月  28 17:37 .
>  
>       5. dr-xr-x---. 8 root root 259 8月  28 17:37 ..
>  
>       6. drwxr-xr-x  2 root root   6 8月  28 17:37 _28_1
>  
>       7. drwxr-xr-x  2 root root   6 8月  28 17:37 ._28_2
>  
>       8. 我们给指令 ls -l -a 取的别名就是mycmd
>  
>  
>  
>  
>     cpp
>  
>     

pwd指令

显示用户当前所在的目录

复制代码
>       1. bicaihua@bicaihuadeMacBook-Air ~ % pwd

>  
>       2. /Users/bicaihua
>  
>  
>  
>  
>     cpp
>  
>     

所在的路径就是/Users/bicaihua

cd指令

cd指令用于改变当前工作目录。它是Linux和类Unix系统中最基本的命令之一,也是日常命令行操作中最常用的命令之一。

基本语法如下:

复制代码
>     cd [目录路径]
>  
>     cpp
>  
>     

cd .. : 返回上级目录

cd /root/109/: 绝对路径

cd ../day02/ : 相对路径

cd ~:进入用户家目

cd -:返回最近访问目录

. :当前目录

.. :上级目录 cd .. :完成目录的回退,回到上一级目录

绝对路径: (不用随意更改,一直都是有效的,一般在配置文件中使用)

相对路径: 相对于当前所在的位置(有自己的有效范围的,比如命令的输入)

touch指令

功能: 1)touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者2)新建一个不存在的文件。(类似创建一个文档)

语法:

复制代码
>     touch [选项]... 文件...
>  
>     cpp
>  
>     

常用选项:

-a 或--time=atime或--time=access或--time=use只更改存取时间。

-c 或--no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或--time=mtime或--time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间。

touch 文件名,如果文件名不存在,就新建一个文件

复制代码
>       1. [root@ALY 8_28]# touch test.txt

>  
>       2. [root@ALY 8_28]# ls
>  
>       3. _28_1  test.txt
>  
>  
>  
>  
>     cpp
>  
>     

touch 文件名,如果文件名存在,就更新文件的时间(时间以后会学到)

mkdir指令

功能:在当前目录下创建一个名为 “dirname”的目录(类似创建一个文件夹)

语法:

复制代码
>     mkdir [选项] 目录名
>  
>     cpp
>  
>     

常用选项:

-p:递归创建目录。如果要创建的目录的上级目录不存在,使用该选项可以自动创建所需的所有上级目录。

例如

复制代码
>             1. mkdir -p /path/to/new/directory

>  
>             2. 会创建/path/to/new/directory及其所有上级目录。
>  
>     cpp
>  
>     

-m:设置新创建的目录的权限。可以指定权限模式作为参数

例如

复制代码
>     mkdir -m 755 new_directory将新创建的目录的权限设置为755。

>  
>     cpp
>  
>     

rm指令

rm指令用于删除文件或目录。在使用时要格外小心,因为删除的文件或目录通常无法恢复,一旦删除就会永久丢失。

基本语法如下:

复制代码
>     rm [选项] 文件名/目录名
>  
>     cpp
>  
>     

其中,文件名/目录名是要删除的文件或目录的名称。

一些常用的选项包括:

- -r:递归删除目录及其内容。如果要删除的是一个目录,必须使用此选项来删除目录及其下所有文件和子目录。
- -f:强制删除,无需确认。使用此选项可以避免rm命令在删除文件时询问确认。
- -i:交互式删除,删除前询问确认。使用此选项会在删除每个文件或目录前询问用户是否确认删除。

例如,要删除名为file.txt的文件,可以输入:
​​​​​​​

复制代码
>     rm file.txt
>  
>     cpp
>  
>     

如果要删除名为directory的目录及其所有内容,可以输入:

复制代码
>     rm -r directory
>  
>     cpp
>  
>     

如果要删除文件时进行确认,可以输入:

复制代码
>     rm -i file.txt
>  
>  
>     cpp
>  
>     

rm命令是在命令行中删除文件和目录的标准方法,但请务必谨慎使用,以免意外删除重要文件。

注意:删除目录时要加上-r选项

cp指令

cp指令用于将文件或目录从一个位置复制到另一个位置。

基本语法如下:
​​​​​​​

复制代码
>     cp [选项] 源文件/目录 目标文件/目录
>  
>     cpp
>  
>     

其中,源文件/目录是要复制的文件或目录的路径,目标文件/目录是要将源文件/目录复制到的目标路径。

一些常用的选项包括:

- -r:递归复制目录及其内容。如果要复制的是一个目录,必须使用此选项来复制目录及其下所有文件和子目录。
- -i:交互式复制,复制前询问确认。使用此选项会在复制每个文件或目录前询问用户是否确认复制。
- -v:显示详细信息。使用此选项会在复制文件或目录时显示详细信息,包括复制过程中的每个文件或目录的名称。

例如,要将名为file.txt的文件复制到/path/to/destination/目录中,可以输入:

复制代码
>     cp file.txt /path/to/destination/
>  
>     cpp
>  
>     

如果要将名为directory的目录及其所有内容复制到/path/to/destination/目录中,可以输入:

复制代码
>     cp -r directory /path/to/destination/
>  
>     cpp
>  
>     

如果要复制文件时进行确认,可以输入:

复制代码
>     cp -i file.txt /path/to/destination/
>  
>     cpp
>  
>     

cp命令是在命令行中复制文件和目录的标准方法,用于在文件系统中进行文件的备份和复制。

cat指令

查看文件内容

不能对目录进行操作

复制代码
>       1. [root@ALY 8_28]# ls

>  
>       2. _28_1  a.out  test.c
>  
>       3. [root@ALY 8_28]# cat test.c//查看的内容
>  
>       4. #include<stdio.h>
>  
>       5. int main()
>  
>       6. {
>  
>       7.         printf("hello linux\n");
>  
>       8.         return 0;
>  
>       9. }
>  
>  
>  
>  
>     cpp
>  
>     

mv指令

mv指令用于移动文件或重命名文件。

基本语法如下: ​​​​​​​

复制代码
>       1. mv [选项] 源文件/目录 目标文件/目录

>  
>       2. 其中,源文件/目录是要移动或重命名的文件或目录的路径,目标文件/目录是要将源文件/目录移动到的目标路径或新名称。
>  
>  
>  
>  
>     cpp
>  
>     

一些常用的选项包括:

- -i:交互式操作,移动或重命名前询问确认。使用此选项会在执行操作前询问用户是否确认。
- -v:显示详细信息。使用此选项会在移动或重命名文件时显示详细信息,包括移动过程中的每个文件的名称。

例如,要将名为file.txt的文件移动到/path/to/destination/目录中,可以输入:

复制代码
>     mv file.txt /path/to/destination/
>  
>     cpp
>  
>     

如果要将名为oldfile.txt的文件重命名为newfile.txt,可以输入:

复制代码
>     mv oldfile.txt newfile.txt
>  
>     cpp
>  
>     

mv命令还可以用于移动目录。例如,要将名为directory的目录移动到/path/to/destination/目录中,可以输入:

复制代码
>     mv directory /path/to/destination/
>  
>     cpp
>  
>     

man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问

linux手册页的命令是

复制代码
>     man 语法: man [选项] 命令
>  
>     cpp
>  
>     

常用选项

-k 根据关键字搜索联机帮助

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按

下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

例如

复制代码
>     man 3 printf//在手册的第三章查找printf
>  
>     cpp
>  
>     
man手册分为8章

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

3 是库函数,如printf,fread是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸

全部评论 (0)

还没有任何评论哟~