目录
一,前提
二, 在root身份下,管理用户
1. 判断身份
2. 创建用户
3. 销毁用户
三,文件增,删,移动指令
1. pwd——查看路径
2. ps ——打开文件目录
3. touch——创建文件
4. nano——打开文件
5. ls -l ——以列表形式打印该目录下文件的属性编辑
6. ls -a ——显示隐藏文件
7. cd ——更改路径
1. cd + 新路径
2. 通过回退机制, cd + ..
8. 写一段简单的c程序
1. 创建一个test.c 文件
2. nano test.c 进入test.c文件进行代码编写
3. 执行生成的可执行文件
9. which + 指令 ——找到指令所在的路径
1. alias ——取别名
10 . touch 指令
11. mkdir —— 创建目录
12. rmdir & rm
1. rmdir ——删除空目录
2. rm——删库跑路
13 . man——手册指令
14. cp —— 拷贝指令
1. 拷贝单个文件
2. 拷贝目录 cp -rf
15. mv——剪切
1. 移动文件
2. 对文件重命名
三, 查看,文件处理指令
16. 查看指令
1. cat
2. more 指令
3. less 指令(推荐)
4. 总结
17. 局部查看
1. head ——查看前面10(默认)行内容
2. tail —— 查看后10(默认)行内容
3. 查看中间数据
前提须知
18.时间相关的指令
date显示
2.在设定时间方面
3.时间戳
19. cal —— 日历指令
20. find——查找文件(重要)
21. grep——文件行查找指令
22. zip & unzip
1. zip —— 压缩
2. unzip —— 解压
编辑
23. tar ——打包 & 解包
1. 打包与压缩的区别
24. 热键
一,前提
1. 服务器: 一台云服务器(阿里云先嫖一个月),本文配置选centos7.6。
2. 重设root密码:当我们购买好云服务器后(这里以阿里云为例),重置为较为复杂的密码(我们拷贝一份所买云服务器的公网IP)。
3. 下载Xshell: 方便远程访问服务器
4. 安装Xshell:跟着默认走就行,安装成功后开始
(注:XShell 下的复制粘贴:
二, 在root身份下,管理用户
目的:作为小白的我们,root身份权限太大了,出错容易导致服务器崩溃,所以需要创建子用户。
1. whoami——判断身份
2. 创建用户
步骤如下:
3. 销毁用户
步骤如下:
三,文件增,删,移动指令
1. pwd——查看路径
2. ls ——打开当前目录
我们如果发现没有出现目录,那是因为内部没有创建文件,所以就显示没有。
3. touch——创建文件
touch [文件名]
4. nano——打开文件
比如:这里有一个test.c文件,我们打开指令是:
用法: nano test.c
(注意:如果一次使用nano 会发现找不到文件,我们需要切换root身份去输入
Ubuntu / Debian:
apt-get install nano -y
CentOS / Fedora:
yum -y install nano
等待安装成功即可。)
5. ls -l ——以列表形式打印该目录下文件的属性
6. ls -a ——显示隐藏文件
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件-l 列出文件的详细信息。-n 用数字的 UID,GID 代替名称。 (介绍 UID , GID )-F 在每个文件名后附上一个字符以说明该文件的类型, “*” 表示可执行的普通文件; “/” 表示目录; “@” 表示符号链接; “|” 表示 FIFOs ; “=” 表示套接字 (sockets) 。(目录类型识别)-r 对目录反向排序。-t 以时间排序。-s 在 l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)-R 列出所有子目录下的文件。 ( 递归 )-1 一行只输出一个文件。
7. cd ——更改路径
1. cd + 新路径(绝对路径)
2. 通过回退机制, cd + .. (相对路径)
这里用上我们前面发现的"." ''..''的隐藏文件
总结:.与..这两个隐藏文件每个目录下都会存在,以便于我们回退路径——当然我们回退到根目录下就不能再回退了。
其他的指令:
cd /home/litao/linux/ : 绝对路径 ————从根目录开始的索引(唯一性)cd ../day02/ : 相对路径 ————以当前目录开始索引 (多样性)cd ~ :进入用户家目(root用户,对应的工作用户一定是root;普通用户,对应的一定是/home/xxxx)cd - :返回 最近访问目录
8. 写一段简单的c程序
1. 创建一个test.c 文件
touch test.c // 感兴趣可以 ls 验证一下
2. nano test.c 进入test.c文件进行代码编写
3. 执行生成的可执行文件
9. which + 指令 ——找到指令所在的路径
这里我们不禁会想,指令有其路径,那么一定有他的文件。 指令本身是linux自带的可执行程序,那么指令也是文件。
这里我们顺便了解一下alias
1. alias ——取别名
功能:将复杂的指令修改,方便使用。
作用周期:登陆修改持续到退出服务器,退出即重置修改,一方面原因是防止指令名污染
10 . touch 指令
语法: touch [选项] [文件名]
功能:
1. 创建普通文件,同时记录创建时间。
2. 更新创建时间和修改时间。
-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。-c 或 --no-create 不建立任何文档。-d 使用指定的日期时间,而非现在的时间。-f 此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。-m 或 --time=mtime 或 --time=modify 只更改变动时间。-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t 使用指定的日期时间,而非现在的时间
11. mkdir —— 创建目录
-p , --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在 , 加上此选项后 , 系统将自动建立好那些尚不存在的目录 , 即一次可以建立 多个目录 ;
如:
图中操作,我们用到了tree -a的操作,这个不是linux默认的指令,需要安装。详细步骤可以参考这位大佬的文章:(3条消息) Linux下tree命令安装及使用_安装tree命令_wangqingchuan92的博客-CSDN博客
12. rmdir & rm
1. rmdir ——删除空目录
-p 当子目录被删除后如果父目录也变成空目录的话,就连带 父目录 一起删除。
2. rm——删库跑路
-f 即使文件属性为只读 ( 即写保护 ) ,亦 直接 删除文件(无法删除目录)。-i 删除前逐一询问确认-r 删除目录及其下所有文件(递归删除)
(1) rm -r
(2) rm -rf
13 . man——手册指令
我们知道在过去我们需要查某些库函数,我们都会去网上或者是MSDN上查,而在linux 上我们可以问这个man。
一般我们需要去root 身份下输入指令安装:(centos7.6)
yum intstall -y man-ages
假如说我们想查询 C语言的printf函数使用:
因此 我们查找手册时需要指定对应的手册页数。
14. cp —— 拷贝指令
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在-i 或 --interactive 覆盖文件之前先询问用户-r 递归处理,将指定目录下的 文件与子目录一并处理 。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理
1. 拷贝单个文件
2. 拷贝目录 cp -rf
-r :是递归的意思,-f是强制的意思跟前面的删除目录意思一致
15. mv——剪切
功能:
1. 移动文件
语法:mv [文件名或者目录] [路径]
2. 对文件重命名
语法:mv [文件或者目录名] [新的文件名或者目录名]
三, 查看,文件处理指令
16. 查看指令
1. cat
语法:cat [文件] 或者是 cat 不加文件(数据输入是键盘也就是标准输入)
功能:只查看文件
缺点:文件一次性全部输出。
常见选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
(注: tac 指令——逆序输出内容,cat指令——正序输出内容)
2. more 指令
跟cat类似,具有查看功能,但more 能分批查看。
缺点:只能下翻不能回头
常见选项:
- -n 对输出的所有行编号, 比如:-10,一次输出10行,回车键再显示下面的(默认设置,是填满整个页面)
- q 退出more
3. less 指令(推荐)
语法:less [参数] 文件名
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:quit (退出查看)
4. 总结
当我们查看比较少的内容时,可以使用cat 打印出来; 查看比较大的文件时,如查看日志,别人大量代码时,我们用 more / less,其中Less更方便,推荐用less。
休息一下
17. 局部查看
1. head ——查看前面10(默认)行内容
语法: head -n [文件名]
2. tail —— 查看后10(默认)行内容
语法: tail -n [文件名]
3. 查看中间数据
前提须知
了解:输入,输出,追加重定向
假设有10行数据,我想要看3到5行的数据。
方法一: 提取1~5的数据,重定向到新文件中,然后我们取后2行数据;
方法二:通过数据管道
管道传数据可以灵活组合(流水线功能)。比如:cat -n hi.txt | head -5 | tail -2
18.时间相关的指令
date显示
date 用法: date [OPTION]... [+FORMAT]
常见选项:
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01..31)
- %m : 月份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
2.在设定时间方面
- date -s //设置当前时间,只有root权限才能设置,其他只能查看。
- date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 //设置具体时间,不会对日期做更改
- date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
- date -s “01:01:01 20080523″ //这样可以设置全部时间
- date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
- date -s “20080523 01:01:01″ //这样可以设置全部时间
3.时间戳
19. cal —— 日历指令
功能: 查看日期
语法: cal [参数][月][年]
常见搭配:
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
比如:
cal -y 2023
20. find——查找文件(重要)
语法: find [选项] [文件名]
功能:从文件树中寻找目标文件,可能访问磁盘。
特点:
- Linux下find命令在目录结构中搜索文件,并执行指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
- 即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
- 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)
这里仅了解一个常见的用法:
find -name [文件名]
21. grep——文件行查找指令
语法: grep [选项] “字符串” 文件名
功能: 从文件中查找符合条件的行,并输出出来
常见选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
借用正则表达式
22. zip & unzip
1. zip —— 压缩
语法: zip [选项] [压缩名+zip] [文件名或者目录]
实践:
2. unzip —— 解压
语法:
1. unzip [压缩文件名]
2. unzip [压缩文件名] -d [指定解压到地址]
23. tar ——打包 & 解包
1. 打包与压缩的区别
打包:把一堆文件或者目录,集合在一个文件中,大小不改变。
压缩:通过压缩算法将文件进行压缩,大小可能是原来的一半甚至是更少。
选项:
简单用法:
2. 打包: tar -czf [打包名压缩名] [目标文件]
3. 解包: tar -xzf [文件名.tgz] -C [目录或路径]
24. 热键
结语
本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论;如果给小伙伴带来一些收获请留下你的小赞,你的点赞和关注将会成为博主创作的动力。