欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 【Linux】Linux的基本常识+指令

【Linux】Linux的基本常识+指令

2024/12/22 1:44:34 来源:https://blog.csdn.net/2301_81577798/article/details/144330925  浏览:    关键词:【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 指令

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 为什么进行打包压缩

  1. 防止文件丢失->打包

  2. 减少传输时间->压缩

4.9 查看指令是否安装

指令名称--version
[root@iZ2ze0j6dd76e0o9qypo2rZ dir_2024_11_28]# man --version
man 2.6.3

4.10 shell命令及其运行原理简单理解 

 

  • 命令行解释器:shell

  • 为什么存在外壳程序:

    • 方便用户使用操作

    • 外壳程序保护内核

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com