linux一些基础知识

linux和windown对比:

开源性:Linux是开源的,任何人都可以查看和修改其源代码(敲敲敲);而Windows是闭源的,只有微软拥有其源代码。(点点点)
用户界面:Windows的用户界面相对直观易用(易上手),而Linux则需要一定的学习成本(基本命令的认识)。
应用程序:Windows拥有大量的商业软件和游戏,而Linux则更适合开发和运行开源软件。
安全性:Linux通常被认为比Windows更安全,因为它没有像Windows那样频繁地更新和修补漏洞。
硬件支持:Windows在主流硬件上都有较好的支持,而Linux则需要根据不同的硬件配置进行调整和优化。
命令行界面:Linux主要通过命令行界面进行操作和管理,而Windows则提供了图形化的界面。
稳定性;linux比windows更加稳定
资源消耗:window比较消耗资源而linux比较节省资源

Linux 系统种类

红帽企业版 Linux: RHEL是全世界内使用最广泛的 Linux系统。它具有极强的性能与稳定性,
是众多生成环境中使用的(收费的)系统
Fedora:由红帽公司发布的桌面版系统套件,用户可以免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到 RHEL系统中,因此 Fedora也成为 RHEL系统的试验版本。
CentOS :通过把 RHEL系统重新编译并发布给用户免费使用的 Linux系统,具有广泛的使用人群。
Deepin :中国发行,对优秀的开源成品进行集成和配置。
Debian :稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。
Ubuntu :是一款派生自 Debian的操作系统,对新款硬件具有极强的兼容能力。 Ubuntu与
Fedora 都是极其出色的 Linux桌面系统,而且 Ubuntu也可用于服务器领域。
Manjaro:Manjaro Linux是基于Arch的Linux发行版,为用户提供了更轻松、流畅的Arch体验。它不仅提供了多种桌面环境版本供用户选择,还允许用户自定义外观和布局。

Arch Linux:Arch Linux是一款由社区驱动的Linux操作系统,特别适合高级用户和开发人员。它以KISS原则(Keep It Simple, Stupid)为指导,注重代码的正确性、优雅和极简主义。Arch Linux采用滚动发布模式,这意味着用户可以提前获得新的软件包和功能。它使用自己开发的软件包管理器“pacman”来提供完整的依赖跟踪更新。此外,Arch Linux不仅支持X86处理器架构,还支持X86_64架构,可以从光盘或U盘进行安装。

openSUSE:openSUSE是一个由SUSE公司开发的Linux发行版,它基于RHEL,但比RHEL更加稳定和可靠。openSUSE提供了各种桌面环境和服务器环境,并且支持多种处理器架构。
Kali Linux:Kali Linux是基于Debian的Linux发行版,专为渗透测试和安全研究设计。它包含众多渗透和审计工具,如NMap、Burp Suite和Metasploit Framework。此外,Kali还提供如OWASP ZAP、SQLMAP和THC Hydra等安全程序。该发行版使用APT进行软件包管理,并预装了大量安全工具,使其成为安全专业人员和黑客的优选操作系统。

Mandriva
MandrivaLinux,原名Mandrake,始于1998年7月,由Duval创建。最初,它是基于RedHat开发的,但与RedHat不同,它选择了KDE作为默认桌面环境。由于Linux当时安装较为复杂,Mandrake特别优化了安装过程,使其更为用户友好。此外,它还提供了图形配置工具、友好的操作界面和庞大的社区技术支持。但值得注意的是,部分版本的Mandrake存在较多bug,而最新版本则优先提供给其俱乐部成员。
Solus:Solus是一个近年来发展迅速的新手友好Linux发行版,以其美观和稳定性受到好评。该系统独特之处在于它完全从零开始构建,没有基于其他发行版。
麒麟操作系统:麒麟操作系统是一款国产的自主可控的Linux操作系统,功能相对完善,支持32位和64位体系。
FreeBSD:FreeBSD是一种类UNIX操作系统,其代码被许多其他系统借鉴,包括苹果公司的OS X。FreeBSD支持多种处理器架构,如amd64、X86、ARM等。
雨林木风 os系统:雨林木风 os系统是一款模仿win xp界面的Linux操作系统。该系统在设计上尽量保持与win xp相似的用户界面,以便那些不习惯Linux系统的用户能够更容易地适应。

什么是Shell

Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。
shell 是一个命令语言解释器,它支持变量、条件判断、循环操作等语法,所
以用户可以用 Shell命令写出各种小程序,又称为 Shell脚本。这些脚本都通过 Shell的解释执行,而不通过编译。
Shell 是一个工具箱,提供了各种小工具,供用户方便地使用操作系统的功能。

shell的执行过程:

shell 首先检查命令是否是内部命令,不是的话再检查是否是一个应用程序,这里的应用程序可以是Linux本身的实用程序,比如ls rm,然后shell试着在搜索路径($PATH)里寻找这些应用程序。搜索路径是一个能找到可执行程序的目录列表。如果你键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。而如果命令被成功的找到的话,shell的内部命令或应用程序将被分解为系统调用并传给Linux内核。
请添加图片描述

常用的shell

bash:是Bourne-Again SHell的缩写,是Linux标准默认的shell。
csh:C Shell,是贝尔实验室开发的shell。
ksh:Korn SHell,是贝尔实验室开发的shell。
sh:是Bourne SHell的缩写,是贝尔实验室开发的shell。
zsh:Z Shell,是贝尔实验室开发的shell。
tcsh:TenEX C Shell,是贝尔实验室开发的shell。
ash:是Bourne Again SHell的缩写,是贝尔实验室开发的shell。
dash:是Debian Almquist SHell的缩写,是贝尔实验室开发的shell。
mksh:是MirBSD开发的shell。
pdksh:是Plan 9开发的shell。
rc:是Roger Chun开发的shell。
rksh:是Red Hat开发的shell。
fish:是Fish Shell,是贝尔实验室开发的shell。
其中 Bash 是目前最常用的 Shell。 MacOS中的默认 Shell 就是 Bash。通过执行 echo $SHELL 命令可以查看到当前正在使用的 Shell。还可以通过 cat /etc/shells查看当前系统安装的所有 Shell 种类

命令

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。

得出现在的绝对地址
┌──(root㉿a)-[~]
└─# pwd
/root

~:表示目前所在目录为家目录,其中 root 用户的家目录是 /root 普通用户的家目录在 /home下;
#:指示你所具有的权限( root 用户为 # ,普通用户为 $ )。

执行 whoami 命令可以查看当前用户名;

┌──(root㉿a)-[~]
└─# whoami  
root

执行 hostname 命令可以查看当前主机名;

┌──(root㉿a)-[/home/a]
└─# hostname
a

快捷方式

通过上下方向键 ↑ ↓ 来调取过往执行过的 Linux命令;
命令或参数仅需输入前几位就可以用 Tab键补全;
Ctrl + R :用于查找使用过的命令(history命令用于列出之前使用过的所有命令,然后输入 !命
令加上编号( !2)就可以直接执行该历史命令);
Ctrl + L:清除屏幕并将当前行移到页面顶部;
Ctrl + C:中止当前正在执行的命令;
Ctrl + U:从光标位置剪切到行首;
Ctrl + K:从光标位置剪切到行尾;
Ctrl + W:剪切光标左侧的一个单词;
Ctrl + Y:粘贴 Ctrl + U | K | Y 剪切的命令;
Ctrl + A:光标跳到命令行的开头;
Ctrl + E:光标跳到命令行的结尾;
Ctrl + D:关闭 Shell 会话

Ctrl + F:光标向前(forward)移动一个字符位置,相当于右方向键的功能。
Ctrl + B:光标往回(backward)移动一个字符位置,相当于左方向键的功能。
Ctrl + H:删除光标左方位置的一个字符
Ctrl + D:删除光标位置的字符。
Ctrl + R:用于搜索历史命令,按下后输入想要搜索的命令的任意字符,Shell会提示匹配的命令,选择后回车即可执行。
Ctrl+g:从Ctrl+r的搜索历史命令模式中退出。

在这里插入图片描述
bin:
在这里插入图片描述
/boot
在这里插入图片描述
/dev
在这里插入图片描述
在这里插入图片描述
/etc
在这里插入图片描述
/sbin
/sbin目录是存放系统管理员(root用户)使用的系统管理命令的目录。
在这里插入图片描述
/root
它是Linux系统中的超级用户(root)的默认主目录
在这里插入图片描述
/home
/home目录是用于存放用户个人文件和配置的目录。每个用户在系统中都会有一个独立的子目录,以其用户名命名,位于/home目录下。
在这里插入图片描述

命令:

显示当前目录的路径

┌──(a㉿a)-[/bin]
└─$ pwd
/bin

查看一个可执行命令的位置:

查看命令的可执行文件所在路径, Linux下,每一条命令其实都对应一个可执行程序,在终端中输入命令,按回车的时候,就是执行了对应的那个程序, which命令本身对应的程序也存在于Linux 中。

┌──(a㉿a)-[/bin]
└─$ sudo which ls      
[sudo] a 的密码:
/usr/bin/ls

列出文件和目录。

a 显示所有文件和目录包括隐藏的
-l 显示详细列表
-h 适合人类阅读的
-t 按文件最近一次修改时间排序
-i 显示文件的 inode( inode 是文件内容的标识)

┌──(root㉿a)-[~]
└─# ls      
1  1.txt  2.txt  3.txt  4.txt  f8x  new  VIPER
                                                                                                 
┌──(root㉿a)-[~]
└─# ls -a   
.      3.txt             .cache   .face.icon  .profile                   .viminfo
..     4.txt             .config  .gvfs       .rediscli_history          VIPER
1      .aggressor.prop   .dbus    .java       .selected_editor           .wget-hsts
1.txt  .bashrc           f8x      .local      .ssh                       .zsh_history
2.txt  .bashrc.original  .face    new         .sudo_as_admin_successful  .zshrc
                                                                                                 
┌──(root㉿a)-[~]
└─# ls -h
1  1.txt  2.txt  3.txt  4.txt  f8x  new  VIPER
                                                                                                 
┌──(root㉿a)-[~]
└─# ls -l
总计 408
drwxr-xr-x 3 root root   4096  6415:13 1
-rw-r--r-- 1 root root     45  6415:13 1.txt
-rw-r--r-- 1 root root      6  6411:18 2.txt
-rw-r--r-- 1 root root     24  6411:34 3.txt
-rw-r--r-- 1 root root     16  6415:05 4.txt
-rw-r--r-- 1 root root 385899  4月12日 10:08 f8x
drwxr-xr-x 3 root root   4096  6415:09 new
drwxr-xr-x 7 root root   4096  4月12日 10:38 VIPER
                                                                                                 
┌──(root㉿a)-[~]
└─# ls -i
1874859 1       160566 2.txt   194232 4.txt  1874853 new
 194230 1.txt   194228 3.txt   160563 f8x     213492 VIPER
┌──(root㉿a)-[~]
└─# ls -t
1  1.txt  new  4.txt  3.txt  2.txt  VIPER  f8x

cd 表示切换目录

cd /        --> 跳转到根目录
cd ~        --> 跳转到家目录
cd ..        --> 跳转到上级目录
cd ./home        
cd /home/lion        --> 跳转到当前目录的home目录下--> 跳转到根目录下的home目录下的lion目录
cd        --> 不添加任何参数,也是回到家目录
┌──(root㉿a)-[/home]
└─# cd /     
                                                                                                 
┌──(root㉿a)-[/]
└─# pwd
/
                                                                                                 
┌──(root㉿a)-[/]
└─# cd ~
                                                                                                 
┌──(root㉿a)-[~]
└─# pwd
/root
                                                                                                 
┌──(root㉿a)-[~]
└─# cd ..    
                                                                                                 
┌──(root㉿a)-[/]
└─# pwd
/
                                                                                                 
┌──(root㉿a)-[/]
└─# cd ./home
                                                                                                 
┌──(root㉿a)-[/home]
└─# pwd
/home
                                                                                                 
┌──(root㉿a)-[/home]
└─# cd /home/a
                                                                                                 
┌──(root㉿a)-[/home/a]
└─# pwd
/home/a
                                                                                                 
┌──(root㉿a)-[/home/a]
└─# cd        
                                                                                                 
┌──(root㉿a)-[~]
└─# pwd
/root
       

[注意] 输入cd /ho + 单次 tab 键会自动补全路径 + 两次 tab键会列出所有可能的目录列表。

du 列举目录大小信息。

-h 适合人类阅读的;
-a 同时列举出目录下文件的大小信息;
-s 只显示总计大小,不显示具体信息

┌──(root㉿a)-[~/VIPER]
└─# du -h
28M     ./db
4.0K    ./module
3.3M    ./loot
2.5M    ./log
24K     ./nginxconfig
35M     .
                                                                                                 
┌──(root㉿a)-[~/VIPER]
└─# du -a
380     ./f8x
4       ./docker-compose.yml
92      ./db/temp-1493.rdb
28420   ./db/db.sqlite3
104     ./db/dump.rdb
28620   ./db
4       ./module
4       ./loot/test.ps1
8       ./loot/TestAssembly-N20.exe
764     ./loot/SweetPotato.exe
1316    ./loot/mimikatz_x64.exe
8       ./loot/www.example.com.pem
1052    ./loot/mimikatz_x86.exe
8       ./loot/TestAssembly-N40.exe
192     ./loot/SharpKatz.exe
3356    ./loot
1032    ./log/viper.log.1
12      ./log/access.log
16      ./log/uwsgi.log
4       ./log/viperpython.log
4       ./log/daphne.log
1028    ./log/viper.log.2
360     ./log/viper.log
0       ./log/error.log
2460    ./log
4       ./nginxconfig/server.key
4       ./nginxconfig/nobody.sh
4       ./nginxconfig/server.crt
4       ./nginxconfig/viper.conf
4       ./nginxconfig/viper_default.conf
24      ./nginxconfig
34852   .
                                                                                                 
┌──(root㉿a)-[~/VIPER]
└─# du -s
34852  

cat 一次性显示文件所有内容,更适合查看小的文件。

-n 显示行号。

┌──(root㉿a)-[~]
└─# cat 1.txt
1
2
3
4
5
6
7
8
9
10
a
b
c
d
e
f
j
h
i
g
k
l

┌──(root㉿a)-[~]
└─# cat 1.txt -n   
     1  1
     2  2
     3  3
     4  4
     5  5
     6  6
     7  7
     8  8
     9  9
    10  10
    11  a
    12  b
    13  c
    14  d
    15  e
    16  f
    17  j
    18  h
    19  i
    20  g
    21  k
    22  l

less 分页显示文件内容,更适合查看大的文件

【快捷操作】
空格键:前进一页(一个屏幕);
b 键:后退一页;
回车键:前进一行;
y 键:后退一行;
上下键:回退或前进一行;
7 of 9
d 键:前进半页;
u 键:后退半页;
q 键:停止读取文件,中止 less命令;
= 键:显示当前页面的内容是文件中的第几行到第几行以及一些其它关于本页内容的详细信息;
h 键:显示帮助文档;
/ 键:进入搜索模式后,按 n键跳到一个符合项目,按 N键跳到上一个符合项目,同时也可以输
入正则表达式匹配
在这里插入图片描述

head 显示文件的开头几行(默认是10行)

head
-n 指定行数

┌──(root㉿a)-[~]
└─# head 1.txt -n 5
1
2
3
4
5

tail 显示文件的结尾几行(默认是10行)

-n 指定行数
-f 会每过1秒检查下文件是否有更新内容,也可以用 -s参数指定间隔时间

┌──(root㉿a)-[~]
└─# tail 1.txt -n 5
h
i
g
k
l

touch创建一个文件

┌──(root㉿a)-[~]
└─# touch 5.txt                                                   
                                                                                                 
┌──(root㉿a)-[~]
└─# ls        
1  1.txt  2.txt  3.txt  4.txt  5.txt  f8x  new  VIPER
                                                                                                 

mkdir 创建一个目录

mkdir  new_folder
 mkdir -p one/two/three  //递归的常见目录结

 - ii

构
┌──(root㉿a)-[~]
└─# mkdir news                                                                
                                                                                                 
┌──(root㉿a)-[~]
└─# ls
1  1.txt  2.txt  3.txt  4.txt  5.txt  f8x  new  news  VIPER
                                                                                                
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux是一种开源、免费的操作系统内核,由 Linus Torvalds 在1991年创建。它以其稳定性、安全性和高度可定制性闻名,并在服务器、超级计算机和嵌入式系统等领域广泛应用。以下是 Linux 平台的一些基础知识: 1. **内核与用户空间**: - 内核:Linux的核心部分,负责处理硬件、安全管理、进程管理等核心任务,运行在系统最低权限级别。 - 用户空间:应用程序和用户接口运行的地方,相对于内核更安全,有独立的内存空间。 2. **文件系统**: - Linux 使用多种文件系统,如 ext2、ext3、ext4、XFS、Btrfs等,用于存储数据和组织目录结构。 3. **命令行界面(CLI)**: - 常用的有 Bash shell(基于 Bourne Again Shell),提供强大的文本交互环境。 - 可以通过命令行执行各种操作,包括文件管理、系统配置和网络管理等。 4. **进程与线程**: - 进程是程序在系统中运行的一个实例,而线程是进程中的轻量级执行单元。 - Linux 支持多任务和并发,使用 fork() 和 exec() 函数创建和切换进程,以及 pthread_create 创建线程。 5. **软件包管理**: - 主要的包管理器有 apt(Debian/Ubuntu)、yum(Red Hat/CentOS)、zypper(SUSE)等,用于安装、更新和管理软件。 6. **版本控制系统**: - Linux 开发者广泛使用 Git 进行代码管理,提供分支管理、合并冲突解决等功能。 7. **网络配置与服务**: - Linux 提供丰富的网络工具,如 ifconfig、iptables等,配置和管理网络连接。 - 包括 TCP/IP 协议栈、DNS、NTP 等服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值