学校网站系统/seo排名资源
目录
1. 整体学习思维导图
2. 常见快捷键操作
3. 基本指令
pwd指令
whoami指令
ls 指令
touch指令
cd 指令
Stat 指令
mkdir 指令
alias指令
nano 指令
rmdir 和 rm 指令
man 指令手册
cp 命令
cat/echo/tac 指令
mv 指令
less 指令
head/tail 指令
date 指令
find/which 命令
grep 指令
rz/sz 指令
zip/unzip 指令
tar 指令
history 指令
bc 指令
uname 指令
4.基本知识
4.1 空文件是否占用空间?
4.2 文件/目录的属性
4.3 . 和 .. 类型的文件
4.4 命令的本质
4.5 * 通配符
4.6 Linux下一切皆文件
4.7 日志文件存储目录
4.8 打包/压缩是什么?
4.8.1 为什么进行打包压缩
4.9 查看指令是否安装
4.10 shell命令及其运行原理简单理解
1. 整体学习思维导图
2. 常见快捷键操作
-
Alt + Enter : 全屏操作/退出全屏
-
Shirt + Insert [+Fn] : 粘贴
-
Ctrl + Insert [+Fn] : 复制
-
Ctrl + C : 终止异常
-
上下键可以快速查找历史命令
-
Ctrl + r 匹配历史指令
-
Ctrl + d 退出当前用户
-
Tab快速摁两下 命令搜索/补全
3. 基本指令
pwd指令
用于打印当前路径
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# pwd
/root
whoami指令
用于查看当前用户
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# whoami
root
ls 指令
用于查看当前目录下的文件
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls
code mysql MySQL_Date
可选项 - a 显示全部文件(包含隐藏文件)
可选项 - l 显示文件的详细信息
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls -a
. .bash_history .bash_profile .cache .cshrc mysql .mysql_history .pki .ssh .viminfo
.. .bash_logout .bashrc code .lesshst MySQL_Date .pip .pydistutils.cfg .tcshrc
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls -l
total 8
drwxr-xr-x 5 root root 4096 Oct 21 08:27 code
-rw-r--r-- 1 root root 0 Nov 27 19:38 mysql
drwxr-xr-x 2 root root 4096 Nov 27 19:47 MySQL_Date
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ls -al
total 172
dr-xr-x---. 8 root root 4096 Nov 27 22:19 .
dr-xr-xr-x. 18 root root 4096 Sep 12 08:27 ..
-rw------- 1 root root 15504 Nov 27 22:19 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwxr-xr-x 3 root root 4096 Jul 11 2019 .cache
drwxr-xr-x 5 root root 4096 Oct 21 08:27 code
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw------- 1 root root 75 Oct 6 15:01 .lesshst
-rw-r--r-- 1 root root 0 Nov 27 19:38 mysql
drwxr-xr-x 2 root root 4096 Nov 27 19:47 MySQL_Date
-rw------- 1 root root 88091 Nov 27 22:19 .mysql_history
drwxr-xr-x 2 root root 4096 Jul 11 2019 .pip
drwxrw---- 3 root root 4096 Oct 23 15:00 .pki
-rw-r--r-- 1 root root 205 Jun 17 10:31 .pydistutils.cfg
drwx------ 2 root root 4096 Jul 11 2019 .ssh
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw------- 1 root root 4528 Nov 27 19:47 .viminfo
touch指令
-
用于创建普通文件
-
也可以更新文件的使用时间
/* 创建普通文件 */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# touch Text.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 12
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct 6 14:54 dir_2024_10_6
drwxr-xr-x 4 root root 4096 Oct 6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 0 Nov 28 12:49 Text.txt/* 更新文件的使用时间 */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# touch Text.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 12
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct 6 14:54 dir_2024_10_6
drwxr-xr-x 4 root root 4096 Oct 6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 0 Nov 28 18:57 Text.txt
cd 指令
用于跳转到不同路径
-
绝对路径
-
相对路径
/* 比如我们想跳转到/root/code 目录下 */绝对路径
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# cd /root/code/
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# 我们当前在/root,相对路径
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# cd ./code
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# /* cd ~ */ 跳转到家路径下
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# pwd
/root/code
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# cd ~
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# pwd
/root/* cd- */ 回到最近一次的路径
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cd -
/root/code/dir_2024_11_28/Test
[root@iZ2ze0j6dd76e0o9qypo2rZ Test]# cd -
/root/code/dir_2024_11_28
Stat 指令
查看文件的时间状态
-
Modify (mtime) 关注文件内容的修改。
-
Change (ctime) 关注文件状态的任何变化,包括内容修改和元数据修改。
-
Access (atime) 关注文件内容的读取。
Change和Modify的区别?
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# stat Text.txt File: ‘Text.txt’Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 1056689 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-11-28 18:57:44.225373104 +0800
Modify: 2024-11-28 18:57:44.225373104 +0800
Change: 2024-11-28 18:57:44.225373104 +0800Birth: -
mkdir 指令
-
用于创建一个文件夹(目录)
-
也可以连续递归创建目录 -p
-
tree指令以树形结构打印目录内容
/* 创建一个文件夹(目录) */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# mkdir dir_2024_11_28
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 4
drwxr-xr-x 2 root root 4096 Nov 28 19:22 dir_2024_11_28/* 可以连续递归创建目录 */
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# mkdir -p dir_2024_11_28/a/b/c/d
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tree dir_2024_11_28/
dir_2024_11_28/
└── a└── b└── c└── d4 directories, 0 files
alias指令
给别的指令取别名
这种取别名的方式是临时性的,要想实现永久性需要在配置文件中修改
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# alias ouyang='pwd'
[root@iZ2ze0j6dd76e0o9qypo2rZ ~]# ouyang
/root
nano 指令
简单的记事本,可以编写普通文件的内容
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# nano Hello.c
rmdir 和 rm 指令
-
rmdir 用于删除目录
-
rm 用于删除目录和普通文件
-
-f 不再询问 -r 递归执行
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# rm a
rm: cannot remove ‘a’: Is a directory
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# rm -f a
rm: cannot remove ‘a’: Is a directory
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# rm -rf a
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 16
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root 72 Nov 28 19:44 Hello.c
man 指令手册
man是一个在线参考手册
cp 命令
cp 来源文件 目标文件
-
如果存在会覆盖目标文件
-
会拷贝到目录内部
/* 拷贝普通文件 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp Hello.c Text.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 20
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root 72 Nov 28 19:44 Hello.c
-rw-r--r-- 1 root root 72 Nov 28 19:54 Text.c/* 如果拷贝的目标文件存在内容会询问是否覆盖 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp Hello.c Text.c
cp: overwrite ‘Text.c’? /* -r递归拷贝 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree Test
Test
├── a.txt
└── b.txt0 directories, 2 files
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp Test Test2
cp: omitting directory ‘Test’
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp -r Test Test2
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 28
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root 72 Nov 28 19:44 Hello.c
drwxr-xr-x 2 root root 4096 Nov 28 19:56 Test
drwxr-xr-x 2 root root 4096 Nov 28 19:57 Test2
-rw-r--r-- 1 root root 72 Nov 28 19:56 Text.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree Test2
Test2
├── a.txt
└── b.txt0 directories, 2 files/* 再次拷贝目录会拷贝到文件内部 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cp -r Test Test2
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree Test2
Test2
├── a.txt
├── b.txt
└── Test├── a.txt└── b.txt1 directory, 4 files
cat/echo/tac 指令
-
cat 显示文件内容(正向)
-
tac 显示文件内容(反向)
-
echo 把后续内容当做字符串
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c
#include<stdio.h>int main()
{printf("Hello World!\n");return 0;
}
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo Hello.c
Hello.c
-
重定向操作
/* 默认写到显示器文件内部 */ [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello Linux!' Hello Linux!/* 使用 > 可以写到别的文件内部 注意:会先清空文件内容再写入 */ [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c #include<stdio.h>int main() {printf("Hello World!\n");return 0; } [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello Linux' > Hello.c [root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c Hello Linux
-
追加重定向操作 >>
-
不会清空文件内容,继续写入
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello ouyang' > Hello.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c
Hello ouyang
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# echo 'Hello ouyang' >> Hello.c
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Hello.c
Hello ouyang
Hello ouyang
-
tac
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat Textfile.txt
#include <iostream>int main()
{return 0;
}
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tac Textfile.txt
}return 0;
{
int main()#include <iostream>
mv 指令
mv srcfile dstdir
-
用于移动文件位置
-
对文件/目录进行重命名(如果dstdir不是目录/不存在)
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# touch Textfile.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mkdir mydir1
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ls
mydir1 myLinux Textfile.txt/* 重命名 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv Textfile.txt file.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv mydir1 mydir2
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ls
file.txt mydir2 myLinux/* 移动文件位置 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv file.txt mydir2/
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 16
drwxr-xr-x 2 root root 4096 Nov 30 08:37 mydir2
-rwxr-xr-x 1 root root 8448 Nov 28 20:29 myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tree mydir2/
mydir2/
└── file.txt0 directories, 1 file[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# mv mydir2 ../
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ls
myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cd ..
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ls
dir_2024_10_21 dir_2024_10_6 dir_2024_11_28 dir_2024_9_12 mydir2
less 指令
用于上下查看一个文件的内容,如日志文件
head/tail 指令
用于查找开头/结尾内容,-n 控制查找行数,默认为10行
以查看日志文件为例:
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# head /var/log/messages
Nov 24 03:27:01 iZ2ze0j6dd76e0o9qypo2rZ rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="924" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Nov 24 03:27:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Removed slice User Slice of root.
Nov 24 03:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 24 03:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 27087 of user root.
Nov 24 03:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Removed slice User Slice of root.
Nov 24 03:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 24 03:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 27088 of user root.
Nov 24 03:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Removed slice User Slice of root.
Nov 24 03:50:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 24 03:50:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 27089 of user root.
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# tail /var/log/messages
Nov 30 08:28:46 iZ2ze0j6dd76e0o9qypo2rZ systemd: Created slice User Slice of root.
Nov 30 08:28:46 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28161 of user root.
Nov 30 08:28:46 iZ2ze0j6dd76e0o9qypo2rZ systemd-logind: New session 28161 of user root.
Nov 30 08:30:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28162 of user root.
Nov 30 08:40:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28163 of user root.
Nov 30 08:50:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28164 of user root.
Nov 30 09:00:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28165 of user root.
Nov 30 09:01:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28166 of user root.
Nov 30 09:10:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28167 of user root.
Nov 30 09:20:01 iZ2ze0j6dd76e0o9qypo2rZ systemd: Started Session 28168 of user root.
-
我们创建一个Hello %d(1-1000) 的文件查询中间的内容501-510
-
| 管道文件
/* 创建文件 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cnt=1; while [ $cnt -le 1000 ]; do echo "Hello $cnt"; let cnt++; done > log.txt
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# ll
total 28
-rw-r--r-- 1 root root 9893 Nov 30 09:33 log.txt
-rwxr-xr-x 1 root root 8448 Nov 28 20:29 myLinux
-rw-r--r-- 1 root root 48 Nov 30 08:42 Textfile.txt/* 查找501-510内容 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# head -510 log.txt | tail -10
Hello 501
Hello 502
Hello 503
Hello 504
Hello 505
Hello 506
Hello 507
Hello 508
Hello 509
Hello 510
-
管道文件 |
date 指令
用于查看时间
-
年月日时分秒:+%Y-%m-%d_%H:%M:%S
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# date +%Y-%m-%d_%H:%M:%S
2024-11-30_09:40:09
-
+%s : 时间戳
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# date +%s
1732930848
find/which 命令
-
which命令用于在指定目录下查找命令
-
find命令可以查找文件/目录/命令等等,以树形结构去寻找
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# which ls
alias ls='ls --color=auto'/usr/bin/ls[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# find ~ -name log.txt
/root/code/dir_2024_11_28/log.txt
grep 指令
用于文本过滤,也可以说是在文本当中查找关键字
-
-n 显示行号
-
-v 反向过滤
-
-i 忽视大小写
/* 我们创建一个文本文件进行查询 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cnt=1; while [ $cnt -le 100 ]; do echo "Hello $cnt"; let cnt++; done > log.txt
/* 自动识别匹配 */
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# cat log.txt | grep '9'
Hello 9
Hello 19
Hello 29
Hello 39
Hello 49
Hello 59
Hello 69
Hello 79
Hello 89
Hello 90
Hello 91
Hello 92
Hello 93
Hello 94
Hello 95
Hello 96
Hello 97
Hello 98
Hello 99
在Linux系统中, 为找到文件try_grep含有以a字母为行开头的内容, 可以使用命令?
$表示匹配文件末尾,字符需要在$之前表示以字符结尾 a$表示以a结尾
^表示匹配文件起始,字符需要在^之后表示以字符起始 ^a表示以a起始
grep -E ^a try_grep;
rz/sz 指令
用于Linux机器和windows机器之间的文件传输
zip/unzip 指令
-
zip用于打包压缩
-
unzip用于解压
zip [选项] dst.zip(目标压缩包) srcdir/scrfile(来源目录/文件)
-r 递归打包压缩,对于目录中多个文件打包压缩需要使用[root@iZ2ze0j6dd76e0o9qypo2rZ code]# zip -r dir.zip dir_2024_11_28/adding: dir_2024_11_28/ (stored 0%)adding: dir_2024_11_28/Textfile.txt (stored 0%)adding: dir_2024_11_28/log.txt (deflated 78%)adding: dir_2024_11_28/myLinux (deflated 72%)
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 24
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct 6 14:54 dir_2024_10_6
drwxr-xr-x 2 root root 4096 Nov 30 17:21 dir_2024_11_28
drwxr-xr-x 3 root root 4096 Nov 30 17:31 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct 6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip/* 发送到windows机器 */ sz
unzip [选项] src.zip(来源的压缩文件)
-d (指定目录),通过这个可以将文件解压到指定目录[root@iZ2ze0j6dd76e0o9qypo2rZ code]# unzip dir.zip -d tmp
Archive: dir.zipcreating: tmp/dir_2024_11_28/extracting: tmp/dir_2024_11_28/Textfile.txt inflating: tmp/dir_2024_11_28/log.txt inflating: tmp/dir_2024_11_28/myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 24
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct 6 14:54 dir_2024_10_6
drwxr-xr-x 3 root root 4096 Nov 30 17:31 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct 6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip
drwxr-xr-x 3 root root 4096 Nov 30 17:41 tmp
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tree tmp
tmp
└── dir_2024_11_28├── log.txt├── myLinux└── Textfile.txt1 directory, 3 files
tar 指令
tar [选项] dst.tgz srcdir/scrfile
-czf 打包压缩
-xzf 解压
-v 查看打包压缩/解压的过程
-c 解压到指定路径[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tar -czf dir_2024.tgz dir_2024_11_28/
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 28
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct 6 14:54 dir_2024_10_6
drwxr-xr-x 2 root root 4096 Nov 30 17:31 dir_2024_11_28
drwxr-xr-x 2 root root 4096 Nov 30 17:49 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct 6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 2861 Nov 30 17:51 dir_2024.tgz
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip[root@iZ2ze0j6dd76e0o9qypo2rZ code]# tar -vxzf dir_2024.tgz
dir_2024_11_28/
dir_2024_11_28/Textfile.txt
dir_2024_11_28/log.txt
dir_2024_11_28/myLinux
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll
total 28
drwxr-xr-x 2 root root 4096 Oct 21 08:27 dir_2024_10_21
drwxr-xr-x 2 root root 4096 Oct 6 14:54 dir_2024_10_6
drwxr-xr-x 2 root root 4096 Nov 30 17:31 dir_2024_11_28
drwxr-xr-x 2 root root 4096 Nov 30 17:49 dir_2024_11_30
drwxr-xr-x 4 root root 4096 Oct 6 14:54 dir_2024_9_12
-rw-r--r-- 1 root root 2861 Nov 30 17:51 dir_2024.tgz
-rw-r--r-- 1 root root 3291 Nov 30 17:32 dir.zip
/* Linux机器之间的互传 */
scp dst.tgz 用户名@公网地址:指定路径
history 指令
用于查看历史命令
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# history | head -1018 man gcc19 gcc -o Hello Hello.c 20 ls21 Hello22 cd Hello23 ls24 ls -lh25 ls -R26 ls -t27 ls -rt
bc 指令
相当于计算器
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# echo "1+2+3+4+5+6+7+8+9+10" | bc
55
uname 指令
用于查看Linux环境下的体系结构和系统内核版本
-
体系结构:芯片结构(intel/amd)
uname [选项]-a / -r
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# uname -r
3.10.0-957.21.3.el7.x86_64
4.基本知识
4.1 空文件是否占用空间?
-
文件 = 内容 + 属性
-
内容存放的是我们写入的数据,属性存放的是文件名/文件类型/文件使用创建修改日期
所以一个空文件也需要空间存放。
4.2 文件/目录的属性
drwxr-xr-x 5 root root 4096 Oct 21 08:27 code
-rw-r--r-- 1 root root 0 Nov 27 19:38 mysql
d:表示是目录 -:表示普通文件 (Oct 21 08:27)修改时间 (4096)表示文件大小
-
c开头表示字符文件
-
b开头表示磁盘文件(物理上的不要轻易修改)
-
l开头表示链接文件
-
p开头表示管道文件
4.3 . 和 .. 类型的文件
在Linux中,以.开头的文件是隐藏文件,.表示当前目录,..表示上级目录
4.4 命令的本质
命令的本质其实是文件,命令 == 可执行程序 == c/c++程序
4.5 * 通配符
[root@iZ2ze0j6dd76e0o9qypo2rZ code]# ll dir*
dir_2024_10_21:
total 4
-rw-r--r-- 1 root root 507 Oct 21 08:26 code.txtdir_2024_10_6:
total 4
-rw-r--r-- 1 root root 0 Oct 6 14:50 Test01.txt
-rw-r--r-- 1 root root 70 Oct 6 14:51 Test.txtdir_2024_11_28:
total 16
-rwxr-xr-x 1 root root 8440 Nov 28 19:45 Hello
-rw-r--r-- 1 root root 72 Nov 28 19:44 Hello.cdir_2024_9_12:
total 24
-rw-r--r-- 1 root root 292 Sep 12 09:15 test
-rw-r--r-- 1 root root 10 Sep 12 09:11 Test01.txt
-rw-r--r-- 1 root root 51 Sep 12 08:54 Test_2024_9_12
-rw-r--r-- 1 root root 70 Oct 6 14:52 Test_tmp.txt
drwxr-xr-x 2 root root 4096 Sep 12 09:36 user1
drwxr-xr-x 2 root root 4096 Sep 12 09:39 user2
4.6 Linux下一切皆文件
包括键盘/显示器/显示器
printf/scanf/cout/cin 属于文件操作
4.7 日志文件存储目录
/var/log/messages
4.8 打包/压缩是什么?
-
打包:就是把文件合并
-
压缩:就是通过压缩算法减少文件体积
4.8.1 为什么进行打包压缩
-
防止文件丢失->打包
-
减少传输时间->压缩
4.9 查看指令是否安装
指令名称--version
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# man --version
man 2.6.3
4.10 shell命令及其运行原理简单理解
-
命令行解释器:shell
-
为什么存在外壳程序:
-
方便用户使用操作
-
外壳程序保护内核
-
相关文章:

【Linux】Linux的基本常识+指令
目录 1. 整体学习思维导图 2. 常见快捷键操作 3. 基本指令 pwd指令 whoami指令 ls 指令 touch指令 cd 指令 Stat 指令 mkdir 指令 alias指令 nano 指令 rmdir 和 rm 指令 man 指令手册 cp 命令 cat/echo/tac 指令 mv 指令 less 指令 head/tail 指令 date…...

Rocky Linux 9.3系统搭建Slurm环境【笔记】
实践环境:Rocky Linux 9.3 [root@m1 ~]# cat /etc/redhat-release Rocky Linux release 9.3 (Blue Onyx) [root@m1 ~]# uname -r 5.14.0-362.8.1.el9_3.x86_64 [root@m1 ~]#主机名和IP ● 控制节点m1:10.1.1.10 ● 计算节点c1:10.1.1.11 ● 计算节点c2:10.1.1.12 一、…...

原生微信小程序使用原子化tailwindcss
这里使用了第三方库来实现:https://weapp-tw.icebreaker.top/ 官方配置步骤一: https://weapp-tw.icebreaker.top/docs/quick-start/native/install 官方配置步骤二:https://weapp-tw.icebreaker.top/docs/quick-start/native/install-plugin 我下面的操作步骤跟官方步骤…...

《掌握Nmap:全面解析网络扫描与安全检测的终极指南》
nmap # 简介(帮助) 用法:nmap [扫描类型] [选项] {目标指定内容} 简介(帮助) 用法:nmap [扫描类型] [选项] {目标指定内容} 一、目标指定: 可以传入主机名、IP 地址、网络等。 例如&a…...

k8s-Informer概要解析(2)
Client-go 主要用在 k8s 控制器中 什么是 k8s Informer Informer 负责与 kubernetes APIServer 进行 Watch 操作,Watch 的资源,可以是 kubernetes 内置资源对象,也可以 CRD。 Informer 是一个带有本地缓存以及索引机制的核心工具包&#x…...

UE5基本数据类型
bool: 表示布尔值,只有两个取值:true 或 false,用于表示逻辑条件。int8: 表示 8 位的有符号整数,范围是 −128−128 到 127127。uint8: 表示 8 位的无符号整数,范围是 00 到 255255。int16: 表示 16 位的有符号整数&am…...

Next.js 系统性教学:中间件与国际化功能深入剖析
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 一、Next.js 中间件 (Middleware) 功能解析 1.1 什么是中间件? 1.2 Next.js 中间件的工作机制 1.3 中间件的功能应用 身份验证与授权 请求重定向 修改请…...

鸿蒙HarmonyOS元服务应用开发实战完全指导
内容提要 元服务概述 元服务开发流程 第一个元服务开发 元服务部署与运行 一、服务概述 1、什么是元服务 在万物互联时代,人均持有设备量不断攀升,设备种类和使用场景更加多样,使得应用开发、应用入口变得更加复杂。在此背景下&#x…...

CT中的2D、MPR、VR渲染、高级临床功能
CT中的2D、MPR、VR渲染 在CT(计算机断层扫描)中,2D、MPR(多平面重建)、VR(体积渲染)是不同的图像显示和处理技术,它们各自有独特的用途和优势。下面分别介绍这三种技术:…...

利用docker-compose来搭建flink集群
1.前期准备 (1)把docker,docker-compose,kafka集群安装配置好 参考文章: 利用docker搭建kafka集群并且进行相应的实践-CSDN博客 这篇文章里面有另外两篇文章的链接,点进去就能够看到 (2&…...

力扣打卡10:K个一组翻转链表
链接:25. K 个一组翻转链表 - 力扣(LeetCode) 这道题需要在链表上,每k个为一组,翻转,链接。 乍一看好像比较容易,其实有很多细节。比如每一组反转后怎么找到上一组的新尾,怎么找到…...

深度学习详解
深度学习(Deep Learning,DL)是机器学习(Machine Learning,ML)中的一个子领域,利用多层次(深层)神经网络来自动从数据中提取特征和规律,模仿人脑的神经系统来进…...

鸿蒙分享(一):添加模块,修改app名称图标
码仓库:https://gitee.com/linguanzhong/share_harmonyos 鸿蒙api:12 新建公共模块common 在entry的oh-package.json5添加dependencies,引入common模块 "dependencies": {"common": "file:../common" } 修改app名称&…...

【Redis】not support: redis
1、查看redis进程 2、查看是否安装redis扩展,此处以宝塔为例...

【集群划分】含分布式光伏的配电网集群电压控制【33节点】
目录 主要内容 模型研究 1.节点电压灵敏度的计算 2.Kmeans聚类划分 3.集群K值 部分代码 运行结果 下载链接 主要内容 该程序参考文献《含分布式光伏的配电网集群划分和集群电压协调控制》,基于社团检测算法,实现基于电气距离和区域电压调节能…...

嵌入式蓝桥杯学习5 定时中断实现按键
Cubemx配置 打开cubemx。 前面的配置与前文一样,这里主要配置基本定时器的定时功能。 1.在Timer中点击TIM6,勾选activated。配置Parameter Settings中的预分频器(PSC)和计数器(auto-reload Register) 补…...

【Java】类似王者荣耀游戏
r77683962/WangZheYouDianRongYao 运行效果图: 类似王者荣耀游戏运行效果图_哔哩哔哩_bilibili...

C++<基本>:union是没有构造函数和析构函数的
今天发现当我在union中包含了多个结构体时,结构体有默认构造函数时,编译报错。 问题点: union不支持构造函数和析构函数union中的元素本身也是不支持构造函数和析构函数的。包含union的结构体也不支持构造函数和析构函数。 出错代码如下&a…...

SQL中IN和NOT操作符的用法
1. IN操作符(布尔逻辑) 在SQL中,IN 是一个用于检查某个字段值是否包含在给定的多个可能值中的布尔操作符。它经常与条件表达式一起使用,通常出现在WHERE子句中。 用法: IN操作符用来确定某个字段的值是否存在于给定…...

C++平常学习用的
4.1 友元函数 4.2 友元类 5.2 类模板 7.2 虚函数dynamic_cast运算 7.2 纯虚函数和抽象类...

JAVA |日常开发中Servlet详解
JAVA |日常开发中Servlet详解 前言一、Servlet 概述1.1 定义1.2 历史背景 二、Servlet 的生命周期2.1 加载和实例化2.2 初始化(init 方法)2.3 服务(service 方法)2.4 销毁(destroy 方法) 三、Se…...

QT实战--QTreeWidget实现两种行颜色+QListWidget样式
本文主要介绍了QTreeWidget实现两种行颜色、点击打开父节点以及设置父子节点之间距离,同时附带介绍了QListWidget样式 树效果图: 列表效果图: 1.树样式的实现 1)使用代码: m_pLeftTreeWidget = new QTreeWidget(this);m_pLeftTreeWidget->setObjectName("suolue_t…...

RPA在IT运维中的实践:自动化监控与维护
一、引言 1. IT运维面临的挑战与RPA的机遇 在IT运维领域,日常的监控、维护和故障响应等工作占据了大量的时间和资源。随着技术的发展,RPA技术提供了自动化这些重复性任务的可能性,从而释放IT团队的潜力,让他们能够专注于更复杂和…...

C# 设置方法执行超时,则执行下一个方法
最近在开发过程中遇到了一个问题,在进行通讯连接时,如果没有连接的话会延时几十秒,而且还设置不了连接超时时间,于是我就想着有没有一种可以判断这个方法的执行时间超过多少秒,就跳出执行其他方法,经过大量…...

【iOS】UIImagePickerController
【iOS】UIImagePickerController 前言 笔者简单学习了iOS开发如何调用本地的一个相册的内容,下面简单介绍一下相关内容。 介绍 UIImagePickerController是iOS平台上的一个类,用于在应用程序中访问设备的照片库、相机和视频录制功能。它提供了一个用户…...

现代企业营销模式创新:链动 2+1 模式 AI 智能名片商城小程序的应用与价值
摘要:本文旨在探讨现代企业面临的客户环境变化以及相应的营销模式变革需求,重点分析链动 21 模式 AI 智能名片商城小程序在满足现代企业营销沟通即时性、精准性、社会性和方便性要求方面的作用,并阐述其对企业在未来市场竞争中取得胜利的重要…...

springboot+Loki+Loki4j+Grafana搭建轻量级日志系统
文章目录 前言一、日志组件介绍 1.1 Loki组件1.2 Loki4j组件1.3 Grafana 二、组件下载安装运行 Loki下载安装运行Grafana下载安装运行 三、创建springboot项目总结 前言 日志在任何一个web应用中都是不可忽视的存在,它已经成为大部分系统的标准组成部分。搭建日志…...

服务器守护进程化
目录 一、守护进程的定义与特点 1、定义 2、特点 二、守护进程的原理 三、守护进程与会话(Session)的关系 四、C实现守护进程 守护进程(Daemon Process)是一个在后台运行、通常不与用户直接交互的进程。守护进程是操作系统中…...

灵途科技亮相2024世界传感器大会 分享光纤光源技术突破
12月1日至2日,2024世界传感器大会(WSS)在郑州国际会展中心隆重举办,泛自动驾驶领域光电感知专家灵途科技受邀参加“光纤传感器与激光雷达”分论坛,并在大会上带来《激光雷达用一体化光纤光源》专题演讲,同与…...

day35—蓝桥杯2024年第16届校赛模拟第二期-T4(最小花费)
【问题描述】 小蓝有一个整数,初始值为 1 ,他可以花费一些代价对这个整数进行变换。 小蓝可以花费 1 的代价将整数增加 1 。 小蓝可以花费 3 的代价将整数增加一个值,这个值是整数的数位中最大的那个(1 到 9)。 小蓝可…...