Linux 下文件和目录的特点

简介: Linux 下文件和目录的特点

Linux 下文件和目录的特点

  • Linux 文件 或者 目录 名称最长可以有 256 个字符
  • 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
  • . 代表当前目录
  • … 代表上一级目录


目标:

  • 理解学习linux终端命令的原因
  • 常用linux命令实践


原因

  • Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作、文件存取、目录操作、进程管
    理、文件权限 设定等
  • 在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护
    工作都需要通过命令来完成
  • 作为后端程序员,必须要或多或少的掌握一些 Linux 常用的终端命令
  • Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已
  • 学习终端命令的技巧:
  • 不需要死记硬背,对于常用命令,用的多了,自然就记住了
  • 不要尝试一次学会所有的命令,有些命令是非常不常用的,临时遇到,临时百度就可以


常用Linux命令的基本使用

序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容
02 pwd print work directory 查看当前所在文件夹
03 cd[目录名] change directory 切换文件夹
04 touch[文件名] touch 如果文件不存在,新建文件
05 mkdir[文件名] make directory 创建目录
06 rm[文件名/目录名] remove 删除指定的文件或目录
07 clear clear 清屏,等同于ctrl+L
08 mv[文件名/目录名][文件名/路径] move 两个作用:[修改文件或目录名为新的名字][移动文件或目录到新的路径下]
09 cp[文件名/目录名][路径] copy 复制文件/目录到新的路径下
10 cat[文件名] Concatenate 查看文件内容
11 su Swith user 切换用户,切换到root用户,“-”表示用户的环境变量一起切换,“-c”,仅执行一次命令,而不切换用户身份
12 chown Change owner 改变所有者
13 chgrp Change group 改变用户组
14 ps Process Status 进程状态
15 chmod 权限数字 [文件名/目录名] Change mode 改变文件或目录权限
16 head head 查看文件前几行(默认10行),-n:指定行数
17 tail tail 查看文件的后几行,-n:指定行数,-f(follow)动态显示文件内容
18 ln link 产生链接文件,类似win中创建快捷方式
19 man manual 获取命令或者配置文件的帮助信息
20 help 查看shell内置命令的帮助信息


小技巧:

ctrl + shift + =:放大终端窗口的字体显示

ctrl + -:缩小终端窗口的字体显示


文件系统操作
  • 常用选项
参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小

ll等同于ls -al


  • ls 通配符的使用
通配符 含义
* 代表任意个数个字符
? 代表任意一个字符,至少 1 个
[] 表示可以匹配字符组中的任一一个
[abc] 匹配 a、b、c 中的任意一个
[a-f] 匹配从 a 到 f 范围内的的任意一个字符


切换目录:

注意:Linux 所有的 目录 和 文件名 都是大小写敏感的

命令 含义
cd 切换到当前用户的主目录(/home/用户目录)
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 保持在当前目录不变
cd .. 切换到上级目录
cd - 可以在最近两次工作目录之间来回切换


  • 相对路径和绝对路径
  • 相对路径:在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
  • 绝对路径:在输入路径时,最前面是 / 或者~,表示从根目录/家目录开始的具体目录位置


删除目录/文件

使用 rm 命令要小心,因为文件删除后不能恢复

选项 含义
-f force,强制删除,忽略不存在的文件,无需提示
-r recursive,递归地删除目录下的内容,删除目录时必须加此参数


扩展点: 删除乱码文件

一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号  -exec rm {} -rf \;
就能顺利删除了


修改文件名称/移动文件
mv aaa bbb:修改文件名aaa到bbb
mv aaa bbb/ccc:将aaa文件移动到bbb目录下并改名为ccc


复制文件

cp aaa '路径':复制aaa文件到'路径'下


[语法]:cp [-rp] 源文件或目录 目的目录

-r :递归处理,复制目录

-p :保留文件属性(yuan)


创建文件
  • 创建文件或修改文件时间
  • 如果文件 不存在,可以创建一个空白文件
  • 如果文件已经存在,可以修改文件的末次修改日期


  • touch 文件名:创建文件
  • touch {文件名1,文件名2}:同时创建多个文件
  • echo "hello,nice to meet u" > aaa:向文件aaa中写入hello,nice to meet u【如果aaa文件存在,则覆盖掉原数据】
  • echo 'hi baby' >> aaa:向文件aaa中末尾处追加hi baby


创建文件夹
选项 含义
-p 可以递归创建目录


  • mkdir 目录名

新建目录的名称 不能与当前目录中 已有的目录或文件 同名


查看文件内容
  • cat 命令可以用来查看文件内容、文件合并等功能
  • cat 会一次显示所有的内容,适合查看内容较少的文本文件
选项 含义
-b 对非空输出行编号
-n 对输出的所有行编号


cat 文件名:查看文件内容
• 1
  • more命令可以用于分屏显示文件内容,每次只显示一页内容
  • 适合于 查看内容较多的文本文件


使用 more 的操作键:

操作键 功能
空格键 显示手册页的下一屏
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出


  • head:head 文件名
[root@master data]# head idf.txt 
劳动防护 13.900677652
生化学 13.900677652
奥萨贝尔 13.900677652
考察队员 13.900677652
岗上 11.5027823792
倒车档 12.2912397395
编译 9.21854642485
蝶泳 11.1926274509
外委 11.8212361103
故作高深 11.9547675029
[root@master data]# head -3 idf.txt 
劳动防护 13.900677652
生化学 13.900677652
奥萨贝尔 13.900677652


  • tail:tail 文件名
[root@master data]# tail idf.txt 
拿手戏 13.2075304714
冯公子 13.2075304714
哲 9.34680076038
外行话 12.1089181827
防冻液 11.0674643079
推服 13.2075304714
丝路 10.604840786
一闹 10.1394775363
写封信 10.1630080337
玩花样 13.2075304714
[root@master data]# tail -3 idf.txt 
一闹 10.1394775363
写封信 10.1630080337
玩花样 13.2075304714


  • ln
  • ln -s [源文件] [目标文件] ---> 创建软链接,源文件使用绝对路径
  • ln [源文件] [目标文件] ---> 创建硬链接
命令 语法 作用 示例
find find [搜索路径] [匹配条件] 查找文件或目录 find -name 123.txt:当前路径下查找 123.txt 文件
参数1 -name 按名称查找、精确查找 find / -name 123.txt
参数2 -iname 按名称查找,不区分大小写、模糊查找 find / -iname abc*:查找根目录下所有 abc 开头的、find / -iname abc??? 在“/”目录下查找 abc 开头并且后面有三位的文件
参数3 -size 按文件大小查找,以block为单位,一个block是512B, 1K=2block、+:大于、-:小于、不写:是等于 find / -size -102400,在根目录下找小于 100M 的文件
参数4 -type 按文件类型查找,f:二进制文件、l:软连接文件、d:目录、c:字符文件 find / -type f —>查找根目录下的二进制文件


  • Find Tips
  • 当使用正则时候,加双引号:find / -name “*abc” —> 查找根目录下以 abc 结尾的所有文件
  • 模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。


grep命令
  • Linux系统中 grep 命令是一种强大的文本搜索工具
  • grep 允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式
选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写


  • 常用的两种模式查找
参数 含义
^a 行首,搜寻以 a 开头的行
ke$ 行尾,搜寻以 ke 结束的行


管道 |
  • Linux 允许将一个命令的输出可以通过管道做为另一个命令的输入可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里【|】的左右分为两端,左端塞东西(写),右端取东西(读)
  • 常用的管道命令有:
  • more :分屏显示内容
  • grep :在命令执行结果的基础上查询指定的文本


linux权限描述格式解读

示例:drwxr-xr-x

  • d:表示节点类型(‘d’:文件夹—‘-’:文件—‘l’:链接)
  • r:可读
  • w:可写
  • x:可执行


第一组rwx:表示文件拥有者对它的权限:可读可写可执行
第二组x-r:文件所属组的权限:可读可执行,不可写
第三组x--:其他用户组权限(不包含以上两组):可执行,不可写、不可读


修改权限

字符修改权限
  • chmod g -rw aaa: 将aaa文件所在用户组权限:不可读、不可写
  • chmod o -rw: 将aaa文件其他用户组权限:不可读、不可写
  • chmod u+x:将aaa文件所属用户权限增加x


数字修改权限
r = 4 
w = 2 
x = 1
777:一位数字代表一个用户组,每个用户组的权限之和为7


chmod 777 aaa:aaa文件全部用户组拥有可读、可写、可执行权限

chmod 644 aaa: rw-r-r


多级目录权限的修改【递归修改权限】:

chmod - R 644 aaa:aaa目录下所有的文件按文件夹的权限都更改为644


444 r--r--r-- 
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
其他

echo

重定向: > 和 >>

管道: |


终端实用技巧
  • 自动补全
  • 在敲出文件/目录/命令的前几个字母之后,按下tab键
  • 如果输入的没有歧义,系统会自动补全
  • 如果还存在其他文件/目录/命令,再按一下tab键,系统会提示可能存在的命令
  • 曾经使用过的命令
  • 按上/下光标键可以在曾经使用过的命令之间来回切换
  • 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
Tips
  • ctrl + c:强制关闭
  • ctrl + z:后台运行
目录
相关文章
|
24天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
64 3
|
28天前
|
存储 Linux Windows
linux常用目录
/sbin s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。 /root 该目录为系统管理员,也称为超级权限者的用户主目录。 /lib 系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /etc 所有的系统管理所需要的配置文件和子目录。 /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。 /bo
32 2
|
26天前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
40 5
|
27天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
43 6
|
27天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
64 6
|
27天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
32 4
|
28天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
41 4
|
1月前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
55 2
|
1月前
|
缓存 监控 Linux
|
1月前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
47 2