0
点赞
收藏
分享

微信扫一扫

Linux文件操作命令(touch、file、cp、mv、rm、ln、stat、alias、unalias)

村里搬砖的月野兔 2022-03-25 阅读 98
linux运维

目录

touch命令(新建文件、更改文件的创建时间)

file命令(显示文件类型)

cp 命令(复制)

mv 命令(剪切)

rm 命令(删除)

 ln 命令 (创建链接文件的命令)

stat 命令 (查看文件状态)

alias 命令(用于设置指令的别名。)

unalias命令(用于删除别名)


Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"kong.txt",输入如下命令:

[root@zhao ~]# touch kong.txt
[root@zhao ~]# ls
aa  anaconda-ks.cfg  hubei  hunan  kong.txt  lianxi  meinv  shanghai  shuaige

使用指令"touch"修改文件"kong.txt"的时间属性为当前系统时间,输入如下命令:

[root@zhao ~]# touch kong.txt  ##修改文件的时间属性 

首先,使用ls命令查看kong.txt文件的属性,如下所示:                                                                   执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:

[root@zhao ~]# ls -l kong.txt  #查看文件的时间属性
-rw-r--r--. 1 root root 0 3月   4 11:46 kong.txt
[root@zhao ~]# touch kong.txt   #修改文件时间属性为当前系统时间  
[root@zhao ~]# ls -l kong.txt    #查看文件的时间属性
-rw-r--r--. 1 root root 0 3月   4 12:38 kong.txt

Linux file命令用于辨识文件类型。

通过file指令,我们得以辨识该文件的类型

linux里不要被后缀名迷惑了,可以使用file命令查看文件的类型
file 查看文件的类型
    empty  空文件
    directory 目录=文件夹
    symbolic link  符号链接=快捷方式

  • text/plain:普通文本。
  • text/html:HTML文本。
  • application/pdf:PDF文档。
  • application/msword:Word文档。
  • image/png:PNG图片。
  • mage/jpeg:JPEG图片。
  • application/x-tar:TAR文件。
  • application/x-gzip:GZIP文件

参数

  • -b  列出辨识结果时,不显示文件名称。
  • -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
  • -L  直接显示符号连接所指向的文件的类别。
  • -m<魔法数字文件>  指定魔法数字文件。
  • -v  显示版本信息。
  • -z  尝试去解读压缩文件的内容。
  • [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

显示文件类型

[root@zhao ~]# file kong.txt
kong.txt: empty
[root@zhao ~]# file kong.txt  #不显示文件名称
kong.txt: empty
[root@zhao ~]# file -i  kong.txt  #显示MIME类型
kong.txt: inode/x-empty; charset=binary

显示符号链接的文件类型

[root@zhao ~]# ls -l /var/lock
lrwxrwxrwx. 1 root root 11 3月   1 18:17 /var/lock -> ../run/lock

[root@zhao ~]# file /var/lock
/var/lock: symbolic link to `../run/lock'

[root@zhao ~]# file -L /var/lock
/var/lock: directory

(英文全拼:copy file)命令主要用于复制文件或目录。

cp命令的复制可以1.单个文件的复制、2.多个文件的复制、3.文件的复制,粘贴,重命名一步到位

[root@zhao lianxi]# touch changsha.txt
[root@zhao lianxi]# mkdir hunan
[root@zhao lianxi]# ls
1.txt  2.txt  3.txt  changsha.txt  hunan  shuaige
[root@zhao lianxi]# ls hunan
[root@zhao lianxi]# cp changsha.txt hunan
                        源文件      目的地
[root@zhao lianxi]# ls hunan
changsha.txt

 可以多个文件复制

[root@zhao lianxi]# ls hunan
changsha.txt
[root@zhao lianxi]# touch wuhan.txt 
[root@zhao lianxi]# ls
changsha.txt  hunan  shuaige  wuhan.txt
[root@zhao lianxi]# cp *.txt hunan
cp:是否覆盖"hunan/changsha.txt"? y
[root@zhao lianxi]# ls hunan
changsha.txt  wuhan.txt

使用指令 cp 将当前目录复制到新目录shuaige下,输入如下命令:

#目录与目录之间的复制需要加 -r或者-R

[root@zhao lianxi]# ls
1.txt  2.txt  3.txt  shuaige
[root@zhao lianxi]# cp -r 1.txt 2.txt 3.txt shuaige   #目录与目录之间的复制需要加 -r或者-R
[root@zhao lianxi]# ls shuaige
1.txt  2.txt  3.txt

复制到目的地并且重命名

[root@zhao lianxi]# ls shuaige
1.txt  2.txt  3.txt
[root@zhao lianxi]# cp changsha.txt shuaige/cs.txt
[root@zhao lianxi]# ls shuaige
1.txt  2.txt  3.txt  cs.txt

cp命令和绝对路径的使用

[root@localhost lianxi]# cp  /etc/passwd   .   将/etc/passwd 文件复制到当前目录下
[root@localhost lianxi]# cp  /etc/passwd  /lianxi/hunan
[root@localhost lianxi]# ls /lianxi/hunan
fengdeyong.txt  feng.txt  passwd  songyuxiao.txt  syx.txt  weijunlin.txt

(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法     

mv [options] source dest
mv [options] source... directory

参数说明

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

mv 参数设置与运行结果


(英文全拼:remove)命令用于删除一个文件或者目录

Linux里默认是没有回收站,删除后不能通过回收站恢复,可以使用一些恢复软件恢复。

删除的文件如果不存在,直接忽略不报错,也不给予任何提醒。

语法 

rm [options] name... 

参数

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

 " *  "   、" ? "是通配符
rm -rf -sc*  -接开头字母或字样加*号代表一系列删除

[root@zhao lianxi]# rm -rf sc*
[root@zhao lianxi]# ls
1.txt  2.txt  3.txt  changsha.txt  create_user.sh  hunan  shuaige  wuhan.txt

 ?通配符  一个?符只能接一个字符

[root@zhao ~]# ls
aa  anaconda-ks.cfg  bbb.txt  lianxi  shanghai  xiang
[root@zhao ~]# mkdir aab acd ac acc add
[root@zhao ~]# ls
aa  aab  ac  acc  acd  add  anaconda-ks.cfg  bbb.txt  lianxi  shanghai  xiang
[root@zhao ~]# rm -rf a?
[root@zhao ~]# ls
aab  acc  acd  add  anaconda-ks.cfg  bbb.txt  lianxi  shanghai  xiang
[root@zhao ~]# rm -rf a??
[root@zhao ~]# ls
anaconda-ks.cfg  bbb.txt  lianxi  shanghai  xiang

 rmdir 用来删除空文件夹,非空的文件夹不能删除
 

[root@zhao ~]# ls
aa  anaconda-ks.cfg  bbb.txt  lianxi  shanghai  xiang
[root@zhao ~]# ls aa
bb
[root@zhao ~]# rmdir aa
rmdir: 删除 "aa" 失败: 目录非空

ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

语法:

     ln [参数][源文件或目录][目标文件或目录]

软链接

  • 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
  • 2.软链接可以 跨文件系统 ,硬链接不可以
  • 3.软链接可以对一个不存在的文件名进行链接
  • 4.软链接可以对目录进行链接

硬链接

  • 1.硬链接,以文件副本的形式存在。但不占用实际空间。
  • 2.不允许给目录创建硬链接
  • 3.硬链接只有在同一个文件系统中才能创建

必要参数

  • -b 删除,覆盖以前建立的链接
  • -d 允许超级用户制作目录的硬链接
  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -n 把符号链接视为一般目录
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程

选择参数

  • -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
  • -V "-V<备份方式>"或"--version-control=<备份方式>"
  • --help 显示帮助信息
  • --version 显示版本信息

查看 lianxi 目录的inode内容内容,可以用以下命令:

inode 的内容

inode 包含文件的元信息,具体来说有以下内容:

  • 文件的字节数
  • 文件拥有者的 User ID
  • 文件的 Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳,共有三个:ctime 指 inode 上一次变动的时间,mtime 指文件内容上一次变动的时间,atime 指文件上一次打开的时间。
  • 链接数,即有多少文件名指向这个 inode
  • 文件数据 block 的位置

用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。

语法:

alias [别名]=[指令名称]


   

### 别名可以自己定义,但是不能和系统里的已经存在的命令冲突,如果有冲突,会导致原命令不可用###

###定义别名的时候使用引号:是因为当定义别名的时候,命令里有选项 中间有空格,就需要使用双引号或者单引号扩起来###


Linux unalias命令用于删除别名。

unalias为shell内建指令,可删除别名设置。

语法:

unalias [-a][别名]

参数

  • -a  删除全部的别名。
举报

相关推荐

0 条评论