目录管理
命令的基本格式
- 命令 参数 目标对象
- 例如:
ls -l /usr
ls
为操作命令的关键字-l
为该命令支持的参数/usr
为该命令要操作的对象- 该命令实现的功能是使用列表方式查看
/usr
目录下的文件
切换目录
cd 命令
cd 命令
- Change directory 切换目录
- cd命令用来切换当前的工作目录
命令格式
cd 目标目录的相对路径|绝对路径
相对路径和绝对路径
- 相对路径是指,当前工作目录下子目录的路径,包含了当前工作路径可以省略。
- 例如,当前工作路径为/u01,进入其子目录app的命令为: cd app
- 绝对路径是指,以”/”目录为起点,目标目录为终点的完整的目录路径。
- 例如,当前工作目录为/u01,进入其子目录app的命令为:cd /u01/app
- 相对路径是指,当前工作目录下子目录的路径,包含了当前工作路径可以省略。
常用组合
- cd 回到家目录
- cd ~ 回到家目录
- cd / 回到根目录
- cd - 回到上次工作目录
- cd . 当前目录
- cd .. 回到上一级目录
查询当前工作目录
pwd命令
- Print working directory 打印工作目录
- 查询当前目录的绝对路径
命令格式
pwd
- 如:当前工作目录为
linux
[root@username linux]# pwd
/home/username/learn/linux
- 如:当前工作目录为
以树状形式显示
tree 命令
- tree 树
- 查询当前工作目录下的子目录及文件,以树状形式显示
命令格式
tree
列出当前目录清单
ls 命令
- list 列出目录内容
- 列出当前目录下的子目录和文件清单
命令格式
ls 参数 目标文件|目标目录|空
- 颜色的含义
- 蓝色–>目录
- 绿色–>可执行文件
- 红色–>压缩文件
- 浅蓝色–>链接文件
- 灰色–>其他文件
- 颜色的含义
- ls –l输出结果各字段的含义
- -rw-r–r– 1 oracle dba 0 Dec 3 16:40 a
- 第一个字段第一个字符代表文件类型,第一个字段后9个字符代表该文件的权限
- - 普通文件
- d 目录
- b 块文件
- c 字符文件
- l 链接文件
- p 管道
- s 套接字
- 第一个字段第一个字符代表文件类型,第一个字段后9个字符代表该文件的权限
- 第二个字段代表该文件的硬链接数或者目录的子目录数
- 第三、四个字段代表该文件所属的用户和组信息
- 第五个字段代表该文件占用的字节数
- 第六个字段代表该文件最后被修改的时间
- -rw-r–r– 1 oracle dba 0 Dec 3 16:40 a
常用参数
- -a,-all 列出目录下的所有文件,包括以 . 开头的隐藏文件
- -A 列出目录下所有的文件,包括以 . 开对的隐藏文件,但不输出 . 和 ..
- -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
- -h 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
- -k 以 k 字节的形式表示文件的大小
- -s 以块大小为单位列出所有文件的大小
- -g 类似-l,但不输出文件所有者
- -G 不列出所属组的信息
- -o 类似-l,但不列出所属组的信息
- -r 以相反顺序排列输出
- -t 以文件修改时间排序
- -u 配合-l –t两个参数,显示文件被访问的时间,且以访问时间排序
- -R 同时列出所有子目录层及文件
- –version 查看ls命令的版本
- –help 查看ls命令的帮助
创建目录
mkdir命令
- Make Directory 创建目录
- mkdir 创建一个目录
- mkdir -p 创建多级目录
- 例如:
- 在当前目录下创建一个名为test的目录
mkdir test
- 在/目录下递归创建目录u01、app、learn 三级目录
mkdir -p /u01/app/learn
- 在当前目录下创建一个名为test的目录
复制目录
cp命令
- copy 复制
- 复制文件和目录到目标位置
命令格式
- cp 源文件|源目录 目标位置
常用参数
- -r 包含该目录下的子目录和文件
- -a 保持文件的权限,包含子目录和文件,保持链接文件的文件链接
- -f 强制覆盖,不提示
移动和更名
mv命令
- move 移动
- mv命令可以移动一个文件或者目录到其它位置,同时还可以变更文件名或者目录名。
命令格式
- 移动
mv 要移动的文件或目录 目标位置
- 更名
mv 要变更的文件或目录 新名称
常用参数
- -i 提示
- -f 强制覆盖,不提示
删除文件
rm 命令
- Remove 删除
- 删除文件或者目录
命令格式
rm 要删除的文件或目录
常用参数
- -r 递归删除
- -f 强制删除,不提示
查看文件内容
cat命令
- concatenate 连锁
- 因为linux是通过流来输出的,如果不进行流的重定向的话,默认输出到
bash
。所以我认为cat命令查看文件是将文件以流的形式输出到终端上 - 例:
cat file1 file2>>file3
把文件1和文件2的内容联合起来放到file3中
tac命令
- 上下颠倒显示文件内容
rev命令
- 左右颠倒显示文件内容
more命令
- 分屏查看,只能向下翻页
less命令
- 分屏查看,可以向上向下翻页
head命令
- 显示文件头
- 默认只显示10行
head -n X
显示文件头的X行
tail命令
- 显示文件尾
- 默认只显示10行
tail -n X
显示文件尾的X行tail -f
实时显示文件的变化
文件的扩展名
- 不同于Windows 的文件管理方式,在Linux中,并不存在文件扩展名的概念,若要对一个文件进行识别,可以使用file命令
- 例如
file test
test:ASCII text
cat test
abcd1234
创建文件
touch命令 及 > 命令
- touch 触摸
- 创建一个空文件
用法
touch 文件名
> 文件名
touch的扩展用法
- 通过touch命令可以改变已存在的文件和目录的访问时间和修改时间
- -a 只改变访问时间
- -m 只改变修改时间
- -t 使用具体的年月日时间来修改文件的时间,可以配合-a和-m一起使用
查看文件的时间属性
- Linux操作系统不记录文件的创建时间,只记录文件的访问时间,修改时间和文件属性修改时间。使用stat命令来查看文件的时间属性。
[root@oaec test.dir]# stat test
File: 'test'
Size: 9 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 652402 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-12-02 15:30:20.000000000 +0800 --文件的访问时间
Modify: 2014-12-02 15:30:20.000000000 +0800 --文件的修改时间
Change: 2014-12-02 16:06:41.000000000 +0800 --属性修改时间
修改文件内容
常用方式
echo "123abcd" >> file_name
(利用重定向的方式往文件里追加内容)- vim 文本编辑器
- gedit 图形界面的文本编辑器,类似记事本