文件搜索命令:
find 作用:查找文件或目录
命令路径:/bin/find 执行权限:所有用户
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
eg:find /etc -name “init” 在目录/etc中查找文件init
-iname 按名称查找
find查找中的字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。
eg: # find . –name *g
-size 按文件大小查找
以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
eg:find /etc -size -204800 在etc目录下找出大于100MB的文件
100MB=102400KB=204800block
-type 按文件类型查找
f 二进制文件 l 软连接文件 d 目录 c 字符文件
eg: find /dev -type c
find查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/
grep命令 作用:在文件中搜寻字串匹配的行并输出
命令路径:/bin/grep 执行权限:所有用户
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
eg:grep ftp /etc/services
eg:#grep -v ^# /etc/inittab 去掉文件行首的#号
eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
which 作用:显示系统命令所在目录(绝对路径及别名)
命令路径:/usr/bin/which 执行权限:所有用户
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
# which ls
alias ls='ls --color=auto'
/bin/ls
# which zs
/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
whereis 作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径
命令路径:/usr/bin/whereis 执行权限:所有用户
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd
压缩解压缩命令:
gzip 作用:压缩(解压)文件,压缩文件后缀为.gz
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
gzip只能压缩文件,不能压缩目录;不保留原文件
语法:gzip 文件
-d将压缩文件解压(decompress)
解压使用gzip –d或者 gunzip
bzip2 作用:压缩(解压)文件,压缩文件后缀为.bz2
命令路径:/usr/bin/bzip2 执行权限:所有用户
语法:bzip2 [-k] [文件]
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
zip 作用:压缩(解压)文件,压缩文件后缀为.zip
命令路径:/usr/bin/zip 执行权限:所有用户
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
eg:zip services.zip /etc/services 压缩文件;
zip -r test.zip /test 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
tar 作用:文件、目录打(解)包
命令路径:/bin/tar 执行权限:所有用户
语法:tar [-zcf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
1, 单独的打包 ,解包 tar –cf tar –xf
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gz dir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
tar -zxvf dir1.tar.gz -C(大写的) /root 解压到指定的/root目录
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar 使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除
系统关机命令:
shutdown [选项] 时间
选项: -c: 取消前一个关机命令
-h:关机
-r:重启
eg:
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 halt poweroff init 0
其他重启命令
reboot 重启系统 reboot -h now 立即重启
init 6
注意:生产环境中,关机命令和重启命令谨慎执行。
Linux中的一些快捷键:
ctrl + c(停止当前进程)
ctrl + z 挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头 上 下 可以查看执行过的命令
ctrl + a 行首 ctrl + e 行尾
ctrl + k 清除 ctrl+ w 清除单词
VIM文本编辑器:
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
VIM工作模式
插入命令
a 在光标后附加文本
i 在光标前插入文本
o 在光标下插入新行
定位命令
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 或 :n 到第n行
保存和退出命令
:w 保存修改
:wq 保存修改并退出
shift+zz(ZZ)快捷键,保存修改并退出
:q! 不保存修改退出
不保存并退出:
1, 有修改,但是修改后的内容是不保存的
2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
删除命令
x 删除光标所在处字符 nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
:n1,n2d 删除指定范围的行(eg :1,3d 删除了123这三行)
dG 删除光标所在行到末尾的内容
D删除从光标所在处到行尾
复制和剪切命令
yy、Y 复制当前行
nyy、nY 复制当前行以下n行
dd 剪切当前行 ndd剪切当前行以下n行
p、P 粘贴在当前光标所在行下 或行上
替换和取消命令
r 取代光标所在处字符
R(shift + r) 从光标所在处开始替换字符,按Esc结束
u undo,取消上一步操作
ctrl+r redo,返回到undo之前
搜索和替换命令
/string 向后搜索指定字符串 搜索时忽略大小写 :set ic
?string 向前搜索指定字符串
n 搜索字符串的下一个出现位置,与搜索顺序相同
N(shift + n) 搜索字符串的上一个出现位置,与搜索顺序相反
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串
% 指全文,s 指开始,g 指全局替换
起始行,终止行s/要替换的字符串/替换的新的字符串/g c 询问确认
eg: :%s/ftp/yang/g 全局替换,把ftp替换为yang
eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换
eg: :41,44/yang/lee/g 同上,不询问,直接替换
eg: :%s//root//ROOT/g 把/root替换为/ROOT
eg: :%s#/bin/bash#/bin/ksh/g 把/bin/bash全部替换为/bin/ksh
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp