小工具知识网

当前位置: 首页 > 行业知识 > linux命令行与shell脚本大全——学习笔记(1-4章)

行业知识

linux命令行与shell脚本大全——学习笔记(1-4章)

2026-11-01 09:52:14 来源:互联网转载

第一章、第二章

查看运行层级

runlevel

���前有7个层级,3是有联网的多用户模式,5是配有GUI的多用户模式,等等

第三章

启动shell

查看/etc/passwd文件,可以看到每个用户的默认shell程序,如:

christine:x:1001:1001::/home/christine:/bin/bash

表示christine这个用户登录后,GNU bash shell会自动启动

bash手册

man命令根据关键词搜索,man -k keyword

info

help,可以直接用,如help help,也可以按参数来,大部分命令支持--help参数,如ls --help

文件系统

/usr 是文件系统的第二层次结构,存放的是一些可共享的只读数据。

列出文件和目录

ls有个-R参数,选项不仅显示了当前目录下的内容,还显示了目录下所有子目录及其内容

链接文件

软链接

例如给data.txt创建一个软链接文件

ln -s data.txt data_txt_link.txt

此时查看data_txt_link.txt文件,此文件是链接文件:

lrwxrwxrwx 1 xiaojiao docker 11 Feb 28 15:06 data_txt_link.txt -> ../data.txt

硬链接

例如给data.txt创建一个硬链接文件

ln ../data.txt data_hard_link.txt

但是不能跨存储设备创建硬链接,否则会有如下类型的报错:

ln: failed to create hard link './sand.py' => '/mnt/d/learn/test/sand/sand.py': Invalid cross-device link

异同

1 软链接/硬链接创建链接时,原始文件都必须事先存在

2 软链接相当于创建了快捷方式, ls -i可以看到inode编号不同,硬链接创建的是一个独立的虚拟文件,其中包含了原始文件的信息以及位置。但是两者就根本而言是同一个文件,inode相同

3 软链接与原始文件文件大小一般不同,因为只是创建了一个指向原始文件的快捷方式,但硬链接与原始文件大小相同

4 硬链接只能对处于同一存储设备的文件创造,软链接没有这个限制

处理文件

创造文件

注意:touch命令创建文件时,如果文件已存在,会改变文件的时间,不会对已存在的文件内容造成任何影响

复制文件

cp复制文件时,新文件的创建时间是复制时的时间,但注意,若目标文件已存在,将不会提醒,直接覆盖,因此最好加上-i选项

移动mv

移动/重命名命令没什么好说的,已经很熟悉了,但是要注意,mv操作后,文件的时间以及inode是不变的

mv命令也可以不经过允许就覆盖已存在的文件,所以建议用-i

处理目录

略

查看文件内容

查看文件类型

file命令,如:file data.txt

查看整个文件

cat -n 可以显示行号; -b只给有内容的行加上行号

第四章 更多的bash shell命令

监测程序

探查进程

ps:选项非常多,以下只列出我自己常用的选项的含义:

选项含义
a显示与任意终端关联的所有进程(对应,T显示与当前终端关联的所有进程)
r仅显示运行中的进程
e显示命令使用的环境变量
f用层级格式来显示进程,显示哪些进程启动了哪些进程

实时检测进程

top,平均负载三个值分别表示最近1/5/15分钟的平均负载

结束进程

kill 部分任务会忽略kill 命令,可以使用kill -9 pid 或 kill -s HUP pid

pkill 可以直接使用进程名,如pkill http*可以kill所有进程名以http开头的进程

监测磁盘空间

mount/umount

在默认情况下,mount 命令会输出当前系统已挂载的设备列表,但是mount 命令的默认输出非常杂乱

umount 略

df

直接df -h,以易读方式显示磁盘空间,其他参数不需要记忆

du

du 命令可以显示某个特定目录(默认情况下是当前目录)的磁盘使用情况

让输出更清晰易读的选项:

选项含义
-c显示所有已列出文件的总大小
-h按人类易读格式输出大小
-s输出每个参数的汇总信息

处理数据文件

数据排序sort

sort命令将数字视为字符并按标准的字符排序,如1000会排在2的前面,要想按照数字排序,使用sort -n,注意,如果文件有多行,sort会按照第一列的数字排序。

常用选项:

选项含义
-n将数字按值排序
-c不排序,但检查输入数据是否有序,无序的话就报告,形如sort: test_sort1.txt:2: disorder: 2
-M用三字符的月份名按月份排序,如Jan, Feb等
-t指定字段分隔符
-k排序键从 POS1 位置开始,到 POS2 位置结束(如果指定了 POS2的话)
-r逆序排序(升序变成降序)
-u相当于sort | uniq

-t -k可以结合使用,例如/etc/passwd 文件,以冒号分隔,按照第三列来排序,可以写作:

sort -t ':' -k 3 -n /etc/passwd

数据搜索grep egrep

常用选项:

选项含义
-v反向搜索
-n显示匹配到的行的行号
egrep 命令是 grep 的一个衍生,支持 POSIX 扩展正则表达式,其中包含更多可用于指定匹配模式的字符
其他略

数据压缩

gzip 压缩,可以正则匹配一次压缩多个,如gzip test*

gunzip 解压

数据归档

tar,选项很多,但我一般压缩用zcvf(tar -zcvf test.tar.gz test*,这里是创建了一个名为test.tar.gz的文件,包含test开头的所有文件和目录,其实test*这里可以是空格分隔的多个参数,可包含文件或目录),解压用zxvf,目前看来够用了,且使用没出错,所以略

上一篇:【Python】成功解决ValueError: could not convert string to float: ‘ ignoring input‘

下一篇:虎牙剑圣那种服务器怎么找?