切换目录
在 Linux 里面使用.表示当前目录,
..表示上一级目录
-表示上一次所在目录,
~通常表示当前用户的home目录。
使用pwd命令可以获取当前所在路径(绝对路径)。
# 绝对路径
$cd/usr/local/bin# 相对路径
$cd../../usr/local/bin
新建空白文件
使用touch命令创建空白文件,关于touch命令,
其主要作用是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个指定文件名的空白文件(不会覆盖已有同名文件),当然你也可以同时指定该文件的时间戳,更多关于touch命令的用法,
$ touchtest
新建目录
使用mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。
创建名为“ mydir ”的空目录:
$mkdirmydir
使用-p参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):
$mkdir-p father/son/grandson
后面的目录路径,以绝对路径的方式表示也是可以的。
2. 复制
复制文件
使用cp(copy)命令复制一个文件到指定目录。
将之前创建的“ test ”文件复制到“ /home/shiyanlou/father/son/grandson ”目录中:
$ cptestfather/son/grandson
复制目录
如果直接使用cp命令复制一个目录的话,会报错:
要成功复制目录需要加上-r或者-R参数,表示递归复制,就是说有点“全部复制”的意思:
$ cp -r father family
删除
删除文件
使用rm(remove files or directories)命令删除一个文件:
$ rmtest
有时候你会遇到想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示,如下:文件有写保护
你如果想忽略这提示,直接删除文件,可以使用-f参数强制删除:
$ rm-ftest
删除目录
跟复制目录一样,要删除一个目录,也需要加上-r或-R参数:
$ rm -r family
移动文件与文件重命名
移动文件
使用mv(move or rename files)命令移动文件(剪切)。将文件“ file1 ”移动到Documents目录:
mv 源目录文件 目的目录:
$ mkdir Documents 新建目录
$ mv file1 Documents
重命名文件
将文件“ file1 ”重命名为“ myfile ”:
mv 旧的文件名 新的文件名:
$ mv file1 myfile
批量重命名
要实现批量重命名,mv命令就有点力不从心了,我们可以使用一个看起来更专业的命令rename来实现。不过它要用 perl 正则表达式来作为参数,关于正则表达式我们要在后面才会介绍到,这里只做演示,你只要记得这个rename命令可以批量重命名就好了,以后再重新学习也不会有任何问题,毕竟你已经掌握了一个更常用的mv命令。
# 使用通配符批量创建 5 个文件:$ touch file{1..5}.txt# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:$ rename's/\.txt/\.c/'*.txt# 批量将这 5 个文件,文件名改为大写:$ rename'y/a-z/A-Z/'*.c
简单解释一下上面的命令,rename是先使用第二个参数的通配符匹配所有后缀为.txt的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的.txt后缀替换为.c,这一点在我们后面学习了sed命令后,相信你会更好地理解。
查看文件
使用cat,tac和nl命令查看文件
前两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac为倒序显示。
标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
比如我们要查看之前从/etc目录下拷贝来的passwd文件:
$ cat passwd
可以加上-n参数显示行号:
$ cat -n passwd
nl命令,添加行号并打印,这是个比cat -n更专业的行号打印命令。
这里简单列举它的常用的几个参数:
-b : 指定添加行号的方式,主要有两种:-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)-b t:只列出非空行的编号并列出(默认为这种方式)-n : 设置行号的样式,主要有三种:-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)
使用more和less命令分页查看文件
使用more命令打开passwd文件:
$ more passwd
打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。
less的使用基本和more一致
使用head和tail命令查看文件
head 头部文件tail尾部文件
这两个命令,那些性子比较急的人应该会喜欢,因为它们一个是只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行
$ tail /etc/passwd 默认显示文件尾10行
甚至更直接的只看一行, 加上-n参数,后面紧跟行数:
$ tail -n1/etc/passwd显示文件最后1行内容
循环查看文件内容
tail -f test.log
用于一个以上的档案监视。用Ctrl+c来终止。。这可以让我们动态查看日志,达到实时监视的目的。
查看文件类型
前面我提到过,在 Linux 中文件的类型不是根据文件后缀来判断的,我们通常使用file命令查看文件的类型:
$ file /bin/ls
说明这是一个可执行文件,运行在 64 位平台,并使用了动态链接文件(共享库)。
网友评论