Linux命令系列之

1. 文件及目录属性查看

linux系统文件类型

  • '-' 普通文件
  • d 目录文件directory
  • b 块设备文件
  • c 字符设备character
  • l 符号链接文件link
  • p 管道文件pipe
  • s 套接字文件socket

1.1 查看文件状态 - stat

stat命令:查看文件相关信息:metadata,data

  • 文件时间戳
    • atime, access time 访问时间,读取文件内容
    • mtime, modify time 修改时间,改变文件内容(数据)
    • ctime, change time 改变时间,元数据发生改变

1.2 确定文件内容 - file

file命令:检查文件包含类型,确定适当的打开命令或应用程序使用

用法和常用选项:

file [options] <filename>...
常用选项:
  -b     #列出文件辨识结果时,不显示文件名称
  -f filelist #列出文件filelist中文件名的文件类型
  -F     #使用指定分隔符号替换输出文件名后默认的“:”分隔符
  -L     #查看对应软连接对应文件的文件类型
  --help #显示命令在线帮助

1.3 查看文件类型 - type

1.4 查看文件详细信息 - ls -l

ls命令:可以列出当前目录的内容或指定目录内容
用法:

ls [option] [files or dires]
常见选项:
-a  显示包含隐藏文件
-l  显示详细信息
-R  递归显示子目录信息
-ld 显示目录和字符连接信息
-1  文件分行显示
-S  文件按从大到小排序显示
-t  按mtime排序显示
-u  配合-t,显示并按atime从新到旧排序
-U  按目录存放顺序显示
-X  按文件后缀排序
-F  对不同类型文件显示附加不同的符号:*/+>@|
-C  文件多时,以多列方式显示文件

ls查看不同后缀文件时的颜色定义: /etc/DIR_COLORS @LS_COLORS变量定义

1.5 查看文件或目录大小 - du

1.6 显示目录树 - tree

用法和选项:

tree [options]... dir
选项:
  -d          #只显示目录
  -L level    #指定显示的层级数目
  -P pattern  #只显示由指定wild-card pattern匹配到的路径

1.7 显示当前工作目录 - pwd

pwd命令:显示当前shell的绝对路径,printing working directory

pwd [option]
选项:
-P 显示真实物理路径
-L 显示连接路径

1.8 更改工作目录 - cd

cd命令:切换改变工作目录,change directory

cd [option] dir
#选项:
-P 切换至物理路径,而非软链接目录
#用法:
cd ..  切换至当前目录的父目录
cd ~   切换至当前用户家目录
cd -   切换至上一次的工作目录

环境变量:

  • PWD 当前目录路径
  • OLDPWD 上一次目录路径

2. 文件或目录操作

2.1 创建空文件和刷新访问时间 - touch

touch - 命令可以用来创建空文件或刷新文件的时间
用法和选项:

touch [options]... file...
选项:
  -a  # 仅改变atime和ctime
  -m  # 仅改变mtime和ctime
  -t  # [[CC]YYMMDDhhmm[.ss]]指定atime和mtime的时间戳
  -c  # 如果文件不存在,则不予创建

2.2 复制文件和目录 - cp

cp命令-copy,可以实现文件或目录的复制
用法和选项:

cp [options]... [-T] source dest
cp [options]... source... derectory
cp [options]... -t directory source...
选项:
  -i  #如果目标已存在,覆盖前提示是否覆盖
  -n  #不覆盖,注意两者顺序
  -r,-R #递归复制目录及内部的所有内容
  -a  #归档,相当于-dR --preserv=all,常用于备份功能
  -d --no-dereference --preserv=links  #不复制原文件,只复制链接名
  -p  #等同--preserv=mode,ownership,timestamp
  -v --verbose  #输出处理过程
  -f --force   #强制复制
  -u --update  #只复制源比目标新文件或目标不存在的文件
  -b  #目标存在,覆盖前先备份,只保留最近的一个备份
  --backup=numbered #目标存在,覆盖前先备份加数字后缀,可以保留多个版本
  --preserv[=ATTR_LIST]
  		mode:权限
		ownership:属主属组
		timestamp
		links
		xattr
		context
		all

2.3 移动和重命名文件 - mv

mv命令-move,可以实现文件或目录的移动和改名

  • 同一分区移动数据,速度很快,数据位置没有变化
  • 不同分区移动数据,速度相对慢,数据位置发生变化

用法和选项:

mv [options]... [-T] source dest
mv [options]... source... directory
mv [options].. -t directory source...
选项:
  -i  #交互式
  -f  #强制
  -b  #目标存在,覆盖前先备份

利用rename命令可以批量修改文件名
格式:rename [options] <expression> <replacement> <file>...

2.4 删除文件和目录 - rm

rm命令-remove,可以删除文件(危险的命令,慎用)
用法和选项:

rm [options]... file...
选项:
  -i  #交互式
  -f  #强制删除
  -r  #递归删除目录和文件
  --no-preserve-root  #删除/

rm删除了文件,仍然可能被恢复,在安全要求较高的场合下,可以使用shred安全删除文件

shred [option]... file...
选项:
  -z  # 最后一次覆盖添加0,以隐藏覆盖操作
  -v  # 能够显示操作进度
  -u  # 覆盖后截断并删除文件
  -n  # 指定覆盖文件内容的次数(默认为3)

2.5 创建和删除目录 - mkdir rmdir

mkdir创建目录

mkdir [options]... dir
选项:
  -p       #存在时不报错,且可自动创建所需的各目录
  -v       #显示详细信息
  -m mode  #创建目录时直接指定权限

rmdir删除目录

rmdir [options]... dir
选项:
  -p  #递归删除父空目录
  -v  #显示详细信息

备注:rmdir只能删除空目录,如果想删除非空目录,可以使用rm -r命令,递归删除目录树。

2.6 创建连接文件 - ln

格式:

ln filename [linkname]
选项:
  -s  #创建软连接

实例:创建文件和目录软连接文件

[root@centos7 data]# ln -sv /etc/hostname myfile
[root@centos7 data]# ll
lrwxrwxrwx.  1 root root    13 8月  27 18:40 myfile -> /etc/hostname
[root@centos7 data]# ln -sv /home/WinS mydir
[root@centos7 data]# ll
lrwxrwxrwx. 1 root root   13 8月  27 18:37 mydir -> /home/WinS
原文地址:https://www.cnblogs.com/hony625/p/15042378.html