Linux基本操作笔记
把近期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,此时按下a
、o
、i
三者任一按键即可进入 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基本操作笔记相关推荐
- 【Linux 笔记】Linux 基本操作 - 04. 利用SRA数据实践文本处理
[Linux 笔记]Linux 基本操作 - 04. 利用SRA数据实践文本处理 10. 文本处理实践 基本操作 grep 筛选数据(行) cut 和 awk 操作数据(列) sort 常用参数总结 ...
- Linux学习笔记之基本操作汇总
Linux学习笔记之基本操作汇总 图片放大了再看才清楚!!!! Linux cd ocd / root package ocd /user ocd -/ ocd ~ home ocd - ls ...
- 20155303狄惟佳预备作业三Linux学习笔记
20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...
- 【实习之T100开发】Linux 学习笔记
Linux学习 ERP系统架构 Linux 基本操作 Linux 用户管理 Linux 环境变量 Linux 显示帮助命令 Linux 文件系统 操作目录相关指令 文件类型及权限说明 文件操作 服务器 ...
- *Linux学习笔记
*Linux学习笔记__20161222usst湛恩 所有的荣誉和赞美都献给上帝,让一切成为可能! 1. 文件系统 Linux下所有设备都是文件,采用树形文件管理系统,将文件存储在单个目录结构中(虚拟 ...
- 嵌入式系统及应用Linux学习笔记(一)——常用命令
https://blog.csdn.net/qq_40700822/article/details/106080389 Linux学习笔记(一) Linux简介 Linux特点 Linux基本操作 1 ...
- 【Linux学习笔记】Linux服务器:配置与管理samba服务器
Linux系列文章目录 一.[linux学习笔记]红帽Linux 7.8系统在虚拟机上的安装 二.[Linux学习笔记]Linux系统的基本操作 三.[Linux学习笔记]管理Linux操作系统:用户 ...
- linux rcs文件中的ip,linux学习笔记之diff和patch命令
关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...
- Linux服务笔记之二:SSH远程登录
上次,写了用传统的telnet方法来远程管理服务器.今天,写下如何用SSH(Secure SHELL)协议来远程管理服务器.优点:因为SSH基于成熟的公钥加密体系,所以传输的数据会进行加密,保证数据在 ...
- (零)我为什么要写Linux学习笔记?
我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...
最新文章
- 北极星OKR斩获2021年阿里钉钉生态峰会开放平台年度银奖
- 【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制
- java常用 api
- ListView.getChildCount() 详解
- protobuf-2.6.1生成java文件
- iOS 多线程基础之 NSThread
- Android调试相关的技术常识
- 图神经网络(二)GCN的性质(2)GCN能够对图数据进行端对端学习
- HTML5/CSS3系列教程:HTML5 区域(Sectioning)的重要性
- oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据
- Java进阶 | 泛型机制与反射原理
- Docker学习总结(59)——DockerFIile相关知识点再总结
- fwoa中做excel导入时page理解
- [Ramda] Complement: Logic opposite function
- python爬虫——批量爬取百度图片
- winform仿QQ聊天气泡(c#代码+GDI绘图)
- Android 求职简历
- Jackson修改字段名和自定义命名策略
- 手把手教你申请CSDN博客专家(2021新鲜出炉)
- 微型计算机怎么插入光盘,解决Win 7读光盘“请将磁盘插入DVD驱动器”故障
热门文章
- c mysql事务回滚_MYSQL事务回滚的2个问题分析
- delphi 算术溢出解决方法_文言文代码算什么?跟着九章算术学Python编程才厉害...
- 多目标优化问题和遗传算法学习
- 关于Stringbuffer的需要注意的几点
- Unity Drawcall、渲染顺序、打包图集、特效清理、代码优化
- java questionbank_JavaQuestionBank
- JAVA 泛型 入门
- 单台电脑运行多个 Tomcat 服务器
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-05 高级篇幅之高并发情况下
- 阶段3 2.Spring_01.Spring框架简介_02.今日课程内容介绍