第三章 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道题,不仅能轻松搞定面试࿰…...
【事务】怎么去理解事务?
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 当一个物体挂载了刚体时,即可在脚本中获取该物体的刚体组件,代码如下 Rigidbody rigid; void Start() { rigidGetComponent<Rigidbody>(); } 一般将刚体变量命名为rigid并定义为一个字段,方便复用. 二、施…...
Java基础(十七)File类与IO流
1. java.io.File类的使用 1.1 概述 File类及本章下的各种流,都定义在java.io包下。一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录(俗称文件夹),与平台无关。(体会万事万物皆对象)File 能新…...
跑步课程导入能力,助力科学训练
HUAWEI Health Kit为开发者提供用户自定义的跑步课程导入接口,便于用户在华为运动健康App和华为智能穿戴设备上查看来自生态应用的训练课表,开启科学、适度的运动训练。 跑步课程导入能力支持生态应用在获取用户的华为帐号授权后,将跑步课程…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
