把近期OS课程的(被我翔鄙视的)Linux实验课上的一些东西总结一下

了解文件系统结构、使用一些基本的指令、运用Linux下的C语言编译环境

ls指令,cd指令,根目录,用户目录

Linux的文件系统和MS-Windows的文件系统有很大的不同 。linux只有一个文件树,整个文件系统是以一个树根/为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上。Linux是支持多用户的操作系统,每个用户都有自己的个人目录地址,这个地址就用波浪号~来表示。

ls 指令。全写为List Show,可以显示当前目录下的文件。ls命令有两个最常用的参数:-a 和 -l 。ls -a 可以显示隐藏的文件。ls -l是以长列表显示内容,所以可以看到更加清晰的资料。其他详细用法可以用 ls --help 显示。

cd 指令。全写为change directory。用处为更改目录。cd如果直接输入,后面不加任何东西,会回到使用者自己的Home Directory。cd后面加两个小数点:cd.. 可以回到上一级目录。

建立or删除目录or文件

mkdir 命令用来建立新的目录, rmdir 用来删除已经建立的目录

rm 这个命令是用来删除文件的
rm -r 目录名 这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。rm -f 文件名(目录名)这个操作可以进行强制删除。

使用vi编辑器

利用vi,在A目录下建立文件sum.c

vi是Linux(UNIX)世界最强大的文本编辑工具

Vi的三种状态

  • Command mode :

    控制萤幕游标之移动,字元或游标之删除,搬移复制某区段及进入 Insert mode 下,或者到 Last line mode 。

  • Insert mode :

    唯有在 Insert mode 下, 才可做文字资料输入,按Esc键可到 Command mode 。

  • Last line mode :

    将档案写入或离开编辑器,亦可设定编辑环境, 如寻找字串、列出行号..等。

刚进入 vi 时处于 Command mode,此时按下aoi 三者任一按键即可进入 Insert mode 编辑文本。

离开 vi 、存档要进入 Last Line mode 。方法是:

  • 在 Command mode 中按冒号键进入 Last Line mode。

  • 在 Insert mode 中先按 esc 键进入 Command mode,在根据上一条进入 Last Line mode。

在 Last Line mode 中,根据最后一行输入来结束对vi 的操作。

  • w filename (存入指定档案)
  • wq (写入并离开 vi)
  • q! (离开并放弃编辑的档案)

cat 指令

这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写。下面是几个简略的用法介绍:

  • cat text

    显示text这个文件

  • cat file1 file2

    依顺序显示file1,file2的内容

  • cat file1 file2>file3

    把file1,file2的内容结合起来,再"重定向(>)"到file3文件中。

  • cat >file1

    结果是会"空出一行空白行",等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。

  • cat file1>>file2

    这将变成将file1的文件内容"附加"到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。

编译运行C代码

gcc [ -o execfile ] source

execfile 是你所希望的执行文件的名称,如果没有加上 -o 选项编译出来的可执行文件会以 a.out 做为文件名。 source 是一个 .c 文件。

在执行文件的时候,不能直接输入文件名。需要输入路径/文件名。如果要表示当前目录下,可以用一个小数点表示。

复制文件

cp -r 源文件(source) 目的文件(target)

压缩文件

与在Windows中不同,在Linux中,压缩文件分为两步。第一步要先把文件打包,然后才能对这个打包的文件进行压缩。

例如要把目录A中的所有文件压缩成sum.tar.gz的操作是:

更改文件(读、写、运行)权限

使用ls -l 查看详细信息

在每个文件和文件夹的前面有一串字符串来代表属性和权限。开头的第一个字符如果是一横线,代表是一个文件。如果是d代表是一个文件夹。后面连续跟着每组三个字符,一共三组的权限指示字符串。前三个小格是拥有者(user)本身的权限,中间三个小格是和使用者同一组的成员(group)的权限,最后三个小格是表示其它使用者(other)的权限。r是读权限,w是写权限,x是运行权限。如果是横线代表没有此项权限

例如更改权限前的sum.tar.gz是不可执行的文件。

现在我们用三位的2进制数来表示相应的三小格的权限,1代表打开这一个权限,0代表关闭。

chmod命令用来改变目录或文件的属性,是linux中一个应当熟悉的命令。假如我们现在要修改sum.tar.gz的权限,使其只允许被所有者修改、读取和运行,而其他用户只能读取或运行。那么我们的修改之后,这个文件的属性字符串应该是这样的:-rwxr-xr-x 对应的二进制位表示就是111 101 101,每三个位用一个十进制数表示,结果就是755。运行结果如下:

简单Shell脚本

利用vi编写Linux脚本程序sum.sh,其功能如下:请求用户输入正整型数n,判断n的值,若n小于或等于0,则输出错误信息: Input Error! n =
追加到error.log,并以5号错误代码退出脚本。
若输入有效,则计算从1到n的所有整数的和,输出到sum.r。

代码心得:

  • 开头加一句#!/bin/bash 说明是一个脚本
  • 变量不需要声明可以直接用
  • 变量取值的话加美元
  • If while中条件注意空格
  • 变量赋值不加空格
  • Echo重定向:如果需要变量值和字符串相连,加大括号。
  • 没写i自增导致死循环,结果找了很久才找出这个bug
  • If后一定要写fi代表结束

转载于:https://www.cnblogs.com/ZCplayground/p/6761388.html

Linux基本操作笔记相关推荐

  1. 【Linux 笔记】Linux 基本操作 - 04. 利用SRA数据实践文本处理

    [Linux 笔记]Linux 基本操作 - 04. 利用SRA数据实践文本处理 10. 文本处理实践 基本操作 grep 筛选数据(行) cut 和 awk 操作数据(列) sort 常用参数总结 ...

  2. Linux学习笔记之基本操作汇总

    Linux学习笔记之基本操作汇总 图片放大了再看才清楚!!!! Linux cd ocd / root package ocd /user ocd -/ ocd ~ home ocd - ls ...

  3. 20155303狄惟佳预备作业三Linux学习笔记

    20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...

  4. 【实习之T100开发】Linux 学习笔记

    Linux学习 ERP系统架构 Linux 基本操作 Linux 用户管理 Linux 环境变量 Linux 显示帮助命令 Linux 文件系统 操作目录相关指令 文件类型及权限说明 文件操作 服务器 ...

  5. *Linux学习笔记

    *Linux学习笔记__20161222usst湛恩 所有的荣誉和赞美都献给上帝,让一切成为可能! 1. 文件系统 Linux下所有设备都是文件,采用树形文件管理系统,将文件存储在单个目录结构中(虚拟 ...

  6. 嵌入式系统及应用Linux学习笔记(一)——常用命令

    https://blog.csdn.net/qq_40700822/article/details/106080389 Linux学习笔记(一) Linux简介 Linux特点 Linux基本操作 1 ...

  7. 【Linux学习笔记】Linux服务器:配置与管理samba服务器

    Linux系列文章目录 一.[linux学习笔记]红帽Linux 7.8系统在虚拟机上的安装 二.[Linux学习笔记]Linux系统的基本操作 三.[Linux学习笔记]管理Linux操作系统:用户 ...

  8. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

  9. Linux服务笔记之二:SSH远程登录

    上次,写了用传统的telnet方法来远程管理服务器.今天,写下如何用SSH(Secure SHELL)协议来远程管理服务器.优点:因为SSH基于成熟的公钥加密体系,所以传输的数据会进行加密,保证数据在 ...

  10. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

最新文章

  1. 北极星OKR斩获2021年阿里钉钉生态峰会开放平台年度银奖
  2. 【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制
  3. java常用 api
  4. ListView.getChildCount() 详解
  5. protobuf-2.6.1生成java文件
  6. iOS 多线程基础之 NSThread
  7. Android调试相关的技术常识
  8. 图神经网络(二)GCN的性质(2)GCN能够对图数据进行端对端学习
  9. HTML5/CSS3系列教程:HTML5 区域(Sectioning)的重要性
  10. oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据
  11. Java进阶 | 泛型机制与反射原理
  12. Docker学习总结(59)——DockerFIile相关知识点再总结
  13. fwoa中做excel导入时page理解
  14. [Ramda] Complement: Logic opposite function
  15. python爬虫——批量爬取百度图片
  16. winform仿QQ聊天气泡(c#代码+GDI绘图)
  17. Android 求职简历
  18. Jackson修改字段名和自定义命名策略
  19. 手把手教你申请CSDN博客专家(2021新鲜出炉)
  20. 微型计算机怎么插入光盘,解决Win 7读光盘“请将磁盘插入DVD驱动器”故障

热门文章

  1. c mysql事务回滚_MYSQL事务回滚的2个问题分析
  2. delphi 算术溢出解决方法_文言文代码算什么?跟着九章算术学Python编程才厉害...
  3. 多目标优化问题和遗传算法学习
  4. 关于Stringbuffer的需要注意的几点
  5. Unity Drawcall、渲染顺序、打包图集、特效清理、代码优化
  6. java questionbank_JavaQuestionBank
  7. JAVA 泛型 入门
  8. 单台电脑运行多个 Tomcat 服务器
  9. 小D课堂 - 新版本微服务springcloud+Docker教程_6-05 高级篇幅之高并发情况下
  10. 阶段3 2.Spring_01.Spring框架简介_02.今日课程内容介绍