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,此时按下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 = <输入的n的值>
追加到error.log,并以5号错误代码退出脚本。
若输入有效,则计算从1到n的所有整数的和,输出到sum.r。

代码心得:

  • 开头加一句#!/bin/bash 说明是一个脚本
  • 变量不需要声明可以直接用
  • 变量取值的话加美元
  • If while中条件注意空格
  • 变量赋值不加空格
  • Echo重定向:如果需要变量值和字符串相连,加大括号。
  • 没写i自增导致死循环,结果找了很久才找出这个bug
  • If后一定要写fi代表结束
posted @ 2017-04-25 12:28  畅畅1  阅读(372)  评论(0编辑  收藏  举报