1 touch 命令
touch命令用于创建空白文件或设置文件的时间
格式为“touch [选项] [文件]
该命令的难点:设置文件内容的修改时间,文件权限或属性的更改时间与文件的读取时间上面
touch
-a 仅修改读取时间
-m 仅修改修改时间
-d 同时修改atime 与 mtime
做一个例题,创建一个空白文件test.txt,查看文件时间,追加内容1234到这个文件,并将时间修改为2018-08-08 12:22
[root@bogon ~]# touch test.txt
[root@bogon ~]# ls -l test.txt
-rw-r--r--. 1 root root 124 Sep 30 22:57 test.txt
[root@bogon ~]# echo "1234" >>test.txt
[root@bogon ~]# ls -l test.txt
-rw-r--r--. 1 root root 129 Sep 30 22:58 test.txt
[root@bogon ~]# more test.txt
snvjn \snvk\nvn \nvj ,
vmsckzojvjdjnsvjmvkdpda.vbdta/bsdd
jvdsan;;h;iojnmgbf
n,gbnbnvbxjfhdk\;,cvnmk vdgc\
mvbnkbvedgv;c;
1234
[root@bogon ~]# touch -d "2018-08-08 12:22" test.txt
[root@bogon ~]# ls -l test.txt
-rw-r--r--. 1 root root 129 Aug 8 12:22 test.txt
[root@bogon ~]#
mkdir 命令
mkdir命令用于创建空白目录
格式“mkdir [选项] 目录”
在linux系统中,mkdir命令还可以结合-p参数来递归创造出具有嵌套层叠关的文件目录
[root@bogon ~]# mkdir -p a/s/d/f/g
[root@bogon ~]# cd a
[root@bogon a]# cd s
[root@bogon s]# cd d
[root@bogon d]#
3 cp命令
cp 命令用于复制文件或目录
格式“cp [选项] 源文件 目标文件”
1 如果目标文件是目录,则会把原文件复制到该目录中
2 如果目标文件是普通文件,则会询问是否覆盖它,此操作只对root用户有效,普通用户不会提示的,所以普通用户都加上-i来使用
3 如果目标文件不存在,则执行正常的复制操作
将上文创建的test.txt文件复制并命名为tt
[root@bogon ~]# cp test.txt tt
[root@bogon ~]# ls -l
total 32
drwxr-xr-x. 3 root root 15 Sep 30 23:44 a
-rw-------. 1 root root 1692 Sep 15 09:24 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 Sep 30 16:46 install.log
-rw-r--r--. 1 root root 41 Aug 8 12:11 liu
-rw-r--r--. 1 root root 4 Sep 30 17:58 t1
-rw-r--r--. 1 root root 4 Sep 30 17:58 t2
-rw-r--r--. 1 root root 129 Aug 8 12:22 test.txt
-rw-r--r--. 1 root root 129 Oct 1 00:36 tt
-rw-r--r--. 1 root root 114 Sep 30 17:59 t.tar.gz
-rw-r--r--. 1 root root 20 Aug 12 2012 ttyy
4 mv 命令
mv命令用于剪切文件或将文件重命名
格式“mv [选项] 源文件[目标路径|目标文件名]”
剪切操作会默认把原文件删除,只保留剪切后的文件,如果在同一个目录中对其剪切操作,就是对其重命名
-f 是强制删除的意思,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件已经存在,会询问是否覆盖
-v 若目标文件已经存在,且source 比较新,才会更新
例一 复制一个大文件,在创建一个目录,将文件移到目录中
[root@bogon ~]# cp liu t1
cp: overwrite ‘t1’? y
[root@bogon ~]# mkdir drew
[root@bogon ~]# mv liu drew
[root@bogon ~]# ls -l
total 28
drwxr-xr-x. 3 root root 15 Sep 30 23:44 a
-rw-------. 1 root root 1692 Sep 15 09:24 anaconda-ks.cfg
-rw-r--r--. 1 root root 129 Aug 8 12:22 dir1
drwxr-xr-x. 2 root root 17 Oct 1 09:40 drew
-rw-r--r--. 1 root root 0 Sep 30 16:46 install.log
-rw-r--r--. 1 root root 41 Oct 1 09:38 t1
-rw-r--r--. 1 root root 4 Sep 30 17:58 t2
-rw-r--r--. 1 root root 129 Oct 1 00:36 tt
-rw-r--r--. 1 root root 114 Sep 30 17:59 t.tar.gz
-rw-r--r--. 1 root root 20 Aug 12 2012 ttyy
[root@bogon ~]# ls -l drew
total 4
-rw-r--r--. 1 root root 41 Aug 8 12:11 liu
将文件drew重命名为directory
[root@bogon ~]# mv drew directory
[root@bogon ~]# ls -l
total 28
drwxr-xr-x. 3 root root 15 Sep 30 23:44 a
-rw-------. 1 root root 1692 Sep 15 09:24 anaconda-ks.cfg
-rw-r--r--. 1 root root 129 Aug 8 12:22 dir1
drwxr-xr-x. 2 root root 17 Oct 1 09:40 directory
-rw-r--r--. 1 root root 0 Sep 30 16:46 install.log
-rw-r--r--. 1 root root 41 Oct 1 09:38 t1
-rw-r--r--. 1 root root 4 Sep 30 17:58 t2
-rw-r--r--. 1 root root 129 Oct 1 00:36 tt
-rw-r--r--. 1 root root 114 Sep 30 17:59 t.tar.gz
-rw-r--r--. 1 root root 20 Aug 12 2012 ttyy
例3 创建两个文件,全部移到 directory 中去
[root@bogon ~]# touch bashrc1
[root@bogon ~]# touch bashrc2
[root@bogon ~]# mv bashrc1 bashrc2 directory
[root@bogon ~]# ls -l directory
total 4
-rw-r--r--. 1 root root 0 Oct 1 10:04 bashrc1
-rw-r--r--. 1 root root 0 Oct 1 10:04 bashrc2
-rw-r--r--. 1 root root 41 Aug 8 12:11 liu
注意:如果有多个文件或目录,则最后一个文件一定是目录,意思是所有数据移到目录的意思
5 rm 命令
rm命令用于删除文件或目录
在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除
操作,如果不想总是看到这种反复的确认信息,可在 rm 命令后跟
上-f 参数来强制删除。另外,想要删除一个目录,需要在 rm 命令
后面一个-r 参数才可以,否则删除不掉。我们来尝试删除前面创建
的 t1 和 t2 两个文件
[root@bogon ~]# rm t1
rm: remove regular file ‘t1’? y
[root@bogon ~]# rm -f t2
[root@bogon ~]#
将上面创建的directory目录删掉
[root@bogon ~]# rm directory
rm: cannot remove ‘directory’: Is a directory
[root@bogon ~]# rm -r directory
rm: descend into directory ‘directory’? y
rm: remove regular file ‘directory/liu’? y
rm: remove regular empty file ‘directory/bashrc1’? y
rm: remove regular empty file ‘directory/bashrc2’? y
rm: remove directory ‘directory’? y
[root@bogon ~]#
要一直按y,这是一种保护操作,如果不想继续,可以用Ctrl+C来结束操作
6 dd命令
dd 命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。当然如果愿意的话,还可以在复制过程中转换其中的数据。Linux 系统中有一个名为/dev/zero 的设备文件,每次在课堂上解释它时都充满哲学理论的色彩。因为这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,我们把它称之为吐零机,因此可以使用它作为 dd 命令的输入文件,来生成一个指定大小的文件。dd 命令的参数及其作用
参数 作用
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数
例如我们可以用 dd 命令从/dev/zero 设备文件中取出一个大小为
560MB 的数据块,然后保存成名为 560_file 的文件。
[root@bogon ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 24.1294 s, 24.3 MB/s
[root@bogon ~]#
dd 命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设
备中的光盘制作成 iso 格式的镜像文件,在 Windows 系统中需要
借助于第三方软件才能做到,但在 Linux 系统中可以直接使用 dd
命令来压制出光盘镜像文件,将它变成一个可立即使用的 iso 镜像
[root@bogon ~]# dd if=/dev/cdrom of=CentOS-server-7.0-x86_64-Nebulalinux.Com.iso
^C2367457+0 records in
2367456+0 records out
1212137472 bytes (1.2 GB) copied, 31.3481 s, 38.7 MB/s
7 file 命令
file 命令用于查看文件具体类型
在 Linux 系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用 file 命令来查看文件类型了。
[root@bogon ~]# file /dev/sda
/dev/sda: block special