Linux教程

学校Linux课的笔记

本文主要是介绍学校Linux课的笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、文件
1.find
find使用:* ? [123] [a-z] [!a-z] 用法需知

2.选项、参数

3.文件类型
-普通文件
d目录文件
设备文件:
c字符设备:例光驱
b块设备:例硬盘
l符号链接
p管道文件

4.user,group,others,all
r:对目录,可列出其中文件列表
w:对目录,可在其中建立、删除文件
x:对目录,可进入该目录
-:不能进行任何操作

5.文件连接数:硬链接数目

6.# root $普通用户

7.ls -a -t修改时间 -R递归 -d目录 -t修改时间排序 -l -i inode(i节点)

8.mkdir -m+权限值 -p递归建立目录

9.cat -n行号

10.more less 分屏

11.cp
-f存在时直接覆盖
-i提示是否覆盖
-r递归复制
-b生成覆盖文件的备份
-p保持文件属性

12.mv
-f存在时直接覆盖
-i提示是否覆盖
-b生成覆盖文件的备份
-v显示移动信息

13.rm -f忽略不存在的文件,不提示 -i提示确认删除 -r递归删除

14.wc -c字节 -l行号 -w字数
字节:中文占3个
字数:按空格分格的,在一起就是一个

15.chmod
文件所有者和root才能使用
chmod a+x ex1
chmod u=rx,g=x ex1
chmod 664 ex1

16.touch 可修改文件时间为当前时间

17.find -name文件名 -user用户名 -group组名
-mtime n -n +n 修改天
-atime n -n +n
-size n +n -n 字节
-type x
-exec 命令 {} ;对匹配文件进行操作
-ok 命令 {} ; 和exec一样,但是需要用户确认
-perm

18.grep
-v 不包括当前字符
-c 只列出
-r 递归
-n 匹配行加行号
-i 不区分大小写
grep的位置用法

二、管道与重定向

19.管道

20.sort 排序

21.shell从stdin得到数据,正常输出数据送到stdout,错误信息stderr

22.命令<文件(输入输出重定向:控制数据流动方向)(来源:文件,键盘,显示器之间的流动)
例:cat<file(此时小于号可以省略)

23.管道:任意改变命令流向(来源:也可以来自或流向其他命令!!!)
例:(对比管道和重定向,来区分差别)
ls -R | wc -l(可以对比 ls -R >> wc -l)
who |
ls -R | more
tee 来实现T型管道 :find /bin -type f | tee save | wc -l |tee num (把文件列表存入save文件,并显示个数)(实际上ls是按行显示)
ls -R | tee save | wc -l | tee num
ls -R | tee sava | wc -l >> num

三、vim
1.h,j,k,l
2.0、$ 移至行首、行尾
3.[行号]G 移到指定行或末行
4.[列号]| 移到指定列或者首列
5.b、w 移到上一个词,下一个词首。
6.e 移到词尾
7.( 、) 移到句首、句尾
8.H、M、L 移到屏幕首、中、尾行行首

注:以上命令可以带数字n,注意灵活使用。

9.进入插入模式:a A i I o O

四、Linux C编程
1.gcc -o hello hello1.c hello2.c(把两个c文件生成一个可执行文件)
(可以看我自己的gcc和gdb笔记)
2.汇编器as,连接器ld。
3.

五、进程管理(ps)

六、储存管理(raid)

七、文件管理
1.文件的物理结构
(1)连续文件:存放在连续的物理存储块
(2)链接文件:用指针连接各物理块(一个指一个)(浪费空间)
(3)索引文件:用索引表建立文件逻辑块与物理块之间的联系
2.ext文件系统采用了索引式文件系统
3.ls -i 看i节点
4.ext3、ext4、xfs
5.i节点
6.文件大小有上限:15个指针大小

7.ln操纵i节点
(1)ln 文件 硬链接文件(共用一个i节点)(相当于给一个文件加了一个文件名)
(2)ln -s 文件 软链接文件(新的i节点)(类似快捷方式)
(3)删除软链接不会影响原文件
(4)删除原文件,会让软链接生效,他的硬链接不受影响。
(5)因为软链接是原文件的快捷方式,而不是硬链接的快捷方式
(6)所以说我们删除的不是文件的数据块,而是文件名和属性、i节点什么的

8.ext3的索引结构
(1)15个指针
(2)前12个直接指针
(3)13:一级间接指针(256个)
(4)14:二级间接指针(256的平方)
(5)15为三级间接指针(256的立方)
(6)所以这是我们的文件上限

9.挂载U盘

八、设备管理

九、图形化界面

十、shell程序设计
1.#!/bin/bash声明我们所用的语句都在这个目录。
2.read输入函数。
3.运行shell脚本3种方法
(1)chmod +x test.sh ./test.sh
(2)bash test.sh
(3). test.sh

  1. ; && || & date
    (1) (sleep 300; echo Tea is ready)&
    (2)(echo Report;cat file)>mydoc
    (3)``命令替换符,里面东西都当命令。echo Today is date

5.#注释符 $变量引用符 (空格)分隔符 \转义符(消除特殊含义)
(1)echo \* 输出 *

  1. 双引号不能消除 $ ` " \含义,可以消除其他元字符的特殊含义。

7.单引号可以消除几乎所有元字符的特殊含义。

8.运算
(1)declare -i c 把c定义为int型
(2)我们不用一般不用declare,太麻烦了
(3)默认是字符串,所以默认加号+是连接两个字符串。
(4)readonly 变量名=值

9.变量
(1)$变量名 ${变量名}
(2)本地变量:当前shell才能引用 导出变量:子shell可以引用
(3)export 变量名 把本地变量变成导出变量
(4)子shell不能改变导出变量,但是可以改变导出变量的副本。
(5)用户变量、环境变量、特殊变量。
(6)环境变量全大写。
(7)特殊变量:$0脚本文件名 $#参数个数 $*参数当成一个字符串
$@参数当成多个字符串 $1位置变量 $$当前进程号 $?当前退出状态

10.$10 不是$10,而是$1和字符串0。我们这边用{$10}.
(1)shift 位置参数的左移(移动的$1,$2等)
(2)set对参数变量强制赋值。set date表示把date的结果赋给$1、$2等。

11.数学运算表达式
(1)expr 数值1 运算符 数值2(注意要有空格,没空格就当成字符串)
(2)注意加反斜杠,很多运算符号前,例:* >= & |
(3)expr expr 1 + 1 + 2 体会一下
(4)逻辑运算:看结果: 正确返回0 错误返回1
(5)算数运算:看是否运行成功,一般都返回0.

12.算数运算简单运算法:
(1)a=1 b=2 c=$[a+b]
(2)以后我们遇到算数运算直接用这个即可!!!

13.顺序结构 分支结构 选择结构
(1)if分支结构:

if 条件;then
语句
elif 条件;then
语句
else
语句
fi

(2)case分支语句:
case 值 in
模式1)
语句组1
;;
模式2)
语句组2
;;
*)
语句组n
;;
esac

(3)条件测试两边要有空格 ,没空格就是表达式。

(4)条件测试: -a与 -o或 !非

(5)条件测试: -r读权限 -w写权限 -x执行权限
(6)条件测试:-f 是否普通文件
(7)条件判断:数值测试

14.for循环
(1)
for 变量 in 值1值2…值n
do
语句
done

(2)
for((i=1;i<j;i++))
do
语句
done

(3)echo -n 不换行输出
echo -e

十一、Linux系统管理
1.init的7个运行级别
/etc/inittab
/etc/rc3.d

2.系统管理:
(1)修改配置文件来管理
(2)shell脚本管理
(3)图形化界面的工具管理

3.用户管理
(1)超级用户:root,UID=0
(2)普通用户:系统登录用户,UID>999
(3)特殊用户:系统内部使用,UID=1-999(mysql、mail、Apache等)
(4)/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
(5)su [-] [用户名] (要登录用户的密码)
sudo -s(当前用户密码,sudo和root才有权限怎么做)
sudo passwd 用户名
sudo passwd -xn (密码有效期x天)
(6)useradd
-u指定UID
-g指定主要组(默认就是你自己一个组,id为用户id)
-G指定附加组(一个用户可以有多个附加组)
-d指定用户主目录
(7)usermod(修改)
-l name2 name1(改名)
-L name1 (锁定)
-U name1 (解锁)
(8)userdel
-r 同时删除主目录、邮箱、
(9)mail可以用户之间发邮件
(10)groupadd、groupdel、groupmod

4.文件系统的维护
(1)物理存储器sda
(2)物理卷sda1、sda2
(3)卷组 vg_fc
(4)逻辑卷 lv_swap、lv_root、
(5)文件系统swap、/

5.fdisk

6.常用备份压缩命令
compress:(.Z)
zip,unzip:(
.zip)
gzip:(.gz)
tar:(
.tar)
cpio:

7.系统监控
last:
w:
top:
ps:
jobs:后台进行程序
kill:杀死进程
at:进程什么时候执行。例子:echo “”|at 17:30 12/23/
free:内存使用
df:文件系统监控
du:指定目录或者指定文件占用的磁盘空间

8.军哥查漏补缺
runlevel
who -r
who
whoami
whereis 查看命令在哪个目录

十二、网络与通信管理
1.TCP/IP协议概括

2.信息学科4大核心基本课
操作系统原理
计算机网络原理
计算机组成原理
数据结构

3.vim:
ctl s加锁
ctl q解锁

4.互联网是网络中的网络。

5.网络命令
ifconfig
ping (Icmp协议,来测试网络数据)

6.远程连接(要求已经开服务)
telnet(telnet ip号)
ssh(ssh 用户名@ip地址)

7.write给已登录其他用户发信息

test

1.sudo /etc/init.d/nfs-kernel-server restart

一、Apache篇
1.apache两种流行版本,1.3版本和2.0版本
2.Ubuntu上apache2,centos上httpd。
3.红帽老版本:service httpd start
4.httpd.conf apache配置文档
5.timeout 这个其实是指客户端给你资源链接(内存空间)维持的时间,防dos攻击。
6.keepalive如果是on,客户端访问效率更高,但是我们有风险,
人太多容易死机,被黑客攻击就凉了。on就是说人家不挂我们一直要听。
7.设置密码验证才能访问网页

二、linux的DNS服务
1.dns是典型的分布式服务,apache是集中式服务
2.www.baidu.com
(1)www->ip
(2)baidu 二级域名
(3)com 一级域名
3.我们这里搭建的是集中式服务

这篇关于学校Linux课的笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!