一.文件属性与权限 $ ls -l
drwxr-xr-x 23 liyankun liyankun 4096 May 4 09:49 application
文件类型和权限 连接数 拥有者 所属用户组 文件大小 最后修改日期文件名
文件类型和权限
- rwx r-x r-x
文件类型 拥有者 所属用户 其他
第一个字符用于描述文件类型,可能的值有:
- :普通文件
d :目录
l :软连接
b :块设备 如 磁盘
c :字符设备,如 鼠标 键盘
s :套接字 socket文件
p :命名管道文件
二.常用命令
对于文件操作:ls 、cd、cp、rm、mv。
对于磁盘操作:df 、fu、dd、fsck、mount
df:查看所有磁盘的使用量
压缩和解压:
主要三种类型文件:tar.gz tar.bz2 tar.xz
解压:x
$ tar -vx -f filename 或者 $ tar -vxf filename 如果是
压缩:c
$ tar tar -zcvf filename.tar.gz files
$ tar tar -jcvf filename.tar.gz files
$ tar tar -jcvf filename.tar.gz files
三.从源码安装软件
源码安装离不开安装三部曲,在此之前,先用make clean 或者make distclean去除目标文件。
1.configure :用来检查待安装源码的linux系统的相关属性,创建makefile文件。随后的安装信息都是从这一步获取的。
2. make :make 根据makefile的指示来进行编译工作。
3. make install :make根据makefile里面关于install的项目,将上一个编译完成的文件安装到预定目录中,一般有etc,lib,bin,man分别代表,配置文件,函数库,执行文件和线上说明文件。
四.了解IP地址
IPV4 由A,B,C,D四个字节组成,A B C,代表网络地址,D代表主机号。子网掩码也是一个四字节的数,比如255.255.255.0,与IP地址 按位与,就是主机地址。 一个子网最多有254个主机,因为0作为网络地址,255用作广播地址,如果向192.168.1.255发送信息,则整个子网下的所有主机都能收到信息。前提是发送者也在这个子网中。
后来采用192.168.1.1/24 表示前24位都是1。
手工设定IP:$ ifconfig eth0 192.168.1.252 netmask 255.255.255.0
在私网中IP一般自动获取,将ifcfg-eth0文件中的BOOTPROTO=static 改为 ==dhcp。
SHELL:
shell是命令行解释和执行器,它是介于使用者和linux操作系统核心程序(kernel)之间的一个接口。
shell有很多种,Bash(bourne again shell)是linux经典shell
五.linux最小系统的文件组织结构
bin:重要的可执行文件,shell命令
Boot:引导配置文件 内核
dev:设备文件
etc:系统专有配置文件
lib:重要的共享库和内核模块
media:可移动设备挂接点
mmt:其他文件的临时挂接点
opt:附加应用软件包
sbin:重要的系统可执行文件
srv:本系统提供的用于服务器的数据
tmp:临时文件
usr:文件系统的第二层
var:可变数据
六,shell编程的基本要素
1、 #后是注释,但 #!不是注释
2、 exit是一个库函数,exit(1)表示发生错误退出 ,exit(0)表示正常退出,在shell中调用完程序后,用echo$?可以看到exit值。
3、变量
给变量赋值, =两边不能有空格。但是取一个变量的值很简单,只需要前面加一个$,即使是在“ ”内的字符串也管用。所以要注意。比如:
sum=20
echo “we have $sumapples” 结果并不会输出“we have 20apples” 因为shell一直在搜$sumapples这个变量,而实际上并没有这个值,所以要改为 echo “we have ${sum}apples” 就可以了。
4、运算及stdout
例如:weight=1
weight=$weight+1
echo $weight 运算结果不是2 而是 1+1 。若要达到目的 用以下方法
⑴expr表达式 weight=' expr $weight + 1' 注意+两边有空格,不然依然是以字符串的方式赋值,‘符号与$语法等效, 用于获取stdout内容,expr实际是一个命令,表达式计算结果输出到stdout中。
做乘法时要注意,* 在shell中有特殊含义,所以要写成 \* 或者用 " "括起来。 (1)这种方式比较古老。
⑵let数学表达式
eg: let "weight+=1" 或者 let "weight=$weight+1"
⑶(())方法与let相似
((weight+=1)) ((weight=$weight+1))
⑷$[ ] 将中括号内的表达式作为运算先计算结果再输出
weight=$[$weight+1]