1. linux中管理输入输出
符号 | 含义 |
---|---|
> | 重定向正确输出 |
2> | 重定向错误输出 |
&> | 重定向所有输出 |
重定向会覆盖源文件
例子:
用student用户登录系统
find /etc/ -name passwd 此命令在stuent用户下执行因为权限问题会报错
find /etc/ -name passwd > file
find /etc/ -name passwd 2> file
find /etc/ -name passwd &>file(将所有输出都导入file)
- 输出追加
追加会把定向的输出放到原文件最后不会覆盖原文件
>> 追加到正确的消息
2>> 追加到错误的信息
&>>
echo 显示
find /etc/ -name passwd >> file
find /etc/ -name passwd 2>> file.err
find /etc/ -name passwd &>>file.all
使用输出追加后,之前文件存在的123不会被之后的输入覆盖。
- 输入管理
方法一:
<<EOF
内容
例如:
方法二:
vim test.sh
#!/bin/bash
passwd <<EOF
student
asdfghjkl
asdfghjkl
EOF
退出保存vim后;
执行命令sh test.sh
执行后就可将student原密码改为asdfghjkl。
2. 管道
| 把第一条命令的正确输出变成第二条命令的输入
2>&1 将编号2的错误输出转换成编号为1
ls /bin |wc -l 统计/bin中有多少文件
find /etc -name passwd 2>&1|tee file |wc-l
find /etc -name passwd 2>> file.err
3. 文件路径
/目录是根目录,位于系统层次结构的顶级。/字符还用作文件名中的目录分隔符。
例如:/etc etc是/目录下的子目录
/etc/123 /的子目录etc中有一个叫123的子目录或文件。
- 相对路径
相对与当前系统位置,文件名称的简写,此名称前会自动添加’pwd’命令的输出,
相对路径文件名称前不会出现"/"
- 绝对路径
文件在系统中的真实位置,在任何情况下都可以使用
绝对路径一定以"/" 开头,因为/是系统的根目录。
-
linux的系统结构及目录分类
linux是一个倒树型结构顶级目录 “/” 根目录
"/"下的二级目录
/bin 系统常规命令
/boot 系统启动目录
/dev 设备影射文件
/etc 系统配置文件
/home 普通用户家目录
/lib 32位函数库
/lib64 64位函数库
/media 光盘临时挂载
/mnt 手动临时挂载
/run 自动临时挂载
/opt 第三方软件安装位置
/proc 系统进程信息和硬件信息
/root 超级用户家目录
/sbin 系统管理命令
/srv 系统数据
/sys 内核相关调式
/tmp 临时文件
/usr 用户相关设定
/var 系统数据 -
关于系统路径的命令
pwd 显示当前路径
-
显示
命令 | 功能 |
---|---|
ls dir | 显示路径信息 |
ls -l dir | 显示目标属性 |
ls -l -d dir | 显示目录本身属性 |
ls -R dir | 递归显示目录中的所有内容 |
ls -a | 显示所有文件包括以"."开头的隐藏文件 |
ls -ad .* | 显示路径信息 |
- 切换
cd 进入当前用户家目录
cd /mnt 进入mnt目录
cd . . 进入到当前目录的上一级目录
cd - 当前目录和进入当前目录之前所在目录之间的切换
- tab
tab 自动补齐系统中存在的文件名.
tab补齐不了时,证明文件开头名称不唯一,按两次用来显示所有该字母开头的内容.
若两次都不可以,则不存在以此开头的文件.这在编写命令时减轻了我们的工作量,也很大的避免错误。