Linux常用命令大全 ---> 文件处理命令(一)

文件处理命令

1. 命令格式与目录处理命令ls

命令格式: 命令 [-选项] [参数]
举例:ls -la /etc
 
 
说明:
(1) 个别命令给你使用不遵循此命令
(2)当有多个选项时,可以写在一起
(3)简化选项与完整选项 -a等于–all
 
 
                        目录处理命令:ls
 
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
选项:
        -a   显示所有文件,包括隐藏文件
         -l   详细信息显示
        -d   查看目录属性
 
 
 
举个栗子:

在这里插入图片描述
上图中可以分为七个部分:

第一个部分: 文件类型和权限 分为两个部分 第一个字符分为一个部分,代表一个文件的类型(所有者 、所属组、其他人)。常见的文件类型:-代表的就是文件 d代表是一个目录 l代表软连接
不常见的文件类型:字符设备文件,块设别文件,套接字文件,管道符文件 是系统特殊文件,一般不用来进行操作。
第二个部分: 待变引用计数,代表这个文件调用或引用过几次,这个引用计数对文件和目录来讲,只在硬链接这个地方有作用。
第三个部分: 文件的所有者
第四个部分: 文件的所属组
第五个部分: 文件的大小 –h(human)人化显示大小
第六个部分: 文件最后修改的时间(没有修改过就是创建的时间)Linux没有创建时间的概念。有访问时间,最后一次访问时间,文件的状态修改时间,文件的数据修改时间,如果一个文件没有改过就是创建文件时间。
第七部分: 文件名

小提示:
(1) 对文件来说执行权限x是最高权限,权限够用就好只要够使用,就不给最大的权限,一般来对文件来说读写就够了,只有需要让这个文件运行的时候(是个命令或者是脚本的时候)如果是个日志是没有必要的。前三个代表所有者的权限,依次类推

(2) 如果想看一个目录的属性 就用-d选项。-ld 配合使用。
i结点,每个文件和目录都有自己的id号,系统靠这个索引号来搜索和查询这个文件。ls –i (inode)看文件的i结点

小总结:

ls –a(可以看隐藏文件) -l(文件的详细信息) –d(查看目录的详细信息) –h(人性化显示大小) -i(可以查询任何一个文件的i节点)
 
 
 

2. 目录处理命令

2.1 mkdir命令

目录处理命令:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir -p [目录名]
功能描述:创建新目录
                  -p 递归创建
 
 
什么是递归创建那??? 举个栗子:mkdir /tmp/test/abc 因为没有test这个目录,但是又想在这个目录下创建子目录,这时必须加-p这选项。(递归创建)
 
 
 

2.2 cd命令

目录处理命令:cd
命令英文原意: change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
 

举个栗子:
cd /tmp/test 切换到指定目录
cd … 回到上一级目录
  
 
 

2.3 pwd命令

目录处理命令:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
 
 
 

2.4 rmdir命令

目录处理命令:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述:删除空目录
 

小提示:
(1)在Windows中如果想创建一个目录,就只能创建一个目录里,在Linux的命令行下可以创建多个目录。
(2)rmdir只能删除空目录,目录里面有内容就不能删除。所以用的并不多,因为太菜了。
 
 
 

2.5 cp命令

目录处理命令:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -rp [原文件或目录] [目标目录]
        -r 复制目录
        -p 保留文件属性
功能描述:复制文件或目录
 
 
小提示:
(1) 如果复制文件,直接敲cp命令,可以同时复制多个文件。如果把一个文件拷贝到另一个位置,相当于在另一个位置创建了一个新文件,所以最后的时间就会变化。
如果把一个日志做一个备份,不希望文件最后的更改时间发生变化,可以加一个选项-p(可以保存复制文件的属性)可以复制的时候可以改名。
(2) 如果是目录,要增加一个选项-r
 
 
  

2.6 mv命令

目录处理命令:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名
 
 
小提示: 可以剪切一个或多个目录和文件,这个跟cp不一样,mv不需要加-r这个选项的。
 
 
 
 

2.7 rm命令

目录处理命令:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -rf [文件或目录]
          -r 删除目录
          -f 强制执行
功能描述:删除文件
 

小提示:
(1)windows有两种返回的机会:删除文件的时候 清除回收站的时候
(2)Linux当中只有一个反悔的机会(不加-r) 如果删除了可以恢复过来吗?恢复软件是有的,但是看情况,并不是所有的删除都能恢复过来的。如果要删除目录需要加选项-r。

小建议:
(1) 删除任何文件之前,做好相应的备份。
(2)一旦发现误删除的情况,尽量在确认情况以后,不要再对硬盘做过多的读写操作,包括查找等,做的读写操作越多,恢复的可能性越小。
(3)最好不要发生这样的事情。
 
 
 

3. 文件处理命令

3.1 touch命令

文件处理命令:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述: 创建空文件
 

提示: 如果创建一个新文件的时候想要起一个文件名带空格,需要用双引号括起来,否则相当于创建两个文件
 
 
 

3.2 cat命令

文件处理命令:cat
命令所在路径: /bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
                  -n 显示行号(number)
小提示:如果是一个很长的文件用more来查看,但是不能往上翻,这也是cat的一个缺点。
 
 
 

3.3 tac命令

文件处理命令:tac
命令所在路径: /usr/bin/tac
执行权限:所有用户
语法:tac [文件名]
功能描述:显示文件内容(反向列示)
 

小提示: 没有-n这一个参数,也就是不能显示行数了
 
 
 

3.4 more命令

文件处理命令:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]

在文本中进行操作:
  (空格)或f   翻页
 (Enter)       换行
 q或Q          退出
功能描述:分页显示文件内容
  
缺点: 不能向上翻页,less命令解决了这个缺陷。
 
 

3.5 less命令

文件处理命令:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(可向上翻页)

提示:less可以向上翻页,more有的功能基本都有,还可以使用pgup 上箭头进行操作、还有搜索功能:/搜索关键词 按n(next)可以向下搜索。
 
 
 

3.6 head命令

上面几个命令是对全文进行浏览的时候使用的命令,如果只想看前几行或者是后几行,可以使用head和tail命令
 
文件处理命令:head
命令所在路径:/usr/bin/head
执行权限:head [文件名]
功能描述:显示文件前面几行
                  -n 指定行数
 
 
小提示: head如果不指定前几行,而直接用head 加文件名那么默认显示前十行
 
 
 

3.7 tail命令

文件处理命令:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:显示文件后面几行
 -n 指定行数
  -f 动态显示文件末尾内容
 
 
小提示: tail如果没有指定行数,那么也是默认显示后十行。加-f可以动态的显示内容,如果日志发生了变化,那么就实时的显示内容。
 
 
 

4. 链接命令

4.1 ln命令

文件处理命令:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [原文件] [目标文件]
-s 创建软连接
功能描述:生成链接文件
 
 
举个栗子:
ln -s /etc/issue /tmp/issue.soft     创建文件/etc/issue的软连接 /tmp/issue.soft
ls /etc/issue /tmp/issue.hard        创建文件/etc/issue的硬链接/tmp/issue.hard
 
 
 

4.2 软链接特征

1 . lrwxrwxrwx l代表软链接
2 . 文件不大,因为只是一个链接文件
3 . /tmp/issue.soft -> /etc/issue 箭头指向源文件,用ls -l 查询的时候,可以看出来源文件是谁。
 
 
小提示: 软连接文件相当于Windows当中的快捷方式。连接文件的权限都是rwx,(新创建的软连接文件都是rwx)所有人可以操作的文件,但是这个权限不决定原文件的权限,类似于windows的快捷方式,方便快捷的找到经常使用的东西,方便进行规划,方便进行管理。软连接用的还是比较多的,文件大小还是比较小的。
 
举个栗子: 软连接类似在Windows中相当于把D盘的目录给你成一个快捷方式放在一个桌面上,方便进入目录查找文件
  
 
 

4.3 硬链接的特征

1 . 拷贝cp -p + 同步更新。比如在源文件中输入内容echo “www.lampbrother.net” >> /etc/issue,硬链接文件也会显示内容。
2 . 通过i结点识别
3 . 不能跨分区
4. 不能针对目录使用
 
 
小提示:

(1) 如何区分硬链接文件那???(硬链接文件和原文件的i结点相同),可以用ls –i 选项来区分,一个文件只有一个i节点,一个i节点不止对应一个文件,硬链接就是一个栗子,一个i节点映射到多个文件,把一个文件删除,另一个文件依然存在,这个跟软连接有所不同。为什么硬链接可以同步更新??? 对一个文件进行写操作的时候,在内核的层面进行操作,其实针对的是i结点,因为这个i节点同时映射到这两个文件,所以可以同步更新。

(2) 硬链接在Linux当中用的比较少,应用的情景并不多,如果在Linux服务器上写一个脚本,如果中途没写完,委托一个人,这时可以生成一个硬链接,存放在它经常使用的目录里面,一是可以同步更新,二相当于做一个备份(防止委托人误删除)。
 
 
 

4.4 软连接和硬链接明显的区别

 
(1)硬链接不可以跨分区,软连接可以跨分区。

(2)硬链接不能针对目录,软连接可以针对目录使用

猜你喜欢

转载自blog.csdn.net/weixin_46818279/article/details/108374662
今日推荐