Linux学习笔记

197次阅读
没有评论

共计 3452 个字符,预计需要花费 9 分钟才能阅读完成。

终端

终端是主机的一个远程输入 / 输出设备。在早期计算机主机昂贵,一个主机一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。个人计算机可以运行称为终端仿真程序来模仿一个终端的工作。

通常在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成,在图形界面下为了实现在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。

终端本质上对应着 Linux 上的 /dev/tty 设备,Linux 多用户登录就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的“terminal”(准确的说应该是 6 个 virtual consoles)来让用户登录。

在物理机系统上可以通过使用 [Ctrl]+[Alt]+[F1]~[F6] 进行切换。当切换到其中一个终端后想要切换回图形界面,可以按下 [Ctrl]+[Alt]+[F7] 来完成。

Shell

Shell 和桌面一样是计算机接收用户指令的一种环境,其内置了一系列命令,如 cd、mkdir 等,用户通过这些指令能操作计算机执行指定的操作。

不同的操作系统具有不同的 Shell,不同 Shell 在终端的提示也不完全相同:

Shell 缩写 完整路径 root 用户提示符 非 root 用户
Bourne shell sh /bin/sh # $
C shell csh /bin/csh # %
Korn shell ksh /bin/ksh # $
Bourne-Again shell bash /bin/bash [user@hostname path] # [user@hostname path] $
Z shell zsh /bin/zsh <hostname># <hostname>%

设置 Shell

执行 which $SHELL 查看系统当前 Shell,执行 cat /etc/shells 列出当前系统所有可用的 Shell,执行 chsh -s /bin/bash 修改默认 Shell 为 Bash。

Bash

Bash 是大多数 Linux 发行版的默认 Shell。Shell 命令除了直接在终端输入外,还可以写在 Shell 脚本文件中,文件后缀名为.sh。对于 Bash 而言,在文件第一行添加 #!/bin/bash 告知终端使用 Bash 执行这个脚本文件。

执行 /bin/bash --version 查看当前 Bash 版本。

若当前 Shell 不是 Bash,输入 bash 进入 Bash 环境。输入 exit 命令或按 Ctrl + d 退出 Bash 环境。

Bash 基础语法

注释

单行注释是一行文本,以井号(#)开头,从该字符开始一直延伸到该行结束。在此行内,任何内容都会被 Shell 解释器忽略。

Shell 脚本也支持多行注释,也称块注释。在 Bash Shell 中,块注释通常使用以下语法:

: '
这是多注释
这是多注释
这是多注释
这是多注释
'

Bash 中的单引号和双引号都可用来表示字符串,不过单引号会保留字符串的字面意思,如单引号中 $`不会进行计算,\也不会转义。

a=1
echo '$a'        # 输出:$a
echo "$a"        # 输出:1

echo '`date`'    # 输出:`date`
echo "`date`"    # 输出:2023 年 09 月 08 日 星期五 15:06:03 CST

双引号的另一个用处是保证命令按原始格式输出:

echo "`ls -l`"

反斜杠 \ 在 Bash 中用法如下:

  1. 表示转义字符,用来保留下一个字符的字面值
  2. 位于一行末尾且其后没有引号时,表示这一行还没结束

常用基本命令

Shell 可以看做是一个命令解释器,提供了交互式的文本控制台界面,通过终端控制台输入命令,由 Shell 进行解释并最终交给内核执行。

一些基础功能的系统命令是直接内嵌在 Shell 中的,系统加载启动之后会随着 Shell 一起加载,常驻系统内存中。这些命令被称为“内置(built-in)命令”;相应的其他命令被称为“外部命令”。

判断是否内置命令:type 命令

help命令获得 Shell 内置命令的帮助信息,外部命令帮助信息可用:命令 --help

命令通用格式:command [-options] [parameter]

常用快捷键 功能
ctrl + c 强制停止
ctrl + d 退出或登出
ctrl + l 清屏,等同于 clear,彻底清屏是:reset
tab 提示(更重要的是可以防止敲错)
上下键 查找执行过的命令
ctrl + a 跳到命令开头,ctrl + e:跳到命令结尾
ctrl + 左键头 向左跳一个单词,ctrl + 右键头:向右跳一个单词

文件目录类

cd 回到家目录
cd – 回到上一次所在目录
cd .. 回到当前目录的上一级目录
cd -P a/ 如果目标目录是软链接,则直接切换到软链接指向的实际目录

创建多级目录:mkdir -p a/b/c

删除多级目录:rmdir -p a/b/c

删除非空目录:rm -rf 目录名

重命名目录:mv old_dir_name new_dir_name

# 复制目录
cp -r a/ b/
# 有些命令可能是别名,在命令前加反斜杠 \ 使用原生命令
\cp -r a/ b/
# 查看别名
alias

# 删库跑路,千万不要使用
rm -rf /*

echo 命令

输出内容到控制台。-e:支持反斜线控制的字符转换。

$ echo 'abc\n123'
abc\n123
$ echo -e 'abc\n123'
abc
123
# 输出某个变量值内容
$ echo $USER
root

tail 命令

输出文件尾部。
tail -f 文件:持续显示文件最新追加的内容,按 Ctrl + s 暂停监听,按 Ctrl + q 继续监听。

history 命令

查看历史命令:history

快捷键:ctrl + r,输入内容去匹配历史命令(reverse-i-search)`py’: python。如果搜索到的内容是需要的,按回车键直接执行;键盘左右键,可以得到此命令(不执行)。

清空历史命令:history -c

时间日期类

$ date "+%Y-%m-%d %H:%M:%S"
2023-09-15 12:48:49
# 查看时间戳
$ date +%s
1694753377
# 设置系统当前时间
$ date -s "2123-09-15 12:48:49"
# 同步时间
$ ntpdate

用户权限类

who 命令

# 显示当前所有登录的用户信息
who
# 查看当前用户,实际用户(登陆系统时所使用的用户)who am i
# 查看当前用户,有效用户(当前执行操作的用户)whoami

搜索查找类

which 命令

查找命令所在位置。

# which cd
/usr/bin/cd
# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/mann/cd.n.gz

磁盘管理类

磁盘分区

首先添加一个硬盘,使用命令 fdisk -l 查看,发现没有找到新加的硬盘,使用命令 lsblk 查看,也是没有找到新加的硬盘,这时需要重启:reboot。重启完,使用命令 lsblk 查看,发现多了一块硬盘,假如硬盘为 /dev/sdb。

接下来对硬盘进行分区:fdisk /dev/sdb,输入 n 开始分区,输入 p 选择主分区,一直回车即可。输入命令 p 显示当前磁盘分区,接着输入 w 写入分区信息并退出。

接下来需要对硬盘进行格式化文件系统操作:mkfs -t xfs /dev/sdb1,查看信息:lsblk -f

最后,将硬盘挂载到指定目录:mount /dev/sdb1 /home/test/。想卸载的话:unmount /home/test/

yum 命令

CentOS 使用 yum 管理器,用于自动化安装配置 Linux 软件,并可以自动解决依赖问题。

语法:yum [-y] [install | remove | search] 软件名称

选项:-y,自动确认,无需手动确认安装或卸载过程。install:安装,remove:卸载,search:搜索。

yum 命令需要 root 权限,可以 su 切换到 root,或使用 sudo 提权。

apt 命令

Ubuntu 使用 apt 管理器。语法:apt [-y] [install | remove | search] 软件名称

压缩解压缩

tar 命令用于压缩和解压缩,命令选项如下:
-c:创建打包文件
-v:显示打包或解包详细信息
-f:指定文件名称,必须放到所有选项后面
-z:压缩(.gz)
-j:压缩(.bz2),压缩率更高
-x:解压缩
-C:解压到指定目录

压缩:tar -zcvf 1.tar.gz *.txttar -jcvf 1.bz2 *.txt

解压缩:tar -zxvf 1.tar.gztar -jxvf 1.bz2,指定目录tar -zxvf 1.tar.gz -C ./abc

正文完
 0
阿伯手记
版权声明:本站原创文章,由 阿伯手记 于2023-09-08发表,共计3452字。
转载说明:本站原创内容,除特殊说明外,均基于 CC BY-NC-SA 4.0 协议发布,转载须注明出处与链接。
评论(没有评论)
验证码

阿伯手记

阿伯手记
阿伯手记
喜欢编程,头发渐稀;成长路上,宝藏满地
文章数
766
评论数
204
阅读量
439519
今日一言
-「
热门文章
职场救急!AI请假话术生成器:1秒定制高通过率理由

职场救急!AI请假话术生成器:1秒定制高通过率理由

超级借口 不好开口?借口交给我!智能生成工作请假、上学请假、饭局爽约、约会拒绝、邀约推辞、万能借口等各种借口理...
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

本文收集了目前国内已部署 DeepSeek 模型的第三方列表,个个都是免费不限次数的满血版 DeepSeek,...
巴别英语:用美剧和TED演讲轻松提升英语听力与口语

巴别英语:用美剧和TED演讲轻松提升英语听力与口语

还在为枯燥的英语学习而烦恼吗?巴别英语通过创新的美剧学习模式,让英语学习变得生动有趣。平台提供海量美剧和 TE...
TVAPP:开源电视盒子资源库,一键打造家庭影院

TVAPP:开源电视盒子资源库,一键打造家庭影院

导语 TVAPP 是一个专为 Android TV 电视盒子用户打造的开源影音资源库,集成了影视、直播、游戏等...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
2025年12月 每日精选

2025年12月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 12 月 26 日 .ax 顶级域 目前全球唯一...
最新评论
15220202929 15220202929 怎么用
八对 八对 麻烦大佬更新下【堆新】的友链站名:八对星星描述:极目星视穹苍无界•足履行者大地有疆链接:https://8dui.com图标:https://cf.8dui.com/logo.webp横标:https://cf.8dui.com/logo-w.webp订阅:https://8dui.com/rss.xml
三毛笔记 三毛笔记 已添加
DUINEW DUINEW 已添加贵站,期待贵站友链~博客名称:堆新博客地址:https://duinew.com/博客描述:堆新堆新,引力向新!——堆新(DUINEW)博客头像:https://d.duinew.com/logo.webp横版头像:https://d.duinew.com/logo-w.webp博客订阅:https://duinew.com/rss.xml
hedp hedp 没看懂
bingo bingo 直接生成就可以啦,也可以添加一些选项
满心 满心 申请更新下友联信息,原名:满心记,现名:周天记原域名:qq.mba,现域名:zhoutian.com描述:我在人间混日子
开业吉日 开业吉日 没看明白这个怎么用
开业吉日 开业吉日 beddystories 这个网站太赞了,收藏
热评文章
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

本文收集了目前国内已部署 DeepSeek 模型的第三方列表,个个都是免费不限次数的满血版 DeepSeek,...
清华大学官方免费DeepSeek教程

清华大学官方免费DeepSeek教程

AI 领域近期最引人注目的焦点当属 DeepSeek,这款由中国创新企业深度求索研发的人工智能工具,正以开放源...
Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 是一款基于 Fastify、Vercel 和 Supabase 构建的 URL 缩短服务...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
BeddyStories 完全免费儿童睡前故事库,让孩子随时随地入睡更轻松

BeddyStories 完全免费儿童睡前故事库,让孩子随时随地入睡更轻松

BeddyStories 是一个致力于为儿童提供优质睡前故事的在线平台,用户可以在这里找到来自世界各地的经典故...
DrawLink:一键生成链接视觉卡片,提升分享点击率

DrawLink:一键生成链接视觉卡片,提升分享点击率

小贴士 :此站或已变迁,但探索不止步。我们已为您备好「类似网站」精选合集,相信其中的发现同样能为您带来惊喜。