Linux文件跟目录管理

时间:2022-10-27 12:21:58

  熟悉Linux的大家都知道,在Linux中,一切皆文件,可能在有些人的理解中,Linux跟我们的Windows差不多,是都具有图形操作界面的一种操作系统,但是更深入的来说,Linux更偏向于用命令操作文件从而达到操作系统的目的,那么文件对于Linux来说就是非常关键的了,今天就来同大家分享一下我在Linux的学习过程中,文件跟目录的一些相关如下:

  首先,要学会Linux就要明白它的文件系统是个什么东西,在这里我给大家简单的用一张图片来说明一下:

Linux文件跟目录管理

    其中“/”为Linux文件系统的头层,我们称它为“根”。

    文件跟目录是相关的,我们简单的了解一下目录相关的操作,再详细介绍关于Linux文件

    Linux中,常规的目录操作需要我们知道这么几点:

      关于文件相对于目录的路径我们大致将其分为绝对路径和相对路径,绝对路径就是指不考虑你当前的位置,从“/”到达目标文件需要经过的文件系统目录树的所有分支                         1 /home/hello/docs/share 例如这个路径,就是绝对路径;那么相对路径呢,它恰恰是另一种情况

1 [root@localhost ~]# cd /etc/httpd
2 [root@localhost httpd]# cd ./conf
3 [root@localhost zhangsan]# ls -dl ../hello
4 drwx------ 2 hello hello 4096 09-14 21:50 ../hello

以上这三个路径就是相对路径了。

    关于Linux的命令提示符我顺便说一下:        [ 登录用户@主机名 工作目录 ];

    以及Linux命令行的通用格式:      命令字 [选项] [参数];

  其中各个选项及参数的含义:选项:用于调节命令的具体功能

               以 “-”引导短格式选项(单个字符),例如“-l”

               以“--”引导长格式选项(多个字符),例如“--all”
               多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
               参数:命令操作的对象,如文件、目录名等

   那么,Linux命令是用来干什么的呢?

    Linux命令
    用于实现某一类功能的指令或程序
    命令的执行依赖于解释器程序(例如:/bin/bash)
    Linux命令的分类
    内部命令:属于Shell解释器的一部分
    外部命令:独立于Shell解释器之外的程序文件

 

命令行编辑的几个辅助操作
    Tab键:自动补齐
    快捷键 Ctrl+C:终止当前进程
    快捷键 Ctrl+D: 输入结束
    快捷键 Ctrl+Z : 挂起程序
    快捷键 Ctrl+L:清屏,相当于clear命令
    快捷键 Ctrl+K:删除从光标到行末所有字符
    快捷键 Ctrl+U:删除从光标处到行首的字符
    快捷键 Ctrl+S:锁屏
    快捷键 Ctrl+Q:解锁

    快捷键Ctrl+A 快速将光标移动到命令行首

    快捷键Ctrl+E 快速将光标移动到命令行尾

    快捷键Ctrl+R 查找历史命令
    快捷键history 查看历史命令

那么接下来就说一下关于目录的一些常规操作:

pwd命令
  用途:查看工作目录(Print Working Directory)
cd命令
  用途:切换工作目录(Change Directory)
  格式:cd [目录位置]
  特殊目录
  . 当前目录
  .. 上一级目录
  ~ 用户主目录
  - 上个工作目录

ls命令
  用途:列表(List)显示目录内容
  格式:ls [选项]... [目录或文件名]

mkdir命令
  用途:创建新的目录(Make Directory)
  格式:mkdir [-p] [/路径/]目录名
rmdir命令
  用途:删除空的目录(Remove Directory)

mkdir命令
  用途:创建新的目录(Make Directory)
  格式:mkdir [-p] [/路径/]目录名
rmdir命令
  用途:删除空的目录(Remove Directory)

1 [root@localhost ~]# mkdir -p mydir/level1/level2
2 [root@localhost ~]# ls -R mydir
3 mydir:
4 level1
5 mydir/level1:
6 level2
7 mydir/level1/level2:

du命令
  用途:统计目录及文件的空间占用情况(estimate file space usage)
  格式:du [选项]... [目录或文件名]
常用命令选项
  -a:统计时包括所有的文件,而不仅仅只统计目录
  -h:以更易读的字节单位(K、M等)显示信息
  -s:只统计每个参数所占用空间总的大小

[root@localhost ~]# du -sh /etc/httpd/
184K    /etc/httpd/

  

touch命令
  用途:新建空文件,或更新文件时间标记
  格式:touch 文件名…

1 [root@localhost ~]# touch  file1.txt  file2.doc
2 [root@localhost ~]# touch   -ad  10:35 file1.txt
3 [root@localhost ~]# touch   -md  11:25 file2.doc
4 [root@localhost ~]# touch  -r  file2.doc  file1.txt

cp命令
  用途:复制(Copy)文件或目录
  格式:cp [选项]... 源文件或目录… 目标文件或目录
  -r:递归复制整个目录树
  -a: 复制时保留链接、文件属性,并递归地复制目录
mv命令
  用途:移动(Move)文件或目录
  —— 若如果目标位置与源位置相同,则相当于改名
  格式:mv [选项]... 源文件或目录… 目标文件或目录

file命令
  用途:查看文件类型
  格式: file 文件名…

1 [root@localhost ~]# file /bin/ls
2 /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for ……
3 [root@localhost ~]# file  /etc/passwd
4 /etc/passwd: ASCII text
5 [root@localhost ~]# file  /dev/cdrom
6 /dev/cdrom: symbolic link to `hdc'

rm命令
  用途:删除(Remove)文件或目录
  格式:rm [选项]... 文件或目录
  -f:强行删除文件或目录,不进行提醒
  -r:递归删除整个目录树

注意:rm -rf 不要轻易使用,它会强行删除文件或者目录

 

at命令
  用途:显示出文件的全部内容
  格式:cat -n 文件名
tac命令
  用途:从最后一行倒着显示出文件的全部内容

1 [root@localhost ~]# cat  /etc/aaa
2 11111111111111111111
3 222222222222222222
4 [root@localhost ~]# tac  /etc/aaa
5 222222222222222222
6 11111111111111111111

more命令
  用途:全屏方式分页显示文件内容
  交互操作方法:
  按Enter键向下逐行滚动
  按空格键向下翻一屏、按b键向上翻一屏
  按q键退出
less命令
  用途:与more命令相同,但扩展功能更多
  交互操作方法:
  与more命令基本类似,但个别操作会有些出入
  【page down】【page up】上翻下翻页

 

head命令
  用途:查看文件开头的一部分内容(默认为10行)
  格式:head -n 文件名
tail命令
  用途:查看文件结尾的少部分内容(默认为10行)
  格式:tail -n 文件名 tail -f 文件名

1 [root@localhost ~]# tail -2 /var/log/messages
2 Sep  8 15:49:29 localhost scim-bridge: Cleanup, done. Exitting...
3 Sep  8 15:49:29 localhost Cleanup, done. Exitting...

tail命令高级用法
  格式:tail -n 数字 文件名
  数字:数字前有 +(加号),从文件开头指定的单元 数开始输出;数字前有 -(减号),从文件末尾指定的单元 数开始输出;没有 +或 -,从文件末尾指定的单元 数开始输出。
例如:
  tail -n +3 /etc/passwd 从第三行开始显示
  tail -n -3 /etc/passwd 显示最后三行
  head -n -3 /etc/passwd 不显示最后三行
  head -n +3 /etc/passwd 显示前三行

which命令
  用途:查找可执行文件并显示所在的位置
    —— 搜索范围由 PATH 环境变量指定
  格式:which 命令或程序名

 

1 [root@localhost ~]# which  mkdir
2 /bin/mkdir
3 [root@localhost ~]# echo  $PATH
4 /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
5 [root@localhost ~]# which  cd
6 /usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

 

whereis命令
  用途:查找文件的路径、该文件的帮助文件路径,原理和which类似
  格式:whereis 命令或程序名

 

1 [root@localhost ~]# whereis which
2 which: /usr/bin/which /usr/share/man/man1/which.1.gz
3 [root@localhost ~]# touch sxkj
4 [root@localhost ~]# whereis sxkj
5 sxkj:
6 [root@localhost ~]# mv sxkj /usr/bin
7 [root@localhost ~]# whereis sxkj
8 sxkj: /usr/bin/sxkj

 

find命令
  用途:用于查找文件或目录
  格式:find [查找范围] [查找条件] [动作]
常用查找条件
  -name:按文件名称查找
  -size: 按文件大小查找
  -user: 按文件属主查找
  -type: 按文件类型查找
  -perm :按文件权限查找
  -mtime :按文件更改时间查找
  -newer:按比某个文件更新的查找

find命令
  格式:find [查找范围] [查找条件] [动作]
特殊查找条件
  -o :逻辑或,只要所给的条件中有一个满足,寻找条件就算满足
  -not :逻辑非,在命令中可用“!”表示。该运算符表示查找不满足所给条件的文件
  -a:逻辑与,系统默认是与,可不加,表示只有当所给的条件都满足时,寻找条件才算满足。

find命令
  格式:find /usr -mtime +/-数字
  数字:数字前有 +(加号),大于数字的天数;数字前有 -(减号),小于数字的天数;没有 +或 -,等于数字的天数。
例如:
  find /usr -mtime 4 表示4天前那一天
  find /usr -mtime -4 表示4天内
  find /usr -mtime +4 表示4天前

这里用一张图表示一下,便于理解:

Linux文件跟目录管理

gzip命令
  用途:制作压缩文件、解开压缩文件
  格式:gzip [-9] 文件名...
gzip -d .gz格式的压缩文件
  常用命令选项
  -9:表示高压缩比,取值1-9,默认为6
  -d:用于解压缩文件,同gunzip命令
  -c:将输出重定向到标准输出
zcat命令
  用途:查看压缩文件内容
  格式:zcat 压缩文件名

bzip2命令
  用途:制作压缩文件、解开压缩文件
  格式:bzip2 [-9] 文件名...
bzip2 -d .bz2格式的压缩文件
  常用命令选项
  -9:表示高压缩比,取值1-9,默认为6
  -d:用于解压缩文件,同bunzip2命令
  -c:将输出重定向到标准输出
bzcat命令
  用途:查看压缩文件内容
  格式:bzcat 压缩文件名

 

tar命令
  用途:制作归档文件、释放归档文件
  格式:tar [选项]... 归档文件名 源文件或目录
  tar [选项]... 归档文件名 [-C 目标目录]
常用命令选项
  -c:创建 .tar 格式的包文件
  -x:解开.tar格式的包文件
  -v:输出详细信息
  -f:表示使用归档文件
  -t:列表查看包内的文件
  -p:保持原文件的原来属性
  -P:保持原文件的绝对路径

绝对路径和相对路径
目录操作命令
pwd、cd、ls、mkdir、du
文件操作命令
touch、file、cp、rm、mv、ln
查找命令
which、whereis、locate、find
文件内容操作命令
cat、more、less、head、tail
归档及压缩命令
zip、gzip、bzip2、zcat、bzat、tar

好啦,今天就跟大家分享到这里,我会在后续的学习过程中继续跟大家分享我的收获!