当前位置: 首页 > news >正文

【操作系统到计网从入门到深入】(一)Linux基础知识预备

前言

在这里插入图片描述
这个专栏其实是博主在复习操作系统和计算机网络时候的笔记,所以如果是博主比较熟悉的知识点,博主可能就直接跳过了,但是所有重要的知识点,在这个专栏里面都会提到!而且我也一定会保证这个专栏知识点的完整性,大家可以放心订阅~

栏目网址:操作系统和计算机网络从入门到深入

Linux 基础知识预备

1. 基本指令

touch

除了创建文件之外,还可以用来更新文件的最新修改时间

mkdir

带上-p选项可以创建一串目录

rmdir

默认只能删空目录

man

手册

cat

  • -b 对非空行输出编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

tac

反着打印

more

类似cat

  • -n 对输出的所有行编号
  • q 推出 more

如果cat之后看文件刷屏了,看不到最上面的内容,用more指令逐部分查看

less

less和more类似,但是使用less可以随意浏览文件,more只能向前移动,不能向后移动,而且less在查看之前不回加载整个文件。

2. 重定向

2.1 输出的重定向

  1. 输出重定向 ( > )
  2. 追加重定向 ( >> )

2.2 输入重定向

其实 cat file.txt完整的写法是cat < file.txt

file.txt的东西放到bak.txt里面去

cat file.txt > bak.txt

2. 基本指令2

head

如果只想查看文件前若干行

head file.txt # 默认查看前十行
head -3 file.txt # 查看前三行
tail -3 file.txt # 查看后三行

如果我现在想获取中间任何一段或者一行内容呢?

先重定向前面的内容,然后再tail就行。

head -1010 file.txt > middle.txt # 然后再用tail

但是这种方法要创建临时文件,不好!

head -1010 file.txt | tail -11 # 用管道就行了

date

查看时间,具体找man,这个很少用。

cal

看日历,具体找man,这个很少用。

find

这个选项很常用!

find ~ -name test.c # 查找~路径下的test.c

which

在系统路径中,去查找特定的指令所在的路径。

alias

给别的命令起别名

alias zhangsan='ls -al' # 只有在当次登陆有效

grep

注意:grep是大小写敏感的!

  • -i 忽略大小写,变成大小写不敏感
  • -n 输出行号
  • -v 反向选择,就是显示,没有"搜寻字符串"的内容

reboot

重启

uname -r

查看计算机体系结构

3. 权限(重要)

3.1 普通用户和超级用户

3.2 文件权限

Linux系统不以文件后缀来区分文件类型。

a.out换成什么后缀都能跑。

但是gcc test.txt不行的,gcc是个软件,不是linux的东西,他是分后缀的

  1. d 目录
  2. ‘-’ 普通文件
  3. p 管道文件
  4. b 块文件
  5. c 字符设备

拥有者,所属组,other的概念,很熟,不用复习了

rwx权限,很熟,不用复习了

改文件权限

很熟。

当然这个chmod后面跟数字的,也可以,也很熟了,不用复习。

假设现在一个文件的拥有者是yufc,现在想强制把这个东西丢给yufc2,也是会被限制权限的,不能随便给别人东西(root肯定是不受限制的)。

3.3 sudo

能使用sudo说明你是root的信任列表里面的。

而添加信任列表,是需要root身份的。

3.4 目录的权限(本质也是文件)

不用复习。很熟悉了。

进入一个目录:执行权限

如果没有r权限,执行ll会被拒绝,如果没有w权限,执行touch会被拒绝。

3.5 新文件默认权限

目录:755

普通文件:664

3.6 umask(重要)

这个需要重点复习。

其实创建一个目录的起始权限是777,创建一个普通文件的起始权限是666。

那为什么我们看到的是755和664?

是因为存在权限掩码umask

只用关注后三位。

最终权限 = 起始权&~umask

我们可以设置umask

比如设置一个极端的umask

umask 0777 # 这样就能让新文件的权限全部为0

3.7 删除一个文件所需要的权限

需要复习。

一个文件能否被删除不是由文件自己的属性决定的,而是由文件所属目录是否有x权限所决定的。

3.8 粘滞位(重要)

需要复习。

抛出一个问题场景,这个场景十分重要

当多个用户共享一个目录,需要在该目录下,进行读写,创建删除文件

但是自己只能删除自己的,而不能删除别人的(w权限:可以互删,不满足条件)

只能通过一个新的权限属性(粘滞位)来完成。

t就是表示粘滞位权限,可以看做x权限的一种特殊情况

注意:

  • 粘滞位只能给目录设置
  • 粘滞位一般是谁加的就只能谁去掉,除非你是root

4. vim

很熟悉。稍微复习一下即可。

复习一些常用的指令即可。

首先vim一般会用到两种模式,一种是命令模式,一种是编辑模式。

常见操作:

  • yy:将当前光标所在的行,复制
  • p: 粘贴(nyy和np就是复制n行,粘贴n行的意思)
  • u:撤销历史操作
  • ctrl+r :撤销u操作
  • dd:将当前光标所在的行进行剪切(删除),ndd同理,配合p使用就是剪切
  • shift+~:大小写切换
  • shift+r:进入替换模式
  • x/shift+x:删除光标所在自负,包括之前或者之后的,支持nx

光标定位:

  • shift+g:光标定位到文件的结尾
  • gg:光标定位到文件的最开始
  • n+shift+g:将光标定位到文件的任意行
  • shift+6:将光标定位到当前行的最开始
  • shift+4:将光标定位到当前行的结尾

底行模式

  • set nu:调出行号
  • set nonu:删除行号
  • vs test.c:实现分屏操作

5. gcc/g++

ESc编译的过程,很熟悉了,不再复习。

6. GDB

虽然忘记了,但不复习了,比较少用。

相关文章:

  • HarmonyOS应用开发-手写板
  • 2023年-含泪总结
  • 爱智EdgerOS之深入解析安全可靠的开放协议SDDC
  • Spring--10--Spring Bean的生命周期
  • 应用密码学期末复习(3)
  • 如何使用GaussDB创建外表(FOREIGN TABLE)
  • STM32超声波——HC_SR04
  • 解读 | 为什么有很多名人让人们警惕人工智能
  • 【NR技术】NR NG-RAN整体架构 -功能划分(三)
  • 人工智能|深度学习——知识蒸馏
  • 基于单片机的定时插座在智能家居中的应用
  • Linux ln命令教程:如何创建符号链接(附案例详解和注意事项)
  • 双荧光素酶报告基因检测(五)
  • 大模型应用_AutoGPT
  • viple与物理机器人(一):线控模拟
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • AHK 中 = 和 == 等比较运算符的用法
  • extract-text-webpack-plugin用法
  • Flex布局到底解决了什么问题
  • Hibernate最全面试题
  • React的组件模式
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 构建工具 - 收藏集 - 掘金
  • 精彩代码 vue.js
  • 前端面试之CSS3新特性
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何进阶一名有竞争力的程序员?
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 学习JavaScript数据结构与算法 — 树
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 智能网联汽车信息安全
  • Spring第一个helloWorld
  • zabbix3.2监控linux磁盘IO
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • "无招胜有招"nbsp;史上最全的互…
  • # Apache SeaTunnel 究竟是什么?
  • #Java第九次作业--输入输出流和文件操作
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $.ajax中的eval及dataType
  • (31)对象的克隆
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (附源码)ssm码农论坛 毕业设计 231126
  • (蓝桥杯每日一题)love
  • (一)插入排序
  • (转)shell中括号的特殊用法 linux if多条件判断
  • ... 是什么 ?... 有什么用处?
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!