智能响应式网站建设,招聘网站哪个平台比较好,网站有访问量 为什么没有询盘,企业如何进行网站推广nvLinux 文件与目录管理
我们知道 Linux 的目录结构为树状结构#xff0c;最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中#xff0c;通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。 绝对路径#xff1a; 路径的写…nvLinux 文件与目录管理
我们知道 Linux 的目录结构为树状结构最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。 绝对路径 路径的写法由根目录 / 写起例如 /usr/share/doc 这个目录。 相对路径 路径的写法不是由 / 写起例如由 /usr/share/doc 要到 /usr/share/man 底下时可以写成 cd ../man 这就是相对路径的写法。 处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧
ls英文全拼list files: 列出目录及文件名cd英文全拼change directory切换目录pwd英文全拼print work directory显示目前的目录mkdir英文全拼make directory创建一个新的目录rmdir英文全拼remove directory删除一个空的目录cp英文全拼copy file: 复制文件或目录rm英文全拼remove: 删除文件或目录mv英文全拼move file: 移动文件与目录或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档如 man cp。
ls (列出目录)
在Linux系统当中 ls 命令可能是最常被运行的。
语法
[rootwww ~]# ls [-aAdfFhilnrRSt] 目录名称
[rootwww ~]# ls [--color{never,auto,always}] 目录名称
[rootwww ~]# ls [--full-time] 目录名称
选项与参数
-a 全部的文件连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)-d 仅列出目录本身而不是列出目录内的文件数据(常用)-l 长数据串列出包含文件的属性与权限等等数据(常用)
将目录下的所有文件列出来(含属性与隐藏档)
[rootwww ~]# ls -al ~
cd (切换目录)
cd是Change Directory的缩写这是用来变换工作目录的命令。
语法 cd [相对路径或绝对路径]
#使用 mkdir 命令创建 runoob 目录
[rootwww ~]# mkdir runoob#使用绝对路径切换到 runoob 目录
[rootwww ~]# cd /root/runoob/#使用相对路径切换到 runoob 目录
[rootwww ~]# cd ./runoob/# 表示回到自己的家目录亦即是 /root 这个目录
[rootwww runoob]# cd ~# 表示去到目前的上一级目录亦即是 /root 的上一级目录的意思
[rootwww ~]# cd ..
接下来大家多操作几次应该就可以很好的理解 cd 命令的。
pwd (显示目前所在的目录)
pwd 是 Print Working Directory 的缩写也就是显示目前所在目录的命令。
[rootwww ~]# pwd [-P]
选项与参数
-P 显示出确实的路径而非使用链接 (link) 路径。
实例单纯显示出目前的工作目录
[rootwww ~]# pwd
/root 显示出目录啦
实例显示出实际的工作目录而非链接档本身的目录名而已。
[rootwww ~]# cd /var/mail 注意/var/mail是一个链接档
[rootwww mail]# pwd
/var/mail 列出目前的工作目录
[rootwww mail]# pwd -P
/var/spool/mail 怎么回事有没有加 -P 差很多
[rootwww mail]# ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep 4 17:54 /var/mail - spool/mail
# 看到这里应该知道为啥了吧因为 /var/mail 是链接档链接到 /var/spool/mail
# 所以加上 pwd -P 的选项后会不以链接档的数据显示而是显示正确的完整路径啊
mkdir (创建新目录)
如果想要创建新的目录的话那么就使用mkdir (make directory)吧。
语法
mkdir [-mp] 目录名称
选项与参数
-m 配置文件的权限喔直接配置不需要看默认权限 (umask) 的脸色-p 帮助你直接将所需要的目录(包含上一级目录)递归创建起来
实例请到/tmp底下尝试创建数个新目录看看
[rootwww ~]# cd /tmp
[rootwww tmp]# mkdir test 创建一名为 test 的新目录
[rootwww tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory test1/test2/test3/test4:
No such file or directory 没办法直接创建此目录啊
[rootwww tmp]# mkdir -p test1/test2/test3/test4
加了这个 -p 的选项可以自行帮你创建多层目录
实例创建权限为 rwx--x--x 的目录。
[rootwww tmp]# mkdir -m 711 test2
[rootwww tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
上面的权限部分如果没有加上 -m 来强制配置属性系统会使用默认属性。
如果我们使用 -m 如上例我们给予 -m 711 来给予新的目录 drwx--x--x 的权限。
rmdir (删除空的目录)
语法 rmdir [-p] 目录名称
选项与参数
-p 从该目录起一次删除多级空目录
删除 runoob 目录
[rootwww tmp]# rmdir runoob/
将 mkdir 实例中创建的目录(/tmp 底下)删除掉
[rootwww tmp]# ls -l 看看有多少目录存在
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[rootwww tmp]# rmdir test 可直接删除掉没问题
[rootwww tmp]# rmdir test1 因为尚有内容所以无法删除
rmdir: test1: Directory not empty
[rootwww tmp]# rmdir -p test1/test2/test3/test4
[rootwww tmp]# ls -l 您看看底下的输出中test与test1不见了
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
利用 -p 这个选项立刻就可以将 test1/test2/test3/test4 一次删除。
不过要注意的是这个 rmdir 仅能删除空的目录你可以使用 rm 命令来删除非空目录。
cp (复制文件或目录)
cp 即拷贝文件和目录。
语法:
[rootwww ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[rootwww ~]# cp [options] source1 source2 source3 .... directory
选项与参数 -a相当於 -pdr 的意思至於 pdr 请参考下列说明(常用) -d若来源档为链接档的属性(link file)则复制链接档属性而非文件本身 -f为强制(force)的意思若目标文件已经存在且无法开启则移除后再尝试一次 -i若目标档(destination)已经存在时在覆盖时会先询问动作的进行(常用) -l进行硬式链接(hard link)的链接档创建而非复制文件本身 -p连同文件的属性一起复制过去而非使用默认属性(备份常用) -r递归持续复制用於目录的复制行为(常用) -s复制成为符号链接档 (symbolic link)亦即『捷径』文件 -u若 destination 比 source 旧才升级 destination
用 root 身份将 root 目录下的 .bashrc 复制到 /tmp 下并命名为 bashrc
[rootwww ~]# cp ~/.bashrc /tmp/bashrc
[rootwww ~]# cp -i ~/.bashrc /tmp/bashrc
cp: overwrite /tmp/bashrc? n n不覆盖y为覆盖
rm (移除文件或目录)
语法 rm [-fir] 文件或目录
选项与参数
-f 就是 force 的意思忽略不存在的文件不会出现警告信息-i 互动模式在删除前会询问使用者是否动作-r 递归删除啊最常用在目录的删除了这是非常危险的选项
将刚刚在 cp 的实例中创建的 bashrc 删除掉
[rootwww tmp]# rm -i bashrc
rm: remove regular file bashrc? y
如果加上 -i 的选项就会主动询问喔避免你删除到错误的档名
mv (移动文件与目录或修改名称)
语法
[rootwww ~]# mv [-fiu] source destination
[rootwww ~]# mv [options] source1 source2 source3 .... directory
选项与参数
-f force 强制的意思如果目标文件已经存在不会询问而直接覆盖-i 若目标文件 (destination) 已经存在时就会询问是否覆盖-u 若目标文件已经存在且 source 比较新才会升级 (update)
复制一文件创建一目录将文件移动到目录中
[rootwww ~]# cd /tmp
[rootwww tmp]# cp ~/.bashrc bashrc
[rootwww tmp]# mkdir mvtest
[rootwww tmp]# mv bashrc mvtest
将某个文件移动到某个目录去就是这样做
将刚刚的目录名称更名为 mvtest2
[rootwww tmp]# mv mvtest mvtest2 Linux 文件内容查看
Linux系统中使用以下命令来查看文件的内容
cat 由第一行开始显示文件内容tac 从最后一行开始显示可以看出 tac 是 cat 的倒着写nl 显示的时候顺道输出行号more 一页一页的显示文件内容less 与 more 类似但是比 more 更好的是他可以往前翻页head 只看头几行tail 只看尾巴几行
你可以使用 man [命令]来查看各个命令的使用文档如 man cp。
cat
由第一行开始显示文件内容
语法
cat [-AbEnTv]
选项与参数
-A 相当於 -vET 的整合选项可列出一些特殊字符而不是空白而已-b 列出行号仅针对非空白行做行号显示空白行不标行号-E 将结尾的断行字节 $ 显示出来-n 列印出行号连同空白行也会有行号与 -b 的选项不同-T 将 [tab] 按键以 ^I 显示出来-v 列出一些看不出来的特殊字符
检看 /etc/issue 这个文件的内容
[rootwww ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
tac
tac与cat命令刚好相反文件内容从最后一行开始显示可以看出 tac 是 cat 的倒着写如
[rootwww ~]# tac /etc/issueKernel \r on an \m
CentOS release 6.4 (Final)
nl
显示行号
语法
nl [-bnw] 文件
选项与参数
-b 指定行号指定的方式主要有两种 -b a 表示不论是否为空行也同样列出行号(类似 cat -n) -b t 如果有空行空的那一行不要列出行号(默认值)-n 列出行号表示的方法主要有三种 -n ln 行号在荧幕的最左方显示 -n rn 行号在自己栏位的最右方显示且不加 0 -n rz 行号在自己栏位的最右方显示且加 0 -w 行号栏位的占用的位数。
实例一用 nl 列出 /etc/issue 的内容
[rootwww ~]# nl /etc/issue1 CentOS release 6.4 (Final)2 Kernel \r on an \m
more
一页一页翻动
[rootwww ~]# more /etc/man_db.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
--More--(28%) 重点在这一行喔你的光标也会在这里等待你的命令
在 more 这个程序的运行过程中你有几个按键可以按的
空白键 (space)代表向下翻一页Enter 代表向下翻『一行』/字串 代表在这个显示的内容当中向下搜寻『字串』这个关键字:f 立刻显示出档名以及目前显示的行数q 代表立刻离开 more 不再显示该文件内容。b 或 [ctrl]-b 代表往回翻页不过这动作只对文件有用对管线无用。
less
一页一页翻动以下实例输出/etc/man.config文件的内容
[rootwww ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
: 这里可以等待你输入命令
less运行时可以输入的命令有
空白键 向下翻动一页[pagedown]向下翻动一页[pageup] 向上翻动一页/字串 向下搜寻『字串』的功能?字串 向上搜寻『字串』的功能n 重复前一个搜寻 (与 / 或 ? 有关)N 反向的重复前一个搜寻 (与 / 或 ? 有关)q 离开 less 这个程序
head
取出文件前面几行
语法
head [-n number] 文件
选项与参数
-n 后面接数字代表显示几行的意思
[rootwww ~]# head /etc/man.config
默认的情况中显示前面 10 行若要显示前 20 行就得要这样
[rootwww ~]# head -n 20 /etc/man.config
tail
取出文件后面几行
语法
tail [-n number] 文件
选项与参数
-n 后面接数字代表显示几行的意思-f 表示持续侦测后面所接的档名要等到按下[ctrl]-c才会结束tail的侦测
[rootwww ~]# tail /etc/man.config
# 默认的情况中显示最后的十行若要显示最后的 20 行就得要这样
[rootwww ~]# tail -n 20 /etc/man.config