Linux 下文件和目录的特点
- Linux 文件 或者 目录 名称最长可以有 256 个字符
- 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
- . 代表当前目录
- … 代表上一级目录
目标:
- 理解学习linux终端命令的原因
- 常用linux命令实践
原因
- Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作、文件存取、目录操作、进程管
理、文件权限 设定等
- 在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护
工作都需要通过命令来完成
- 作为后端程序员,必须要或多或少的掌握一些 Linux 常用的终端命令
- Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已
- 不需要死记硬背,对于常用命令,用的多了,自然就记住了
- 不要尝试一次学会所有的命令,有些命令是非常不常用的,临时遇到,临时百度就可以
常用Linux命令的基本使用
小技巧:
ctrl + shift + =
:放大终端窗口的字体显示
ctrl + -
:缩小终端窗口的字体显示
文件系统操作
ll
等同于ls -al
切换目录:
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
- 相对路径:在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
- 绝对路径:在输入路径时,最前面是 / 或者~,表示从根目录/家目录开始的具体目录位置
删除目录/文件
使用 rm 命令要小心,因为文件删除后不能恢复
扩展点: 删除乱码文件
一些文件乱码后使用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
创建文件夹
新建目录的名称 不能与当前目录中 已有的目录或文件 同名
查看文件内容
cat
命令可以用来查看文件内容、文件合并等功能
cat
会一次显示所有的内容,适合查看内容较少的文本文件
more
命令可以用于分屏显示文件内容,每次只显示一页内容
- 适合于 查看内容较多的文本文件
使用 more 的操作键:
[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
[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 -s [源文件] [目标文件] ---> 创建软链接,源文件使用绝对路径
ln [源文件] [目标文件] ---> 创建硬链接
- 当使用正则时候,加双引号:find / -name “*abc” —> 查找根目录下以 abc 结尾的所有文件
- 模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。
grep
命令
- Linux系统中
grep
命令是一种强大的文本搜索工具
grep
允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式
管道 |
- 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
:后台运行