文章目录
目录的增删改查
创建目录:
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