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

命令置换

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

相关推荐
bitcsljl几秒前
Linux 命令行快捷键
linux·运维·服务器
ac.char3 分钟前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Cachel wood23 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Youkiup30 分钟前
【linux 常用命令】
linux·运维·服务器
qq_2975046134 分钟前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
weixin_437398211 小时前
Linux扩展——shell编程
linux·运维·服务器·bash
小燚~1 小时前
ubuntu开机进入initramfs状态
linux·运维·ubuntu
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
炫彩@之星1 小时前
Windows和Linux安全配置和加固
linux·windows·安全·系统安全配置和加固
hhhhhhh_hhhhhh_1 小时前
ubuntu18.04连接不上网络问题
linux·运维·ubuntu