玩转Linux命令之文件管理与编辑
玩转Linux命令之文件管理与编辑
1 mkdir命令
功能说明
mkdir命令是用来创建一个目录,mkdir是make directory的缩写,其格式如下
mkdir[选项][目录名]
mkdir命令的选项及其说明如下
选项 | 说明 |
---|---|
-m | 对新建目录设置存取权限 |
-p | 可以指定一个路径,此次若路径中的某些目录尚不存在,加上此选项后,系统将自动创建那些不存在的目录,也就是说一次创建多个目录 |
使用案例
[[email protected] guanglei]# mkdir -p parent/child/son #连续创建三个(层次)目录
2 less命令
功能说明
如果一个文本文件比较长,一屏无法显示完毕,就需要使用less命令,less命令读写文本文件时,每次显示一屏,并且在每屏后暂停,如果此时按Enter键,more就会接着显示文本的一行,依此类推,如果按空格键,就会继续显示另一屏的信息。同时可以使用键盘按键PageUp和PageDown来实现上下翻页。其格式如下
less[选项]文件名
more命令的选项及其说明如下
选项 |
说明 |
---|---|
-b |
设置缓冲区大小 |
-e |
当文件结束之后自动离开 |
-i |
忽略搜索时的大小写 |
-N |
显示每行的行号 |
-m |
显示类似more的百分比 |
快捷键
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
使用案例
[[email protected] ~]# less /etc/services # 查看记录网络服务名和它们对应使用的端口号及协议的文件
3 cat命令
3 cat命令
功能说明
cat命令是用来将文件的内容全部输出到标准输出,类似于DOS中的type命令,同时cat还可以实现用于连接合并文件,其格式如下
cat[选项] 文件名
或者是
cat 文件1 文件2 >文件3
cat命令的选项及其说明如下
|
|
---|---|
|
|
|
|
使用案例
[[email protected] ~]# cat -Ab /etc/services #查看记录网络服务名和它们对应使用的端口号及协议的文件
创建两个带测试数据的文件file1,txt,file2.txt
[[email protected] ~]# echo "this is file1.txt's content" > file1.txt
[[email protected] ~]# echo "this is file2.txt's content" > file2.txt
使用cat将fiel1.txt和file2.txt俩文本文件的内容输出到file3.txt
[[email protected] ~]# cat file1.txt file2.txt >file3.txt
[[email protected] ~]# cat file3.txt #查看file3.txt的文件内容
this is file1.txt's content
this is file2.txt's content
4 vimdiff命令
4 vimdiff命令
功能说明
vimdiff以逐行的方式比较文本文件的异同,首先保证系统中的diff命令是可用的,Vim的diff模式是依赖于diff命令的。其格式如下
vimdiff [options] file1 file2 [file3 [file4]]
当执行vimdiff进行文件比较时,屏幕被垂直分割,左右两侧分别显示被比较的两个文件。两个文件中连续的相同的行被折叠了起来,以便使用者能 把注意力集中在两个文件的差异上。只在某一文件中存在的行的背景色被设置为蓝色,而在另一文件中的对应位置被显示为绿色。两个文件中都存在,但是包含差异 的行显示为粉色背景,引起差异的文字用红色背景加以突出。
使用案例
[[email protected] ~]# vimdiff file1.txt file2.txt #以类似于图形化界面的方式比较两个文件的异同
5 grep命令
5 grep命令
功能说明
grep命令是Linux下的文本过滤工具,grep根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行内容,其格式如下
grep [选项] 需要查找的字符串文件名
grep命令的选项很多,这里列举出最常见的选项说明
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用案例
创建并显示测试数据的内容
[[email protected] ~]# cat tony.txt
java
JAVA
Linux
unix
[[email protected] ~]# cat tony.txt |grep -vin "java" #查看过滤掉指定内容的文件,并显示行号
3:Linux
4:unix
5:
6 rm命令
6 rm命令
功能说明
rm命令用来删除某个目录及其下的所有子目录或者文件。对于链接文件,只是断开了链接,原文件保持不变,其格式如下
rm [选项] 文件或者目录
rm 命令的选项及其说明如下
|
|
---|---|
|
|
|
|
|
|
使用案例
生产环境最好不要使用该命令,如果真的要删除文件,最好使用cp命令备份
或者使用mv移到一个临时目录
[[email protected] ~]# rm -i file1.txt file2.txt #使用交互式删除两个文本文件
rm: remove regular file ‘file1.txt’? y
rm: remove regular file ‘file2.txt’? y
7 touch 命令
7 touch 命令
功能说明
touch 命令用来改变指定文件的访问时间和修改时间,若指定文件不存在则创建此文件,如果没有指定时间,则使用当前时间,其格式如下
touch [选项] 设定的时间文件
touch命令的选项及其说明如下
|
|
---|---|
|
|
|
|
|
|
|
|
使用案例
[[email protected] ~]# touch test.txt #创建一个测试文件
[[email protected] ~]# ls -l #查看测试文件的信息
total 0
-rw-r--r--. 1 root root 0 Feb 27 23:13 test.txt
[[email protected] ~]# touch -a test.txt #改变文件的访问时间为当前系统时间
8 cp命令
8 cp命令
功能说明
cp命令用来将给出的文件或者目录复制到另外一个文件或者目录中,cp与Windows下的copy命令类似,但是cp更加强大,其格式如下
cp [选项] 源文件或者目录 目标文件或者目录
cp命令的选项及其说明如下
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
使用案例
[[email protected] ~]# cp -r ./* /tmp/ #将当前目录下的所有文件和目录复制到/tmp目录中
9 find命令
9 find命令
功能说明
find命令用来在指定的路径下查找文件,其格式如下
find path-name [-options] [-print -exec -ok命令 {}\;]
find 命令的选项具体说明如下:
path-name:find命令查找文件的路径,例如可以使用”.”表示当前目录,用”/”表示系统根目录
-options:find命令的这个选项主要是用来控制搜索的方式,这里列出常见的控制方式
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用案例
1 查找系统根目录下所有大小为0的普通文件,并列出它们的完整路径
[[email protected] ~]# find / -type f -size 0 |xargs ls -al
2 删除一个目录下的所有文件但保留一个指定的文件
[[email protected] data]# echo "this is test content" >tony.txt #创建文本测试数据
[[email protected] data]# echo "this is test content" >tom.txt #创建文本测试数据
[[email protected] data]# find /data/ -type f ! -name "tony.txt"|xargs rm -rf
10 mv命令
10 mv命令
功能说明
mv命令用来将文件或者目录改名或者将文件由一个目录移入到另外一个目录中。其格式如下
mv [选项] 源文件或目录 目标文件或者目录
mv命令的选项及其说明如下
|
|
---|---|
|
|
|
|
使用案例
使用mv实现文件的重命名
[[email protected] ~]# ll
total 0
-rw-r--r--. 1 root root 0 Feb 27 23:14 test.txt
[[email protected] ~]# mv test.txt test_new.txt
[[email protected] ~]# ll
total 0
-rw-r--r--. 1 root root 0 Feb 27 23:14 test_new.txt
评论暂时关闭