
文章目录
一、熟悉Linux环境
二、shell编程
三、Linux进程控制与通信管理
四、文件系统与磁盘管理
五、操作系统简单实现
============================================================================================
一、熟悉Linux环境
1.Linux常用命令
(login, logout, exit, halt, shutdown, pwd, cd, mkdir, rmdir, cat, cp, mv, rm, ls, chmod, find, grep, more, sort, gzip, unzip, tar, rpm, man, info, --help )
打开终端之后进行操作
(1)、login和logout

只有root用户才有login权限,所以先切换到root用户
命令行操作:sudo -i

下面演示从root登录到anlexander-bai

再退出alexander-bai,回到到root

(2)、exit
exit有两个作用,
①退出当前用户到最初登录用户;②最初登录用户退出终端;
比如我从home进入终端,之后切换到root用户,在root状态下进行exit操作,可以看出退回到初始用户(alexander-bai),效果和logout一致。



(3)、halt
关闭正在运行的Linux系统,没有时延,要求输入开机密码

(4)shutdown
关机,可以指定时延或无时延,参考:http://www.runoob.com/linux/linux-comm-shutdown.html


(5)、pwd
显示工作目录

(6)、ls
显示当前工作目录下的文本

(7)、cd
进入指定的目录,以进入demo为例

可以用
cd ~
退回跟工作目录(home)

(8)、mkdir和rmdir
mkdir:在当前工作目录中创建一个directory(目录)rmdir删除当前工作目录下的一个空directory

(9)、vi
vi指令-------》i进入编辑状态-------》Esc键保存-------》:wq回退到终端



(10)、cp
用于复制文本或目录
新建两个目录test1和test2,并在test2中添加一个文本文件test.txt,把test2 复制到test1中

发现有两个test2目录,我多次重试后没有出现这种情况,可能是在操作的时候有误吧
(11)、rm

(12)、mv
用来重命名目录或文本,或将目录或文件移入另一位置


(13)find
用来在指定目录下查找目录或文本

例出当前目录和子目录所有延伸文档名为.c的文件

(14)、grep
用于查找在当前目录中符合指定条件的字符串


grep test *txt #在后缀为txt的文件中查找字符串test,若找到则显示test所在的行

二、gcc命令使用
用一个简单的C程序来展示gcc命令的使用



可知通过gcc编译c代码之后默认生成一个a.out文件,通过./a.out运行可执行文件a.out,我们也可以指定编译后生成的文件,如

指定编译后生成的文件为Hello,并通过相同的方法执行Hello文件可得到相同的结果。
二、shell编程
(一)、shell变量
1、用户自定义变量
shell中所有的变量都是字符串类型,且在给变量赋值的时候不能有空格
定义shell变量,若不慎输入空格,则系统会把变量名作为命令。
#变量名=变量值,如
name="AlexanderBai"
打印shell变量
echo 要打印的部分
echo $name

为了验证变量类型为字符类型,对x和y进行+操作(实际上是把+当做了字符,并进行字符拼接),打印z的值为字符串:
z="2+3"
set查询所有变量

当echo $W输出为空时有两种情况,①变量不存在;②变量的值为空

若在输出之前使用set -u命令,系统会直接提示

#删除变量:unset 变量名
unset name

2、环境变量
Linux中环境变量都是大写。
(1)、设置环境变量有两种方法:
①:export 变量名=变量值
export name="AlexanderBaidu"

②:变量名=变量值
export 变量名
x=2
export x

(2)、env查看环境变量

(3)、PATH变量

网友评论