1、文件管理
- 新建文件:touch file1 file2 ……
- 新建目录(directory): mkdir dir
mkdir dir1/dir2/…… 新建递归目录 - 文件匹配批处理
(1)* 匹配0到任意的字符
(2)? 匹配单个字符
[[:alpha:]] ## 匹配单个字符
[[:lower:]] ## 匹配单个小写字母
[[:upper:]] ##匹配单个大写字母
[[:digit:]] ## 匹配单个数字
[[:alnum:]] ## 匹配单个数字或字母
[[:punct:]] ##匹配单个符号
[[:apace:]] ##匹配单个空格
精确匹配:{1…5}、{a…f}
模糊匹配:[1-3]、[a-g]、[1a-c]不是a并且不是c中的一个
例:用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的范围为1-6);这些文件包含在root用户桌面的study目录中。
- 删除文件:rm -f file1 file2 ……
- 删除目录:rm -rf dir (-f 强制删除不提示 -r递归删除,将该目录下的所有文件都删除)
- 复制文件:
cp file1 file2 ## 复制file1 为file2(file2 之前不存在)
cp file1 file2 file3 dir ##复制多个文件到指定目录
cp -r dir1 dir2 dir ##复制多个目录到指定的目录
cp -p dir1 dir2 ##将dir1复制给dir2包括权限
例:备份/etc目录中所有带有带有数字名字并且以.conf结尾的文件到桌面上的confdir中;并删掉刚才建立或者备份的所有文件。
- 移动文件:
mv file1 file2 ##相同的目录下文件移动相当于是重命名mv file1 file2
mv file dir ##移动文件到dir目录
mv test/dir . ##移动test下的dir文件到当前目录
- 文件查看:
cat file ##显示文件全部内容cat file ##显示文件全部内容
cat -n file ##显示文件内容并在每行前加入行号
cat -b file ##显示文件内容并在每行前加入行号但是不包含空行
head file ##显示文件前10行
head -n 1 file ##显示文件前1行
tail file ##显示文件后10行
tail -n 3 file##显示文件后3行
- 文件修改
1)图形修改:gedit file
2)vim修改:vim file
例:用一条命令建立8个文件redhat_versionX(x的范围为1-8);redhat_versionX这些文件都包含在/tmp目录中的VERSION 中。
(1)用一条命令把redhat_versionX中的带有奇数的文件复制到桌面的SINGLE中 ;
(2)用一条命令把redhat_versionX中的带偶数数的文件复制到/DOUBLE中 ;
(3)用一条命令把WESTOS_classX_linuxY中class1的文件一动到当前用户桌面的CLASS1中;
(4)用一条命令把WESTOS_classX_linuxY中class2的文件一动到当前用户桌面的CLASS2中。
2、文件路径
- 相对路径:相对于当前系统位置,文件名的简称。
绝对路径:文件在系统中的真实位置,在任何系统下都可以使用,而且绝对路径一定是以“/”开头的
Linux系统的顶级目录是“/”根目录,其二级目录有:
/bin ##系统常规命令
/boot ##系统启动目录
/dev ##设备影射文件
/etc ##系统配置文件
/home ##普通用户家目录
/lib ##32位函数库
/lib64 ##64位函数库
/media ##光盘临时挂载
/mnt ##手动临时挂载
/run ##自动临时挂载
/opt ##第三方软件安装位置
/proc ##系统进程信息和硬件信息
/root ##超级用户家目录
/sbin ##系统管理命令
/srv ##系统数据
/sys ##内核相关调式
/tmp ##临时文件
/usr ##用户相关设定
/var ##系统数据 - pwd ## 显示当前路径
- ls dir ##显示当前目录的信息
ls -l file ##显示文件属性信息
ls -l -d dir ##显示目录本身属性信息
ls -R dir ##递归显示目录中的所有内容
ls -a ##显示所有文件 包括以 . 开头的隐藏文件
ls -ad .* ##显示所有隐藏文件
- 文件切换
cd ##进入当前用户的家目录
cd /mnt ##进入mnt目录
cd … ## 进入该目录的上一级目录
cd - ##当前目录和进入当前目录之前的所在目录之间的切换
3.管理输入输出
- 在linux系统中,正确输出的编号为1,错误输出编号为2
//在系统中用普通用户 “student”执行 : find /etc/ -name passwd
因为student用户权限问题会有以下输出:
find /etc/ -name passwd > file ##重定向正确输出
find /etc/ -name passwd 2> file ##重定向错误输出
find /etc/ -name passwd &> file ##重定向所有输出
find /etc/ -name passwd >> file ##追加正确输出
find /etc/ -name passwd 2>> file ##追加错误输出
find /etc/ -name passwd &>> file ##追加所有输出
2.管道 |
(1)管道的作用是将前一条命令的输出变成管道后命令的输入
ls /bin | wc -l ##统计ls /bin 命令输出的行数
系统中错误的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1
(2)tee 复制输出到指定位置
date |tee file |wc -l ###tee命令复制date命令的输出到file中,并统计输出行数