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