EDA01--Linux简介与基本指令入门

本文介绍了Linux操作系统的基础知识,包括内核、shell及文件系统的概念,并详细列举了常用的Linux指令及其使用方法,适合初学者快速上手。

一级目录

二级目录

三级目录

提前声明,本人学习EDA,所以Linux虚拟机环境是直接拿另一个博主装好的,相当于拿过来直接用,这是链接: link
前面第一部分Linux简介现在可以先了解一下,不用太懂(其实看也看不懂),等大家把Linux用一段时间,熟悉了基本操作之后再回过头来看这些介绍就明白很多了。
关于Linux的学习,只要会会以下几点就可以了,主要是多练,上手比较难,但用熟了非常适合工程开发。
最后就是教程,我是跟着B站的视频学的,黑马程序员,个人看过后非常推荐。
1、Linux的结构;
2、Linux的基本指令;
3、Linux的权限操作;
4、一些操作技巧。

一 、Linux简介与基本指令

内核、shell和文代结构共同构成了基本的 Linux操作系统。
内核是Linux操作系统的核心,负责管理所有的的硬件设备,包括文件系统管理、进程管理和存储管理等。
Shell是用户和内核之间的接口,接收用户命令并将命令传送到内核执行。
文件结构是文件在磁盘等存储设备上的一种存储方式,文件按目录的方式管理,每个目录可以包含任何数目的子目录,每个子目录可包含文件。
通过内核、shell和文件结构,Linux 可以运行程序、管理文件以及同用户交互。另外,一些外加应用程序或实用工具等软件,比如编辑器、编译器和通信程序等,也逐渐被认为是Linux的组成部分,它们都执行标准的计算机操作。用户也可以在Linux操作系统中,开发他们自己的应用程序。内核、shell、文件系统以及应用程序之间的关系如图所示。
在这里插入图片描述

1.1 Linux操作系统组成

1.1.1 内核

内核是控制计算机硬件的核心程宇,将用户命令和程序变为可以由计算机处理的进程,实现了Linux 的多用户、多任务机制。内核是由 C语言开发的并可以获得源码,用户可以通过修改源码并重新编译以获得新的版本。

1.1.2 shell

shell是一个全功能的编程环境,提供内核与用户之间的交互界面,负责解释用户输入的命令然后发送给内核,因此也称之为解释器。用户可以用 shell 启动、挂起、停止甚至开发一些应用程序。目前流行的shell有ash、bash、ksh、csh、zsh 等,一般 Linux 系统都将 bash 作为默认的 Shell。
用户使用 iinux 时通过命令完成所需操作。一条命令是由多个字符组成并以换行结束的字符串,是用户和 Shell 之间对话的一个基本单位。用户可以:
通过命令“more /etc/shells”查看本机支持的Shell类型,
通过命令“echo $SHELL”查看当前使用的 Shell 类型,
通过命令“chsh-s /lbin/csh diy”为用戶(本命令用户为diy)指定Shell(本命令 Shell 为csh)。
通过命令“uname -a”或 “cat /proc/version”查看本机内核版本。

1.1.3 文件系统

文件系统是操作系统管理磁盘分区上文件的方法和数据结构,即文件在磁盘上的组织方法。文件系统规定了如何在存储设备上存储数据以及如何访问存储在设备上的数据,一个文件系统在逻辑上是独立的实体,能被操作系统单独管理和使用。

***下面这段话非常重要,理解好下面这段有助于快速上手Linux

在Linux 中,一切皆为文件,文件被组织成目录,目录又被组织成一种层次型的树状结构,树根所在目录称为根目录,所有的其他目录都从根目录起源、整个 Linux文件系统就是一个互相关联的目录集合,每个目录又包含多个文件,Linux从根目录开始逐层访问文件。

1.2 Linux文件目录结构

与Windows系统下内存分盘不同,在Linux系统中没有盘这个概念,只有一个根目录/(也叫顶级目录),所以文件都在它下面,如下图所示:
在这里插入图片描述
Linux系统中,文件路径之间的层级关系用“/”来表述,例如:一个文件的存储位置可以表示为:
/home/ICer/ic_prjs/other
意思是:home文件下的ICer,ICer文件下的ic_prjs,ic_prjs文件下的other。

二、 Linux指令

2.1 Linux指令简介

Linux 格式:command [options] [arguments],其中
command 命令名,必须有,
options 命令要求,可有可无,
arguments 命令参数,可有可无。
示例:

[ICer@IC_EDA /home/ICer]$g ./hello.v

2.2 Linux指令集

2.2.1 ls指令

ls(list):列出指定目录的内容。

格式:
ls [-*] [linux路径]
-a 显示所有目录和文件;
-l 以列表形式显示目录和文件信息;
-f 显示目录和文件时加上表示其基本数学的符号,可执行加“*”,目录加“/”,链接加“@”;
-t 依据修改时间显示;
-s 依据文件大小排序。

示例:
ls -l

在这里插入图片描述

2.2.2 cd指令

cd(change director): 切换当前用户有权访问的目录,或由任何目录返回用户主目录。

格式: 
cd [linux路径]
cd -  返回上次目录;
cd /  返回根目录;
cd    返回主目录(home);
cd .  表示当前目录下的操作;
cd .. 表示上一级目录,cd ../..上两级;
cd ~  表示home目录;

示例:
 cd

在这里插入图片描述

2.2.3 pwd指令

pwd(print working directoy):显示当前用户工作目录绝对路径。

格式示例:
pwd

在这里插入图片描述

2.2.4 mkdir指令

mkdir(make directory):用于创建目录(同时指定权限)。
创建文件夹需要在home文件下,即在用户主文件下创建,若直接在home外部创建是会报错,这涉及权限问题。

格式:
mkdir [-*] Linux路径
mkdir [-p] 若父目录不存在,则一并创建;
mkdir [-m] 创建同时设定权限。

示例:
mkdir mytest

在这里插入图片描述

2.2.5 touch指令

touth : 用于在当前目录创建文件。

格式:
touch  文件名
touch  **.*
示例:
touch hello.c

在这里插入图片描述

2.2.6 cat指令

cat(concatenate) : 用于查看文件内容。

格式:
cat 文件位置/文件名 
示例:
cat hello.c
#这里hello.c里面的内容是我瞎写的。

在这里插入图片描述

2.2.7 more指令

more : 用于查看文件内容,文件内容过多时支持翻页。
用more指令查看根目录下的ect文件夹下的services文件。

格式:
more 文件位置/文件名。
屏幕下出现More(*%)表示查看进度。
空格键翻页,
q键退出
示例:
more /etc/services

在这里插入图片描述

2.2.8 cp指令

cp(copy) : 复制文件或目录。

格式:cp [-*] 参数1(被复制) 参数2(复制到)。
          -r 复制文件夹以及文件夹下递归所有;
          -i 复制过程中需要覆盖已有文件时询问;
          -r 复制文件夹,不选默认复制文件。
示例:
cp -r a1 a2

在这里插入图片描述

2.2.9 mv指令

mv(move) : 复移动文件或目录。

格式:mv [-*] 参数1(被移动) 参数2(移动到)。
          -i 需要覆盖已有文件时询问;
          -u 移动时,若目的文件存在且更新,则不覆盖。
            普通移动无须选项。
示例:
      mv a1 a3
      mv hello.c a3

在这里插入图片描述

2.2.10 rm指令

rm(remove) : 删除文件或目录。

格式:rm [-*] 参数1 参数2 ...参数n。
          -i 删除前询问用户;
          -r 递归删除文件夹;
          -f 强制删除。
           删除文件无须选项。
           *通配符删除。
示例:
rm -r a1 hello.c
rm -i c.c
rm -r a*

在这里插入图片描述
特殊:有的目录删除不能用户自己删,因为权限不够,需要根用户权限,关于权限问题下一篇会介绍,具体请看链接:

    su - root 进入根用户,(需要密码)
    exit        退出根用户。

2.2.11 grep指令

grep : 搜索文件中符合条件的字符串。

格式:grep [-*] 关键字 文件路径。
            -n 匹配行号;
            -i 忽略大小写;
文件路径可以直接作为输入。
          
示例:
grep a hello.c
grep -n b hello.c
#这里面的内容也是瞎写的

在这里插入图片描述

2.2.12 wc指令

wc : 统计文件。

格式: wc [-*]  文件路径。
           -c 统计bytes数量;
           -m 统计字符数量;
           -l 统计行数;
           -w单词数量。
         
示例:
wc -c -m -w -l hello.c

在这里插入图片描述

2.2.13 管道符|指令

格式: [前] | [后] |之前的内容作为作为后面的输入。

cat hello.c | wc -c -m -w -l
#把hello.c的内容读出来,作为wc的输入

在这里插入图片描述

2.2.14 which命令

格式: 查找所使用的一系列命令的程序文件存放在哪里。
         
示例:
which cd
which pwd

在这里插入图片描述

2.2.15 find命令

格式: find 起始路径 -name “”被查找文件名
       find 起始路径 -size +/- -n[kMG]
        如果结果过多,按住Ctrl+c强制结束。
         
示例:
find -name hello.c

在这里插入图片描述

2.2.16 echo命令

输出内容命令。

格式: echo “输出内容”
       
示例:
echo 123efgrewv
#自己瞎写的

在这里插入图片描述

2.2.17 反引号命令

把里面内容作为输出。

格式: echo `内容` 
把里面内容作为指令输出。
       
示例:
ceho  `pwd`

在这里插入图片描述

2.2.18 重定向符

格式: >  将左侧命令结果写入右端,覆盖。
       >> 将左侧命令结果写入右端,追加。
       
示例:
echo hellooo > 1.c
echo hellooo >> 1.c

在这里插入图片描述

2.2.19 tali命令

将左侧命查看文件尾部内容,跟踪文件最新更改。

格式: tali  [-*] Linux路径
-f   持续跟踪;
-num 尾部多少行。
       
示例:
ls
ls > 1.c
tail 1.c

在这里插入图片描述

三、 Linux操作技巧

3.1 ctrl+c强制停止

Linux某些程序运行、输入错误,强行停止退出。

3.2 ctrl+d退出登出

退出当前账户或特定程序界面。不能推出vi界面。

3.3 history 历史命令

查看历史命令。

3.4 !命令前缀

搜索最近的匹配命令前缀的命令执行。

3.5 ctrl+r匹配历史命令

同!,搜索最近的匹配命令前缀的命令执行。

3.6 光标移动

ctrl+a 跳动命令开头;
ctrl+e 跳动命令结尾;
ctrl+键盘左 向左跳一个单词;
ctrl+键盘右 向右跳一个单词。

3.7 清屏

ctrl+l
clear

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值