cd命令

cd(英文全拼:change directory)命令用于改变当前工作目录的命令,切换到指定的路径

若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外, ~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录

  • cd [dirName]

    dirName:要切换的目标目录,可以是相对路径或绝对路径

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 换到绝对路径:指定完整的目录路径来切换到目标目录
    [moe@master ~]$ cd /dev/block
    [moe@master block]$ pwd
    /dev/block

    # 切换到相对路径:指定相对于当前目录的路径来切换到目标目录
    [moe@master dev]$ cd disk/by-id/
    [moe@master by-id]$ pwd
    /dev/disk/by-id
  • 切换到上级目录:使用 .. 表示上级目录,可以通过连续多次使用 .. 来切换到更高级的目录

    1
    2
    3
    4
    [moe@master by-id]$ cd ..
    [moe@master disk]$ cd ..
    [moe@master dev]$ pwd
    /dev
  • 切换到用户主目录(home):使用 ~ 表示当前用户的主目录,可以使用 cd 命令直接切换到主目录

    1
    2
    3
    [moe@master dev]$ cd ~
    [moe@master ~]$ pwd
    /home/moe
  • 切换到上次访问的目录:使用 cd - 可以切换到上次访问的目录

    1
    2
    [moe@master ~]$ cd -
    /dev

    拓展:Centos7安装配置中文输入法

ls 命令

ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录

语法:ls [-alrtAFR] [name…]

参数 :

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -d 只列出目录(不递归列出目录内的文件)
  • -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等
  • -r 倒序显示文件和目录
  • -t 将按照修改时间排序,最新的文件在最前面
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
  • -R 递归显示目录中的所有文件和子目录
1
2
3
4
5
6
ls -l                    # 以长格式显示当前目录中的文件和目录,可简写为 ll
ls -a # 显示当前目录中的所有文件和目录,包括隐藏文件
ls -lh # 以人类可读的方式显示当前目录中的文件和目录大小
ls -t # 按照修改时间排序显示当前目录中的文件和目录
ls -R # 递归显示当前目录中的所有文件和子目录
ls -l /etc/passwd # 显示/etc/passwd文件的详细信息

列出根目录()下的所有目录:

1
2
3
[moe@master /]$ ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

将 /bin 目录以下所有目录及文件详细资料列出:

1
2
[moe@master /]$ ls -lR /bin
lrwxrwxrwx. 1 root root 7 4月 14 18:50 /bin -> usr/bin

当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:

1
2
3
ls "my file.txt"    # 列出文件名为"my file.txt"的文件
ls my\ file.txt # 列出文件名为"my file.txt"的文件
ls -- -filename # 列出文件名为"-filename"的文件

ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[…] 表示匹配指定范围内的字符。例如:

1
2
3
ls *.txt         # 列出所有扩展名为.txt的文件
ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件

列出目前工作目录下所有名称是 s 开头的文件或目录,越新的排越后面:

1
ls -ltr s*

在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。其中第一个字符表示文件类型,例如:

  • - 表示普通文件
  • d 表示目录
  • l 表示符号链接
  • c 表示字符设备文件
  • b 表示块设备文件
  • s 表示套接字文件
  • p 表示管道文件

在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限。例如:

  • 表示读取权限
  • w 表示写入权限
  • x 表示执行权限
  • - 表示没有对应权限
1
drwxr-xr-x. 144 root root 0 4月  14 18:56 module

从上面可以看到,每一行都有7列,分别是:

  • 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、executable。如:-r-xr-x—的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限
  • 第二列表示链接数,表示有多少个文件链接到inode号码
  • 第三列表示拥有者
  • 第四列表示所属群组
  • 第五列表示文档容量大小,单位字节
  • 第六列表示文档最后修改时间,注意不是文档的创建时间哦
  • 第七列表示文档名称。以点(.)开头的是隐藏文档

mkdir 命令

mkdir(英文全拼:make directory)命令用于创建目录

语法:mkdir [-p] dirName

  • -p 确保目录名称存在,不存在的就建一个
1
2
3
4
5
[moe@master ~]$ ls
公共 模板 视频 图片 文档 下载 音乐 桌面
[moe@master ~]$ mkdir test
[moe@master ~]$ ls
test 公共 模板 视频 图片 文档 下载 音乐 桌面

可以同时创建两个目录,以空格格式隔开

1
2
3
4
5
[moe@master dongman]$ cd ~
[moe@master ~]$ mkdir test/ren test/dongwu
[moe@master ~]$ cd test
[moe@master test]$ ls
dongwu ren

如果是在同一个目录下再创建多个目录,可以用 {} 来表示,并以英文逗号隔开

1
2
3
4
5
[moe@master test]$ cd ~
[moe@master ~]$ mkdir dongman/{xuni,fengjing,xiaz}
[moe@master ~]$ cd dongman/
[moe@master dongman]$ ls
daojian fengjing xiaz xuni

可以通过 .dirname 来创建一个隐藏的目录

1
2
3
4
5
6
7
8
9
10
11
[moe@master dongman]$ cd ~
[moe@master ~]$ ls
dongman test 公共 模板 视频 图片 文档 下载 音乐 桌面
[moe@master ~]$ mkdir .yinc
[moe@master ~]$ ls
dongman test 公共 模板 视频 图片 文档 下载 音乐 桌面
[moe@master ~]$ ls -a
. .shell_profile .dbus .local .yinc 图片 桌面
.. .shellrc dongman .mozilla 公共 文档
.shell_history .cache .esd_auth .pki 模板 下载
.shell_logout .config .ICEauthority test 视频 音乐

每个目录都会有 .(当前目录)..(上一级目录) 这两个存在

touch 命令

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

语法:touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][–help][–version][文件或目录…]
参数说明:

  • a 改变档案的读取时间记录。
  • m 改变档案的修改时间记录。
  • c 假如目的档案不存在,不会建立新的档案。与 –no-create 的效果一样。
  • f 不使用,是为了与其他 unix 系统的相容性而保留。
  • r 使用参考档的时间记录,与 –file 的效果一样。
  • d 设定时间与日期,可以使用各种不同的格式。
  • t 设定档案的时间记录,格式与 date 指令相同。
  • –no-create 不会建立新档案。
  • –help 列出指令格式。
  • –version 列出版本讯息。

使用指令”touch”时,如果指定的文件不存在,则将创建一个新的空白文件

1
2
3
[moe@master ~]$ touch a
[moe@master ~]$ ls
a dongman test 公共 模板 视频 图片 文档 下载 音乐 桌面

可以通过 .filename 来创建一个隐藏的目录创建一个隐藏的文件

1
2
3
4
5
6
7
8
[moe@master ~]$ touch .a
[moe@master ~]$ ls
a dongman test 公共 模板 视频 图片 文档 下载 音乐 桌面
[moe@master ~]$ ls -a
. .shell_history .cache .esd_auth .pki 模板 下载
.. .shell_logout .config .ICEauthority test 视频 音乐
a .shell_profile .dbus .local .yinc 图片 桌面
.a .shellrc dongman .mozilla 公共 文档

一般touch命令用的较少,只有想要创建一个空文件时才会使用

使用 gedit 命令可以创建(没有的情况下)并打开文件进行编辑

1
2
3
4
5
[moe@master ~]$ ls
a dongman test 公共 模板 视频 图片 文档 下载 音乐 桌面
[moe@master ~]$ gedit b
[moe@master ~]$ ls
a b dongman test 公共 模板 视频 图片 文档 下载 音乐 桌面

rm 命令

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

语法:rm [options] name…

  • -i 删除前逐一询问确认
  • -f 即使原档案(文件)属性设为唯读,亦直接删除,无需逐一确认
  • -r 将目录及以下之档案(文件)亦逐一删除
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[moe@master dongman]$ touch a.txt
[moe@master dongman]$ ls
a.txt daojian fengjing xiaz xuni
[moe@master dongman]$ rm a.txt
[moe@master dongman]$ ls
daojian fengjing xiaz xuni
[moe@master dongman]$ rm daojian
rm: 无法删除"daojian": 是一个目录
[moe@master dongman]$ rm daojian -r
[moe@master dongman]$ ls
fengjing xiaz xuni
[moe@master dongman]$ rm * -r
[moe@master dongman]$ ls -a
. ..

可以看出 ... 两个目录是删除不了的,同时rm * -r是不能直接删除隐藏文件的,需要手动逐个删除

clear 命令

clear 命令用于清除屏幕。本质上是给你翻屏了,以前的命令向上翻就可以看到了

通过 tab 键可以自动补全。ctrl + c终止当前命令

终端命令格式

格式:command [-options] [parameter]

  • commmand:命令名,相应功能的英文单词或其缩写
  • -options:选项,对命令进行控制,可以省略
  • parameter:传给命令的参数,可以零个或多个

一般终端自带的命令,如cdpwd等,通过 –help是查看不到帮助文档的,这时可以通过 man命令 来查看