常用Linux基础命令行操作

学习linux操作系统的第一步,就是学会如何打开命令行 — 兹基·硕德

好了不开玩笑了,当我们费劲千辛万苦,在各种报错,重装后终于给电脑装上Linux系统时,最基础的第一步应该是先了解linux命令行下的各种基础命令,方便快速上手,也方便在之后使用服务器(非图形界面)时不至于感到生疏。

打开命令行(终端Terminal)

快捷键:

Ctrl+Alt+T  

文件目录操作:

ls:"list"

ls      #查看当前目录中的子文件[子文件夹]
ls -F   #查看目录中的文件[文件夹后有带/],包括隐藏文件
ls -l   #显示文件和目录的详细资料
ls -a   #显示所有文件[包括隐藏文件]

在这里插入图片描述
最开始的总用量[total]/4表示占用的总block数

第一列(1~10):文件/目录的详细权限:
其中:
rwx,表示读r,写w和执行x,相应位置写上字符就是有权限,-表示没有权限
1:d[目录],-[文件],l[链接,快捷方式]
2-4:该文件/目录所属用户的权限
5-7: 该文件/目录所属用户组的权限
8-10:其他用户对此文件的权限

第二列:数字表示文件或目录具有的链接数[子目录或文件,包括./ ../]
第三列:表示文件或目录到所有者
第四列:表示文件或目录到所属组
第五列:文件或目录的大小[字节],由于目录不包括其内部的存储内容,所以均为4kb
第六列:最后一次修改的时间
第七列:文件或目录名

cd: "change directory"

cd ..     #返回上一级目录
cd ../..  #返回上两级目录[以此类推]
cd        #进入个人的主目录/home
cd –      #返回上次所在的目录
cat xxx   #显示一个文件内的所有内容
pwd       #显示当前目录完整的路径 

mv:

mv 1.xxx 2.yyy     #将1.xxx重命名为2.yyy
mv 1 2             #若文件夹2不存在,将文件夹1重命名为文件夹2,否则将文件夹1移动到文件夹2目录下
ln -s file1 lnk1      #创建一个指向文件或目录的软链接[快捷方式],并重命名为lnk1

mkdir:"make directory"

mkdir dir1                 #创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2            #同时创建两个目录
mkdir -p /tmp/dir1/dir2    #创建一个目录及其子目录
mkdir dir{0001..1000}      #批量创建文件夹, 从dir0001到dir1000

touch:

touch xxx.xx                  #创建一个后缀为xx的文件
touch -t 0712250000 file1     #修改一个文件或目录的时间戳 - (YYMMDDhhmm) 
touch file{0001..1000}.txt    #批量创建文件, 从file0001.txt到dir1000.txt
rename 's/\.txt/\.c/' *txt    #批量修改后缀,将后缀为txt到文件修改为后缀为c
echo "xxx xxx">test.txt       #将内容“xxx xxx”写入test.txt末尾,若文件不存在则新建一个

rm:"remove"

rm dir1             #删除一个叫做 'dir1' 的目录或文件(目录为空)(文件可不为空)
rm -rf dir1         #删除一个叫做 'dir1' 的目录并同时删除其内容 
rm -rf dir1 dir2    #同时删除两个目录及它们的内容 
rm -rf /*           #删除根目录下所有文件

cp:"copy"

cp dir/* .          #复制一个目录下的所有文件到当前工作目录[不包括文件夹]
cp -a dir1/ .       #复制一个目录到当前工作目录[包括文件夹]
cp file1 file2      #复制一个文件到当前目录并改名为file2
cp -a dir1 dir2     #复制一个文件夹到当前目录并改名为dir2

find:

find / -name file1      #从 '/' 开始进入根文件系统搜索文件和目录
find /path -name \*.x   #在目录 '/path' 中搜索带有'.x' 结尾的文件

文件解压缩操作:

tar zcvf [压缩后到文件()] [准备压缩的文件()名路径]   
tar zxvf [压缩包名] 解压.tar压缩包                       
rar a file1.rar file1 file2 dir1    #同时压缩 'file1', 'file2' 以及目录 'dir1',整合为 file1.rar
unrar x file1.rar                   #解压rar包 
unzip [压缩包名] 解压.zip压缩包
zip [参数] [打包后的文件(夹)名] [打包的目录路径]
[参数]:
-r 将指定的目录下的所有子目录以及文件一起处理
-m 将文件压缩之后,删除源文件

查看磁盘信息:

df -h     #当前被挂载的文件系统信息
du -sh    #返回当前目录到大小
du -h     #返回当前文件夹下所有子文件大小(包含子文件夹)

在这里插入图片描述
在这里插入图片描述

vim编辑器:

vim 共分为三种模式,分别是:
命令模式(Command mode)
输入模式(Insert mode)
底线命令模式(Last line mode)

vim [filename]     #启动

在这里插入图片描述
在这里插入图片描述
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令

输入模式
在命令模式下按下i就进入了输入模式。

底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

vim常用操作:

光标移动方法:

命令 注释
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
n[箭头] 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键
Ctrl + f 屏幕『向下』移动一页,(常用)
Ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G (常用)
n + Enter n 为数字,光标向下移动 n 行(常用)

搜索替换:

命令 注释
/word 光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word 光标之上寻找一个字符串名称为 word 的字符串。
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!
:n,ms/aaa/bbb/g 表示将n~m行的aaa全局替换为bbb

删除,复制与粘贴

命令 解释
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 删除游标所在的那一整行(常用)
ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
yy 复制游标所在的那一行(常用)
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
p 将已复制的数据在光标下一行贴上
P 将已复制的数据在光标上一行贴上
u 复原前一个动作,类似Ctrl+z(常用)
[Ctrl]+r 重做上一个动作。(常用)

文件储存、离开等指令:

命令 注释
:w 将编辑的数据写入文件中(常用)
:w! 若文件属性为『只读』时,强制写入。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案
感叹号 (!) 在 vi 当中,常常具有『强制』的意思
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
ZQ 不保存,强制退出。效果等同于 :q!。
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案
:! [command] 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

vim 环境的变更

命令 解释
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!

举个例子:
1.新建一个文本:
在这里插入图片描述
2.按i进入输入模式,随便写一些东西:
在这里插入图片描述
3.Esc退出输入模式,将光标移动到第一行,键入5yy,复制包括当前行到5行,
将光标移动到行末,键入小写p,粘贴复制的信息到光标所在行以下,操作3次
在这里插入图片描述
4.输入大写P,则粘贴到光标所在行上一行:
在这里插入图片描述
5.键入u,撤回操作,相当于ctrl z
在这里插入图片描述
6.:2,10s/this/that/g表示将2~10行的this 全局替换为 that:
在这里插入图片描述
7.键入ZZ,保存并退出。

Linux top:

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器:

top

在这里插入图片描述
第一行:
16:58:37 [当前时间]
up 7:46 [系统运行时间,时:分]
1 user [当前登录用户数]
load average:0.18,0.06,0.01 [系统负载,即任务队列的平均长度,分别为1,5,15min到现在到平均值]

第二行为进程信息:
Task:229 total [总进程数]
1 running [正在运行到进程数]
163 sleeping [休眠的进程数]
0 stopped [停止进程数]
0 zombie[僵尸进程数]

第三行为CPU信息:%Cpu(S):
1.7us[用户空间占用cpu百分比]
0.9sy[内核空间占cpu百分比]
0.0ni[用户进程空间内改变过优先级到进程占用cpu百分比]
97.2id[空闲cpu百分比]
0.0wa[io等待占用cpu到百分比]
0.0hi[硬中断占用cpu的百分比]
0.2si[软中断占用cpu百分比]

第四行:内存状态
第五行,swap交换分区信息
total: 总计物理内存的大小。
used : 已使用多大。
free : 可用有多少。
Shared : 多个进程共享的内存总额。
Buffers/cached : 磁盘缓存的大小:【缓存的内存量】/【缓冲的交换区总量】
-/+ buffers/cached) :
used:已使用多大;
free:可用有多少。

第七行以下:各进程(任务)的状态监控
PID:当前运行进程的ID
USER:进程属主
PR:每个进程的优先级别
NI:反应一个进程“优先级”状态的值,其取值范围是-20至19,一共40个级别。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。一般会把nice值叫做静态优先级
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称

Guess you like

Origin blog.csdn.net/SESESssss/article/details/109189296