Linux 系统操作
cd … 返回上一级 (… 父目录, . 自身目录)
mkdir tmp 创建目录
touch xxx.txt 创建文件
rmdir tmp 删除空目录
rmdir -p xxx (-p删除子目录如果父目录也为空也删除父目录)
rm xxx.txt 删除文件 也可删除目录
rm -rf 删除目录
(-f 不询问是否删除)
ln -s ll.log ll.rpt 为 ll.log 创建软链接ll.log 类似于window中的快捷方式
ln ll.log ll.rpt 硬链接
chmod 改变文件权限
chmod ugo+r file.txt (u:you, g: group, o: others )
chmod -R a+r * (-R 递归)
rwx 可用 8进制表示 r(2) w(4) x(1)
chmod 772 xxx.txt = chmod a=rwx file.txt
文件显示命令
cat file.txt
gvim file.txt
复制文件和目录
cp xxx.txt temp(路径)
cp xxx.txt /temp/yyy.txt 改名复制
cp -r /root/xxx/ /tmp/ 原名复制目录 目录名后面加 /
移动文件
mv xxx.log /tmp 剪切到tmp路径下
mv xxx/ /tmp 移动目录到tmp下
mv -f xxx /tmp 强制移动适用于移动较多文件,不需要一个个询问
mv -n xxx /tmp 不覆盖移动(路径下如果有相同名字的文件则不覆盖移动)
mv 11.log 22.log 改名移动将11.log改名成22.log
-v 显示移动过程
统计文件字数行数
wc -l xxx.log 统计文件行数
wc -w xxx.log 统计单词数
wc -c xxx.log 统计字符数
wc xxx.log 同时统计行数,单词数,字符数
wc xxx.log -L 统计最长行数
查找文件
find /etc -name httpd.conf #在/etc目录下文件httpd.conf
find /etc -name ‘*srm*’ #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
find . -name ‘srm*’ #表示当前目录下查找文件名开头是字符串‘srm’的文件
重定向
grep ‘test’ d* #显示所有以d开头的文件中包含 test的行
grep ‘test’ aa bb cc #显示在aa,bb,cc文件中包含test的行
grep ‘[a-z]{5}’ aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行
grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’)
grep -n 8080 文件(确定8080字段在文件中的行数)
grep -n -i “ggpush” 文件(确定ggpush在文件中的行数并且忽略大小写)
grep ‘ggpush’ *.cnf (匹配当前目录下所有后缀为cnf文件含有过滤字段的内容)
Vim 常用操作
i 进入输入模式在光标当前行输入
查找文本
:set ic 忽略大小写 调整回来:set noic
特殊符号需要输入转义符\
替换文本
删除文本
复制粘贴文本
j 链接两行
保存退出文本
多窗口
:sp + filename
:vsp + filename 横向分割
ctrl+w+j/↓ 跳到下一个窗口
ctrl+w+k/↑ 跳到上一个窗口
统计字数
关键命令:
:%s/pattern//gn
参数说明:
% - 指明操作区间,%表示全文本;可以使用1,$或者行区间代替
s – substitute,表示替换
pattern - 要查找的字符串
// - 替代文本应该放在这里,两个斜杠中间没有任何字符表示无替代文本
g – Replace all occurences in the line. Without this argument, replacement occurs only for the first occurence in each line.
n – Report the number of matches, and do not actually substitute. 这是核心功能,同时也说明为什么//之间可以添加任意字符。
一些引申出的应用:
(1) :k,ls/pattern//gn
统计k行到l行出现pattern的次数
(2) :%s/pattern//gn
统计在当前编辑文本出现的次数
(3) cat file|greg –i pattern |wc –l
统计在文件中出现的行数