Linux操作文件的基本命令
通配符
(和正则表达式里的通配符类似)
- *:匹配任何字符和任何数目的字符
- ?:匹配单一数目的任何字符
- [ ]:匹配[ ]之内的任意一个字符
- [! ]:匹配除了[! ]之外的任意一个字符,!表示非的意思
文件、目录操作命令
-
pwd :查看用户的当前目录
-
cd :切换目录
-
. 表示当前目录
-
..表示当前目录的上一级目录(父目录)
-
-表示用 cd 命令切换目录前所在的目录
-
~ 表示用户主目录的绝对路径名
-
ls:显示文件或目录信息
-
mkdir:当前目录下创建一个空目录
-
rmdir:要求目录为空
-
touch:生成一个空文件或更改文件的时间
-
cp:复制文件或目录
-
mv:移动文件或目录、文件或目录改名
-
rm:删除文件或目录
-
ln:建立链接文件
-
find:查找文件
-
file/stat:查看文件类型或文件属性信息
-
cat:查看文本文件内容
-
more:可以分页看
-
less:不仅可以分页,还可以方便地搜索,回翻等操作
-
tail -10: 查看文件的尾部的10行
-
head -20:查看文件的头部20行
-
echo :把内容重定向到指定的文件中 ,有则打开,无则创建
-
管道命令 | :将前面的结果给后面的命令,例如:ls -la | wc ,将ls的结果加油wc命令来统计字数
-
重定向 > 是覆盖模式,>> 是追加模式,例如:echo “Java3y,zhen de hen xihuan ni” > qingshu.txt 把左边的输出放到右边的文件里去
-
绝对路径和相对路径
- 绝对路径:以斜线 / 开头 ,描述到文件位置的完整说明 ,任何时候你想指定文件名的时候都可以使用
- 相对路径 :不以/开头 ,指定相对于你的当前工作目录而言的位置 ,可以被用作指定文件名的简捷方式
例如:
每天开机在/misc目录下创建一个当天日期的文件:echo "mkdir /misc/date +%Y%m%d
" >> /etc/rc.d/rc.local
/etc/rc.d/rc.local:一个启动加载配置文件,这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可。
DNS服务器主配置文件: /etc/named.conf
文件压缩和解压缩
- 常用的压缩的命令就有:
gzip filename
bzip2 filename
tar -czvf filename - 常用的解压命令有:
gzip -d filename.gz
bzip2 -d filename.bz2
tar -xzvf filename.tar.gz
常用的tar解压命令:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
-s 还原文件的顺序和备份文件内的存放顺序相同。
-v 显示指令执行过程
例如:以下哪个命令用于查看tar(backup.tar)文件的内容而不提取它? 答案:tar -tvf backup.tar
查找文件内容——正则表达式+grep
正则表达式基本知识:
grep 使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [options] PATTERN [FILE…]
PATTERN 是查找条件:可以是普通字符串、可以是正则表达式。
FILE 是要查找的文件,可以是用空格间隔的多个文件,也可是使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输入中查找。
例如:
(1)在文件 myfile 中查找包含字符串 mystr的行
grep -n mystr myfile //-n 会显示打印出来的行所在的行号
(2)显示 myfile 中第一个字符为字母的所有行
grep ‘^[a-zA-Z]’ myfile
(3)在文件 myfile 中查找首字符不是 # 的行,即过滤掉注释行
grep -v ‘^#’ myfile
(4)列出/home目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
grep -lr root /home/*