目录
[7.任意匹配------ *](#7.任意匹配—— *)
[10.安装------ apt](#10.安装—— apt)
[15.反过来的 cat------tac](#15.反过来的 cat——tac)
1.ls
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
• -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
• -d 将⽬录像文件⼀样显示,⽽不是显示其下的文件。 如:ls ‒d 指定⽬录
• -i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件
• -k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件
• -l 列出文件的详细信息
• -n ⽤数字的 UID,GID 代替名称。 (介绍 UID, GID)
• -F 在每个文件名后附上⼀个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"
="表示套接字(sockets)。(目录类型识别)
• -r 对目录反向排序
• -t 以时间排序
cpp
-l/-ll
lighthouse@VM-0-7-ubuntu:~$ ls -l
total 4
drwxrwxr-x 2 lighthouse lighthouse 4096 Mar 29 21:18 mydir.c
lighthouse@VM-0-7-ubuntu:~$ ls -ll
total 4
drwxrwxr-x 2 lighthouse lighthouse 4096 Mar 29 21:18 mydir.c
-a/-al(a的功能加上l的功能)/-all(al的不同形式)
lighthouse@VM-0-7-ubuntu:~$ touch .filee.txt(创建一个隐藏文件)
lighthouse@VM-0-7-ubuntu:~$ ls -a
. .. .bash_history .bash_logout .bashrc .cache .filee.txt .lesshst mydir.c .profile .Xauthority
lighthouse@VM-0-7-ubuntu:~$ ls -al
total 40
drwxr-x--- 4 lighthouse lighthouse 4096 Mar 29 21:33 .
drwxr-xr-x 4 root root 4096 Mar 25 22:14 ..
-rw------- 1 lighthouse lighthouse 565 Mar 29 21:33 .bash_history
-rw-r--r-- 1 lighthouse lighthouse 220 Mar 31 2024 .bash_logout
-rw-r--r-- 1 lighthouse lighthouse 3771 Mar 31 2024 .bashrc
drwx------ 2 lighthouse lighthouse 4096 Mar 26 09:32 .cache
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 29 21:33 .filee.txt
-rw------- 1 lighthouse lighthouse 20 Mar 29 21:20 .lesshst
drwxrwxr-x 2 lighthouse lighthouse 4096 Mar 29 21:18 mydir.c
-rw-r--r-- 1 lighthouse lighthouse 807 Mar 31 2024 .profile
-rw------- 1 lighthouse lighthouse 118 Mar 29 21:13 .Xauthority
lighthouse@VM-0-7-ubuntu:~$ ls -all
total 40
drwxr-x--- 4 lighthouse lighthouse 4096 Mar 29 21:33 .
drwxr-xr-x 4 root root 4096 Mar 25 22:14 ..
-rw------- 1 lighthouse lighthouse 572 Mar 29 21:33 .bash_history
-rw-r--r-- 1 lighthouse lighthouse 220 Mar 31 2024 .bash_logout
-rw-r--r-- 1 lighthouse lighthouse 3771 Mar 31 2024 .bashrc
drwx------ 2 lighthouse lighthouse 4096 Mar 26 09:32 .cache
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 29 21:33 .filee.txt
-rw------- 1 lighthouse lighthouse 20 Mar 29 21:20 .lesshst
drwxrwxr-x 2 lighthouse lighthouse 4096 Mar 29 21:18 mydir.c
-rw-r--r-- 1 lighthouse lighthouse 807 Mar 31 2024 .profile
-rw------- 1 lighthouse lighthouse 118 Mar 29 21:13 .Xauthority
2.pwd
语法: pwd
功能:显示用户当前所在的目录
cpp
lighthouse@VM-0-7-ubuntu:~$ pwd
/home/lighthouse
3.cd
Linux理论知识:路径的认识
• Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件
• 其中普通文件⼀定是目录树的叶子节点
• 目录可能是叶子(空⽬录), 也可能是路上节点
• 理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,⽽定位文件就需要具有唯⼀性的方案来进行定位文件。其中任何⼀个节点,都只有⼀个父节点,所以从根目录开始,定位指定文件,路径具有唯⼀性
• 绝对路径:⼀般从/开始,不依赖其他⽬录的定位文件的方式
• 相对路径:相对于当前用户所处⽬录,定位文件的路径方式
• 绝对路径⼀般不会随着用户的路径变化而丧失唯⼀性,⼀般在特定服务的配置文件中经常被使用
• 相对路径因为它的便捷性,⼀般在命令行中使用较多
**隐藏文件:**如果有被别人查看或者为了文件列表的简洁,可以将文件设置为隐藏文件
比如:
cpp
lighthouse@VM-0-7-ubuntu:~$ mkdir .mydirr.c
形式:隐藏文件前缀有:" . "。
我们在展开目录文件的子文件时我们可以看到有:" . "," .. "内容,并且所有目录文件都有,这是什么,有什么作用?
" . ":叫做当前文件
作用:我们知道所有文件都存储在磁盘中,只有使用时,才能将其加载到内存,那么需要找到其的地址,刚好当前目录有当前文件,就可以通过其来快速寻找到
" .. ":叫做上级文件,我们可以通过其来访问或者切换到上级目录
cpp
lighthouse@VM-0-7-ubuntu:~$ pwd
/home/lighthouse
lighthouse@VM-0-7-ubuntu:~$ cd ..
lighthouse@VM-0-7-ubuntu:/home$ pwd
/home
lighthouse@VM-0-7-ubuntu:/home$
这些文件的使用都为相对路径实现提供了前提条件。
cd使用
语法:
cd +目标目录
cpp
lighthouse@VM-0-7-ubuntu:~$ pwd
/home/lighthouse
lighthouse@VM-0-7-ubuntu:~$ cd home
-bash: cd: home: No such file or directory
lighthouse@VM-0-7-ubuntu:~$ cd /home
一般使用:
cpp
绝对路径(从 / 开始写完整路径)
cd /home/user/doc
cd /etc
cd /root
相对路径(从当前目录出发)
cd test
cd ./test # . 代表当前目录,和 cd test 一样
cd ../project
常用快速跳转
cd # 回到当前用户的家目录(~)
cd ~ # 同上,回到家目录
cd - # 回到**上一次所在的目录**(来回切换很方便)
cd .. # 回到上一级目录
cd ../.. # 回到上两级目录
4.文件创建
4.1普通文件的创建------touch
- 最常用:创建空文件
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ touch test.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── mydirr.c
├── myfil.txt
└── test.c
- 一次性创建多个文件
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ touch file1.c file2.c file3.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file1.c
├── file2.c
├── file3.c
├── mydirr.c
├── myfil.txt
└── test.c
3.创建相同文件修改时间
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ ls -al
total 12
drwxrwxr-x 3 lighthouse lighthouse 4096 Mar 30 09:24 .
drwxr-x--- 5 lighthouse lighthouse 4096 Mar 30 09:06 ..
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:24 file1.c
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:24 file2.c
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:24 file3.c
drwxrwxr-x 2 lighthouse lighthouse 4096 Mar 29 22:30 mydirr.c
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 29 21:18 myfil.txt
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:22 test.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ touch file1.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ ls -al
total 12
drwxrwxr-x 3 lighthouse lighthouse 4096 Mar 30 09:24 .
drwxr-x--- 5 lighthouse lighthouse 4096 Mar 30 09:06 ..
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:26 file1.c
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:24 file2.c
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:24 file3.c
drwxrwxr-x 2 lighthouse lighthouse 4096 Mar 29 22:30 mydirr.c
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 29 21:18 myfil.txt
-rw-rw-r-- 1 lighthouse lighthouse 0 Mar 30 09:22 test.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ stat file1.c//查看三个文件时间
File: file1.c
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 253,2 Inode: 655386 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1001/lighthouse) Gid: ( 1002/lighthouse)
Access: 2026-03-30 09:26:24.685381802 +0800
Modify: 2026-03-30 09:26:24.685381802 +0800
Change: 2026-03-30 09:26:24.685381802 +0800
Birth: 2026-03-30 09:24:23.954128805 +0800
三个时间的区别:
- atime(Access Time)
访问时间
- 读文件内容时更新
- 比如:
cat、less、vim打开看、程序读文件
- mtime(Modify Time)
内容修改时间
文件内容真正被改了才更新
比如:
echo xxx > file、vim保存、编辑文件
- ctime(Change Time)
属性 / 状态修改时间
改权限、所有者、大小、链接数等属性时更新
内容改了(mtime 变),ctime 也会跟着变
但只改属性(比如
chmod、chown),mtime 不变,ctime 变
4.2目录文件的创建------mkdir
cpp
创建单个目录
mkdir test.c
创建多个目录
mkdir dir1 dir2 dir3
mkdir src bin build
5.显示树状结构------tree
cpp
lighthouse@VM-0-7-ubuntu:~$ tree
.
└── mydir.c
├── file1.c
├── file2.c
├── file3.c
├── mydirr.c
├── myfil.txt
└── test.c
6.取别名------alias
cpp
lighthouse@VM-0-7-ubuntu:~$ alias zhangsan='pwd'
lighthouse@VM-0-7-ubuntu:~$ zhangsan
/home/lighthouse
不是永久的,推出系统就会消失
取消可以使用unalias,想要永久的可以写进配置文件
7.任意匹配------ *
匹配任意字符、任意长度
*= 所有、一切*.后缀= 这一类文件
cpp
ls * # 显示当前目录所有文件、文件夹
ls *.txt # 只显示所有 .txt 结尾的文件
rm *.log # 删除所有 .log 文件
touch a* # 新建/更新所有以 a 开头的文件
mkdir test*# 新建 test 开头的文件夹
cd * # 不实用,但语法合法
cpp
lighthouse@VM-0-7-ubuntu:~$ tree
.
└── mydir.c
├── file1.c
├── file2.c
├── file3.c
├── mydirr.c
├── myfil.txt
└── test.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ ls my*
myfil.txt
mydirr.c:
8.删除------rm
rm -i是有提示的,可以先给其取别名,防止误删除。(没有取别名,就会没有提示直接删除)
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file2.c
├── file3.c
├── mydirr.c
└── test.c
2 directories, 3 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ alias rm='rm -i'
lighthouse@VM-0-7-ubuntu:~/mydir.c$ rm file2.c
rm: remove regular empty file 'file2.c'? n
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file2.c
├── file3.c
├── mydirr.c
└── test.c
强制删除,没有提示(谨慎使用),特别是:
rm -rf / # 千万不要手贱输这个!输入系统就崩了,数据也会丢失
9.手册------man
章节内容结构
man 手册的 9 个章节(必须知道)
可执行程序 / 普通命令
系统调用(内核函数)程序员用的 Linux 内核接口
库函数(C 库函数)C 语言标准库
设备文件 / 驱动/dev 下的设备
配置文件格式配置文件的语法,
游戏相关比较少见
杂项、协议、规范网络协议、ASCII 码、字符集、内核规范
系统管理员命令只有 root 能用的命令
内核相关(很少用)
所以man手册内容十分全面
我们现在只讨论命令
使用格式:
man 命令名
演示:
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ man ls
操作快捷键
- 上 / 下箭头:滚动
- 空格:下一页
- b:上一页
- q:退出
/关键词:搜索(如/force)
10.安装------ apt
sudo apt install 软件名
11.拷贝------cp
1.复制文件(最常用)
cp 源文件 目标文件
2.复制到目录里
cp 文件名 目录名
3.复制目录(必须加
-r)cp -r 源目录 目标目录
4.覆盖前提示(安全)
cp -i 源文件 目标文件
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file2.c
├── file3.c
├── mydirr.c
└── test.c
2 directories, 3 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cp file2.c file4.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file2.c
├── file3.c
├── file4.c
├── mydirr.c
└── test.c
2 directories, 4 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cp file2.c mydirr.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file2.c
├── file3.c
├── file4.c
├── mydirr.c
│ └── file2.c
└── test.c
2 directories, 5 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cp -r mydirr.c mydirr1.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file2.c
├── file3.c
├── file4.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
12.输入------echo
1.直接在屏幕上输出一句话
1.1文字
1.2变量
- 写入文件(最常用!)
2.1覆盖写入(清空原有内容)
echo "我是写入的内容" > test.txt
2.2追加写入(加在最后,不删原来的)(自动添加/n)
echo "我是追加的内容" >> test.txt
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ echo file2.c
file2.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ echo 'hello world'> file2.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cat file2.c
hello world
lighthouse@VM-0-7-ubuntu:~/mydir.c$ echo 'llllllll'>file2.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cat file2.c
llllllll
lighthouse@VM-0-7-ubuntu:~/mydir.c$ echo 'hhhhhh'>>file2.c
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cat file2.c
llllllll
hhhhhh
13.输出------cat
默认输出到端口
1.看文件内容
cat 文件名
2.新建并写入内容(存在则覆盖)
cat > test.c
3.往文件末尾追加内容
cat >> test.c
cpp
lighthouse@VM-0-7-ubuntu:~$ echo 'hello world'>file2.c
lighthouse@VM-0-7-ubuntu:~$ cat
^C
lighthouse@VM-0-7-ubuntu:~$ cat file2.c
hello world
lighthouse@VM-0-7-ubuntu:~$ cat >file2.c
hhhhhhhhhhhh
lighthouse@VM-0-7-ubuntu:~$ cat file2.c
hhhhhhhhhhhh
lighthouse@VM-0-7-ubuntu:~$ cat >>file2.c
eeeeeeeeeeeeeee
lighthouse@VM-0-7-ubuntu:~$ cat file2.c
hhhhhhhhhhhh
eeeeeeeeeeeeeee
14.move
- 重命名
mv 旧名字 新名字
2.移动文件
把文件搬到另一个文件夹里
mv 文件名 目标目录
3.移动 + 重命名(一步搞定)
一边移动,一边改名
mv 旧文件 目标目录/新名字
cpp
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── fiiii
├── file3.c
├── file4.c
├── file5.c
├── file6.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
3 directories, 8 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ mv fiiii feeee
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── feeee
├── file3.c
├── file4.c
├── file5.c
├── file6.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
3 directories, 8 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$
/////////////////////////////////////////////////////////////////////////////////////////
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── feeee
├── file3.c
├── file4.c
├── file5.c
├── file6.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
3 directories, 8 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ mv feeee ..
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file3.c
├── file4.c
├── file5.c
├── file6.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
3 directories, 7 files
/////////////////////////////////////////////////////////////////////////////////////////
lighthouse@VM-0-7-ubuntu:~/mydir.c$ tree
.
├── file3.c
├── file4.c
├── file5.c
├── file6.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
3 directories, 7 files
lighthouse@VM-0-7-ubuntu:~/mydir.c$ mv file3.c ../f3333
lighthouse@VM-0-7-ubuntu:~/mydir.c$ cd ..
lighthouse@VM-0-7-ubuntu:~$ tree
.
├── f3333
├── feeee
├── file2.c
└── mydir.c
├── file4.c
├── file5.c
├── file6.c
├── mydirr1.c
│ └── file2.c
├── mydirr.c
│ └── file2.c
└── test.c
15.反过来的 cat------tac
cpp
lighthouse@VM-0-7-ubuntu:~$ cat f3333
ffffffff
zzzzzzz
ggggggg
lighthouse@VM-0-7-ubuntu:~$ tac f3333
ggggggg
zzzzzzz
ffffffff
16.查看日志的操作
日志就是记录全是:云厂商监控 + 系统定时任务 + 你登录操作的正常日志,所以其的特点就是内容巨多,那我们开发时候出错时查看日志是必不可少,所以针对其特点,有如下操作:
打开日志方式:
1.直接打开(刷屏)
我们主要查看自己的指令,操作:history
查看系统日志:sudo cat /var/log/syslog
如果创建自己的日志:
1.cat log.txt(可以方便看尾部的内容,全部指令会刷屏)
272 cd ~
273 cat log.txt
274 cd /
275 cat log.txt
276 cat /var/log/syslog~
277 cat /var/log/syslog
278 sudo cat /var/log/syslog
279 clear
280 history
281 clear
282 cat history
283 history
284 tree
285 touch log.txt
286 echo history>log.txt
287 cat log.txt
288 cat history>log.txt
289 history>log.t
- tac log.txt(方便我们查看头部,也会刷屏)
15 ls
14 sudo passwd lighthouse
13 su passwd lighthouse
12 su lighthouse
11 012468xyAB
10 su lighthouse
9 dasd
8 su lighthouse
7 su - lighthouse
6 su -lighthouse
5 su - lighthouse
4 012468xyAB
3 su - lighthouse
2 sudo iournalctl -u ssh -f
1 tail-f/var/log/auth.log
2.翻页查看------more,less(先进,推荐使用)
less log.txt
3.头尾选取------head,tail
3.1头部head:
1.默认:看前 10 行
head log.txt
2.自定义行数
head 数字 log.txt
cpp
lighthouse@VM-0-7-ubuntu:~$ head -n 10 log.txt
1 tail-f/var/log/auth.log
2 sudo iournalctl -u ssh -f
3 su - lighthouse
4 012468xyAB
5 su - lighthouse
6 su -lighthouse
7 su - lighthouse
8 su lighthouse
9 dasd
10 su lighthouse
3.2尾部 tail:
1.默认:看最后 10 行
tail log.txt
2.自定义
tail 数字 log.txt
cpp
lighthouse@VM-0-7-ubuntu:~$ tail 5 log.txt
285 touch log.txt
286 echo history>log.txt
287 cat log.txt
288 cat history>log.txt
289 history>log.txt
3.3head,tail联合使用(截取中间部分)
cpp
lighthouse@VM-0-7-ubuntu:~$ head -n 100 log.txt|tail -n 20
81 pwd
82 cd home
83 cd /home
84 cd /mydir.c
85 pwd
86 cd lighthouse
87 cd mydir.c
88 pwd
89 cd lighthouse
90 cd /lighthouse
91 cd /home/lighthouse
92 pwd
93 cd mydir.c
94 mkdir mydirr.c
95 pwd
96 cd /home/lighthouse
97 pwd
98 cd /mdir.c
99 cd lighthouse
100 pwd
4.搜寻------grep
4.1基本用法(最常用)
grep "关键词" 文件名

4.2不区分大小写搜索
grep -i "关键字" log.txt
4.3反向查找(显示不包含关键词的行)
grep -v "关键字" log.txt

5. |------管道符(pipe)
把 前一个命令的输出,直接当成 后一个命令的输入
接力、过滤、拼接,Linux 神器!
17.date------显示时间
1、直接输 date
作用:打印当前系统时间、日期
cpp
lighthouse@VM-0-7-ubuntu:~$ date
Tue Mar 31 09:22:34 PM CST 2026
2.时间填充
%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
cpp
lighthouse@VM-0-7-ubuntu:~$ date +"%Y-%m-%d %H:%M:%S"
2026-03-31 21:37:39
时间戳知识:
规则:从 1970-01-01 00:00:00 开始,到现在过了多少秒
不会有时区、格式乱码问题
可以配合日志使用
cpu彻底没电了就会出错
18.查找
1. which ------ 找【命令】的位置
cpp
lighthouse@VM-0-7-ubuntu:~$ which ls
/usr/bin/ls
2. whereis ------ 找【命令 + 帮助文档】
cpp
lighthouse@VM-0-7-ubuntu:~$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
3. find ------ 找【任何文件 / 文件夹】(最强大)
find 路径 -name "文件名"
cpp
lighthouse@VM-0-7-ubuntu:~$ find . -name 'log.txt'
./log.txt
19.压缩,解压------zip,unzip
1.zip压缩
zip [选项] 压缩包名.zip 要压缩的文件/文件夹 //切记压缩包后缀要为zip,否则传输工具传输不了,后缀对于系统无关紧要,但是对于工具是十分严格
cpp
lighthouse@VM-0-7-ubuntu:~$ zip mylog.zip log.txt
adding: log.txt (deflated 71%)
lighthouse@VM-0-7-ubuntu:~$ cat mylog.zip
P\EJȭ儔log.txtUT X͋iZ͋iux
灄肵X͊#7¾
3ª¾*U¤𦂐Jɘ=¯.>>9.軶ߎ=Y^ư튲Ԃ8Ȓ缽¸?]Ί!eB븏c%q!U°!dջҪ@iI&ǼBT
es0ȃ;
O>>R'|泦µ~°#
Ťp¶7i"X·;²¶c¦¶#`F¤𐬄ډэLOJ±
t§đN¨v°e¸p[;©њ\¢5¹JK卿즲|6ÿW[+lCQ9vL
v¤REy(岨¨,UgµSn¿>ٱ:<J§>>¢ұ־ ,0Q§I巼{瘣Uƕ´~ ձ½·Cmqیk*º<<©۳%sSfn&ČM©Ӎ𦃙܌ª¬LQº.Er´SR;OWª°Y+[x_y
u±':ۨo犈΅£¦сѳH<<,獐S˝^¿I¥kx¹Z#²>>¤)酞wª۸ª㚘iwV4<<XY;Zo룑UR¡ʼn<<¸듖琊3ה漨꺐z;5օՐ:WA6·±c7̜ɢ
2.unzip
unzip 只能解压到「文件夹」,不能直接解压覆盖 / 生成单个普通文件(不能像重定向那样直接写到一个文件里),因为里面存的是文件名 + 文件内容 + 目录结构,注定了其本身就不是普通文件。
unzip 压缩包名.zip -d 目标文件夹
cpp
lighthouse@VM-0-7-ubuntu:~$ unzip mylog.zip -d test
Archive: mylog.zip
inflating: test/log.txt
lighthouse@VM-0-7-ubuntu:~$ tree
.
├── f3333
├── feeee
├── file2.c
├── log.txt
├── mmml.txt
├── mydir.c
│?? ├── file4.c
│?? ├── file5.c
│?? ├── file6.c
│?? ├── mydirr1.c
│?? │?? └── file2.c
│?? ├── mydirr.c
│?? │?? └── file2.c
│?? └── test.c
├── mylog.txt
├── mylog.zip
└── test
└── log.txt
20.tar------大文件压缩和解压
适用场景:
打包整个项目、文件夹、日志、配置、程序
服务器定时备份、打包归档、压缩省空间
保留 Linux 权限、所有者、软链接、目录结构(zip 做不到)
发布源码、安装包(.tar.gz 是 Linux 行业标准)
超大文件、高压缩率存档(tar.xz 压缩最狠)
一、1. 打包 + 压缩(常用打包备份)
tar -zcvf 压缩包名.tar.gz 要打包的文件/文件夹

二、 解压(最常用)
1.解压 tar.gz
tar -zxvf 压缩包名.tar.gz
2.解压到指定文件夹
tar -zxvf logs.tar.gz -C /home/lighthouse/
3.解压 tar.xz/tar.bz2
tar -Jxvf xxx.tar.xz
tar -jxvf xxx.tar.bz2
这些文件有什么区别:tar.gz = 通用、最快
tar.bz2 = 压缩更强一点
tar.xz = 压缩最强最小
三、 只看不解压(查看包里有啥)
tar -tvf 压缩包名.tar.gz
四、 单纯打包(不压缩,只合并)
tar -cvf 归档包.tar 文件夹/文件
五、打包排除某些文件(实用)
tar -zcvf back.tar.gz ./项目/ --exclude=*.log --exclude=tmp
21.文件传输
1.windows和linux
L->W: sz mylog.zip
注意后缀.zip
W->L:: rz//然后选取要的就行了
2.linux和linux(同一服务器,同一xshell不同界面)
scp 文件名 用户名@B服务器IP:/目标路径
常用快捷键
Ctrl+C 停程序
Ctrl+L 清屏
Ctrl+A/E 首尾
Ctrl+U 清输入
Ctrl+R 搜旧命令
Ctrl+D 退出
tab:补充命令
上下键:历史命令
linux相关知识点
1.什么是文件
文件=内容+属性
对文件操作:要么对内容操作,要么对属性操作
2.Linux中的文件
linux内一切皆文件:硬件、进程、网络、目录、配置、管道、内存...... 全当文件读写。
系统中的文件结构:一棵以根目录为节点的多叉树


linux系统不以文件后缀来区分文件,而是根据其信息前缀(但是操作工具需要后缀):

-:普通文件:文本,可执行,库,图片,视频等等
d:目录文件:.....
c:字符文件:终端,显示器,键盘
b:块设备文件:磁盘
l:连接文件
p:管道文件
输入输出也是文件操作:比如键盘和显示器交互,就是系统先帮助我们打开了相关文件。