目录的增删改查
创建目录:
mkdir命令可创建一个或多个目录或子目录
$ mkdir -p <dir1>/<dir2>:可以创建目录树(创建父目录),但是需要小心
拼写错误。
$ mkdir <dir1> <dir2>:可以创建多个目录
[root@servera ~]# mkdir -p fu/boyu
[root@servera ~]# cd
[root@servera ~]# ls -R fu
fu:
boyu
fu/boyu:
复制目录:
cp命令可复制文件,在当前目录或指定目录中创建新文件。
它也可将多个文件复制到某一目录中
注意:如果目标文件已存在,则cp命令会覆盖该文件。
[root@servera ~]# ll fu
total 0
drwxr-xr-x. 2 root root 6 Nov 22 03:47 boyu
[root@servera ~]# cp -r fu bo
[root@servera ~]# ll bo
total 0
drwxr-xr-x. 2 root root 6 Nov 22 03:53 boyu
在通过一个命令复制多个文件时,最后一个参数必须为目录。 默认情况下,cp不复制目录,而会忽略它们。 如果复制目录或子目录,需使用-r选项。
移动文件或目录:(一般用于重命名)
mv命令可将文件从一个位置移动到另一个位置
如果位置相同,这实际上是重命名。
[root@servera ~]# mv fu yu
[root@servera ~]# ll yu
total 0
drwxr-xr-x. 2 root root 6 Nov 22 03:47 boyu
删除文件或目录:
rm命令删除文件
$ rm -r:递归删除(目录)
$ rm -rf:强制递归删除(目录)
$ rmdir:仅删除空目录
注意:没有取消删除功能,也没有垃圾箱
[root@servera ~]# mv fu yu
[root@servera ~]# ll yu
total 0
drwxr-xr-x. 2 root root 6 Nov 22 03:47 boyu
[root@servera ~]# ll fu
ls: cannot access 'fu': No such file or directory
标准输入、标准输出与标准错误:
一个运行的程序(或称为进程)需要从某位置读取输入并将输出写入某位置。 shell命令通常会从键盘输入,在终端窗口输出。 进程使用称为文件描述符(file descriptors)的通道(channels)来处理 输入和输出。 所有进程至少使用三种文件描述符:
- 标准输入(standard input,channel 0):读取键盘输入
- 标准输出(standard output,channel 1):将正确输出发送到终端
- 标准错误(standard error,channel 2):将错误输出发送到终端
- channel > 2:将输出重定向到文件
输出重定向示例
[root@servera ~]# date > /tmp/saved-timestamp
[root@servera ~]# ll /tmp
total 12
-rw-r--r--. 1 root root 7 Nov 15 05:02 NIC1
-rw-r--r--. 1 root root 7 Nov 15 05:02 NIC2
-rw-r--r--. 1 root root 29 Nov 22 04:06 saved-timestamp
drwx------. 3 root root 17 Nov 22 03:13 systemd-private-8dac09a370cf4a12b0d4348ba2cccec7-chronyd.service-kW0oER
[root@servera ~]# ls -a > /tmp/my-file-name
[root@servera ~]# ll /tmp
total 16
-rw-r--r--. 1 root root 98 Nov 22 04:07 my-file-name
-rw-r--r--. 1 root root 7 Nov 15 05:02 NIC1
-rw-r--r--. 1 root root 7 Nov 15 05:02 NIC2
-rw-r--r--. 1 root root 29 Nov 22 04:06 saved-timestamp
drwx------. 3 root root 17 Nov 22 03:13 systemd-private-8dac09a370cf4a12b0d4348ba2cccec7-chronyd.service-kW0oER
构建管道
管道包含多个命令,用竖线字符(|)分隔。 管道将前一个命令的标准输出连接到下一个命令的标准输入 [root@servera ~]# ls -l /usr/bin |less
[root@servera ~]# ls |wc -l 4
|