cd 命令,是 Change Directory 的缩写,用来切换工作目录。
1、cd 命令的基本格式如下:
[root@localhost ~]# cd [相对路径或绝对路径]
除此之外,cd 命令后面可以跟一些特殊符号,表达固定的含义,如表 1 所示:
特殊符号 | 作 用 |
---|---|
~ | 代表当前登录用户的主目录 |
~用户名 | 表示切换至指定用户的主目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
.. | 代表上级目录 |
2、“cd ~”或者" cd ":
回到主目录。root或者home目录。
3、“cd -” :
回到刚刚的目录。
4、pwd 命令用于显示当前所在的目录
5、"cd ."或者“cd ..”:
到当前目录和到上一级目录。
pwd 命令,是 Print Working Directory (打印工作目录)的缩写,功能是显示用户当前所处的工作目录
1、whoami 命令用于确定当前登陆的用户
[root@localhost ~]# whoami
root
[root@localhost ~]# pwd
/root
2、注意,在 [demo@localhost ~]#
这一部分中,虽然也显示出当前所在的目录(例如 ~ 表示主目录),但此位置只会列出整个路径中最后的那一个目录
[root@localhost ~]# cd /var/mail
[root@localhost mail]# pwd
/var/mail
我们知道,不同的目录中,目录名是可以重复的,因此,仅通过 [root@localhost mail]
中的 mail,根本无法判断其所在的具体位置,而使用 pwd 命令,可以输出当前所在目录的完整路径。
ls 命令,list 的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。
1、基本格式:
[root@localhost ~]# ls [选项] 目录名称
2、命令常用选项:
选项 | 功能 |
---|---|
-a | 显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。 |
-A | 显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。 |
-d | 仅列出目录本身,而不是列出目录内的文件数据。 |
-f | ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。 |
-F | 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件。 |
-h | 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。 |
-i | 显示 inode 节点信息。 |
-l | 使用长格式列出文件和目录信息。 |
-n | 以 UID 和 GID 分别代替文件用户名和群组名显示出来。 |
-r | 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。 |
-R | 连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。 |
-S | 以文件容量大小排序,而不是以文件名排序。 |
-t | 以时间排序,而不是以文件名排序。 |
--color=never --color=always --color=auto |
never 表示不依据文件特性给予颜色显示。 always 表示显示颜色,ls 默认采用这种方式。 auto 表示让系统自行依据配置来判断是否给予颜色。 |
--full-time | 以完整时间模式 (包含年、月、日、时、分)输出 |
--time={atime,ctime} | 输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。 |
注意,当 ls 命令不使用任何选项时,默认只会显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体类型给文件名配色(蓝色显示目录,白色显示一般文件)。除此之外,如果想使用 ls 命令显示更多内容,就需要使用表 1 相应的选项。
3、ls -al
[root@www ~]# ls -al ~
total 156
drwxr-x--- 4 root root 4096 Sep 24 00:07 .
drwxr-xr-x 23 root root 4096 Sep 22 12:09 ..
-rw------- 1 root root 1474 Sep 4 18:27 anaconda-ks.cfg
-rw------- 1 root root 955 Sep 24 00:08 .bash_history
-rw-r--r-- 1 root root 24 Jan 6 2007 .bash_logout
-rw-r--r-- 1 root root 191 Jan 6 2007 .bash_profile
-rw-r--r-- 1 root root 176 Jan 6 2007 .bashrc
drwx------ 3 root root 4096 Sep 5 10:37 .gconf
-rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log
-rw-r--r-- 1 root root 5661 Sep 4 18:25 install.log.syslog
通过使用 -a,你会看到以 . 为开头的几个文件,以及目录文件 (.)、(..)、.gconf 等等,这些都是隐藏的目录和文件。其中,目录文件名以蓝色显示,一般文件以白色显示。注意,Linux 系统中,隐藏文件不是为了把文件藏起来不让其他用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非必要,不要乱动!所以,不论是 Linux 还是 Windows 都可以非常简单地査看隐藏文件,只是在 Windows 中绝大多数的病毒和木马都会把自己变成隐藏文件,给用户带来了错觉,以为隐藏文件是为了不让用户发现。
不仅如此,这里的 ls 命令还使用了 -l 选项,因此才显示出了文件的详细信息,此选项显示的这 7 列的含义分别是:
- 第一列:规定了不同的用户对文件所拥有的权限,具体权限的含义将在后续章节中讲解。
- 第二列:引用计数,文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
- 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
- 第四列:所属组,默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
- 第五列:大小,默认单位是字节。
- 第六列:文件修改时间,文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
- 第七列:文件名或目录名。
4、如果我们想查看某个目录的详细信息,例如:
[root@localhost ~]# ls -l /root/
总用量44
-rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg
-rw-r-r--.1 root root 24772 1 月 14 18:17 install.log
-rw-r-r--.1 root root 7690 1 月 14 18:17 install.log.syslog
这个命令会显示目录下的内容,而不会显示这个目录本身的详细信息。如果想显示目录本身的信息,就必须加入 "-d" 选项。
[root@localhost ~]# ls -ld /root/
dr-xr-x---.2 root root 4096 1 月 20 12:30 /root/
5、"ls-l" 显示的文件大小是字节,但是我们更加习惯的是千字节用 KB 显示,兆字节用 MB 显示,而 "-h" 选项就是按照人们习惯的单位显示文件大小的, 显示KB或者MB
[root@localhost ~]# ls -lh
总用量44K
-rw-------.1 root root 1.2K 1 月 14 18:18 anaconda-ks.cfg
-rw-r-r--.1 root root 25K 1 月 14 18:17 install.log
-rw-r-r--.1 root root 7.6K 1 月 14 18:17 install.log.syslog
mkdir 命令,是 make directories 的缩写,用于创建新目录
1、基本格式:
[root@localhost ~]# mkdir [-mp] 目录名
2、使用 -p 选项递归建立目录。
[root@localhost ~]# mkdir lm/movie/jp/cangls
mkdir:无法创建目录"lm/movie/jp/cangls":没有那个文件或目录
[root@localhost ~]# mkdir -p lm/movie/jp/cangls
3、使用 -m 选项自定义目录权限。
[root@localhost ~]# mkdir -m 711 test2
[root@localhost ~]# ls -l
仔细看上面的权限部分,也就是 ls 命令输出的第一列数据(绿色部分),test 和 test1 目录由于不是使用 -m 选项设定访问权限,因此这两个目录采用的是默认权限(这里的默认权限值是 755,后续章节再详细介绍默认权限)。而在创建 test2 时,使用了 -m 选项,通过设定 711 权限值来给予新的目录 drwx--x--x 的权限,有关权限值的具体含义也放到后续章节介绍。
rmdir(remove empty directories 的缩写)命令用于删除空目录
1、基本格式:
[root@localhost ~]# rmdir [-p] 目录名
-p 选项用于递归删除空目录。
2、rmdir 命令可以使用 -p 选项递归删除目录。
[root@localhost ~]# rmdir -p lm/movie/jp/cangls
此方式先删除最低一层地目录(这里先删除 cangls),然后逐层删除上级目录,删除时也需要保证各级目录是空目录。
3、rmdir 命令的作用十分有限,因为只能刪除空目录,所以一旦目录中有内容,就会报错。例如:
[root@localhost # mkdir test
#建立测试目录
[root@localhost ~]# touch test/boduo
[root@localhost ~]# touch test/longze
#在测试目录中建立两个文件
[root@localhost ~]# rmdir test
rmdir:删除"test"失败:目录非空
touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),此命令更重要的功能是修改文件的时间参数(但当文件存在时,会修改此文件的时间参数)。
1.Linux 系统中,每个文件主要拥有 3 个时间参数(通过 stat 命令进行查看),分别是文件的访问时间、数据修改时间以及状态修改时间:
2、基本格式:
[root@localhost ~]# touch [选项] 文件名
选项:
- -a:只修改文件的访问时间;
- -c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。
- -d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。
- -m:只修改文件的数据修改时间。
- -t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为
YYMMDDhhmm
。
可以看到,touch 命令可以只修改文件的访问时间,也可以只修改文件的数据修改时间,但是不能只修改文件的状态修改时间。因为,不论是修改访问时间,还是修改文件的数据时间,对文件来讲,状态都会发生改变,即状态修改时间会随之改变(更新为操作当前文件的真正时间)。
[root@localhost ~]#ll --time=atime bols
#查看文件的访问时间
-rw-r--r-- 1 root root 0 Sep 25 21:23 bols
#文件上次的访问时间为 9 月 25 号 21:23
[root@localhost ~]#touch bols
[root@localhost ~]#ll --time=atime bols
-rw-r--r-- 1 root root 0 May 15 16:36 bols
#而如果文件已经存在,则也不会报错,只是会修改文件的访问时间。
[root@localhost ~]# touch -d "2017-05-04 15:44" bols
[root@localhost ~]# ll bols; ll --time=atime bols; ll --time=ctime bols
-rw-r--r-- 1 root root 0 May 4 2017 bols
-rw-r--r-- 1 root root 0 May 4 2017 bols
-rw-r--r-- 1 root root 0 Sep 25 21:40 bols
#ctime不会变为设定时间,但更新为当前服务器的时间
--time={atime,ctime} | 输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。 |