当前位置: 首页 > news >正文

Linux——基础命令3

1、关机重启命令

reboot指令

        作用:重启计算机

        语法:reboot

shutdown指令

        作用:关机

        语法:shutdown -h 时间

        时间常见的值:

                now (立即关机)

                +m(m表示minutes数字)eg:shutdown -h +5 表示5分钟之后关机

2、进程管理  ps

选项:

        -f (显示所有字段(UID、PPIP、C、STIME字段)) 

        -ef (显示所有进程)

        -h (不显示标题)

        -l (长格式)

        -w (宽输出)

        -a (显示一个终端的所有进程)

        -r (只显示正在运行的进程)

        -u (显示当前用户进程和内存使用情况)

        -x (显示没有控制终端的进程)

        –sort (按照列名排序)

2.1 ps -ef  查看所有进程的全部字段

 

字段解释:

        UID:用户ID,即进程的拥有者

        PID:进程ID

        PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程

        C:cpu的占用率,形式是百分数(%)

        STIME:进程开始启动时间

        TTY:终端设备,发起该进程的设备识别符号,如果显示‘ ?’表示该进程并不是由终端发起

        TIME:进程的执行时间

        CMD:该进程的名称或对应的路径

2.2 ps -aux  查看所有包含其他使用者的进程

字段解释:

        USER:创建进程的用户

        PID:进程ID

        %CPU:进程占用CPU的百分比

        %MEM:进程占用物理内存的百分比

        VSZ:进程占用虚拟内存的大小(单位KB)

        RSS:进程占用实际物理内存的大小(单位KB)

        TTY:进程在哪个终端运行。

        STAT:进程状态

        START:进程开始启动的时间

        TIME:进程使用的CPU(运算)时间

        COMMAND:调用进程的命令

2.3 查看CPU(内存)占用率最高的进程

(1)查看进程的时候,让进程按照CPU使用率排序,然后展示前10个进程,就能清晰地看到哪些进程占用的资源比较多

        ps -aux --sort=-pcpu | head -11 查看进程占cpu百分比,降序排列

        注1:head -11 (因为标题也算一行)

        注2:+、-号可以调整排序,eg:-pcpu表示降序;+pcpu表示升序

(2)同理,把-pcpu 换成-pmem,就能查看内存使用最多的10个进程 

        ps -aux --sort=-pmem | head -11 查看进程占内存百分比,降序排列

3、编辑器之神  vim

安装vim环境:

        sudo apt-get install vim

        sudo apt-get install ctags

三种模式:

3.1 编辑模式:对代码的修改(复制、粘贴、剪切等等)【按Esc键进入】

(1)复制、粘贴、剪切

        [n]yy(复制从当前行的n行) eg:4yy

        [d]dd (删除(剪切)从当前行开始的n行) eg:4dd

        p (粘贴

        u (撤销前面多次修改;ctrl+r 反撤销)

        [n]x(删除光标后n个字符) eg:3x

        [n]X(删除光标前n个字符) eg:3X

        yw(复制一个单词)

        . (执行上一次操作)

(2)移动光标:h===>向左移动;j=====>向下移动;k======>向上移动;l=====>向右移动(或者上下左右键)

        shift+zz(按住shift 同时按下两次zz) (保存并退出)

        [n]G(光标移动到第n行开始处) eg:5G光标移到第5行开始处

        G(光标移到文件结束处)

        g(光标移到文件开始处)

(3)查找字符串

        :/字符串(从光标开始处向文件尾处查找字符串)

        n(同一方向重复上一次的查找命令)

        N(反方向重复查找命令)

(4)替换字符串

        str1:原来的字符串;str2:新的字符串

        :s/str1/str2 (当前行只替换第一个)

        :s/str1/str2/g (当前行全部替换)

        :.,$ s/str1/str2 (从当前行到最后一行,只替换每行的第一个)

        :.,$ s/str1/str2/g (从当前行到最后一行,全部替换,等价于全文替换)

        :% s/str1/str2/g (全文替换)

3.2 插入模式:用户编辑代码  【按Ins、i、o键进入】

3.3 命令行模式(最后一行模式):保存、退出、另存为【按:键进入】

        w-----保存;q------退出;!-----强制执行

        :w (保存文件)

        :wq (保存并退出vim)

        :x (保存文件并退出vim)

        :q!(不保存文件强制退出)

        :w filename (另存为filename)

        :!pwd(可以快速查询当前文件所在目录)

        :!date (可以快速查看当前时间)

        :set number (给文件设置行号) 可以简写为  :set nu

        :set nonumber (取消行号) 可以简写为  :set nonu

4、gcc编译

gcc编译C语言的过程有4步:

        1、预处理(头文件展开、宏替换、删除注释、条件编译),生成.i文件

                gcc -E main.c -o main.i 

        2、将预处理后的文件转换成汇编语言(进行语法检测),生成.s文件

                gcc -S main.i -o main.s 

        3、转成二进制文件,生成.o文件

                gcc -C main.s -o main.o

        4、链接目标代码,生成可执行程序

                gcc main.o -o main.out 

        5、最后可以执行可执行程序,运行代码

                执行命令:./main.out

编译一步到位:gcc main.c -o main.out

5、给普通用户添加sudo权限

(1)切换到root:su root 或者 su

(2)安装sudo:apt-get install sudo

        如果无法安装sudo,先下载apt-get update再执行apt-get install sudo,就把sudo安装上了

(3)查看sudoers配置文件的权限情况:ls -l /etc/sudoers 

 

(4)设置sudoers配置文件的权限,给root用户添加w权限:chmod u+w /etc/sudoers 

(5)修改sudoers配置文件:gedit /etc/sudoers 

 

        将圈起来的代码添加上  

(6)测试lm是否可以有sudo权限 

        切换到lm用户,执行:sudo cat /etc/shadow

http://www.lryc.cn/news/533724.html

相关文章:

  • ChatGPT提问技巧:行业热门应用提示词案例-文案写作
  • python - 封装moondream(备份)
  • 响应式编程库(三) -r2dbc
  • 嵌入式AI革命:DeepSeek开源如何终结GPU霸权,开启单片机智能新时代?
  • 基于遗传算法的64QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
  • 从零开始玩转Docker:轻松开启容器化之旅
  • kafka生产端之架构及工作原理
  • 38、【OS】【Nuttx】OSTest分析(3):参数传递
  • 存储异常导致的Oracle重大生产故障
  • C语言时间相关宏定义
  • Android Studio:Application 和 Activity的区别
  • 如何优化爬虫以提高搜索效率
  • git撤销上一次的提交
  • LLM学习笔记1——本地部署Meta-Llama-3.2-1B大模型
  • Nginx反代Ollama接口跨域、无法逐字输出问题
  • 大学资产管理系统中的下载功能设计与实现
  • 股指入门:股指期货是什么意思?在哪里可以做股指期货交易?
  • < OS 有关 > 利用 google-drive-ocamlfuse 工具,在 Ubuntu 24 系统上 加载 Google DRIVE 网盘
  • Golang的引用类型和指针
  • 51单片机之冯·诺依曼结构
  • 32. C 语言 安全函数( _s 尾缀)
  • Android T(13) 源码分析 — BufferQueue 的分析
  • Vite+TS项目中配置路径别名
  • 看盘细节系列 篇二:集合竞价的9点18分大单打到3%以下或以上,9点19分撤单
  • Java继承简介
  • redis之哨兵集群搭建
  • 保姆级AI开发环境搭建
  • Arduino 型号的对比
  • Kafka系列之:定位topic只能保存最新数据的原因
  • AtCoder Beginner Contest 391(A~E题题解)