首页 关于 微信公众号
欢迎关注我的微信公众号

linux基本命令

linux环境变量

我们之所以能再终端中输入各种指令而不会提示“命令未找到”,就是因为你所用命令的可执行文件 在环境变量-PATH中,PATH定义的目录中保存有很多可执行文件,我们只需要将可执行文件复制到PATH 中,就可以利用这个命令了。

zhangqis-Mac-mini:MaxwellQi.github.io qizhang$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/rvm/bin

文件操作

文件信息

首先使用ls -al命令列出当前目录下的文件信息:

*文件类型:-表示常规文件;d表示目录;c表示字符设备文件;b表示块设备文件;s表示管道文件;l表示连接文件。

以下几个命令要首先记住:

-  			:代表前一个工作目录
rmdir		:删除一个空目录

mkdir 建立新目录

创建目录时,创建者必须对当前目录有写的权限。

选项与参数:
-m		:配置文件权限,直接设定
-p  	:帮助你直接将所需要的目录(包含上层目录)递归建立起来!

范例:创建一个多级目录
mkdir -p test1/test2/test3/test4  # -p选项,就是帮你自行建立多层目录

范例:建立选项为 rwx--x--x的目录
mkdir -m 711 test2

rmdir 删除空的目录

选项与参数:
-p		:连同上层[空]目录页一起删除

cp命令

cp dir1 dir2    复制文件或目录dir1到dir2中
功能:复制文件或目录,创建连接文件(快捷方式),对比文件的新旧进行更新。
-r   用于复制目录但是有时候会丢失权限
-f   强行赋值文件或目录,不论目标文件或目录是否已存在
-a   用于赋值=备份	

rm 移除文件或目录

rm  [-fir]  文件或目录
-f : force  忽略不存在的文件,不会出现警告信息
-i : 互动模式,在删除前会询问用户是否操作
-r : 递归删除,用于目录的删除

mv 移动文件和目录或更名

mv  [-fiu] source destination
mv  [options] source1,source2,source3...  directory

取得路径的文件名与目录名

zhangqis-Mac-mini:qi qizhang$ basename test1/test2/test3/test4/note.txt 
note.txt  <== 最后的档名
zhangqis-Mac-mini:qi qizhang$ dirname test1/test2/test3/test4/note.txt 
test1/test2/test3/test4   <== 取得的目录名

more 可翻页查看

如果使用ls命令查看其内容,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

ls -al | more
space   向下翻一页
Enter   向下滚动一行
/str    向下查询str这个关键字
:f      立刻显示文件名及目前显示的行数
q       代表立刻离开more,不再显示该文件内容
b或[ctrl]-b 代表往回翻,只对文件用用,对管道无用

grep 指定文件中搜索指定字符

grep指定文件中搜索指定字符内容。

zhangqis-Mac-mini:linux_workImage qizhang$ grep -n hello test.txt 
3:hello sdf

常见参数以及含义:

-v		显示不包含匹配文本的所有行
-n		显示匹配行及行号

find 查找文件命令

find命令用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

zhangqis-Mac-mini:linux_workImage qizhang$ find /usr/include -name stdio.h
/usr/include/c++/4.2.1/tr1/stdio.h
/usr/include/stdio.h
/usr/include/sys/stdio.h
zhangqis-Mac-mini:linux_workImage qizhang$ 

脚本文件名的查询

which [-a] command
which 默认查找PATH内所规范的目录
比如:which ifconfig , which which

文件名的查找

wheres [-bmsu]  文件名或目录名
-b  只找二进制格式的文件
-m  只找在说明文件manual路径下的文件
-s  只找soune源文件
-u  查找不再上述三个选项中的其它特殊文件
whereis 与locate是利用数据库来查找数据,所以相当快速,而且并没有事迹查询硬盘,较节省
时间。find不常用。

文档内容查阅

下面几个命令是查看文档内容的命令:

cat 直接检查档案内容

选项与参数
-A		:相当于 -vET 的整合选项,可列出一些特殊字符而不是空白
-b		:列出行号,仅针对非空白行做行号显示,空白行不标行号
-E		:将结尾的断行字符 $ 显示出来
-n		:打印出行号,连同空白行也会有行号,与 -b 的选项不同
-T		:将[tab]按键以 ^I 显示出来
-v		:列出一些看不出来的特殊字符

范例:输出 note.txt 的内容,并显示行号
cat -n note.txt

范例: 将 note.txt 的内容完整的显示出来(包含特殊字符)
cat -A note.txt

touch 修改档案时间或建置新档

每个档案在linux底下都会记录许多时间参数,其实是有三个主要的变动时间,那么这三个时间分别是:

vim的使用

vim分为三种模式:一般模式、编辑模式、命令模式。

一般模式下移动光标

h或向左方向键 : 光标向左移动一个字符 
j或向下方向键 :光标向下移动一个字符 
k或向上方向键 :光标向上移动一个字符 
I或向右方向键 :光标向右移动一个字符 
Ctrl+f或者pageUP键:屏幕向前移动一页 
Ctrl+b或者pageDown键:屏幕向后移动一页 
Ctrl + d : 屏幕向前移动半页 
Ctrl + u : 屏幕向后移动半页 
+ : 光标移动到非空格符的下一列 
- : 光标移动到非空格符的上一列 
n空格(n是数字): 按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n 
0(数字0)或者Shift+6 : 移动到本行行首 
Shift+4 : 即’$’移动到本行行尾 
H : 光标移动到当前屏幕的最顶行 
M : 光标移动到当前屏幕的中央那一行 
L : 光标移动到当前屏幕的最底行 
G : 光标移动到文本的最末行 
nG(n是数字): 移动到该文本的第n行 
gg : 移动带该文本的首行 
n回车(n是数字) : 光标向下移动n行

一般模式下查找和替换

/word : 向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个 
?word : 想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个 
:n1,n2s/word1/word2/g : 在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#” 
:1,s/word1/word2/g:从第一行到最末行,查找word1并替换成word2:1,s/word1/word2/gc : 加上c的作用是,在替换前需要用户确认 
一般模式下删除、复制粘贴 
x,X : x为向后删除一个字符,X为向前删除一个字符 
nx(n为数字) : 向后删除n个字符 
dd : 删除光标所在的那一行 
ndd(n为数字) : 删除光标所在的向下n行 
d1G : 删除光标所在行到第一行的所有数据 
dG : 删除光标所在行到末行的所有数据 
yy : 复制光标所在的那行 
nyy : 复制从光标所在行起向下n行 
p,P : p复制的数据从光标下一行粘贴,P则从光标上一行粘贴 
y1G : 复制光标所在行到第一行的所有数据 
yG : 复制光标所在行到末行的所有数据 
J : 讲光标所在行与下一行的数据结合成同一行 
u : 还原过去的操作

进入编辑模式

i : 在当前字符前插入字符 
I : 在当前行行首插入字符 
a : 在当前字符后插入字符 
A : 在当前行行末插入字符 
o : 在当前行下插入新的一行 
O : 在当前行上插入新的一行 
r : 替换光标所在的字符,只替换一次 
R : 一直替换光标所在的字符,一直到按下ESC

命令模式

:w : 将编辑过的文本保存 
:w! : 若文本属性为只读时,强制保存 
:q : 退出vim 
:q! : 不管编辑或未编辑都不保存退出 
:wq : 保存,退出 
:e! : 将文档还原成最原始状态 
ZZ : 若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq 
:w [filename] : 编辑后的文档另存为filename 
:r [filename] : 在当前光标所在行的下面读入filename文档的内容 
:set nu : 在每行的行首显示行号 
:set none : 取消行号 
n1,n2 w [filename] : 将n1到n2的内容另存为filename这个文档 
:! command : 暂时离开vim运行某个linux命令,例如 :! ls /home 暂时列出/home目录下的文件,然后会提示按回车回到vim

系统相关命令

top 动态显示运行中的进程

该命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新信息显示; 可以在使用top命令时加上-d <interval>来指定显示信息更新的时间间隔。

"M"键:			根据内存使用量来排序
"P"键:			根据cpu占有率来排序
“T”键:			根据进程运行时间长短来排序
"U"键:			可以根据后面输入的用户名来筛选进程
"K"键:			可以根据后面输入的PID来杀死进程
"q"键:			退出
"h"键:			获得帮助

ps 查看进程信息

格式ps [选项]

常用参数:

-a			显示终端上的所有进程,包括其他用户的进程
-u			显示进程的详细状态
-x			显示没有控制终端的进程
-w			显示加宽,以便显示更多的信息
-r			只显示正在运行的进程

who 查看当前所有登录系统的用户信息

格式who [选项]

常用参数:

-m或am I			只显示运行who命令的用户名、登录终端和登陆时间
-q或--count		只显示用户的登录账号和登录用户的数量
-u					在登录时间后显示该用户最后一次操作到当前的时间间隔
-u或--heading		显示列标题

w 查看登录当前系统的用户信息

该命令比who更强大。它不但可以显示当前那些用户登录到系统,还可以显示这些用户正在进行的操作,并给出更加详细和科学的统计数据。 格式w [选项] [用户名]

如果w命令携带用户名,则只显示指定用户的信息,否则显示当前所有登录用户的信息。常用参数如下:

-h			不显示各列的标题
-l			显示详细信息列表,此为预设值
-s			使用短列表,不显示用户登录时间、JCPU和PCPU时间
-u			忽略执行程序的名称,以及该程序的PCPU时间

归档命令

tar 归档管理

计算机中的数据经常需要备份,tarUnix/linux中最常用的备份工具。此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。 格式 tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用”-“,也可以不使用。

-c				生成档案文件
-v				列出归档解档的详细过程
-f				指定档案文件名称
-t				列出档案中包含的文件
-x				解开档案文件

gzip 文件压缩命令

targzip命令结合使用实现文件打包归档。 格式 gzip [选项] 被压缩文件

常用参数:

-d		解压

Blog

Opinion

Project