shell命令解释器
shell是一个应用程序,可以通过键盘、串口给它发送命令,回车它就会去执行这些命令 。shell会在PATH路径下去寻找文件,找到就执行它。
设置PATH:
1、修改/etc/environment,比如:sudo gedit/etc/environment,然后在末尾添加:/home/book
2、修改~/.bashrc,在行尾添加或修改:
export PATH=$PATH:/home/book
int main(int argc, char argv[])里,argc是个数,可以理解为argv[]的长度。
vi编辑器
a在光标后插入,i在光标前插入
o进入编辑模式
/abc查找abc字符串
vi编辑器的三种模式: :wq退出
一般模式(ESC返回一般模式)
编辑模式
命令行模式
打开文件,新建文件,保存文件:vi 文件名,新建一个文件,编辑完成后Esc返回一般模式,:wq保存退出文件
如果不想保存被修改的内容可以::q!强制退出。
进入编辑模式:i与o
i:在光标前插入
o:在当前行之下新开一行,进入行首
a:在光标后插入
一般模式下HJKL充当方向键
N:左
J:下
K:上
L:右、
快速定位到某一行:在一般模式
G:转至文件末尾
ngg光标移动到n行的行首(例如1gg就跳到第一行的行首)
在某一行如何快速定位到某一列:在一般模式
0(数字0)光标移动到当前行首
$光标移动到当前行末
fx搜索当前行中下一个出现字母x的地方
vi的难点
vi操作之前,先判断当前处于哪一种模式,Esc返回一般模式,难点在于移动光标,可以移动光标快速到某一行某一列
替换和查找
/pattern从光标开始处向文件尾搜索pattern,后按下n或者N,n表示在同一个方向重复上一次的命令,N表示在反方向重复
:%s/p1/p2/g将文件中所有的p1均用p2替换
:%s/p1/p2/gc替换时需要确认
find
查找符合条件的文件
格式:find 目录名 选项 查找条件
例子: find /work/_linux_basic/dira/ -name "test1.txt"
find /work/_linux_basic/dira/ -name "*.txt"
注意点:如果没有指定查找目录,则为当前目录(find . -name "*.txt")其中.为当前路径
find查找最近几天(几个小时)有变动的文件:find /home -mtime -2查找home目录下变动的文件
grep
1、查找文件中符合条件的字符串
格式:grep [选项] [查找模式] [文件名]
将dira目录的test1.txt和dirb目录的test1.txt都有一样的内容
gerp -rn "字符串" 文件名
r(recursive)递归查找
n(number)显示目标位置的行号
字符串:要查找额字符串
文件名:要查找的目标文件
例子:grep -n "abc" test1.txt 在test1.txt中查找字符串abc
gerp -rn "abc" 在当前目标递归查找字符串abc
注意:可以加入-w全字匹配
file查看文件类型
格式:file 文件名
举例:file ~/.bashrc 为ASCII编码的text类型
fiile ~/.vimrc 为UTF-8 UNicode 编码的text类型
file ~/Pictures/* 为
which和whereis
查找命令或者应用的所在位置
格式:which 命令/程序名
举例子:
which pwd 定位到/bin/pwd
which cc 定位到/usr/bin/gcc
whereis pwd 查找可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/pwd.1.gz
压缩
单个文件的压缩:gzip和bzip2
多个文件和目录使用:tar
gzip常用选项
-l (list) 列出压缩文件内容
-k (keep) 在压缩或解压时,保留输出文件
-d (decompress) 将压缩文件进行解压缩
查看
gizp -l 文件名
解压
gzip -kd 压缩文件名
单独的gzio不加任何选项为压缩,删除源文件,生成.gz的压缩文件推荐使用gzip -k来压缩文件
bzip2来压缩单个文件
-k(keep) 在压缩或者解压时,保留输出文件
-d (decompress) 将压缩文件进行解压缩
压缩
bip2 -k 源文件名 得到一个.bz2后缀的压缩文件,推荐使用bzip2 -k来压缩文件
一般小文件用gzip 大文件用bzip2来压缩
tar常用选项
-c(create)表示创建用来生成文件包
-x:表示提取,从文件包中提取文件
-t 可以查看压缩的文件
-z 使用gzip方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩
-j 使用bzip2方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩
-v(verbose)详细报告tar处理的信息
-f(file)表示文件,后面接一个文件名
-c <指定目录> 解压到指定目录
压缩
tar cz/jvf 压缩文件名 目录名
查看
tar tvf 压缩文件名
解压
tar xz/jvf 压缩文件名 -C 指定目录
www.kernel.org linux内核网址