当前位置: 首页 > news >正文

第三章 Linux 初步

第三章 Linux 初步

一、 基本操作

①登录:

Linux 是多用户系统,必须用正确的用户名和口令登录后才能

进入 Linux Shell 提示符状态。

默认的文本界面 Shell 提示符有两种:

•root 用户登录后的提示符: #

•普通用户登录后的提示符: $

登录后的当前目录是登录用户的主目录。在 X-Window 下桌面

上将出现该目录的文件夹图标。在文本终端下,假设张三以 z3

的用户名登录, Shell 将显示:

[z3@localhost z3]$

第二个 z3 表示的是当前目录名。

通常,用户的主目录往往按默认取值取与用户名一致。

(注意:⑴与 Windows 不同,Linux 区分字母大小写;

⑵Linux 系统在输入口令期间,屏幕光标不作反映。)

②注销

用户应该以注销的方式来结束使用。注销命令:

logout 或 exit 或 ctrl+d

③root 用户在终端界面下的关机或重启命令(常用于远程维护):

init 0 关机

init 6 重启但是,更提倡使用能够向其他用户发送关机信息的命令:

shutdown –h now 立即关闭系统

shutdown –c 在规定时间内取消关闭系统操作

shutdown +10 系统在 10 分钟后关闭

shutdown –r +10 系统在 10 分钟后重启

shutdown –r now 或 reboot 系统立即重启

(去掉/etc/inittab 文件中的“ca::ctrlaltdel:/sbin/shutdown –t3 –r

now”可屏蔽 ctrl+alt+del,以避免误操作。)

④多个用户登录

Linux 提供了六个虚拟终端(TTY1-TTY6)和一个 X-window 图

形终端供不同的或相同的用户名登录,用 ctrl+alt+Fn 切换:

ctrl+alt+F1 至 ctrl+alt+F6 :TTY1 到 TTY6

ctrl+alt+F7 :X-window 图形终端

(TTY:TeleTYpe,电传打字机。)

⑤用于登录用户之间交谈的命令

write [用户名称][终端机编号]

通过 write 指令可传递信息给另一位登入系统的用户,当输入

完毕后,键入 EOF(ctrl+D 组合键)表示信息结束,write 指

令就会将信息传给对方。如果接收信息的用户不只登入本地主

机一次,你可以指定接收信息的终端机编号。(在 Redhat

Linux9.0 上的实验表明,需要回车后再 ctrl+D)。wall [公告信息]

wall 是 write all 的意思。通过 wall 指令可将信息发送给每位同

意接收公众信息的终端机用户,若不给予其信息内容,则 wall

指令会从标准输入设备读取数据,然后再把所得到的数据传送

给所有终端机用户。

(还有个 talk 命令,与 write 作用相同,但必须启动 talkd 守

护程序)

mesg [ny]

mesg n 拒绝接受 write 信息。

mesg y 允许接受 write 信息并在屏幕上显示。

用 write 命令向一个已经 mesg n 的用户 l4 发送信息,会得到

提示:write: l4 messages disabled。

⑥who 命令

显示当前登录到系统的所有用户名、所用终端名和登录时刻。

例如: $who

z3 tty1 Dec 11 14:47

root :0 Dec 11 14:45

l4 pts/0 Dec 11 15:08 (202.207.30.131)

root pts/1 Dec 11 15:08 (:0.0) 表示 zs 于 Dec 11 14:47 登录终端 1;root 于 Dec 11 14:45 登录

X 终端 0 端口;l4 于 Dec 11 15:08 由网络(202.207.30.131)登录

到 pts/0;root 于 Dec 11 15:08 由 X-Window 桌面创建的终端窗

口(:0.0)登录到 pts/1。

(tty 为 teletype 的缩写)

(Linux 的用户管理内容在第 5 章,建议同学此时先利用图形界

面操作来创建 z3、l4 两个用户,以便练习上述命令。)

二、 几个常用的基本命令

① mkdir 创建目录

例:mkdir m5 在当前目录下创建 m5 子目录

mkdir /home/t1 在/home目录下创建名为t1的子目录

注意:Unix 的文件路径分隔符是“

/”而不是“

\”。

② cd 进入指定目录

例:cd /home/t1 进入/home/t1

cd myc 进入当前目录下的 myc 目录

cd .. 进入父目录(注意..前必须有空格)

cd / 进入根目录(注意/前必须有空格)

cd 或 cd ~ 进入操作者的主目录

cd - 返回到前一个操作目录

(多次执行可在两个目录间来回切换)

③ pwd 显示当前工作目录(print working directory)④ cp 拷贝文件

例:cp /etc/passwd a.txt 将/etc 下的 passwd 文件拷贝到当

前目录并改名为 a.txt

cp /etc/passwd .

将/etc 下的 passwd 文件拷贝到当

前目录

cp –r /home/z3 /

将/home/z3 目录拷贝到根目录下

⑤ rm 删除文件或目录

例:rm a.txt 删除当前目录中的 a.txt 文件

rm -r m5 删除当前目录下的 M5 目录及其中文件

注:使用-f 参数可避免确认。参数可以连写,如:

rm –rf m5

⑥ touch 创建空文件,或改变指定文件的时间标记。

⑦ ls 文件列表(list directroy content)

ls 命令有几个常用的可选参数:

-a 列出全部文件名,包括以“

.”字符开始的项目

-l 以长格式列出文件详细信息

-i 列出文件的索引号(inode)

-d 只显示目录名称,不显示其中内容

-R 递归(Recursive)列出所有子目录层

例:ls –l

总用量 11 (块数,不同的版本这行有所差异) drwxr-xr-x 5 root root 1024 sep 13 03:27 Desktop

-rwxr-xr-x 2 root root 737 oct 7 18:42 a.txt

每列分别表示:属性、连接个数、所有者、从属组、文件长

度、文件的最后更改时间、文件名。

其中文件属性的第一个字符标识文件的类型:

d 目录

s 套接字

- 普通文件

p 命名管道

b 块设备

l 符号连接

c 字符设备

(file 是文件类型识别命令,可以文字形式显示文件属性)

类型的其它 9 位字符分别表示所有者、从属组、其他用户对

此文件的读、写、执行权限(

-表示无相应权限)。

通配符和模板可用来在 ls 命令中限定列表条件:

通配符 含义

举例

*

与任何字符匹配

ls hd* 显示以 hd 开头的文件名

与一个字符匹配

ls t? 显示 t 开头的所有2字符文件名

[…] 与括号中任一个字符匹配 ls a[136] 只与 a1、a3、a6 匹配

[.-.] 与括号中的字符范围匹配 ls a[b-e] 只与 ab、ac、ad、ae 匹配

[^…]

对括号中的字符集或范围

取反匹配

ls hda[^b-d] 只与非 hdab、hdac、hdad

匹配

{…,…} 只与括号中的字符串匹配 ls a{a1,b2,c3} 只与非 aa1,ab2,ac3 匹配ls 命令显示颜色的意义:

绿 色——可执行文件

蓝 色——目录

红 色——压缩文件

浅蓝色——链接文件

灰 色——一般文件(未定义的文件)

注:不同版本间有异,修改/etc/DIR_COLORS 可定义颜色。

练习与提示:当前目录下有一个 kkk 子目录,ls –l kkk 或 ls –l k*

只能查看到 kkk 下的文件名及属性。若要查看 kkk 自身的目录

属性而不是其下的文件,需要使用-d 参数:ls –ld kkk

三、 Linux 系统目录结构

/bin — 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户

命令。

/sbin — 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。

/root — 根用户(超级用户)的主目录。

/mnt — 该目录中通常包括系统引导后被挂载的文件系统的挂

载点。譬如,默认的光盘挂载点是 /mnt/cdrom/.

/boot — 包括内核和其它系统启动期间使用的文件。

/lost+found — 被 fsck 用来放置零散文件(没有名称的文件)。

/lib — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。

目录 /usr/lib/ 中含有更多用于用户程序的库文件。

/dev — 贮存设备文件(注意,设备文件不是驱动程序。过去,

在添加新磁盘或设备后,往往需要手动增加设备文件。

现在通常我们不需要手动增加设备文件,运行一下

service kudzu start ,系统就会自动配置相应的设备)。

/etc — 包含许多系统配置文件和目录。

/var — 用于贮存 variable(或不断改变的)文件,例如日志文

件和打印机假脱机文件。

/usr — 包括与系统用户直接有关的文件和目录,

例如应用程序及支持它们的库文件。

/proc — 一个虚拟的文件系统(不是实际贮存在磁盘上的),

它包括被某些程序使用的系统信息。

/etc/rc.d — 启动的配置文件和脚本。

/tmp/ — 用户和程序的临时目录。所有系统用户均可读写。

/home — 用户主目录的默认位置。

/opt — 可选的(optional),可用来存放准备安装的文件。四、 文件的连接

目录一 目录二 索引节点数组 节点内容

Linux 采用索引节点 inode 记录文件信息,每个文件或目录都唯

一地对应 inode 数组中的一个元素。但一个元素可以与多个文件

或目录名对应。文件名与索引节点号的对应称之为连接。

ln 命令用来对一个已经存在的文件建立连接。

例:cd /root

cp /etc/passwd .

ln /root/passwd /root/passwd.2

执行命令 ls –l 可在第二列看到连接数变为 2。

执行命令 ls –i 可以看到 passwd 和 passwd.2 具有相同的 inode。

这种通过相同 inode 共享同一个物理文件的方法称之为硬连接。

优点:可在不同目录通过不同路径访问同一个文件,节省磁盘空

间又便于数据一致性;有一定防止误删除功能,只有同一

个 inode 属于唯一一个连接时,数据才被物理删除。

文件一 300

文件二 302

文件三 304

文件七 306

文件五 301

文件六 302

文件大小

创建时间

文件所属

文件权限

磁盘位置

……

300

301

302

303

304

305

306

307缺点:不能连接目录,不能跨越不同文件系统(如分区、驱动器)。

加参数-s 执行 ln 命令可建立软连接,也称符号连接,如:

ln –s passwd passwd.2

执行 ls –l ,可看出 passwd.2 是 passwd 的符号连接。

passwd.2 和 passwd 是两个不同的文件,前者的文件数据是指向

后者的路径。即便在源文件不存在的情况下也可建立符号连接。

五、 mv 命令

Linux 中没必要配备专门的文件更名命令,使用移动命令 mv 即

可完成文件的更名操作。mv 实际上是在创建一个新的硬连接后

删除旧的硬连接,以此实现文件的搬移或更名。如

mv passwd.2 passwd.b

执行 ls –i 命令可发现文件名变了但 inode 没变。

六、 获得帮助

①使用 man topic 命令查阅手册页,如欲了解 ls 命令,可:

man ls

man 命令只显示查找到的第一项。若同一主题的内容可在多个

部分找到(如 kill 既是 shell 命令又是系统调用),则需:

man –t 2 kill

⑵使用参数 - -help 可显示命令的帮助信息,如:

ls - -help 

相关文章:

第三章 Linux 初步

第三章 Linux 初步 一、 基本操作 ①登录: Linux 是多用户系统,必须用正确的用户名和口令登录后才能 进入 Linux Shell 提示符状态。 默认的文本界面 Shell 提示符有两种: •root 用户登录后的提示符: # •普通用户登录后的…...

linux环境安装使用mysql详解

01-安装MySQL并启动 1.1 环境准备 # 1.卸载mariadb,否则安装mysql会出现冲突 (1).执行命令rpm -qa | grep mariadb 会列出所有被安装的mariadb rpm 包; (2).执行命令rpm -e --nodeps mariadb-libs-5.5.56…...

SUNTANS模型学习(9)——学习Tidal forcing算例

学习Tidal forcing算例 简介网格配置与地形定解条件设置初始条件设置边界条件设置开边界处的通量计算(OpenBoundaryFluxes)开边处的速度、水位(BoundaryVelocities) 其它参数配置模拟结果 简介 SUNTANS中 tidal forcing 算例的全…...

​力扣解法汇总1010. 总持续时间可被 60 整除的歌曲

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣 描述: 在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。 返回其总持…...

利用老毛桃pe启动U盘启动ubuntu.iso,完成ubuntu系统的安装

1.双U盘,一个是老毛桃pe启动盘,可以启动grub4dos,加载了run模块,很好用(尤其是对不熟悉grub的小白) 2.大容量U盘存放ubuntu-desktop-i386.iso,U盘的格式是ntfs格式(其实这个不好&am…...

分享2个教学视频录制的方法!

案例:如何录制教学视频? 【我是一名老师,我想录制一些教学视频发布在网络平台上,但是我不知道如何操作。有没有人知道录制教学视频需要什么工具?如何录制?】 随着在线教育的普及,越来越多的教…...

「SQL面试题库」 No_63 报告的记录 II

🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试&#xff0…...

【事务】怎么去理解事务?

1、什么是事务? 事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全做,要么全不做,是一个不可分割的工作单元。 2、事务具有哪些特性? 一个逻辑工作单元要成为事务,在关系型数据库管理系统中…...

camunda流程变量如何使用

Camunda是一个流程引擎,它支持在流程执行期间存储和操作流程变量。流程变量是一个值或对象,可以与Camunda中的流程实例、任务或执行相关联。 流程变量在Camunda中有很多用途。以下是一些常见的用途: 1、传递数据:流程变量可以用于…...

CMIP6:WRF模式动力降尺度、单点降尺度、统计方法区域降尺度

专题一 CMIP6中的模式比较计划 1.1 GCM介绍 ​ 1.2 相关比较计划介绍 ​ 专题二数据下载 2.1方法一:手动人工 ​ 利用官方网站 2.2方法二:自动 利用Python的命令行工具 ​ 2.3方法三:半自动购物车 利用官方网站 ​ 2.4 裁剪netCDF文件 …...

2023建筑设计师们有哪些好用的AI设计工具?

目前,建筑师要么单独工作,要么团队合作来完成设计过程,这可能需要数月甚至数年的时间。设计和准备用于开发的建筑物可能需要很长时间,有时甚至数年。一些比较繁琐的步骤可以自动化,但整个过程仍然需要大量的人工和时间…...

mysql主从复制与读写分离

mysql主从复制与读写分离 MySQL主从复制是一种常见的数据复制技术,用于将一个MySQL数据库服务器的数据复制到其他服务器上。 单台mysql在安全性,高并发方面都无法满足实际需求 配置多台主从数据库服务器以实现读写分离 读写分离,主数据库的…...

技术控,看这里,一款支持断点调试的数据科学工具

数据科学是一门利用统计学、机器学习、数据挖掘、数据可视化等技术和方法,从数据中提取知识和信息的交叉学科。自上世纪60年代,统计学家John W.Tukey首次提出“数据分析”(Data Analysis)的概念起,数据科学已历经了几十…...

论文导读 | 大语言模型上的精调策略

随着预训练语言模型规模的快速增长,在下游任务上精调模型的成本也随之快速增加。这种成本主要体现在两方面上:一,计算开销。以大语言模型作为基座,精调的显存占用和时间成本都成倍增加。随着模型规模扩大到10B以上,几乎…...

进阶自动化测试,这3点你一定要知道的...

自动化测试指软件测试的自动化,在预设状态下运行应用程序或系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发&a…...

网络编程套接字API

一. linux平台 1.创建套接字 成功返回文件描述符,失败返回-1 int socket (int __domain, int __type, int __protocol) ;2.套接字绑定IP地址和端口号 成功返回0,失败返回-1 int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);3.开启…...

数字藏品的价值和意义

2022年以来,数字藏品概念在国内火热起来。从年初的《关于防范 NFT相关金融风险的倡议》到8月份央行数字货币 DCEP的正式面世,从中国香港首个“NFT”艺术品在香港拍卖市场成交到国内多家互联网大厂推出数字藏品平台,越来越多的企业开始试水数字…...

Unity物理系统脚本编程(上)

一、获取刚体组件Rigidbody 当一个物体挂载了刚体时&#xff0c;即可在脚本中获取该物体的刚体组件&#xff0c;代码如下 Rigidbody rigid; void Start() { rigidGetComponent<Rigidbody>(); } 一般将刚体变量命名为rigid并定义为一个字段&#xff0c;方便复用. 二、施…...

Java基础(十七)File类与IO流

1. java.io.File类的使用 1.1 概述 File类及本章下的各种流&#xff0c;都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录&#xff08;俗称文件夹&#xff09;&#xff0c;与平台无关。&#xff08;体会万事万物皆对象&#xff09;File 能新…...

跑步课程导入能力,助力科学训练

HUAWEI Health Kit为开发者提供用户自定义的跑步课程导入接口&#xff0c;便于用户在华为运动健康App和华为智能穿戴设备上查看来自生态应用的训练课表&#xff0c;开启科学、适度的运动训练。 跑步课程导入能力支持生态应用在获取用户的华为帐号授权后&#xff0c;将跑步课程…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...