文件系统跳转
把文件系统想象成一个迷宫形状,就像一棵倒立的大树,我们站在迷宫的中间位置。在任意 时刻,我们处于一个目录里面,我们能看到这个目录包含的所有文件,以及通往上面目录(父 目录)的路径,和下面的各个子目录。我们所在的目录则称为当前工作目录。我们使用 pwd
(print working directory(的缩写))命令,来显示当前工作目录。
当我们首次登录系统(或者启动终端仿真器会话)后,当前工作目录是我们的家目录。每个用户都有他自己的家目录,当用户以普通用户的身份操控系统时,家目录是唯一允许用户写入 文件的地方。
打印出当前的工作目录
更改目录
#常用快捷键
cd 更改工作目录到家目录
cd - 更改工作目录到先前的工作目录
cd ~user_name 更改工作目录到用户user_name的家目录
列出目录的内容
绝对路径相对路径
- 绝对路径开始于根目录,紧跟着目录树的一个个分支,一直到达所期望的目录或文件。
- 相对路径开始于工作目录,符号 “.” 指的是工作目录,”. .” 指的是工作目录的父目录。./可以省略
情景1:当前目录为/usr,我们要跳转到/usr/bin
绝对路径
[me@linuxbox ~]$ cd /usr/bin
相对路径
[me@linuxbox ~]$ cd ./bin
情景2:当前目录为/usr/bin,我们要跳转到/usr
[me@linuxbox ~]$ cd /usr #绝对路径
[me@linuxbox ~]$ cd .. #相对路径
ls
参数:
ls #查看当前目录下的文件
ls /usr #查看指定目录下的文件
ls ~ /usr #查看多个目录的文件 ~表示家目录
ls -l #以长模式输出
常用命令
-
• type –说明怎样解释一个命令名
-
• which –显示会执行哪个可执行程序
-
• man –显示命令手册页
-
• apropos –显示一系列适合的命令
-
• info –显示命令 info
-
• whatis –显示一个命令的简洁描述
-
• alias –创建命令别名 可以自定义命令
-
help --得到shell命令的帮助文档
-
ls
列出当前目录内容
-
file
确定文件类型
-
less
浏览文件内容
-
date
显示当前时间和日期
查看磁盘剩余容量
alias &unalias
创建别名
实例:
[root@localhost jj]# alias foo="ls;pwd;"
[root@localhost jj]# foo
/home/jj
自定义命令 并且在任意的路径都可使用
删除别名
[root@localhost /]# unalias foo
[root@localhost /]# fpp
bash: fpp: 未找到命令...
[root@localhost /]# foo
bash: foo: 未找到命令...
I/O重定向
标准输入、输出和错误
命令输出有两种情况,一个是命令执行的结果,一个是命令执行不了提示的错误信息 ,默认情况下,标准输出和标准错误都连接到屏幕,而不是保存到磁盘文件。二标准输入一般指的是从键盘输入。I/O 重定向允许我们更改输出地点和输入来源。一般地,输出送到屏幕,输入来自键盘,但 是通过 I/O 重定向,我们可以做出改变。
将命令的输入来源以及输出地点重定向为文件,比如原本显示在屏幕上的信息重定向为在文件中,用cat连接打开文件才能查看信息。
相关命令:
- • cat -连接文件
- • sort -排序文本行
- • uniq -报道或省略重复行
- • grep -打印匹配行
- • wc -打印文件中换行符,字,和字节个数
- • head -输出文件第一部分
- • tail - 输出文件最后一部分
- • tee - 从标准输入读取数据,并同时写到标准输出和文件
“>”
重定向符来重定向输出结果时,目标文件总是从开头被重写,既覆盖掉之前的内容。如果输入执行不了,有错误而停止,导致文件内容清空。
">>"
会把重定向结果追加到文件内容后面,累加进文件,不会因为错误而清空。
语法:
> file --标准输出重定向到文件 -会覆盖
>> file --标准输出重定向到文件 -会累加
2> file --标准错误重定向到文件 -会覆盖
2>> file --标准错误重定向到文件 -会累加
2>/dev/null --标准错误重定向到回收站
&> file --标准输出和标准错误都重定向到文件 -会覆盖
>>file 2>&1 --标准输出和标准错误都重定向到文件 -累加
实例:
[root@localhost ~]# ls > base_doc 将ls的显示内容重定向到base_doc中
[root@localhost ~]# cat base_doc cat查看base_doc内容,ls的结果在这里
anaconda-ks.cfg
base_doc
original-ks.cfg
[root@localhost ~]# pwd > base_doc 再次使用>重定向
[root@localhost ~]# cat base_doc 之前ls >的内容被清空
/root
[root@localhost ~]# date >> date_doc 第一次>>重定向date的内容
[root@localhost ~]# cat date_doc
2022年 03月 03日 星期四 21:00:14 CST
[root@localhost ~]# cal >> date_doc 第二次重定向cal
[root@localhost ~]# cat date_doc 再吃打开date_doc 里面有两次重定向的内容,不像>,第一次内容会被清空。>>会累加
2022年 03月 03日 星期四 21:00:14 CST
三月 2022
日 一 二 三 四 五 六
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31