一.linux试用
1.使用man或者info查询
2.超级简单的文本编辑器:nano
3.sync;数据同步写入磁盘,将内存中的数据写入磁盘
3.惯用的关机命令:shutdown
/sbin/shutdown[-t秒] [-arkhncfF] 时间[警告信息] 普通用户shutdown需要root权限
二.文件权限
1.以root身份登录linux,执行ls -al
会出现一大堆东西
第一列代表文件的类型与权限
第一个字符代表这个文件是目录,文件或者链接文件
d为目录 -为文件 l链接文件
后九个字符三个一组 分别表示文件所有者权限 同用户组权限 其他分本用户组权限
2.比较特殊的目录:
.代表此目录
..代表上一层目录
-代表前一个工作目录
~代表目前用户所在的家目录
~account代表account这个用户的家目录
三.vim编辑器
1.一般指令模式的按键:
(1)移动光标:
G移到这个文件的最后一列。
nG移到这个文件的第n列
gg移到文件的第一列
(2)搜寻与取代
/word 向光标下寻找名为word的字符串
?word向光标之上搜寻名为word的字符串
n 重复上一个搜寻动作
N为反向进行前一个搜寻动作。
:n1,n2s/word1/word2/g 在n1和n2列中寻找word1这个字符串,并将该字符串取代为word2
:1,$s/word1/word2/g 从第一列到最后一列寻找word1字符串,并将该字符串取代为word2
:1,$s/word1/word2/gc 从第一列到最后一列寻找word1字符串,并将该字符串取代为word2 ,取代前显示提示符给用户,是否要取代。
(3)删除,赋值与粘贴
x向后删除一个字符,X向前删除一个字符。
nx向后删除n个字符。
dd
ndd
d1G删除光标所在到第一列的所有数据。
dG删除光标所在到最后一列的数据
yy复制光标所在的那一列
nyy 向下复制20列
p,P p将已复制的数据在光标的下一列贴上。
u 复原前一个动作
ctrl+r重做上一个动作
.重复前一个动作
三.shell
什么是shell:可以操作其他应用程序接口的应用。
1.命令别名设定功能
alias **='**'
例如:alias lm='ls -al'.
2.type [-tpa] name 查询某个指令是不是bash内建指令。
3.指令太长一行打不下需要换行:/enter
什么是变量:其实就是变量。
4.变量的取用:echo
echo $变量
(1)可用转义字符\将特殊符号变成一般字符。
(2)在一串指令的执行中,还要籍由其他额外的指令所提供的信息时,可以使用反单引号[`指令`]或[$(指令)]
(3)若该变量为扩增变量内容时,则可用“$变量名称”或${变量内容}累加内容,如下所示:
PATH="$PATH":/home/bin 或PATH=${PATH}:/home/bin
单引号与双引号最大区别就是双引号仍可以保留变量的内容,但单引号内仅能是一般字符,而不会有特殊符号。
反单引号(`)的意义:在(`)之内的指令会先被执行,而其执行出来的结果将作为外部的输入信息。
如:ls -ld`locate crontab`
5.环境变量:
(1)env查看环境变量。
(2)PATH只是环境变量之一,PATH是执行环境搜寻的路径(就是记录可执行程序的目录,执行程序时会搜索PATH中程序的目录),目录与目录之间以(:)隔离,由于文件的搜寻是依序由PATH的变量内的目录来查询,所以目录的顺序也很重要。
(3)重要的变量(不是环境变量):
PS1:(提示字符的设定)
$:(关于本地shell的PID)PID:
(4) 环境变量与自定义变量的区别:该变量是否会被子程序引用。子程序会继承父程序的环境变量,子程序不会继承父程序的自定义变量。
export 变量名称 可分享自己的变量设定给后来呼叫的文件或其他程序。(即将变量变为环境变量)
(5)变量的键盘读取,数组与宣告:read array declare
从键盘读取变量: read [-pt] variable -p后面可接提示符,-t后面可接等待的秒数。超过这个秒数就不再等待。
declare与typeset一样的功能:宣告变量的类型。
declare [-aixr] variable
-a 将后面variable定义为数组类型
-i int类型 ---------------------------变量类型默认为字符串,所以若不指定变量类型,1+2为一个字符串而不是计算式。
-x 将variable定义为环境变量 +x取消环境变量,变为普通的自定义变量。
-r readonly,该变量不能被更改内容,也不能unset
(6)变量内容的删除,取代与替换。
例:path=${PATH}
${path#/*local/bin:} #表示从变量内容的最前面向右面删除,且仅删除最短的那个。
/*local/bin:代表要被删除的部分,由于#代表由前面开始删除,所以这里由/开始写起,通配符*取代0到无穷多个任意字符。
${path##/*:}删除最长的那个。
${path%:*bin} 从后删除最短的那个。 %%最长的那个。
取代:${path/sbin/SBIN}
关键是两个斜线,两个斜线中是旧字符串,斜线后是新字符串。
${path//sbin/SBIN}如果是两条斜线,就变成所有符合的内容都会被取代。
变量的测试与内容替换:echo ${username}
username=${username: -root}
判断username是否为空,如果为空则替换成root。
6.bash shell的操作环境:
1.路径与指令搜寻顺序:指令的运作顺序可以这样看:
(1)以绝对相对路径执行指令,例如/bin/ls或./ls
(2)由alias找到指令再执行
(3)由bash内建的(buildin)指令来执行
(4)透过$PATH这个变量的顺序搜寻到的第一个指令来执行。
2.bash的环境配置文件
bash在启动是时读取环境变量配置文件,login bash会读取这两个配置文件:/etc/profile这是系统整体的设定,最好不要修改 ~/.bash_profile或~/.bash-login或~/.profile 属于使用者个人设定,修改这里。
3.在数值的结算上
可以使用 declare -i var=${var1}*${var2}
或者var=$((运算内容))
4.利用test指令的测试功能