首页 > 系统相关 >【一】Linux基础命令讲解

【一】Linux基础命令讲解

时间:2024-06-06 23:30:22浏览次数:11  
标签:文件 Linux 系统 命令 讲解 root 目录

Linux系统内核与Linux发行套件系统。

Linux系统内核指的是提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。

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

1、红帽企业版Linux(RHEL)

2、社区企业操作系统CentOS(把RHEL系统重新编译,免费使用的Linux系统。CentOS当前已被Red Hat公司收编)

3、Fedora:由红帽公司发布的桌面版系统套件。用户可免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到RHEL系统中,若想要掌握最新的技术和动态,应该多关注它。

4、openSUSE:源自德国的一款著名的Linux系统。

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

6、Ubuntu:是一款派生自Debian的操作系统,对新款硬件具有极强的兼容能力。

基础篇

破解root密码

1、重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面。

2、在linux参数这行的最后面追加“rd.break”参数,然后按下Ctrl + X。

3、依次输入以下命令:

mount  -o  remount,rw  /sysroot

chroot  /sysroot

passwd     (然后输两次新密码)     echo “123456” |  passwd  - -stdin  root

touch  /.autorelabel

exit

reboot

Shell以及bash解释器

Shell是一个命令行工具,是系统的用户界面 也称终端。充当的是人与内核(硬件)之间沟通的桥梁,收到用户命令后会调用相应的程序服务去完成某些任务。很多主流Linux系统默认使用的终端是 Bash解释器。

常用系统命令

echo  命令用于在终端输出字符串或变量提取后的值。

例:

date  命令用于显示及设置系统的时间或日期。相关参数如下:

参数

作用

%Y

%m

%d

%H

小时(24小时制)

%I

小时(12小时制)

%M

分钟

%S

%j

今年中的第几天

%t

跳格(Tab键)

-s

设置时间

%R

显示当前时间

%x

显示当前日期

%n

换行

例:

reboot  命令用于重启系统,默认只有root管理员能使用reboot命令直接重启系统。

poweroff  命令用于关闭系统,同样默认只有root管理员能使用此命令直接关闭系统。

wget  命令用于在终端中下载网络文件。相关参数如下:

参数

作用

-b

后台下载

-P

下载到指定目录

-t

最大尝试次数

-c

断点续传

-p

下载页面内所有资源,包括图片、视频等

-r

递归下载

-O

修改文件名

例:直接在linux系统中下载QQ。

# wget   http://nginx.org/download/nginx-1.2.9.tar.gz    下载nginx

ps  命令用于查看系统中的进程状态,有5种常见的进程状态,R(运行)、S(中断)、           D(不可中断)、Z(僵死)、T(停止),相关参数如下:

参数

作用

-a

显示所有进程(包括其他用户的进程)

-u

用户以及其他详细信息

-x

显示没有控制终端的进程

执行#p

执行#ps  -aux  / ps  -aux  / ps -ef命令后会显示出很多进程状态,相关释义如下:

USER

PID

%CPU

%MEM

VSZ

RSS

TTY

STAT

START

TIME

COMMAND

进程的所有者

进程ID号

CPU占用率

内存占用率

虚拟内存使用量(KB)

占用的固定内存量(KB)

所在终端

进程

状态

被启动

的时间

实际使用
CPU的时间

命令名称与参数

top  命令用

top  命令用于动态地监视进程活动与系统负载等信息。执行top命令后会显示出很多信息, 类似于Windows中的控制台,前5行释义如下:

第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、                   15分钟内的平均值,数值越小,负载越低)。

第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分               比、空闲的资源百分比等。

第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。

第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

uptime  用于查看系统的负载信息,可以看做是top命令只取第一行。同样的,负载越低                越好,最好不要长期超过1,生产环境不要超过5。

查看系统CPU型号

[root@localhost /]# cat   /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 142

model name      : Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz

stepping        : 12

[root@yinhe ~]# cat /etc/redhat-release

Red Hat Enterprise Linux release 8.2 (Ootpa)

free  用于显示当前系统中内存的使用量信息,-m和-h是常用的两个参数,可以指定以M              或者以G为单位显示相关信息。

pidof  命令用于查询某个指定服务进程的PID值,每个进程的进程号码值(PID)是唯一的。

例、查询sshd服务的PID。

kill  命令用于终止某个指定PID的服务进程。

例、使用kill命令杀掉sshd,杀掉该进程后,再次用pidof查询它的PID,已无任何显示。

Killall  命令用于终止某个指定名称的服务所对应的全部进程,某些软件会有多个进程协同工               作以提供服务,逐个结束比较麻烦,可以使用killall命令一次性全部结束。

例、使用pidof命令查询httpd服务的相关进程PID,然后使用killall一次性全部结束。

(httpd需要单独安装,不会安装的同学暂时不用着急,后续课程会重点讲解。)

ifconfig  命令用于获取网卡配置与网络状态等信息。主要信息为网卡名称、inet后面的IP地                  址、ether后面的网卡物理地址(又称为MAC地址)等,DNS默认配置文件:

/etc/resolv.conf。

Ping    

uname  命令用于查看系统内核与系统版本等信息,一般会加上-a参数来完整地查看当前系统           的内核名称、主机名、内核发行版本、系统时间、硬件名称、硬件平台、处理器类型         以及操作系统名称等信息。(cat  /etc/redhat-release,执行此命令可以查看当前系统           版本的详细信息)

history  命令用于显示历史执行过的命令,执行history命令默认能显示出当前用户在本地计算机中执行过的最近1000条命令记录,使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。

例、

w  命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。可得知目前登入系 统的用户信息和他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用      户名称,仅显示某位用户的相关信息。

who  用于查看当前登入主机的用户终端信息。

last  命令用于查看所有系统的登录记录。

sosreport  命令用于收集系统配置及架构信息并输出诊断文档。

示例:[root@Mylinux ~]# sosreport

sosreport (version 3.4)

No changes will be made to system configuration.

Press ENTER to continue, or CTRL-C to quit.   #此处敲击回车来确认收集信息

Please enter your first initial and last name [Mylinux]:  #此处敲击回车来确认主机编号

Please enter the case id that you are generating this report for []:   #此处敲击回车来确认主机编号

 Setting up archive ...

 Setting up plugins ...

 Running plugins. Please wait ...

  Running 97/97: yum...              ...       

Creating compressed archive...

Your sosreport has been generated and saved in:

  /var/tmp/sosreport-Mylinux-20191031224315.tar.xz

The checksum is: a2a7d83d778d377d0af8acf66d385512

Please send this file to your support representative.

最终文件保存在:/var/tmp/目录下,文件名是:sosreport-Mylinux-20191031224315.tar.xz

服务管理 ---firewalld.service

启动/停止/重启服务

 systemctl [start|stop|restart] [servicename]

重新加载服务配置文件(不重启服务)

systemctl [reload] [servicename]

查看服务状态

systemctl status [servicename]

设置/禁止服务开机自动启动 

systemctl [enable|disable] [servicename]

查看服务是否是开机自动启动

systemctl is-enabled [servicename]

查看各个启动级别下服务的开机自动启动与禁用情况

systemctl list-unit-files

常用目录及文件管理命令

pwd  命令用于显示用户当前所处的工作目录。

cd  命令用于切换工作路径。可以使用“cd -”命令返回到上一次所处的目录,使用“cd ..”命          令进入上级目录,使用“ cd ~ ”命令切换到当前用户的家目录,使用“cd ~username”切换        到其他用户的家目录。

[root@yegg home]# cd ppp/

[root@yegg ppp]# pwd

/home/ppp

[root@yegg ppp]# cd ../yeye

[root@yegg yeye]# cd /root/nginx.tar.gz   ./

ls  命令用于显示目录中的文件信息,所处的目录不同,当前目录下的文件也不同。使用        -a参数看到全部文件(包括隐藏文件),

-l参数可以查看文件的属性、大小等详细信         息(也可以直接用ll命令查看详细信息),

-d参数可以查看目录属性信息。不查看目录内容

-R  递归查询

-h  单位自动换算

ll   并不是linux下一个基本的命令,它实际上是ls -l的一个别名。 Ubuntu默认不支持命令ll,必须用 ls -l

touch  命令用于创建空白文件或设置文件的时间,-a仅修改“访问时间”(atime)

-m   仅修改“修改时间”(mtime),-d     同时修改atime与mtime。

例:创建一个空白文件,查看时间,再使用touch -d修改时间后再次查看。

     Stat      查看文件属性

mkdir  命令用于创建空白的目录,除了创建单个文件夹之外,也还可以结合

-p参数来递                       归创建出具有嵌套叠层关系的文件目录。

例:依次创建嵌套的文件夹1/2/3/4

[root@Mylinux Desktop]# mkdir -p 1/2/3/4

(注: 1/2/3/4和 / 1/2/3/4是不一样的,虽然区别只有一个“/”,但前者是在              当前目录创建,而后者的开头有了“/”,表示在根目录下创建)

cp  命令用于复制文件或目录。

(1)如果目标文件是目录,则会把源文件复制到该目录中;

(2)如果目标文件也是普通文件,则会询问是否要覆盖它;

(3)如果目标文件不存在,则执行正常的复制操作。

相关参数如下:

参数

作用

-p

保留原始文件的属性

-d

若对象为“链接文件”,则保留该“链接文件”的属性

-r

递归持续复制(用于目录)

-i

若目标文件存在则询问是否覆盖

-a

相当于-pdr(p、d、r为上述参数)

mv  命令用于剪切文件或将文件重命名,剪切操作不同于复制,它会默认把源文件删除掉,           只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,实际上就是对            它重命名。 1,重命名  2,移动(剪切,粘贴)

rm  命令用于删除文件或目录,在Linux系统中删除文件时,系统会默认向您询问是否要        执行删除操作,可在rm命令后跟上-f参数来强制删除。若想要删除一个目录,需要加-r参数。

file  命令用于查看文件的类型,在Linux系统中,文本、目录、设备等都统称为文件,可        以使用file命令来查看文件类型。

例:

find  命令用于按照指定条件来查找文件,在Linux系统中,搜索工作一般都是通过find命令   来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息)。

参数

作用

-name

匹配名称

-perm

匹配权限(mode为完全匹配,-mode为包含即可)

-user

匹配所有者

-group

匹配所有组

-mtime -n +n

匹配修改内容的时间(-n指n天以内,+n指n天以前)

-atime -n +n

匹配访问文件的时间(-n指n天以内,+n指n天以前)

-ctime -n +n

匹配修改文件权限的时间(-n指n天以内,+n指n天以前)

-nouser

匹配无所有者的文件

-nogroup

匹配无所有组的文件

-newer f1 !f2

匹配比文件f1新但比f2旧的文件

-type b/d/c/p/l/f

匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)

-size

匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)

-prune

忽略某个目录

-exec …… {}\;

后面可跟用于进一步处理搜索结果的命令(下文会有演示)

例1:在根目录下查找所有者是mylinux的文件。

[root@Mylinux ~]# find  /  -user  mylinux

例2:在根目录下查找名字是test.txt的文件。

例3:在根目录下查找所有者是mylinux的文件并复制到test目录下。

[root@mylinux test]# mkdir -p  /root/Desktop/test

[root@mylinux test]# find  /  -user mylinux -exec cp -a {} /root/Desktop/test \;

du  统计文件或目录占用磁盘的大小

-a  显示所有目录或文件的大小         -b以byte为单位,显示目录或文件的大小
-c  显示目录或文件的总和             -k  以KB为单位输出
-m 以MB为单位输出   -s 仅显示目录或文件的总计数值  -h 以K,M,G为单位,提高信息可读性

案例

# dd if=/dev/zero of=hh bs=100M count=1     创建大文件

[root@localhost ~]# du hh

102400    hh

[root@localhost ~]# du -sh  hh

100M       hh

储存结构

在linux系统中,一切都是文件,包括目录、储存设备、打印机等都被抽象成了文件,而这一切都是从“根(/)”目录开始的。文件储存结构和最常见的目录以及所对应的存放内容如下所示:

           

目录名称

应放置文件的内容

/boot

开机所需文件—内核、开机菜单以及所需配置文件等

/dev

以文件形式存放任何设备与接口

/etc

配置文件

/home

普通用户家目录

/bin

存放单用户模式下还可以操作的命令

/lib

开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数

/sbin

开机过程中需要的命令

/media

用于挂载设备文件的目录

/opt

放置第三方的软件

/root

系统管理员的家目录

/srv

一些网络服务的数据文件目录

/tmp

任何人均可使用的“共享”临时目录

/proc

虚拟文件系统,例如系统内核、进程、外部设备及网络状态等

/usr/local

用户自行安装的软件

/usr/sbin

Linux系统开机时不会使用到的软件/命令/脚本

/usr/share

帮助与说明文件,也可放置共享文件

/var

主要存放经常变化的文件,如日志

/lost+found

当文件系统发生错误时,将一些丢失的文件片段存放在这里

标签:文件,Linux,系统,命令,讲解,root,目录
From: https://blog.csdn.net/qq_64498620/article/details/139426274

相关文章

  • Meta最新路径搜索算法 Beyond A*: Better Planning with Transformers via Search Dyn
    这篇论文前两个月刚刚放出,研究了如何让人工智能(AI)更好地解决复杂的规划问题,比如在迷宫中寻找最短路径,或者推箱子游戏(Sokoban)中把箱子全部推到指定位置。传统上,这类问题通常使用专门的规划算法来解决,比如A*搜索算法。但是,训练AI模型(如Transformer)来解决这些问题......
  • 算法金 | 有史以来最详细的卷积神经网络(CNN)及其变体讲解!!!(多图)
    大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]0.前言卷积神经网络(ConvolutionalNeuralNetworks,CNN)是人工智能领域中一种重要的深度学习模型,被广泛应用于图像识别、目标检测、自然语言处理等领域。它的出现标志......
  • Linux开发:多进程通过shm_open/mmap共享内存
    Linux编程:多进程间通过shmget共享内存_检测共享内存中是否有数据-CSDN博客介绍了通过SYSV的方式进行多进程间共享内存,这种方式属于比较久远的方式。POSIX也提供了共享内存的方法,使用起来要更容易些式其原理是利用Linux的tmpfs(Linux开发:tmpfs文件系统-CSDN博客)$df......
  • JetBrians的clion在运行代码时无法进行system("cls")清屏命令
    终极任务:找到小扳手在代码运行的基础下找到这个小扳手如果是新UI界面的话,在运行的基础下点这三个点这里是修改运行配置的地方下拉找到"在外部控制台中运行"的选项勾选上,就可以在后面的运行调用电脑自带的控制台了......
  • linuxc
    Linux编程环境编译链接3.1LinuxC程序的编译执行3.1.1gcc常用指令https://gcc.gnu.org/onlinedocs/gcc/#toc-GCC-Command-Options构建相关:看不懂没事,可以看下一个加粗部分"调试和优化相关的示例"-E:预处理,生成.i文件-S:预处理+编译,生成.s汇编语言文件-c:预处理+编......
  • 虚拟机安装Linux(Ubuntu24)
     1、虚拟机软件    已经上传了下载链接,可进入本人博客的资源下载        https://download.csdn.net/download/qq_42837317/89402103如果下架,请自行查找下载资源。搜索 VMware workstation 172、ubuntu版本    建议按需求安装ubuntu版本,可......
  • linux安装驱动
    1.查看显卡信息 sudolshw-classdisplay2.安装驱动   驱动网址:下载地址:https://www.nvidia.cn/geforce/drivers/ 官网查找驱动版本并复制链接 查找对应的版本 右击鼠标复制链接3.连接虚拟机下载驱动 wget+复制的连接  修改权限 chomd777+N......
  • Linux权限理解
    目录一、基本的具体用户认识:二、Linux权限管理:1权限简单理解:2文件访问者分类(角色):3 文件类型和访问权限(事物属性):3.1文件类型:3.2基本权限:4文件权限值的表示方法:5 文件访问权限的相关设置方法:(1)chmod:(2)chown:(3) chgrp:(4)umask: 6 目录的权限:7粘滞位: 三、......
  • 保姆级讲解 FTP服务器的配置与管理
    本来目录很长的因为感觉不太美观所以小标题都删掉了本文介绍了本地用户的FTP服务器搭建实例匿名用户的FTP服务器搭建实例虚拟用户的FTP服务器搭建实例企业常见类型搭建实验配置与管理FTP服务器配置与管理FTP服务器一、FTP相关知识二、项目设计与准备三、项目实施四......
  • LINUX基本知识(1)
    linux基本知识网络设置:桥接模式:位于同一个网段的其他机器可以访问NET模式:虚拟化一个路由器,连接虚拟路由器,位于同一个网段的机器不可以访问设置静态IP:可以远程连接时IP地址不会改变远程连接:虚拟机需要安装服务端程序:sshdLinux架构:内核(kernel):1:管理硬件资......