命令速查:cd、ls、mkdir、cp、mv、rm、stat、touch、file
1. cd - 切换shell的工作目录
# 切换至指定的全路劲
cd /usr/local
# 切换至上级目录
cd ..
# 切换至前一个目录
cd -
# 切换至当前用户根目录
cd ~
2. ls - 显示目录内容
语法
ls [OPTION]... [FILE]...
示例
# 显示当前目录下的文件
ls
# 显示指定目录下的文件
ls /tmp
# 显示所有文件(包括隐藏文件和.以及..)
ls -a
# 显示几乎所有文件(不包括.和..,但包括隐藏文件)
ls -A
# 以长格式显示文件详细信息
ls -l
# 显示目录本身的信息
ls -d
# 反序显示文件信息
ls -r
# 以长格式显示文件信息,同时显示文件的inode号
ls -li
# 以长格式显示文件信息,同时以可读格式显示文件大小(e.g., 1K 234M 2G)
ls -lh
3. mkdir - 创建目录
示例
# 创建目录
mkdir /tmp/dir
# 创建目录,如果上层目录不存在则一并创建
mkdir -p /tmp/a/b/c
# 创建目录同时分配权限
mkdir -m 777 /tmp/test
4. cp - 复制文件或目录
语法
cp 原文件 目标文件
cp 原文件 目标目录(将文件复制到目标目录下)
cp 原目录 目标目录(将目录及目录下的文件一并复制到目标目录下)
示例
cp的用法与mv基本一致,参考mv部分。
5. mv - 移动文件或者重命名文件(在同一目录下移动即重命名)
语法
mv 原文件 目标文件
mv 原文件 目标目录(将文件移动到目标目录下)
mv 原目录 目标目录(将目录及目录下的文件一并移动到目标目录下)
示例
当前目录下有2个字目录mydir1,mydir2,mydir1中有a,b,c三个文件,mydir2中有d,e,f三个文件
[root@localhost ~]# tree
.
├── mydir1
│ ├── a
│ ├── b
│ └── c
└── mydir2
├── d
├── e
└── f
2 directories, 6 files
1.将mydir1/a移动至mydir2,文件名改为aa
[root@localhost ~]# mv mydir1/a mydir2/aa
[root@localhost ~]# tree
.
├── mydir1
│ ├── b
│ └── c
└── mydir2
├── aa
├── d
├── e
└── f
2 directories, 6 files
2.将mydir2/aa移动至mydir1
[root@localhost ~]# mv mydir2/aa mydir1
[root@localhost ~]# tree
.
├── mydir1
│ ├── aa
│ ├── b
│ └── c
└── mydir2
├── d
├── e
└── f
2 directories, 6 files
3.将mydir1下的所有文件移动至mydir2
[root@localhost ~]# mv mydir1/* mydir2
[root@localhost ~]# tree
.
├── mydir1
└── mydir2
├── aa
├── b
├── c
├── d
├── e
└── f
2 directories, 6 files
4.将mydir2及其下的所有文件移动至mydir1
[root@localhost ~]# mv mydir2 mydir1
[root@localhost ~]# tree
.
└── mydir1
└── mydir2
├── aa
├── b
├── c
├── d
├── e
└── f
2 directories, 6 files
6. rm - 删除文件或目录
示例
rm -rf 文件或目录
7. stat - 显示文件或文件系统状态
示例
显示文件状态
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1241 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33574991 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2018-05-22 16:18:36.937075491 +0800
最近更改:2018-05-22 16:18:36.938075472 +0800
最近改动:2018-05-22 16:18:36.938075472 +0800
创建时间:-
以简洁方式显示文件状态
[root@localhost ~]# stat -t anaconda-ks.cfg
anaconda-ks.cfg 1241 8 8180 0 0 fd00 33574991 1 0 0 1526977116 1526977116 1526977116 0 4096
显示文件系统状态
[root@localhost ~]# stat -f anaconda-ks.cfg
文件:"anaconda-ks.cfg"
ID:fd0000000000 文件名长度:255 类型:xfs
块大小:4096 基本块大小:4096
块:总计:4452864 空闲:4040621 可用:4040621
Inodes: 总计:8910848 空闲:8880246
以简洁方式显示文件系统状态
[root@localhost ~]# stat -ft anaconda-ks.cfg
anaconda-ks.cfg fd0000000000 255 58465342 4096 4096 4452864 4040614 4040614 8910848 8880245
7. touch - 修改文件时间戳
语法
touch [OPTION]... FILE...
特殊用法:不加选项时,则(先)创建文件
示例
首先查看当前文件状态
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1241 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33574991 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2018-05-22 16:18:36.937075491 +0800
最近更改:2018-05-22 16:18:36.938075472 +0800
最近改动:2018-05-22 16:18:36.938075472 +0800
创建时间:-
修改访问时间为指定的时间
[root@localhost ~]# touch -at 201701020304.56 anaconda-ks.cfg
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1241 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33574991 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2017-01-02 03:04:56.000000000 +0800
最近更改:2018-05-22 16:18:36.938075472 +0800
最近改动:2018-06-07 14:36:14.159058352 +0800
创建时间:-
修改访问时间和修改时间为指定的时间
[root@localhost ~]# touch -t 201801020304.56 anaconda-ks.cfg
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1241 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33574991 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2018-01-02 03:04:56.000000000 +0800
最近更改:2018-01-02 03:04:56.000000000 +0800
最近改动:2018-06-07 14:36:36.443880082 +0800
创建时间:-
修改访问时间为当前时间
[root@localhost ~]# touch -a anaconda-ks.cfg
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1241 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33574991 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2018-06-07 14:36:51.373760648 +0800
最近更改:2018-01-02 03:04:56.000000000 +0800
最近改动:2018-06-07 14:36:51.373760648 +0800
创建时间:-
修改访问时间和修改时间为当前时间
[root@localhost ~]# touch anaconda-ks.cfg
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1241 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33574991 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2018-06-07 14:37:08.450624040 +0800
最近更改:2018-06-07 14:37:08.450624040 +0800
最近改动:2018-06-07 14:37:08.450624040 +0800
创建时间:-
8. file - 识别文件类型,辨别文件编码格式。
它通过查看文件的头部信息获取文件类型,而不是像windows通过扩展名来确定文件类型,linux中文件名的后缀只是辅助识别文件类型(规范),并不能真正决定文件的类型。
示例
[root@VM_0_171_centos ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text