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:自动补齐

命令置换

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

相关推荐
牢姐与蒯14 分钟前
Linux信号(一).信号产生
linux·运维·服务器·ubuntu
雯宝6 小时前
mnt_init 函数
linux
律宏阔12 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔12 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴12 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千12 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei3712 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei3712 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei3712 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW13 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux