linux使用基本命令

本文详细介绍了Linux系统中的用户注册与注销流程,涉及/etc/passwd、/etc/shadow等用户信息文件,以及超级用户权限,注销命令,不同类型的Linux命令,如内部命令和外部命令,系统启动过程,systemd和systemctl的使用,常用命令及其操作,如文本处理工具grep,sed,awk的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户注册与注销

用户使用向管理员申请的账号登录系统中:Login:用户注册名,Password:用户登录口令

超级用户的口令:#passwd;普通用户口令:$passwd。

用户离开系统应注销,注销命令:#logout、#exit、#ctrl-d

用户信息文件

存放用户账号管理有关信息的四个文件:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow

/etc/passwd:存放用户账号基本信息,所有用户都可以打开

内容格式:username:*:uid:gid:comment:homedir:loginshell

stu3:x:1007:1007::/home/stu3:/bin/bash

/etc/shadow:存放用户加密后的口令及口令管理信息,并且只有管理员才能打开这个文件

内容格式:

username:password:lastchy:min:max:wam:inachive:expire

stu2:$1$zEYAbe69$WBbRyRdi.VXGZMqzxGxcf/:19627:0:99999:7:::

/etc/group:存放用户组信息。所有用户都可以打开

内容格式:

groupname:password : gid: user-list

classmate:x:1011:stu2,kangyt,tina,tom,mystu1

/etc/gshadow:存放用户组口令信息,只有管理员可以打开

内容格式:

组名称:组密码:组管理员账号:组用户列表

classmate:$1$NqJysjXt$VPYcjzKwQ746DZqdvOE6B1:kangyt:stu2,kangyt,tina,tom,mystu1

linux命令类型

1.内部命令:一些比较精简的系统命令,这些命令由shell程序识别并且·在shell程序内部运行。

2.外部命令:系统实用程序的部分内容。功能强大,程序内容也强大。通常不包含在shell中。

可以使用type命令来查看命令类型。

linux启动过程

系统加电后PROM启动→PROM自检→装入系统引导块程序bootblk,引导块装入完成后开始操作系统的启动工作→从指定的系统盘中加载操作系统核心程序→bootblk将核心程序运行的起始地址装入程序计数器中→由系统文件/sbin/init完成核心操作系统初始化

查看当前系统运行级别:who -r

改变系统运行级别:

init 0:系统退出;init 5:系统进入单用户状态;init 6:系统进入reboot过程,重新进入多用户状态。

目前linux系统初始化采用systemd。systemd是一套自由软件,是linux的系统已到期和服务管理器。1.systemd是c语言编写的经过编译的二进制程序。2.减少了对shell脚本的依赖3.提供框架。

systemctl用于控制systemd管理的系统服务和状态。

显示当前已激活的目标:systemctl -t target;显示当前已加载的所有目标:systemctl -at target。显示默认目标:systemctl get-defualt;查看系统服务启用状态:systemctl list-unit-files --type service;列出所有处于激活状态的服务:systemctl list-units --type service --all    

service服务状态控制:启动、停止或者重启某个服务:service 服务名 {status|start|stop|retart};例如:service http start

linux常用命令

linux命令使用格式:

command [option] [arguement]

例如用长列表方式列出当前目录下所有后缀名为py的文件名:ls -l *.py

有时要将多个命令写在同一个命令行中,命令之间用分号隔开。当一行写不下一条命令时,使用 \ 来进行换行。

显示日期:date

显示当前路径:pwd

切换工作路径:cd

显示日历:cal

显示系统在线人数:who

统计文件字符:wc   如[root@localhost ~]# wc -lwc test.c

显示操作系统信息:uname  如:[root@localhost ~]# uname -a

对外部命令获得联机帮助:man 命令名;如:man cp

查看历史命令:history

文件操作命令:

ls显示文件列表:

        常用option:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -d 只列出目录(不递归列出目录内的文件)。
  • -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
  • -r 倒序显示文件和目录。
  • -t 将按照修改时间排序,最新的文件在最前面。

ls-l显示了文件访问权限,链接数,文件属主,文件属组,长度,修改日期,文件名称

cat 在标准输出上显示文件或者链接 格式:cat [option][filenamelist]

        常用option:

  • -n:在每行前面加上行号。
  • -b:忽略空白行,但对于非空白行前面加上行号。
  • -s:连续的多个空白行只显示一个。
  • -E:在每行末尾加上 $ 符号,

cat >filename.c  建立filename.c文件 ;cat file.c bb.c先显示aa.c再显示bb.c;cat file.c bb.c>aa.c将file.c和bb.c的内容输入到aa.c

more分页显示文件内容;

head显示文件开头几行(默认10行);格式head [option] filename

tail显示文件末尾几行 tail -n(默认10行);格式 tail [option] filename

拷贝命令:cp [option] origin target 可以用来复制文件或者目录

搬移文件:mv [option] origin taget 可以用来搬移文件或者目录

修改文件名称:sudo mv oldname newname

创建空文件:touch filename

删除文件

rm filename

file 显示文件类型:file 文件或文件列表

find 查找文件,在目录结构中搜索文件:find [dir] [文件匹配标准]

找出在/home/tom路径下的以my开头的文件并且打印出来

文本处理工具(重要)

先来看看正则表达式:

linux正则表达式包括:基本正则表达式和扩展正则表达式

符号作用
^用于匹配模式开头,如"^kk",匹配以kk开头的行
$用于匹配模式结尾,如“yy$”,匹配以yy结尾的行
^$用于匹配空行
.用于匹配任意一个字符,不能匹配空行
\转义字符,还原字符本来的含义
*匹配前一个字符0次或者多次以上
.*匹配所有内容
^.*匹配任意多个字符开头的内容
[abc]匹配集合内任意一个字符,匹配结果为a,b,c中一个
[^abc]匹配除了集合内的任意字符
.*$匹配任意多个字符结尾的内容

扩展正则表达式(在egrep或者grep -E中使用),在基本正则表达式上增加了:

字符作用
+匹配前一个字符1次或者多次
[:/]+匹配括号内的“:"或者"/"一次或者多次
匹配一个字符0次或者1次
\表示或者
()分组过滤,括号内的内容表示一个整体
x{a,m}匹配前一个字符x,至少n次,最多m次
x{n,}匹配前一个字符x,至少n次
x{n}匹配前一个字符n次
x{,m}匹配前一个字符最多m次

文本处理工具,均支持正则表达式

1. grep:文本过滤工具,按照给定的正则表达式搜索文件内容(这个匹配普通的正则表达式,扩展正则表达式要在egrep中使用)格式:grep [option] pattern file

在linux中awk就是gawk,如图可以看到awk是软连接到了gawk

相关参数:

举例:查找kai.c文件中以k开头的行,并且显示行号

查找/etc/passwd中root相关内容,并且显示对应行号

统计/ect/passwd中有多少行与tom相关的内容

查找文件f.txt中的空行,并且输出非空行的内容

查找t.txt中并且输出没有空号和注释的内容

2.sed 流编辑器

sed [option] [sed内置命令字符] file

option:
 


参数选项解释
-n取消sed的默认输出,常与p命令一起使用
-i将修改结果写入文件,不用-i的话,sed修改的是内存数据
-e多次编辑
-r扩展正则表达式

内置命令:(就是进行文件的增删改查)

内置命令解释
a对文本内容进行追加,与p命令一起使用
d删除匹配行
i插入文本,在指定行前添加一行或者多行文本
p打印匹配行的内容
s/正则/替换内容/g匹配正则内容,替换对应的内容,g表示全局替换

匹配范围:

范围解释
空地址全文处理
单地址指定文件某一行
/pattern/被模式匹配的每一行
范围区间10,20表示十到二十;2,+3第2行向下3行
步长1~2,表示1,3,5,7,9行

如打印f.txt文件的2-3行内容,一定要加上-n来取消默认输出,否则如下:

加上-n就可以得到无名想要的内容效果

模式匹配

删除up!up!up!行,若使用-i选项则一同修改文件内容

替换内容,将sunny替换成raining

文件追加内容

匹配空模式

练习:查找设备ip地址

使用到的命令:ifconfig,sed(替换)

3.awk:格式化文本,linux上就是gawk

awk [option] 'pattern[action]' file ...

常用action就是print

相关参数选项:

参数解释
-F指定分隔符
-v定义或者修改一个awk内部变量
-f从脚本文件中读取awk命令

awk的默认分割符是空格,多个空格也被识别为一个空格,$0表示所有内容,$1表示第一列的数据,以此类推。$NF表示当前分割的最后一列。比如倒数第二列表示$(NF-1);$NR表示行号

NR==5表示第5行

内置变量解释
$n指定分隔符后,当前记录的第n个字段
$0完整的输入记录
FS字段分隔符,默认是空格
NF分割后当前行一共有多少个字段
NR当前记录数,行数
更多内置变量查看man手册man awk

输出第一列内容

输出倒数第二列的内容

自定义格式输出,给自定义的特殊格式内容加上双引号

打印第3行第4列的内容

实现显示行号的效果

输入分隔符 :以”:“为分隔符,输出/etc/passwd文件中的第3列的第5行到第7行的1内容

修改默认输出符

-v OSF=输出符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值