Linux小白10分钟快速入门教程

article/2025/11/6 16:56:44

1 基础知识

  • 应用领域:服务器使用。

  • linux启动:Linux系统的启动过程可以分为5个阶段:

  1. 内核的引导。当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
  2. 运行 init。init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab。/boot /init 进程
  3. 系统初始化。在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
  4. 建立终端 。rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
  5. 用户登录系统。命令行登录、ssh登录、图形界面登录。
  • 运行级别:

    • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
    • 运行级别2:多用户状态(没有NFS)
    • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    • 运行级别4:系统未使用,保留
    • 运行级别5:X11控制台,登陆后进入图形GUI模式
    • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
  • 窗口切换:默认登录就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 来切换它们。当你进入命令窗口界面后再返回图形界面只要按下Ctrl + Alt + F7 就回来了。

  • Linux关机:正确的关机流程为:sync > shutdown > reboot > halt

sync 将数据由内存同步到硬盘中。
shutdown –h now 立马关机
shutdown –h 20:25 系统会在今天20:25关机
shutdown –h +10 十分钟后关机
shutdown –r now 系统立马重启
shutdown –r +10 系统十分钟后重启reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now 和 poweroff
  • Linux 忘记密码:进入单用户模式更改一下root密码即可。
  • 远程登陆:Linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口号为 22。Window系统上 Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell等,本文以Putty为例来登录远程服务器。putty下载地址:http://www.putty.org/

2 Linux 系统目录结构

登录系统后,在当前命令窗口下输入命令ls /

  • /bin:目录存放着最经常使用的命令。
  • /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc:存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  • /srv: 该目录存放一些服务启动之后需要提取的数据。
  • /sys:该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin:系统用户使用的应用程序。
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

3 文件操作

3.1 文件基本操作

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为[ d ]则是目录;
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

在这里插入图片描述

3.2 文件属主和属组

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
……
  • chgrp:更改文件属组,语法:-R:递归更改文件属组,该目录下的所有文件的属组都会更改。
chgrp [-R] 属组名 文件名
  • chown:更改文件属主,也可以同时更改文件属组,语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

将install.log的拥有者与群组改回为root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log
  • chmod:更改文件9个属性
    Linux文件属性有两种设置方法,一种是数字,一种是符号。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。各权限的分数对照表如下:r:4,w:2,x:1
    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—-] 分数则是:
    • owner = rwx = 4+2+1 = 7
    • group = rwx = 4+2+1 = 7
    • others= —- = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。

chmod [-R] xyz 文件或目录

举例来说,如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

3.3 处理目录的常用命令

  • ls: 列出目录
    在这里插入图片描述
  • cd:切换目录
  • pwd:显示目前的目录
  • mkdir:创建一个新的目录 在这里插入图片描述
  • rmdir:删除一个空的目录
    在这里插入图片描述
  • cp: 复制文件或目录
    在这里插入图片描述
  • rm: 移除文件或目录
  • mv: 移动文件与目录,或修改文件与目录的名称
    在这里插入图片描述

3.4 文件内容查看

  • cat 由第一行开始显示文件内容
    在这里插入图片描述
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
    在这里插入图片描述
  • more 一页一页的显示文件内容
    在这里插入图片描述
  • less 与 more 类似,但是比 more 更好的是,该命令可以往前翻页!
    在这里插入图片描述
  • head 只看头几行
    在这里插入图片描述
  • tail 只看末尾几行
    在这里插入图片描述

4 用户和用户组

实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
    在这里插入图片描述
 # useradd –d /usr/sam -m sam

在这里插入图片描述在这里插入图片描述

  • 用户口令的管理。用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
    在这里插入图片描述
    在这里插入图片描述
  • 用户组的管理。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5 磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。

  • df:列出文件系统的整体磁盘使用量,可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
    在这里插入图片描述
    在这里插入图片描述
  • du:检查磁盘空间使用量,Linux du命令是对文件和目录磁盘使用的空间的查看。
    在这里插入图片描述
    在这里插入图片描述
  • fdisk:用于磁盘分区
    在这里插入图片描述
    列出所有分区信息:fdisk -l

6 vim编辑器

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
在这里插入图片描述
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

(1)命令模式

户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

(2)输入模式

在命令模式下按下i就进入了输入模式。在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

(3)底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。简单的说,我们可以将这三个模式想成底下的图标来表示:
在这里插入图片描述
(4)使用案例

  • 创建文件,按下i进入编辑模式,Esc回到一般模式,:wq保存且退出,:q退出
$ vim runoob.txt
  • 常见按键
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

7 yum 命令

yum( Yellow dog Updater, Modified)是一个Shell前端软件包管理器。可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。该命令多用于RedHat、CentOS等操作系统。
在这里插入图片描述
常见命令

  1. 列出所有可更新的软件清单命令:yum check-update

  2. 更新所有软件命令:yum update

  3. 仅安装指定的软件命令:yum install

  4. 仅更新指定的软件命令:yum update

  5. 列出所有可安裝的软件清单命令:yum list

  6. 删除软件包命令:yum remove

  7. 查找软件包 命令:yum search

  8. 清除缓存命令:

     yum clean packages: 清除缓存目录下的软件包yum clean headers: 清除缓存目录下的 headersyum clean oldheaders: 清除缓存目录下旧的 headersyum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上就是对Linux系统常用的操作命令进行的总结,相信本文对不熟悉linux命令的小白有很大帮助,可以快速入门。最后,欢迎大家转载,转载请注明出处。


http://chatgpt.dhexx.cn/article/ha8MO7ic.shtml

相关文章

快速入门Linux

学习目标 1、Linux/centos系统简介 2、Centos系统目录结构 3、Centos常用命令 4、Centos安装Java 5、Centos安装Tomcat 6、Centos安装Mysql 7、Mysql主从复制 8、Shell编程1、Linux简介 Linux是一个免费和开源的操作系统。能运行在多种设备上,比如手机、平板电脑、…

Sftp和ftp over ssh2的区别

最近使用SecureFx,涉及了两个不同的安全文件传输协议: -sftp -ftp over SSH2 这两种协议是不同的。sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。ftp over SSH2则象一个二传手。 1、…

ssh2实现远程连接机器webShell

1. nodejs使用ssh2连接shell,简单交互 示例:使用conn.shell import { Client } from ssh2;const conn new Client(); conn .on(ready, () > {console.log(Client :: ready);conn.shell({ term: xterm }, (err, stream) > {if (err) {throw err;…

Putty上传文件报Received SSH2_MSG_CHANNEL_DATA for nonexistent channel 0

生产服务器通过Putty上传jar包报错信息如下: 排查发现出现原因是上传目录磁盘空间满了 解决办法:进入磁盘空间满的目录,执行du -a|sort -rn|head -10,对磁盘空间进行清理,注意不要删除data目录的数据,尽量找…

SSH J2EE

<I>what is "SSH" 在J2EE项目中表示了3种框架,即 Spring+Struts+Hibernate。 Struts对Model,View和Controller都提供了对应的组件。 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它是为了解决企业应用开发的复杂性而创建的。 Hibernat…

ssh2框架整合详细版(使用较新jar包)

ssh2框架整合Maven详细配置、多种方式介绍&#xff0c;中间碰到问题与注意点&#xff0c;部分已有指出。 关于Eclipse中使用Maven详见http://blog.csdn.net/it_faquir/article/details/54562242 步骤一 导入必备junit、javax.servlet相关jar包&#xff0c;maven配置如下&…

nodejs系列-如何用JS代码连接远程服务器并执行命令创建文件-ssh2

ssh2是什么&#xff1f; SSH2 client and server模块用纯JavaScript为node.js编写。我们可以在代码里使用它链接远端服务器&#xff0c;执行一些必要的操作 为什么要使用ssh2&#xff1f; 作为一名前端&#xff0c;我们在某些情况下&#xff0c;需要使用代码去登录Linux服务器…

【SSH2框架(理论篇)】--SSH2 Vs 经典三层

&#xfeff;&#xfeff; 这几天一直在学习使用SSH2框架&#xff0c;对于框架本身的使用并不是很困难&#xff0c;相信经过多锻炼就能够熟练的掌握框架的使用&#xff0c;让我匪夷所思的是在使用框架的时候感觉很熟悉&#xff0c;好像在哪里用过似得。就在某次查看代码的时候突…

xshell7无法远程连接linux虚拟机,启动SSHD报错:Bad SSH2 cipher spec...

项目场景&#xff1a; xshell7无法远程连接linux虚拟机 问题描述 终端输入systemctl start sshd 启动报错&#xff1a; 输入sshd -t 查看具体报错信息&#xff1a; 解决方案&#xff1a; 输入ssh -Q cipher&#xff0c;查看ssh使用了哪些ciphers: 复制结果 输入vim …

2.ssh远程登录

1.ssh命令 &#xff08;1&#xff09;ssh命令的参数ssh- l 指定登陆用户 - i 指定私钥 - X 开启图形 - f 后台运行 - o 指定连接参数 - t 制定连接跳板 ssh - l root 172.25.254 .x -o "StrictHostKeyChecking no" 首次连接不需要…

SSH建立原理

一、ssh2协议 在ssh1中&#xff0c;由单个协议提供密钥交换、身份认证与加密的功能&#xff0c;而ssh2内部由3个协议组合一起&#xff0c;为其提供这些功能。这3个协议: 传输层协议 认证协议 连接协议 传输层协议 主要提供密钥交换与服务器端认证功能 认证协议…

SSH2协议加密与连接过程

最近在做ssh2联动交换机模块&#xff0c;看到libssh2-1.9.0版本对于用户认证有三种不同的方式&#xff1a; ① password&#xff08;默认&#xff09;② keyboard-interactive ③ publickey 看代码并不是太理解&#xff0c;所以查询了一番&#xff0c;SSH2通信大致分为两步&a…

来说说datatype

今天敲代码一直卡在一个问题上面好久那就是--datatype的未定义&#xff0c;起初不晓得datatype的含义&#xff0c;遇到这种情况首先想到的就是自己又忘记加上面头文件了。随即写了个stdlib.h上去。可是问题并没有得到解决&#xff0c;还是显示未定义。 怀疑是不是自己拼写的错误…

StringType报错,提示不是DataType类型

使用scala语言将RDD转化为sparkSQL时&#xff0c;构造StructType时StringType报错 val schema StructType( //构建函数&#xff0c;给每列数据一个统一的列名Seq(StructField("phoneNum",IntegerType,true),StructField("time",Integer…

mysql workbench的datatype设置问题

create table之后&#xff0c;创建column&#xff0c;选择datatype。我选择timestamp和datetime如图所示后就失败。 问题就在于要么去掉括号&#xff0c;要么括号里面填写数字。 成功后如图。 这里只要看paidTime的datatype即可。 这个问题真的花了我很久的时间&#xff0c;我…

datalist

在Web设计中,经常会用到如输入框的自动下拉提示,这将大大方便用户的输入。在以前&#xff0c;如果要实现这样的功能&#xff0c;必须要求开发者使用一些Javascript的技巧或相关的框架进行ajax调用&#xff0c;需要一定的编程工作量。但随着HTML5 的慢慢普及&#xff0c;开发者可…

TS DataType

TypeScript有13中数据类型 布尔值(Boolean) 最基本的数据类型就是简单的 true/ false值&#xff0c;在 JavaScript和 TypeScript里叫做 boolean&#xff08;其它语言中也一样&#xff09;。 let isDone: boolean false;数字(Number) 和 JavaScript一样&#xff0c; TypeSc…

Autosar DataType介绍

前言 看了一下基本的配置&#xff0c;发现Autosar的DataType的内容比较多&#xff0c;也比较复杂&#xff0c;所以单独开一章来记录一下 Autosar DataType介绍 前言一.基本数据类型1.1基本类型1.2其他类型 二&#xff0c;详细数据介绍2.1 新建数据类型的具体类型2.2 详细举例介…

contentType与dataType

$.ajax contentType 和 dataType , contentType 主要设置你发送给服务器的格式&#xff0c;dataType设置你收到服务器数据的格式。 在http 请求中&#xff0c;get 和 post 是最常用的。在 jquery 的 ajax 中&#xff0c; contentType都是默认的值&#xff1a;application/x-ww…

Types of Data

企业中的数据都如何分类&#xff1f; 粗略的分类 如果粗略点的分类话&#xff0c;可以分为两类数据&#xff1a;主数据和事务型数据。 主数据(Master Data) “Master Data is your business critical data that is stored in disparate systems spread across your Enterprise.…