文件查看类命令
cat: 正序查看文件内容,输出
命令:cat FILEtac: 倒序查看文件内容,输出
命令:tac FILEhead: 正序查看文件,输出默认前n行
命令:head FILEtail: 倒序查看文件,输出默认后n行
命令:tail FILEmore: 分屏查看命令
命令:more FILE
特点:翻屏至文件尾部后自动退出
选项:
空格键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
:f :立刻显示出文件名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只在文件未全部显示时可用,文件全部显示后自动退出less: less命令比起 more 更加的有弹性
命令:less FILE
选项:
空格键 :向下翻动一页
[pagedown]:向下翻动一页
[pageup] :向上翻动一页
/字符串 :向下搜寻『字符串』的功能
?字符串 :向上搜寻『字符串』的功能
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
g :前进到这个资料的第一行去
G :前进到这个数据的最后一行去 (注意大小写)
#G : 跳转至指定行;
1G :跳转至文件首部
q :离开 less 这个程序
注意:使用less在屏幕底部不会显示出目前显示内容的百分比,而是显示文件名。stat 查看文件的元数据(使用stat 查看到的文件的信息是文件的元数据)
命令:stat FILE
文件的数据分为两类:一类为数据,即文件的实际内容;另一类为元数据,用来描述文件属性的数据。
文件管理类命令
- cp命令:copy
源文件;目标文件;
单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
单源复制:cp [OPTION]... [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件;
如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
多源复制:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
如果DEST不存在:错误;
如果DEST存在:
如果DEST是非目录文件:错误;
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r, -R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
-a:-dR --preserve=all, archive,用于实现归档;
--preserv=
mode:权限
ownership:属主和属组
timestamps: 时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
注意:由于 cp 有种种的文件属性与权限的特性,所以,在复制时,你必须要清楚的了解到:
- 是否需要完整的保留来源文件的信息?
- 来源文件是否为符号链接文件 (symbolic link file)?
- 来源档是否为特殊的文件,例如 FIFO, socket 等?
- 来源文件是否为目录?
mv命令:move
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE..
常用选项:
-i:交互式;
-f:forcerm命令:remove
rm [OPTION]... FILE...
常用选项:
-i:interactive
-f:force
-r: recursive
删除目录:rm -rf /PATH/TO/DIR
危险操作:rm -rf /*
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)
目录管理类的命令:
mkdir, rmdir
- mkdir:make directories
mkdir [OPTION]... DIRECTORY...
-p: 自动按需创建父目录;
-v: verbose,显示详细过程;
-m MODE:直接给定权限;
注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;
-
rmdir:remove empty directories
rmdir [OPTION]... DIRECTORY...
-p:删除某目录后,如果其父目录为空,则一并删除之;
-v: 显示过程;
问题1:如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b?
问题2:如何创建a_c, a_d, b_c, b_d;
bash的基础特性之:命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录;
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b
问题1. mkdir -pv /tmp/x/{y1/{a,b},y2}
问题2. mkdir -v {a,b}_{c,d}
问题3. 创建如下目录结构:
/tmp/mysysroot/ |-- bin |-- etc | `-- sysconfig | `-- network-scripts |-- sbin |-- usr | |-- bin | |-- lib | |-- lib64 | |-- local | | |-- bin | | |-- etc | | |-- lib | | `-- sbin | `-- sbin `-- var |-- cache |-- log `-- run ~]# mkdir -pv /tmp/mysysroot/{bin,sbin,etc/sysconfig/>network-scripts,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}