Linux操作系统使用及C高级编程-D3Linux shell命令(权限、输入输出)

Shell

是一种应用程序,用以完成用户与内核之间的交互

一个功能强大的编程语言(C语言)

一个解释执行的脚本语言,不需要编译,写完直接执行

目前Linux 乌班图的Shell默认是bash

查看当前提供的Shell:cat /etc/shells

查看当前系统默认的Shell:echo $SHELL

关机相关命令

立即关机:sudo shutdown -h now

立即关机重启:sudo shutdown -r now或者sudo reboot now

定时关机:sudo shutdown -h +45(45分钟后关机)

定时重启:sudo shutdown -r +60(60分钟后关机)

权限相关命令

基本命令

Linux下分为超级用户(根目录、安装软件等更大权限)和普通用户

su:执行命令在所要求用户下

-c:变更用户,执行完命令后变回来

su -c ls root或其他用户:切换到root或其他用户下执行ls命令,执行完后回到当前用户

-l:更换用户,并且不换回,若不加用户名,默认是root用户

su -l 用户名,退出使用exit或者ctrl+d

echo $PASH:PASH是环境变量,记录环境访问变量时访问的路径

su -l root和su root都可切换到超级用户下,不同点是su -l root是切换了环境变量而su root没有切换,还是当前用户的环境变量。

passwd 用户名:修改指定用户密码,若不加用户名表示修改当前用户密码

修改权限

u(当前):读写可执行

g(同组):读写可执行

o(其他用户):读可执行

a:所有人

修改权限:字母法和数字法两种方法

字母法:chmod (u g o a) (+-=) (r w x) (文件名)

给当前用户可执行权限

=的使用

数字法:cmod +数字组合+文件名

下面这个图的权限是775 ,其中0代表8进制标识:chmod 0775 client

基本命令

man

1命令、2系统调用、3库函数、4特殊文件、5文件配置、6游戏、7杂项、8超级用户、9内核帮助手册

多使用前三个

date

打印或者设置系统时间

clear或者ctrl+l

清空当前界面

df

报告磁盘的使用情况

du

报告文件使用情况

两者区别

du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。

df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。

当文件系统也确定删除了该文件后,这时候du与df就一致了。

输入输出相关操作

输出命令

echo

往终端显示文本内容

下图中双引号输出变量值,单引号是原样输出

-n:没有了默认换行

-e:使能转义字符,例如使得编辑的字符串的\n能够成为换行符

-E:不使能转义字符

输入输出重定向

改变shell命令或程序默认的标准输入/输出目标,重新定向到新的目标

下图中>和>>的区别是:>是新建,>>是追加

前两个是标准输出重定向,第三个是标准出错重定向,第四个两个一起。

输入重定向

下图演示<file作用

下图中cat本来是输入什么展示什么,cat<<9表示直到遇到9才进行展示

通配符、管道

下图为示例,计算cat输出的大小,字符等

在file文件中查找字符串hello

历史查询、补齐功能

history:历史命令查询

下图中!c表示查找历史命令中上一个以c开头的命令

键盘Tab:自动补齐

命令置换

将命令保存以赋给其他命令

相关推荐
sanzk36 分钟前
firefly开发板ubuntu安装ros2下的micro-ROS Agent
linux·运维·ubuntu
weixin_307779133 小时前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
skyutuzz4 小时前
node安装部署
linux
一次旅行5 小时前
【AI工具】Rust-Based CLI:用 xargs 和并行加速你的 Linux 日常
linux·开发语言·rust
2501_925963387 小时前
Hi3516CV610 + MPU6050 DMP 软件 EIS 防抖笔记
linux·运维·服务器
qetfw7 小时前
CentOS 7 基础环境配置
linux·运维·centos
天空'之城7 小时前
Linux 系统编程 21:守护进程与日志系统全解
linux·系统编程·日志系统·守护进程
l1t8 小时前
用split命令恢复被wget -c命令误追加的zip压缩包
linux
辉灰笔记9 小时前
MySQL8 意外关机/误移data目录导致服务启动失败 PID报错/权限报错 修复文档
linux·数据库·mysql·centos
ylscode11 小时前
CVE-2026-31694 漏洞深度分析:Linux 内核 FUSE 组件存在本地提权风险,普通用户可直取 root 权限
linux·运维·服务器