Linux常用命令

1、vi,vim编辑文件

1)查找替换

/word “/”后输入要查找内容”word”
n查找下一个
:1,$s/word1/word2/gc 从第一行到最后一行查找word1替换为word2(c表是否需要确认替换)

2)跳转

:1gg 跳转到第一行
:$G 跳转到最后一行
nG 跳转到第n行
n<Enter> 向下移动n行
0 移动到该行最前
$ 移动到该行最后

3)翻页

Ctrl+f 向前翻页
Ctrl+b 向后翻页

4)显示行数

:set nu

5)复制删除粘贴

yy 复制当前行
nyy 固执当前向下的n行
dd 删除当前行
ndd 删除当前行向下的n行
p 粘贴到下一行
P 粘贴到上一行

6)实现全选

ggVG
解释如下
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容

7)多窗口

:new <filename>(打开另一个文件到多窗口)
ctrl+w后w 在窗口间切换

2、环境变量

1)临时设置

export PATH=/opt/android-studio/bin:$PATH

2)当前用户的全局设置

vim ~/.profile
添加行:
export PATH=/opt/android-studio/bin:$PATH
使生效:
source ~/.profile

3)所有用户的全局设置

vim /etc/profile
添加行:
export PATH=/opt/android-studio/bin:$PATH
使生效:
source /etc/profile

4)查看

echo $PATH

3、无法获得锁/var/lib/dpkg/lock

解决方法
sudo rm /var/lib/dpkg/lock

4、有关cp复制

参数和选项:
 -a :文件的某些属性/权限也保持一致复制(常用)
 -i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
 -p :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
 -r :递回持续复制,用于目录的复制行为;(常用)

5、deb文件安装

sudo dpkg -i XXX.deb

6、撷取命令grep

一般来说, 撷取讯息通常是针对“一行一行”来分析的。
grep [-acinv] [--color=auto] '搜寻字串' filename
选项与参数:
 -a : 将 binary 文件以 text 文件的方式搜寻数据
 -c : 计算找到 ‘搜寻字串’ 的次数
 -i : 忽略大小写的不同, 所以大小写视为相同
 -n : 顺便输出行号
 -v : 反向选择, 即显示出没有 ‘搜寻字串’ 内容的那一行
 –color=auto : 将找到的关键字部分加上颜色显示

7、程序的观察ps(静态)

选项与参数:
 -A : 所有的 process 均显示出来, 与 -e 具有同样的效用;
 -a : 不与 terminal 有关的所有 process ;
 -u : 有效使用者 ( effective user) 相关的 process ;
 x : 通常与 a 这个参数一起使用, 可列出较完整信息。
输出格式规划:
 l : 较长、 较详细的将该 PID 的的信息列出;
 j : 工作的格式 ( jobs format)
 -f : 做一个更为完整的输出。

1)仅观察自己的 bash 相关程序

ps -l
字段含义:
 F:代表这个process flags, 说明程序的总结权限。4 表示权限为 root,1表示程序仅进行复制(fork) 而没有实际执行( exec)。
 S:代表这个程序的状态 (STAT)。R ( Running),S ( Sleep,可以被唤醒),D (不可被唤醒的睡眠状态,通常可能在等待 I/O),T ( stop),Z ( Zombie,僵尸状态, 程序已终止却无法被移除至内存外)。
 UID/PID/PPID:UID(拥有者id),PID (进程id),PPID(父程序id)。
 C:代表 CPU 使用率, 单位为百分比。
 WCHAN:程序是否运行中,-(正在运行)。
 CMD:程序的实际指令。

2)观察系统所有程序

ps -lA
字段同“ps -l”。
ps aux
字段含义:
 STAT: 程序的状态, 与 ps -l 的S字段含义相同( R/S/T/Z)。
 START: 程序被触发启动的时间。
 COMMAND: 程序的实际指令。

8、程序的观察top(动态)

top 则可以持续侦测程序运行的状态。
top [-d 数字]
top [-bnp]
选项与参数:
 -d : 后面整个程序画面更新的秒数,默认是 5 秒。
 -b : 以批次的方式执行 top , 通常会搭配数据流重导向来将批次的结果输出成为文件。
 -n : 与 -b 搭配, 意义是, 需要进行几次 top 的输出结果。
 -p : 指定某些个 PID 来进行观察监测而已。
在 top 执行过程当中可以使用的按键指令:
 ? :显示在 top 当中可以输入的按键指令。
 P :以 CPU 的使用资源排序显示。
 M :以 Memory 的使用资源排序显示。
 N :以 PID 来排序。
 T :由该 Process 使用的 CPU 时间累积 ( TIME+) 排序。
 k :给予某个 PID 一个讯号 ( signal)。
 r :给予某个 PID 重新制订一个 nice 值。
 q :离开 top 软件的按键。

9、sed命令

一个管线命令, 可以分析standard input! 而且 sed 还可以对数据进行取代、 删除、 新增、 撷取特定行等。
sed [-nefr] [动作]
选项与参数:
 -n :使用 silent 模式。 在一般 sed 用法中, 所有来自 STDIN 的数据一般都会被列出到屏幕上。但加上 -n 后, 只有经过 sed 特殊处理的那行( 或者动作) 才会被列出。
 -e :直接在命令行界面上进行 sed 的动作编辑。
 -f :直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的 sed 动作。
 -r :sed 的动作支持的是延伸型正则表达式的语法( 默认是基础正则表达式语法)。
 -i :直接修改读取的文件内容, 而不是由屏幕输出。
动作说明:
[n1[,n2]]function
 n1, n2 :代表“选择进行动作的行数”。
function 有:
 a : 新增, 后面接新增字串( 目前的上一行)。
 c : 取代, 后面接字串, 用于取代 n1,n2 之间的行。
 d : 删除, 后面什么也没有。
 i : 插入, 后面接字串, 字串会在新的一行出现( 目前的上一行)。
 p : 打印, 将某个选择的数据印出。通常与参数 sed -n 一起运行。
 s : 取代, 可以直接进行取代的工作, 通常可以搭配正则表达式。例如 1,20s/old/new/g

10、awk命令

sed常常作用于一整个行的处理, awk 则比较倾向于一行当中分成数个“字段”来处理。
awk '条件类型1{动作1} 条件类型2{动作2} ...' filename
awk 后接单引号并加大括号 {} 来设置想要对数据进行的处理动作。
awk 可以处理后续接的文件, 也可以读取来自前个指令的 standard output 。
awk 主要是处理每一行的字段内的数据, 而默认的字段的分隔符号为 “空白键” 或 “[tab]键”。
整个 awk 的处理流程是:
1. 读入第一行, 并将第一行的数据填入 $0, $1, $2…. 等变量当中;
2. 依据 “条件类型” 的限制, 判断是否需要进行后面的 “动作”;
3. 做完所有的动作与条件类型;
4. 后续的“行”重复上面 1~3 的步骤。
awk 的内置变量:
 NF: 每一行 ( $0) 拥有的字段总数
 NR: 目前 awk 所处理的是“第几行”数据
 FS: 目前的分隔字符, 默认是空白键
awk 后续动作是以“ ’ ”括住的,所以 awk 的格式内容想要以 print 打印时,需要使用双引号来定义。
awk 的逻辑运算字符:
> < >= <= == !=
利用利用 BEGIN 这个关键字,可以预先设置变量,在第一行就起作用。

参考自 《鸟哥的Linux私房菜》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值