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

命令置换

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

相关推荐
梅见十柒1 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热5 分钟前
路由基础(全)
linux·网络·网络协议·安全
传而习乎15 分钟前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
我们的五年24 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
IT果果日记1 小时前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教1 小时前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特1 小时前
环境变量简介
linux
小陈phd2 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!2 小时前
【Linux】进程状态
linux·运维
明明跟你说过2 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump